Skip to content

Commit 0c2ab4c

Browse files
committed
refactor: use accessor utilities
1 parent 10e5804 commit 0c2ab4c

File tree

1 file changed

+19
-13
lines changed
  • lib/node_modules/@stdlib/ndarray/array/lib

1 file changed

+19
-13
lines changed

Diff for: lib/node_modules/@stdlib/ndarray/array/lib/main.js

+19-13
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,13 @@ var isOrder = require( '@stdlib/ndarray/base/assert/is-order' );
3636
var isCastingMode = require( '@stdlib/ndarray/base/assert/is-casting-mode' );
3737
var isAllowedCast = require( '@stdlib/ndarray/base/assert/is-allowed-data-type-cast' );
3838
var createBuffer = require( '@stdlib/ndarray/base/buffer' );
39-
var getType = require( '@stdlib/ndarray/base/buffer-dtype' );
39+
var getBufferDType = require( '@stdlib/ndarray/base/buffer-dtype' );
40+
var getDType = require( '@stdlib/ndarray/base/dtype' );
41+
var getShape = require( '@stdlib/ndarray/base/shape' );
42+
var getStrides = require( '@stdlib/ndarray/base/strides' );
43+
var getOffset = require( '@stdlib/ndarray/base/offset' );
44+
var getOrder = require( '@stdlib/ndarray/base/order' );
45+
var getData = require( '@stdlib/ndarray/base/data-buffer' );
4046
var arrayShape = require( '@stdlib/array/shape' );
4147
var flatten = require( '@stdlib/array/base/flatten' );
4248
var format = require( '@stdlib/string/format' );
@@ -156,10 +162,10 @@ function array() {
156162
}
157163
if ( buffer ) {
158164
if ( isndarrayLike( buffer ) ) {
159-
btype = buffer.dtype;
165+
btype = getDType( buffer );
160166
FLG = true;
161167
} else {
162-
btype = getType( buffer );
168+
btype = getBufferDType( buffer );
163169
FLG = false;
164170
}
165171
}
@@ -221,18 +227,18 @@ function array() {
221227
// If the user indicated that "any" order suffices (meaning the user does not care about ndarray order), then we use the default order, unless the input ndarray is either unequivocally "row-major" or "column-major" or configured as such....
222228
if ( order === 'any' ) {
223229
// Compute the layout order in order to ascertain whether an ndarray can be considered both "row-major" and "column-major":
224-
ord = strides2order( buffer.strides );
230+
ord = strides2order( getStrides( buffer, false ) );
225231

226232
// If the ndarray can be considered both "row-major" and "column-major", then use the default order; otherwise, use the ndarray's stated layout order...
227233
if ( ord === 3 ) {
228234
order = defaults.order;
229235
} else {
230-
order = buffer.order;
236+
order = getOrder( buffer );
231237
}
232238
}
233239
// Otherwise, use the same order as the provided ndarray...
234240
else if ( order === 'same' ) {
235-
order = buffer.order;
241+
order = getOrder( buffer );
236242
}
237243
} else {
238244
order = defaults.order;
@@ -276,9 +282,9 @@ function array() {
276282
len = numel( shape );
277283
} else if ( buffer ) {
278284
if ( FLG ) {
279-
shape = buffer.shape;
280-
ndims = buffer.ndims;
281-
len = buffer.length;
285+
shape = getShape( buffer, true );
286+
ndims = shape.length;
287+
len = numel( shape );
282288
} else if ( opts.flatten && isArray( buffer ) ) {
283289
shape = arrayShape( buffer );
284290
osh = shape; // cache a reference to the inferred shape
@@ -299,15 +305,15 @@ function array() {
299305
}
300306
// If not provided a data buffer, create it; otherwise, see if we need to cast a provided data buffer to another data type or perform a copy...
301307
if ( FLG ) {
302-
if ( buffer.length !== len ) {
308+
if ( numel( buffer.shape ) !== len ) {
303309
throw new RangeError( 'invalid arguments. Array shape is incompatible with provided data source. Number of data source elements does not match array shape.' );
304310
}
305311
if ( btype !== dtype || opts.copy ) {
306312
buffer = copyView( buffer, dtype );
307313
} else {
308-
strides = buffer.strides;
309-
offset = buffer.offset;
310-
buffer = buffer.data;
314+
strides = getStrides( buffer, true );
315+
offset = getOffset( buffer );
316+
buffer = getData( buffer );
311317
if ( strides.length < ndims ) {
312318
// Account for augmented dimensions (note: expanding the strides array to account for prepended singleton dimensions does **not** affect the index offset):
313319
strides = expandStrides( ndims, shape, strides, order );

0 commit comments

Comments
 (0)