# Buffer Constructors > ndarray data buffer constructors.
## Usage ```javascript var ctors = require( '@stdlib/ndarray/base/buffer-ctors' ); ``` #### ctors( dtype ) Returns an ndarray data buffer constructor for a specified data type. ```javascript var ctor = ctors( 'float64' ); // returns ``` The function returns constructors for the following data types: - `binary`: binary. - `complex64`: single-precision complex floating-point numbers. - `complex128`: double-precision complex floating-point numbers. - `float32`: single-precision floating-point numbers. - `float64`: double-precision floating-point numbers. - `generic`: values of any type. - `int16`: signed 16-bit integers. - `int32`: signed 32-bit integers. - `int8`: signed 8-bit integers. - `uint16`: unsigned 16-bit integers. - `uint32`: unsigned 32-bit integers. - `uint8`: unsigned 8-bit integers. - `uint8c`: unsigned clamped 8-bit integers. If provided an unknown or unsupported data type, the function returns `null`. ```javascript var ctor = ctors( 'float' ); // returns null ```
## Examples ```javascript var dtypes = require( '@stdlib/ndarray/dtypes' ); var ctors = require( '@stdlib/ndarray/base/buffer-ctors' ); var DTYPES = dtypes(); var ctor; var i; for ( i = 0; i < DTYPES.length; i++ ) { ctor = ctors( DTYPES[ i ] ); console.log( ctor ); } ```