stdlib/lib/node_modules/@stdlib/ndarray/dtype-ctor at develop · stdlib-js/stdlib

DataType

Data type constructor.

Usage

var DataType = require( '@stdlib/ndarray/dtype-ctor' );

DataType( value[, options] )

Returns a data type instance.

var dt = new DataType( 'float64' );
// returns <DataType>

The constructor supports the following parameters:

  • value: data type value. Must be either a supported data type string, a struct constructor, or another data type instance.
  • options: constructor options (optional).

The constructor supports the following options:

  • description: data type description.

Properties

DataType.prototype.alignment

Alignment (in bytes) for the data type.

var dt = new DataType( 'float64' );
// returns <DataType>

var v = dt.alignment;
// returns 8

If a data type does not have a known alignment, the returned value is -1.

DataType.prototype.byteLength

Size (in bytes) for the data type.

var dt = new DataType( 'float64' );
// returns <DataType>

var v = dt.byteLength;
// returns 8

If a data type does not have a known size, the returned value is -1.

DataType.prototype.byteOrder

Data type byte order.

var dt = new DataType( 'float64' );
// returns <DataType>

var v = dt.byteOrder;
// returns 'host'

The byte order may be one of the following values:

  • host: host platform byte order.
  • little-endian: little-endian byte order.
  • big-endian: big-endian byte order.

DataType.prototype.char

Single letter character abbreviation for the data type.

var dt = new DataType( 'float64' );
// returns <DataType>

var v = dt.char;
// returns 'd'

If a data type does not have a corresponding single letter character abbreviation, the returned value is an empty string.

DataType.prototype.description

Data type description.

var dt = new DataType( 'float64' );
// returns <DataType>

var v = dt.description;
// returns '...'

If a data type does not have an associated description, the returned value is an empty string.

DataType.prototype.enum

Enumeration constant for the data type.

var dt = new DataType( 'float64' );
// returns <DataType>

var v = dt.enum;
// returns <number>

If a data type does not have a corresponding known enumeration constant, the returned value is -1.

Note: enumeration constants should be treated as opaque values. One should not assume that a data type has a specific enumeration constant value.

DataType.prototype.value

Raw (original) data type value.

var dt = new DataType( 'float64' );
// returns <DataType>

var v = dt.value;
// returns 'float64'

Methods

DataType.prototype.toJSON()

Returns a JSON representation of a DataType instance.

var dt = new DataType( 'float64' );
// returns <DataType>

var o = dt.toJSON();
// e.g., returns { 'type': 'DataType', 'value': 'float64', 'byteOrder': 'host', ... }

JSON.stringify() implicitly calls this method when stringifying a DataType instance.

DataType.prototype.toString()

Returns a string representation of a DataType instance.

var dt = new DataType( 'float64' );
// returns <DataType>

var str = dt.toString();
// returns 'float64'

DataType.prototype.valueOf()

Converts a DataType instance to a primitive value.

var dt = new DataType( 'float64' );
// returns <DataType>

var str = dt.valueOf();
// returns 'float64'

This method returns the same value as #.toString().


Examples

var DataType = require( '@stdlib/ndarray/dtype-ctor' );

var dt = new DataType( 'complex128' );

console.log( 'type: %s', typeof dt );
// => 'type: object'

console.log( 'alignment: %d', dt.alignment );
// => 'alignment: 8'

console.log( 'byteLength: %d', dt.byteLength );
// => 'byteLength: 16'

console.log( 'byteOrder: %s', dt.byteOrder );
// => 'byteOrder: host'

console.log( 'char: %s', dt.char );
// => 'char: z'

console.log( 'JSON: %s', JSON.stringify( dt ) );
// e.g., => 'JSON: {"type": "DataType","value":"complex128","byteOrder":"host",...}'

See Also