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
@stdlib/ndarray/ctor: multidimensional array constructor.@stdlib/ndarray/dtype: return the data type of a provided ndarray.