Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

scalar2ndarrayLike

Convert a scalar value to a zero-dimensional ndarray having the same data-type as a provided ndarray.

Usage

var scalar2ndarrayLike = require( '@stdlib/ndarray/from-scalar-like' );

scalar2ndarrayLike( x, value[, options] )

Converts a scalar value to a zero-dimensional ndarray having the same data-type as a provided ndarray.

var Float64Array = require( '@stdlib/array/float64' );
var getShape = require( '@stdlib/ndarray/shape' );
var getDType = require( '@stdlib/ndarray/dtype' );
var array = require( '@stdlib/ndarray/array' );

var x = array( new Float64Array( [ 1.0, 2.0, 3.0 ] ) );
// returns <ndarray>[ 1.0, 2.0, 3.0 ]

var out = scalar2ndarrayLike( x, 1.0 );
// returns <ndarray>[ 1.0 ]

var sh = getShape( out );
// returns []

var dt = String( getDType( out ) );
// returns 'float64'

The function accepts the following arguments:

  • x: input ndarray.
  • value: scalar value.

The function accepts the following options:

  • dtype: output array data type.
  • order: array order (i.e., memory layout). Must be either row-major (C-style) or column-major (Fortran-style).
  • readonly: boolean indicating whether an array should be read-only. Default: false.

If a dtype option is not provided and value

  • is a number, the default data type is the default real-valued floating-point data type.
  • is a boolean, the default data type is the default boolean data type.
  • is a complex number object of a known data type, the data type is the same as the provided value.
  • is a complex number object of an unknown data type, the default data type is the default complex-valued floating-point data type.
  • is any other value type, the default data type is 'generic'.

To explicitly specify the data type of the returned ndarray, provide a dtype option.

var getShape = require( '@stdlib/ndarray/shape' );
var getDType = require( '@stdlib/ndarray/dtype' );
var array = require( '@stdlib/ndarray/array' );

var x = array( [ 1.0, 2.0, 3.0 ] );
// returns <ndarray>[ 1.0, 2.0, 3.0 ]

var out = scalar2ndarrayLike( x, 1.0, {
    'dtype': 'float32'
});
// returns <ndarray>[ 1.0 ]

var sh = getShape( out );
// returns []

var dt = String( getDType( out ) );
// returns 'float32'

Notes

  • If value is a number and options.dtype is a complex data type, the function returns a zero-dimensional ndarray containing a complex number whose real component equals the provided scalar value and whose imaginary component is zero.
  • The function does not guard against precision loss when value is a number and the dtype argument is an integer data type.

Examples

var dtypes = require( '@stdlib/ndarray/dtypes' );
var empty = require( '@stdlib/ndarray/empty' );
var scalar2ndarrayLike = require( '@stdlib/ndarray/from-scalar-like' );

// Get a list of data types:
var dt = dtypes( 'integer_and_generic' );

// Create an input array:
var x = empty( [ 2, 2 ] );

// Generate zero-dimensional arrays...
var y;
var i;
for ( i = 0; i < dt.length; i++ ) {
    y = scalar2ndarrayLike( x, i, {
        'dtype': dt[ i ]
    });
    console.log( y.get() );
}