About stdlib...
We believe in a future in which the web is a preferred environment for numerical computation. To help realize this future, we've built stdlib. stdlib is a standard library, with an emphasis on numerical and scientific computation, written in JavaScript (and C) for execution in browsers and in Node.js.
The library is fully decomposable, being architected in such a way that you can swap out and mix and match APIs and functionality to cater to your exact preferences and use cases.
When you use stdlib, you can be absolutely certain that you are using the most thorough, rigorous, well-written, studied, documented, tested, measured, and high-quality code out there.
To join us in bringing numerical computing to the web, get started by checking us out on GitHub, and please consider financially supporting stdlib. We greatly appreciate your continued support!
Data type constructor.
import DataType from 'https://cdn.jsdelivr.net/gh/stdlib-js/ndarray-dtype-ctor@esm/index.mjs';
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.
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
.
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
.
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.
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.
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.
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.
Raw (original) data type value.
var dt = new DataType( 'float64' );
// returns <DataType>
var v = dt.value;
// returns 'float64'
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.
Returns a string representation of a DataType
instance.
var dt = new DataType( 'float64' );
// returns <DataType>
var str = dt.toString();
// returns 'float64'
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()
.
<!DOCTYPE html>
<html lang="en">
<body>
<script type="module">
import DataType from 'https://cdn.jsdelivr.net/gh/stdlib-js/ndarray-dtype-ctor@esm/index.mjs';
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",...}'
</script>
</body>
</html>
This package is part of stdlib, a standard library with an emphasis on numerical and scientific computing. The library provides a collection of robust, high performance libraries for mathematics, statistics, streams, utilities, and more.
For more information on the project, filing bug reports and feature requests, and guidance on how to develop stdlib, see the main project repository.
See LICENSE.
Copyright © 2016-2025. The Stdlib Authors.