Skip to content

Latest commit

 

History

History
171 lines (109 loc) · 4.44 KB

File metadata and controls

171 lines (109 loc) · 4.44 KB

fillBy

Fill an input ndarray according to a callback function.

Usage

var fillBy = require( '@stdlib/ndarray/fill-by' );

fillBy( x, fcn[, thisArg] )

Fills an input ndarray according to a callback function.

var zeros = require( '@stdlib/ndarray/zeros' );
var ndarray2array = require( '@stdlib/ndarray/to-array' );

function fcn( value ) {
    return value + 10.0;
}

var x = zeros( [ 3, 1, 2 ], {
    'dtype': 'float64'
});

var y = fillBy( x, fcn );
// returns <ndarray>

var bool = ( y === x );
// returns true

var arr = ndarray2array( y );
// returns [ [ [ 10.0, 10.0 ] ], [ [ 10.0, 10.0 ] ], [ [ 10.0, 10.0 ] ] ]

The function accepts the following arguments:

  • x: array-like object containing an input ndarray.
  • fcn: callback function.
  • thisArg: callback function execution context (optional).

To set the callback function execution context, provide a thisArg.

var zeros = require( '@stdlib/ndarray/zeros' );
var ndarray2array = require( '@stdlib/ndarray/to-array' );

function fcn( value ) {
    return value + this.factor;
}

var x = zeros( [ 3, 1, 2 ], {
    'dtype': 'float64'
});

var ctx = {
    'factor': 10.0
};
var y = fillBy( x, fcn, ctx );
// returns <ndarray>

var arr = ndarray2array( y );
// returns [ [ [ 10.0, 10.0 ] ], [ [ 10.0, 10.0 ] ], [ [ 10.0, 10.0 ] ] ]

Notes

  • An input ndarray must be writable. If provided a read-only ndarray, the function throws an error.
  • The function mutates the input ndarray.

Examples

var discreteUniform = require( '@stdlib/random/base/discrete-uniform' ).factory;
var ndarray2array = require( '@stdlib/ndarray/to-array' );
var zeros = require( '@stdlib/ndarray/zeros' );
var fillBy = require( '@stdlib/ndarray/fill-by' );

// Create a zero-filled ndarray:
var x = zeros( [ 5, 2 ], {
    'dtype': 'generic'
});
console.log( ndarray2array( x ) );

// Fill the ndarray with random values:
fillBy( x, discreteUniform( -100, 100 ) );
console.log( ndarray2array( x ) );

See Also