@@ -137,6 +137,7 @@ import nullsLike = require( './../../../base/nulls-like' );
137137import numel = require( './../../../base/numel' ) ;
138138import numelDimension = require( './../../../base/numel-dimension' ) ;
139139import offset = require( './../../../base/offset' ) ;
140+ import offsets = require( './../../../base/offsets' ) ;
140141import ones = require( './../../../base/ones' ) ;
141142import onesLike = require( './../../../base/ones-like' ) ;
142143import order = require( './../../../base/order' ) ;
@@ -166,6 +167,7 @@ import rot180 = require( './../../../base/rot180' );
166167import rotl90 = require( './../../../base/rotl90' ) ;
167168import rotr90 = require( './../../../base/rotr90' ) ;
168169import serializeMetaData = require( './../../../base/serialize-meta-data' ) ;
170+ import setDescriptorOffsets = require( './../../../base/set-descriptor-offsets' ) ;
169171import shape = require( './../../../base/shape' ) ;
170172import shape2strides = require( './../../../base/shape2strides' ) ;
171173import shift = require( './../../../base/shift' ) ;
@@ -3593,6 +3595,22 @@ interface Namespace {
35933595 */
35943596 offset : typeof offset ;
35953597
3598+ /**
3599+ * Returns the index offset specifying the underlying buffer index of the first iterated element for each ndarray in a provided list of ndarrays.
3600+ *
3601+ * @param arrays - list of ndarrays
3602+ * @returns index offsets
3603+ *
3604+ * @example
3605+ * var zeros = require( './../../../zeros' );
3606+ *
3607+ * var x = zeros( [ 3, 3, 3 ] );
3608+ *
3609+ * var out = ns.offsets( [ x ] );
3610+ * // returns [ 0 ]
3611+ */
3612+ offsets : typeof offsets ;
3613+
35963614 /**
35973615 * Creates a ones-filled ndarray having a specified shape and data type.
35983616 *
@@ -4367,6 +4385,43 @@ interface Namespace {
43674385 */
43684386 serializeMetaData : typeof serializeMetaData ;
43694387
4388+ /**
4389+ * Sets ndarray descriptor index offsets.
4390+ *
4391+ * ## Notes
4392+ *
4393+ * - This function mutates the provided descriptors.
4394+ *
4395+ * @param descriptors - list of ndarray descriptors
4396+ * @param offsets - list of index offsets
4397+ * @returns input array
4398+ *
4399+ * @example
4400+ * var Float64Array = require( '@stdlib/array/float64' );
4401+ * var getOffset = require( './../../../base/offset' );
4402+ * var ndarraylike2descriptor = require( './../../../base/ndarraylike2descriptor' );
4403+ *
4404+ * var obj = ndarraylike2descriptor({
4405+ * 'dtype': 'float64',
4406+ * 'data': new Float64Array( [ 1.0, 2.0, 3.0, 4.0 ] ),
4407+ * 'shape': [ 1 ],
4408+ * 'strides': [ 1 ],
4409+ * 'offset': 0,
4410+ * 'order': 'row-major'
4411+ * });
4412+ *
4413+ * var arr = [ obj ];
4414+ * var out = ns.setDescriptorOffsets( arr, [ 2 ] );
4415+ * // returns [...]
4416+ *
4417+ * var bool = ( out === arr );
4418+ * // returns true
4419+ *
4420+ * var offset = getOffset( arr[ 0 ] );
4421+ * // returns 2
4422+ */
4423+ setDescriptorOffsets : typeof setDescriptorOffsets ;
4424+
43704425 /**
43714426 * Returns the shape of a provided ndarray.
43724427 *
0 commit comments