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!
Base ndarray.
import ns from 'https://cdn.jsdelivr.net/gh/stdlib-js/ndarray-base@deno/mod.js';
You can also import the following named exports from the package:
import { assert, assign, binary, binaryBlockSize, binaryLoopOrder, binaryOutputDataType, bind2vind, broadcastArray, broadcastArrays, broadcastScalar, broadcastShapes, buffer, bufferCtors, bufferDataType, bufferDataTypeEnum, bytesPerElement, char2dtype, clampIndex, data, dtype, dtype2c, dtypeChar, dtypeDesc, dtypeEnum2Str, dtypeResolveEnum, dtypeResolveStr, dtypeStr2Enum, dtypes2signatures, empty, emptyLike, every, everyBy, expandDimensions, fill, fillBy, flag, flags, fliplr, flipud, forEach, includes, ind, ind2sub, iterationOrder, loopOrder, map, maxViewBufferIndex, maybeBroadcastArray, maybeBroadcastArrays, metaDataProps, minSignedIntegerDataType, minUnsignedIntegerDataType, minViewBufferIndex, minmaxViewBufferIndex, ndarray, ndarray2array, ndarraylike2ndarray, ndarraylike2object, ndims, nextCartesianIndex, nonsingletonDimensions, normalizeIndex, normalizeIndices, nullary, nullaryBlockSize, nullaryLoopOrder, numel, numelDimension, offset, order, outputDataType, outputPolicyEnum2Str, outputPolicyResolveEnum, outputPolicyResolveStr, outputPolicyStr2Enum, prependSingletonDimensions, promoteDataTypes, removeSingletonDimensions, reverse, reverseDimension, scalar2ndarray, scalar2ndarrayLike, serializeMetaData, shape, shape2strides, singletonDimensions, slice, sliceAssign, sliceDimension, sliceDimensionFrom, sliceDimensionTo, sliceFrom, sliceTo, spreadDimensions, stride, strides, strides2offset, strides2order, sub2ind, toNormalizedIndices, toReversed, toUniqueNormalizedIndices, transpose, unary, unaryAccumulate, unaryBlockSize, unaryBy, unaryInputCastingDataType, unaryLoopOrder, unaryOutputDataType, unaryReduceStrided1d, unaryReduceStrided1dDispatch, unaryReduceStrided1dDispatchFactory, unaryReduceSubarray, unaryStrided1d, unaryStrided1dDispatch, unaryStrided1dDispatchFactory, vind2bind, wrapIndex, zeros, zerosLike } from 'https://cdn.jsdelivr.net/gh/stdlib-js/ndarray-base@deno/mod.js';
Base ndarray.
var o = ns;
// returns {...}
assign( arrays )
: assign elements in an input ndarray to elements in an output ndarray.binaryLoopOrder( shape, stridesX, stridesY, stridesZ )
: reorder ndarray dimensions and associated strides for loop interchange.binaryOutputDataType( xdtype, ydtype, policy )
: resolve the output ndarray data type for a binary function.binaryBlockSize( dtypeX, dtypeY, dtypeZ )
: resolve a loop block size for multi-dimensional array tiled loops.binary( arrays, fcn )
: apply a binary callback to elements in input ndarrays and assign results to elements in an output ndarray.bind2vind( shape, strides, offset, order, idx, mode )
: convert a linear index in an underlying data buffer to a linear index in an array view.broadcastArray( arr, shape )
: broadcast an ndarray to a specified shape.broadcastArrays( arrays )
: broadcast ndarrays to a common shape.broadcastScalar( value, dtype, shape, order )
: broadcast a scalar value to anndarray
having a specified shape.broadcastShapes( shapes )
: broadcast array shapes to a single shape.bufferCtors( dtype )
: ndarray data buffer constructors.bufferDataTypeEnum( buffer )
: return the data type enumeration constant of an ndarray data buffer.bufferDataType( buffer )
: return the data type of an ndarray data buffer.buffer( dtype, size )
: create a contiguous linear ndarray data buffer.bytesPerElement( dtype )
: return the number of bytes per element provided an underlying array data type.char2dtype( [ch] )
: return the data type string associated with a provided single letter character abbreviation.clampIndex( idx, max )
: restrict an index to the interval[0,max]
.ndarray( dtype, buffer, shape, strides, offset, order )
: create a multidimensional array.data( x )
: return the underlying data buffer of a provided ndarray.dtypeChar( [dtype] )
: return the single letter abbreviation for an underlying array data type.dtypeDesc( [dtype] )
: return the description for a specified data type.dtypeEnum2Str( dtype )
: return the data type string associated with an ndarray data type enumeration constant.dtypeResolveEnum( dtype )
: return the enumeration constant associated with a supported ndarray data type value.dtypeResolveStr( dtype )
: return the data type string associated with a supported ndarray data type value.dtypeStr2Enum( dtype )
: return the enumeration constant associated with an ndarray data type string.dtype( x )
: return the data type of a provided ndarray.dtype2c( dtype )
: return the C data type associated with a provided data type value.dtypes2signatures( dtypes, nin, nout )
: transform a list of array argument data types into a list of signatures.emptyLike( x )
: create an uninitialized ndarray having the same shape and data type as a provided ndarray.empty( dtype, shape, order )
: create an uninitialized ndarray having a specified shape and data type.everyBy( arrays, predicate[, thisArg] )
: test whether all elements in an ndarray pass a test implemented by a predicate function.every( arrays )
: test whether every element in an ndarray is truthy.expandDimensions( x, axis )
: expand the shape of an array by inserting a new dimension of size one at a specified axis.fillBy( x, fcn[, thisArg] )
: fill an input ndarray according to a callback function.fill( x, value )
: fill an input ndarray with a specified value.flag( x, name )
: return a specified flag for a provided ndarray.flags( x, copy )
: return the flags of a provided ndarray.fliplr( x, writable )
: return a view of an input ndarray in which the order of elements along the last dimension is reversed.flipud( x, writable )
: return a view of an input ndarray in which the order of elements along the second-to-last dimension is reversed.forEach( arrays, fcn[, thisArg] )
: invoke a callback function once for each ndarray element.scalar2ndarrayLike( x, value )
: convert a scalar value to a zero-dimensional ndarray having the same data type as a provided ndarray.scalar2ndarray( value, dtype, order )
: convert a scalar value to a zero-dimensional ndarray.includes( arrays )
: test whether an ndarray contains a specified value.ind( idx, max, mode )
: return an index given an index mode.ind2sub( shape, strides, offset, order, idx, mode )
: convert a linear index to an array of subscripts.iterationOrder( strides )
: given a stride array, determine array iteration order.loopOrder( shape, strides )
: reorder ndarray dimensions and associated strides for loop interchange.map( arrays, fcn[, thisArg] )
: apply a callback function to elements in an input ndarray and assign results to elements in an output ndarray.maxViewBufferIndex( shape, strides, offset )
: compute the maximum linear index in an underlying data buffer accessible to an array view.maybeBroadcastArray( arr, shape )
: broadcast an ndarray to a specified shape if and only if the specified shape differs from the provided ndarray's shape.maybeBroadcastArrays( arrays )
: broadcast ndarrays to a common shape.metaDataProps( meta, dtypes, obj )
: define non-enumerable read-only properties which expose ndarray function meta data.minSignedIntegerDataType( value )
: determine the minimum ndarray data type for storing a provided signed integer value.minUnsignedIntegerDataType( value )
: determine the minimum ndarray data type for storing a provided unsigned integer value.minViewBufferIndex( shape, strides, offset )
: compute the minimum linear index in an underlying data buffer accessible to an array view.minmaxViewBufferIndex( shape, strides, offset )
: compute the minimum and maximum linear indices in an underlying data buffer which are accessible to an array view.ndarraylike2ndarray( x )
: convert an ndarray-like object to anndarray
.ndarraylike2object( x )
: convert anndarray
-like object to an object likely to have the same "shape".ndims( x )
: return the number of ndarray dimensions.nextCartesianIndex( shape, order, idx, dim )
: return the next Cartesian index (i.e., set of subscripts/dimension indices).nonsingletonDimensions( shape )
: return the number of non-singleton dimensions.normalizeIndex( idx, max )
: normalize an index to the interval[0,max]
.normalizeIndices( indices, max )
: normalize a list of indices to the interval[0,max]
.nullaryLoopOrder( shape, stridesX )
: reorder ndarray dimensions and associated strides for loop interchange.nullaryBlockSize( dtypeX )
: resolve a loop block size for multi-dimensional array tiled loops.nullary( arrays, fcn )
: apply a nullary callback and assign results to elements in an output ndarray.numelDimension( x, dim )
: return the size (i.e., number of elements) of a specified dimension for a provided ndarray.numel( shape )
: return the number of elements in an array.offset( x )
: return the index offset specifying the underlying buffer index of the first iterated ndarray element.order( x )
: return the layout order of a provided ndarray.outputDataType( dtypes, policy )
: resolve the output ndarray data type from a list of input ndarray data types.outputPolicyEnum2Str( policy )
: return the policy string associated with an output ndarray data type policy enumeration constant.outputPolicyResolveEnum( policy )
: return the enumeration constant associated with a supported ndarray data type policy value.outputPolicyResolveStr( dtype )
: return the policy string associated with a supported ndarray data type policy value.outputPolicyStr2Enum( policy )
: return the enumeration constant associated with an output ndarray data type policy string.prependSingletonDimensions( x, n )
: prepend singleton dimensions.promoteDataTypes( dtypes )
: resolve the data type that results from applying promotion rules to a provided list of data types.removeSingletonDimensions( x )
: remove singleton dimensions.reverseDimension( x, dim, writable )
: return a view of an input ndarray in which the order of elements along a specified dimension is reversed.reverse( x, writable )
: return a view of an input ndarray in which the order of elements along each dimension is reversed.serializeMetaData( x )
: serialize ndarray meta data.shape( x, copy )
: return the shape of a provided ndarray.shape2strides( shape, order )
: generate a stride array from an array shape.singletonDimensions( shape )
: return the number of singleton dimensions.sliceAssign( x, y, slice, strict )
: assign element values from a broadcasted inputndarray
to corresponding elements in an outputndarray
view.sliceDimensionFrom( x, dim, start, strict, writable )
: return a shifted view of an input ndarray along a specified dimension.sliceDimensionTo( x, dim, stop, strict, writable )
: return a truncated view of an input ndarray along a specified dimension.sliceDimension( x, dim, slice, strict, writable )
: return a view of an input ndarray when sliced along a specified dimension.sliceFrom( x, start, strict, writable )
: return a shifted view of an input ndarray.sliceTo( x, stop, strict, writable )
: return a truncated view of an input ndarray.slice( x, slice, strict, writable )
: return a view of an input ndarray.spreadDimensions( ndims, x, dims )
: expand the shape of an array to a specified dimensionality by spreading its dimensions to specified dimension indices and inserting dimensions of size one for the remaining dimensions.stride( x, dim )
: return the stride along a specified dimension for a provided ndarray.strides( x, copy )
: return the strides of a provided ndarray.strides2offset( shape, strides )
: determine the index offset which specifies the location of the first indexed value in a multidimensional array based on a stride array.strides2order( strides )
: determine the order of a multidimensional array based on a provided stride array.sub2ind( shape, strides, offset, ...subscripts, mode )
: convert subscripts to a linear index.ndarray2array( buffer, shape, strides, offset, order )
: convert an ndarray buffer to a generic array.toNormalizedIndices( indices, max )
: normalize a list of indices to the interval[0,max]
.toReversed( x )
: return a new ndarray where the order of elements of an input ndarray is reversed along each dimension.toUniqueNormalizedIndices( indices, max )
: return a list of unique indices after normalizing to the interval[0,max]
.transpose( x )
: transpose a matrix (or a stack of matrices).unaryAccumulate( arrays, initial, clbk )
: perform a reduction over elements in an input ndarray.unaryBy( arrays, fcn, clbk[, thisArg] )
: apply a unary function to each element in an input ndarray according to a callback function and assign results to elements in an output ndarray.unaryInputCastingDataType( idtype, odtype, policy )
: resolve the input ndarray casting data type for a unary function.unaryLoopOrder( shape, stridesX, stridesY )
: reorder ndarray dimensions and associated strides for loop interchange.unaryOutputDataType( dtype, policy )
: resolve the output ndarray data type for a unary function.unaryReduceStrided1dDispatchFactory( table, idtypes, odtypes, policies )
: create a function for performing a reduction on an input ndarray.unaryReduceStrided1dDispatch( table, idtypes, odtypes, policies )
: constructor for performing a reduction on an input ndarray.unaryReduceStrided1d( fcn, arrays, dims[, options] )
: perform a reduction over a list of specified dimensions in an input ndarray via a one-dimensional strided array reduction function and assign results to a provided output ndarray.unaryReduceSubarray( fcn, arrays, dims[, options] )
: perform a reduction over a list of specified dimensions in an input ndarray and assign results to a provided output ndarray.unaryStrided1dDispatchFactory( table, idtypes, odtypes, policies[, options] )
: create a function for applying a strided function an input ndarray.unaryStrided1dDispatch( table, idtypes, odtypes, policies[, options] )
: constructor for applying a strided function to an input ndarray.unaryStrided1d( fcn, arrays, dims[, options] )
: apply a one-dimensional strided array function to a list of specified dimensions in an input ndarray and assign results to a provided output ndarray.unaryBlockSize( dtypeX, dtypeY )
: resolve a loop block size for multi-dimensional array tiled loops.unary( arrays, fcn )
: apply a unary callback to elements in an input ndarray and assign results to elements in an output ndarray.vind2bind( shape, strides, offset, order, idx, mode )
: convert a linear index in an array view to a linear index in an underlying data buffer.wrapIndex( idx, max )
: wrap an index on the interval[0,max]
.zerosLike( x )
: create a zero-filled ndarray having the same shape and data type as a provided ndarray.zeros( dtype, shape, order )
: create a zero-filled ndarray having a specified shape and data type.
The namespace contains the following sub-namespaces:
assert
: base ndarray assertion utilities.
import objectKeys from 'https://cdn.jsdelivr.net/gh/stdlib-js/utils-keys@deno/mod.js';
import ns from 'https://cdn.jsdelivr.net/gh/stdlib-js/ndarray-base@deno/mod.js';
console.log( objectKeys( ns ) );
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.