Skip to content

Commit 94d82c3

Browse files
committed
refactor: apply suggestions from code review
1 parent d150880 commit 94d82c3

7 files changed

Lines changed: 127 additions & 170 deletions

File tree

lib/node_modules/@stdlib/ndarray/base/reverse-dimensions/README.md

Lines changed: 19 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -87,23 +87,30 @@ The function accepts the following arguments:
8787
```javascript
8888
var array = require( '@stdlib/ndarray/array' );
8989
var ndarray2array = require( '@stdlib/ndarray/to-array' );
90-
var zeroTo = require( '@stdlib/array/base/zero-to' );
9190
var reverseDimensions = require( '@stdlib/ndarray/base/reverse-dimensions' );
9291

93-
// Create a linear ndarray buffer:
94-
var buf = zeroTo( 16 );
92+
// Create a 3x2 matrix:
93+
var x = array( [ [ 1, 2 ], [ 3, 4 ], [ 5, 6 ] ] );
9594

96-
// Create a three-dimensional ndarray:
97-
var x = array( buf, {
98-
'shape': [ 2, 4, 2 ]
99-
});
100-
// returns <ndarray>[ [ [ 0.0, 1.0 ], [ 2.0, 3.0 ], [ 4.0, 5.0 ], [ 6.0, 7.0 ] ], [ [ 8.0, 9.0 ], [ 10.0, 11.0 ], [ 12.0, 13.0 ], [ 14.0, 15.0 ] ] ]
95+
// Reverse the order of the first axis:
96+
var y = reverseDimensions( x, [ 0 ], false );
97+
var arr = ndarray2array( y );
98+
// returns [ [ 5, 6 ], [ 3, 4 ], [ 1, 2 ] ]
10199

102-
// Reverse elements across all dimensions:
103-
var y = reverseDimensions( x, [ 0, 1, 2 ], false );
104-
// returns <ndarray>[ [ [ 15.0, 14.0 ], [ 13.0, 12.0 ], [ 11.0, 10.0 ], [ 9.0, 8.0 ] ], [ [ 7.0, 6.0 ], [ 5.0, 4.0 ], [ 3.0, 2.0 ], [ 1.0, 0.0 ] ] ]
100+
// Reverse the order of the second axis:
101+
y = reverseDimensions( x, [ 1 ], false );
102+
arr = ndarray2array( y );
103+
// returns [ [ 2, 1 ], [ 4, 3 ], [ 6, 5 ] ]
105104

106-
console.log( ndarray2array( y ) );
105+
// Reverse the order of all axes:
106+
y = reverseDimensions( x, [ 0, 1 ], false );
107+
arr = ndarray2array( y );
108+
// returns [ [ 6, 5 ], [ 4, 3 ], [ 2, 1 ] ]
109+
110+
// Supports negative dimension indices:
111+
y = reverseDimensions( x, [ -2, -1 ], false );
112+
arr = ndarray2array( y );
113+
// returns [ [ 6, 5 ], [ 4, 3 ], [ 2, 1 ] ]
107114
```
108115

109116
</section>

lib/node_modules/@stdlib/ndarray/base/reverse-dimensions/benchmark/benchmark.js

Lines changed: 35 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -64,17 +64,17 @@ bench( format( '%s::1d,non-base', pkg ), function benchmark( b ) {
6464
var v;
6565
var i;
6666

67-
/* eslint-disable object-curly-newline */
67+
/* eslint-disable object-curly-newline, stdlib/line-closing-bracket-spacing */
6868

6969
values = [
70-
empty( [ 2 ], { 'dtype': 'float64' }),
71-
empty( [ 2 ], { 'dtype': 'float32' }),
72-
empty( [ 2 ], { 'dtype': 'int32' }),
73-
empty( [ 2 ], { 'dtype': 'complex128' }),
74-
empty( [ 2 ], { 'dtype': 'generic' })
70+
empty( [ 2 ], { 'dtype': 'float64' } ),
71+
empty( [ 2 ], { 'dtype': 'float32' } ),
72+
empty( [ 2 ], { 'dtype': 'int32' } ),
73+
empty( [ 2 ], { 'dtype': 'complex128' } ),
74+
empty( [ 2 ], { 'dtype': 'generic' } )
7575
];
7676

77-
/* eslint-enable object-curly-newline */
77+
/* eslint-enable object-curly-newline, stdlib/line-closing-bracket-spacing */
7878

7979
b.tic();
8080
for ( i = 0; i < b.iterations; i++ ) {
@@ -124,17 +124,17 @@ bench( format( '%s::2d,non-base', pkg ), function benchmark( b ) {
124124
var v;
125125
var i;
126126

127-
/* eslint-disable object-curly-newline */
127+
/* eslint-disable object-curly-newline, stdlib/line-closing-bracket-spacing */
128128

129129
values = [
130-
empty( [ 2, 2 ], { 'dtype': 'float64' }),
131-
empty( [ 2, 2 ], { 'dtype': 'float32' }),
132-
empty( [ 2, 2 ], { 'dtype': 'int32' }),
133-
empty( [ 2, 2 ], { 'dtype': 'complex128' }),
134-
empty( [ 2, 2 ], { 'dtype': 'generic' })
130+
empty( [ 2, 2 ], { 'dtype': 'float64' } ),
131+
empty( [ 2, 2 ], { 'dtype': 'float32' } ),
132+
empty( [ 2, 2 ], { 'dtype': 'int32' } ),
133+
empty( [ 2, 2 ], { 'dtype': 'complex128' } ),
134+
empty( [ 2, 2 ], { 'dtype': 'generic' } )
135135
];
136136

137-
/* eslint-enable object-curly-newline */
137+
/* eslint-enable object-curly-newline, stdlib/line-closing-bracket-spacing */
138138

139139
b.tic();
140140
for ( i = 0; i < b.iterations; i++ ) {
@@ -184,17 +184,17 @@ bench( format( '%s::3d,non-base', pkg ), function benchmark( b ) {
184184
var v;
185185
var i;
186186

187-
/* eslint-disable object-curly-newline */
187+
/* eslint-disable object-curly-newline, stdlib/line-closing-bracket-spacing */
188188

189189
values = [
190-
empty( [ 2, 2, 2 ], { 'dtype': 'float64' }),
191-
empty( [ 2, 2, 2 ], { 'dtype': 'float32' }),
192-
empty( [ 2, 2, 2 ], { 'dtype': 'int32' }),
193-
empty( [ 2, 2, 2 ], { 'dtype': 'complex128' }),
194-
empty( [ 2, 2, 2 ], { 'dtype': 'generic' })
190+
empty( [ 2, 2, 2 ], { 'dtype': 'float64' } ),
191+
empty( [ 2, 2, 2 ], { 'dtype': 'float32' } ),
192+
empty( [ 2, 2, 2 ], { 'dtype': 'int32' } ),
193+
empty( [ 2, 2, 2 ], { 'dtype': 'complex128' } ),
194+
empty( [ 2, 2, 2 ], { 'dtype': 'generic' } )
195195
];
196196

197-
/* eslint-enable object-curly-newline */
197+
/* eslint-enable object-curly-newline, stdlib/line-closing-bracket-spacing */
198198

199199
b.tic();
200200
for ( i = 0; i < b.iterations; i++ ) {
@@ -244,17 +244,17 @@ bench( format( '%s::4d,non-base', pkg ), function benchmark( b ) {
244244
var v;
245245
var i;
246246

247-
/* eslint-disable object-curly-newline */
247+
/* eslint-disable object-curly-newline, stdlib/line-closing-bracket-spacing */
248248

249249
values = [
250-
empty( [ 2, 2, 2, 2 ], { 'dtype': 'float64' }),
251-
empty( [ 2, 2, 2, 2 ], { 'dtype': 'float32' }),
252-
empty( [ 2, 2, 2, 2 ], { 'dtype': 'int32' }),
253-
empty( [ 2, 2, 2, 2 ], { 'dtype': 'complex128' }),
254-
empty( [ 2, 2, 2, 2 ], { 'dtype': 'generic' })
250+
empty( [ 2, 2, 2, 2 ], { 'dtype': 'float64' } ),
251+
empty( [ 2, 2, 2, 2 ], { 'dtype': 'float32' } ),
252+
empty( [ 2, 2, 2, 2 ], { 'dtype': 'int32' } ),
253+
empty( [ 2, 2, 2, 2 ], { 'dtype': 'complex128' } ),
254+
empty( [ 2, 2, 2, 2 ], { 'dtype': 'generic' } )
255255
];
256256

257-
/* eslint-enable object-curly-newline */
257+
/* eslint-enable object-curly-newline, stdlib/line-closing-bracket-spacing */
258258

259259
b.tic();
260260
for ( i = 0; i < b.iterations; i++ ) {
@@ -304,17 +304,17 @@ bench( format( '%s::5d,non-base', pkg ), function benchmark( b ) {
304304
var v;
305305
var i;
306306

307-
/* eslint-disable object-curly-newline */
307+
/* eslint-disable object-curly-newline, stdlib/line-closing-bracket-spacing */
308308

309309
values = [
310-
empty( [ 2, 2, 2, 2, 2 ], { 'dtype': 'float64' }),
311-
empty( [ 2, 2, 2, 2, 2 ], { 'dtype': 'float32' }),
312-
empty( [ 2, 2, 2, 2, 2 ], { 'dtype': 'int32' }),
313-
empty( [ 2, 2, 2, 2, 2 ], { 'dtype': 'complex128' }),
314-
empty( [ 2, 2, 2, 2, 2 ], { 'dtype': 'generic' })
310+
empty( [ 2, 2, 2, 2, 2 ], { 'dtype': 'float64' } ),
311+
empty( [ 2, 2, 2, 2, 2 ], { 'dtype': 'float32' } ),
312+
empty( [ 2, 2, 2, 2, 2 ], { 'dtype': 'int32' } ),
313+
empty( [ 2, 2, 2, 2, 2 ], { 'dtype': 'complex128' } ),
314+
empty( [ 2, 2, 2, 2, 2 ], { 'dtype': 'generic' } )
315315
];
316316

317-
/* eslint-enable object-curly-newline */
317+
/* eslint-enable object-curly-newline, stdlib/line-closing-bracket-spacing */
318318

319319
b.tic();
320320
for ( i = 0; i < b.iterations; i++ ) {

lib/node_modules/@stdlib/ndarray/base/reverse-dimensions/docs/types/index.d.ts

Lines changed: 8 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -20,83 +20,27 @@
2020

2121
/// <reference types="@stdlib/types"/>
2222

23-
import { typedndarray, genericndarray, complexndarray } from '@stdlib/types/ndarray';
23+
import { Collection } from '@stdlib/types/array';
24+
import { ndarray } from '@stdlib/types/ndarray';
2425

2526
/**
2627
* Returns a view of an input ndarray in which the order of elements along specified dimensions is reversed.
2728
*
2829
* @param x - input array
29-
* @param dims - indices of dimension to reverse
30+
* @param dims - indices of dimensions to reverse
3031
* @param writable - boolean indicating whether a returned array should be writable
3132
* @returns output array
3233
*
3334
* @example
34-
* var typedarray = require( '@stdlib/array/typed' );
35-
* var ndarray = require( '@stdlib/ndarray/ctor' );
35+
* var array = require( '@stdlib/ndarray/array' );
3636
*
37-
* var buffer = [ 1, 2, 3, 4, 5, 6 ];
38-
* var shape = [ 3, 2 ];
39-
* var strides = [ 2, 1 ];
40-
* var offset = 0;
41-
*
42-
* var x = ndarray( 'generic', buffer, shape, strides, offset, 'row-major' );
43-
* // returns <ndarray>[ [ 1, 2 ], [ 3, 4 ], [ 5, 6 ] ]
44-
*
45-
* var y = reverseDimensions( x, [ 0, 1 ], false );
46-
* // returns <ndarray>[ [ 6, 5 ], [ 4, 3 ], [ 2, 1 ] ]
47-
*/
48-
declare function reverseDimensions<T = unknown>( x: typedndarray<T>, dims: Array<number>, writable: boolean ): typedndarray<T>;
49-
50-
/**
51-
* Returns a view of an input ndarray in which the order of elements along specified dimensions is reversed.
52-
*
53-
* @param x - input array
54-
* @param dims - indices of dimension to reverse
55-
* @param writable - boolean indicating whether a returned array should be writable
56-
* @returns output array
57-
*
58-
* @example
59-
* var typedarray = require( '@stdlib/array/typed' );
60-
* var ndarray = require( '@stdlib/ndarray/ctor' );
61-
*
62-
* var buffer = typedarray( [ 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0 ], 'complex64' );
63-
* var shape = [ 3, 2 ];
64-
* var strides = [ 2, 1 ];
65-
* var offset = 0;
66-
*
67-
* var x = ndarray( 'complex64', buffer, shape, strides, offset, 'row-major' );
68-
* // returns <ndarray>
69-
*
70-
* var y = reverseDimensions( x, [ 0 ], false );
71-
* // returns <ndarray>
72-
*/
73-
declare function reverseDimensions( x: complexndarray, dims: Array<number>, writable: boolean ): complexndarray;
74-
75-
/**
76-
* Returns a view of an input ndarray in which the order of elements along specified dimensions is reversed.
77-
*
78-
* @param x - input array
79-
* @param dims - indices of dimension to reverse
80-
* @param writable - boolean indicating whether a returned array should be writable
81-
* @returns output array
82-
*
83-
* @example
84-
* var typedarray = require( '@stdlib/array/typed' );
85-
* var ndarray = require( '@stdlib/ndarray/ctor' );
86-
* var ndarray2array = require( '@stdlib/ndarray/to-array' );
87-
*
88-
* var buffer = [ 1, 2, 3, 4, 5, 6 ];
89-
* var shape = [ 3, 2 ];
90-
* var strides = [ 2, 1 ];
91-
* var offset = 0;
92-
*
93-
* var x = ndarray( 'generic', buffer, shape, strides, offset, 'row-major' );
94-
* // returns <ndarray>[ [ 1, 2 ], [ 3, 4 ], [ 5, 6 ] ]
37+
* var x = array( [ [ 1.0, 2.0 ], [ 3.0, 4.0 ], [ 5.0, 6.0 ] ] );
38+
* // returns <ndarray>[ [ 1.0, 2.0 ], [ 3.0, 4.0 ], [ 5.0, 6.0 ] ]
9539
*
9640
* var y = reverseDimensions( x, [ 0, 1 ], false );
97-
* // returns <ndarray>[ [ 6, 5 ], [ 4, 3 ], [ 2, 1 ] ]
41+
* // returns <ndarray>[ [ 6.0, 5.0 ], [ 4.0, 3.0 ], [ 2.0, 1.0 ] ]
9842
*/
99-
declare function reverseDimensions<T = unknown>( x: genericndarray<T>, dims: Array<number>, writable: boolean ): genericndarray<T>;
43+
declare function reverseDimensions<T extends ndarray>( x: T, dims: Collection<number>, writable: boolean ): T;
10044

10145

10246
// EXPORTS //

lib/node_modules/@stdlib/ndarray/base/reverse-dimensions/docs/types/test.ts

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -27,29 +27,29 @@ import reverseDimensions = require( './index' );
2727
const order = 'row-major';
2828
const sh = [ 2, 2 ];
2929

30-
reverseDimensions( empty( 'float64', sh, order ), [ 0 ], false ); // $ExpectType typedndarray<number>
31-
reverseDimensions( empty( 'float32', sh, order ), [ 0 ], false ); // $ExpectType typedndarray<number>
32-
reverseDimensions( empty( 'complex128', sh, order ), [ 0 ], false ); // $ExpectType typedndarray<any>
33-
reverseDimensions( empty( 'complex64', sh, order ), [ 0 ], false ); // $ExpectType typedndarray<any>
34-
reverseDimensions( empty( 'int32', sh, order ), [ 0 ], false ); // $ExpectType typedndarray<number>
35-
reverseDimensions( empty( 'int16', sh, order ), [ 0 ], false ); // $ExpectType typedndarray<number>
36-
reverseDimensions( empty( 'int8', sh, order ), [ 0 ], false ); // $ExpectType typedndarray<number>
37-
reverseDimensions( empty( 'uint32', sh, order ), [ 0 ], false ); // $ExpectType typedndarray<number>
38-
reverseDimensions( empty( 'uint16', sh, order ), [ 0 ], false ); // $ExpectType typedndarray<number>
39-
reverseDimensions( empty( 'uint8', sh, order ), [ 0 ], false ); // $ExpectType typedndarray<number>
40-
reverseDimensions( empty( 'uint8c', sh, order ), [ 0 ], false ); // $ExpectType typedndarray<number>
30+
reverseDimensions( empty( 'float64', sh, order ), [ 0 ], false ); // $ExpectType float64ndarray
31+
reverseDimensions( empty( 'float32', sh, order ), [ 0 ], false ); // $ExpectType float32ndarray
32+
reverseDimensions( empty( 'complex128', sh, order ), [ 0 ], false ); // $ExpectType complex128ndarray
33+
reverseDimensions( empty( 'complex64', sh, order ), [ 0 ], false ); // $ExpectType complex64ndarray
34+
reverseDimensions( empty( 'int32', sh, order ), [ 0 ], false ); // $ExpectType int32ndarray
35+
reverseDimensions( empty( 'int16', sh, order ), [ 0 ], false ); // $ExpectType int16ndarray
36+
reverseDimensions( empty( 'int8', sh, order ), [ 0 ], false ); // $ExpectType int8ndarray
37+
reverseDimensions( empty( 'uint32', sh, order ), [ 0 ], false ); // $ExpectType uint32ndarray
38+
reverseDimensions( empty( 'uint16', sh, order ), [ 0 ], false ); // $ExpectType uint16ndarray
39+
reverseDimensions( empty( 'uint8', sh, order ), [ 0 ], false ); // $ExpectType uint8ndarray
40+
reverseDimensions( empty( 'uint8c', sh, order ), [ 0 ], false ); // $ExpectType uint8cndarray
4141

42-
reverseDimensions( empty( 'float64', sh, order ), [ 0 ], true ); // $ExpectType typedndarray<number>
43-
reverseDimensions( empty( 'float32', sh, order ), [ 0 ], true ); // $ExpectType typedndarray<number>
44-
reverseDimensions( empty( 'complex128', sh, order ), [ 0 ], true ); // $ExpectType typedndarray<any>
45-
reverseDimensions( empty( 'complex64', sh, order ), [ 0 ], true ); // $ExpectType typedndarray<any>
46-
reverseDimensions( empty( 'int32', sh, order ), [ 0 ], true ); // $ExpectType typedndarray<number>
47-
reverseDimensions( empty( 'int16', sh, order ), [ 0 ], true ); // $ExpectType typedndarray<number>
48-
reverseDimensions( empty( 'int8', sh, order ), [ 0 ], true ); // $ExpectType typedndarray<number>
49-
reverseDimensions( empty( 'uint32', sh, order ), [ 0 ], true ); // $ExpectType typedndarray<number>
50-
reverseDimensions( empty( 'uint16', sh, order ), [ 0 ], true ); // $ExpectType typedndarray<number>
51-
reverseDimensions( empty( 'uint8', sh, order ), [ 0 ], true ); // $ExpectType typedndarray<number>
52-
reverseDimensions( empty( 'uint8c', sh, order ), [ 0 ], true ); // $ExpectType typedndarray<number>
42+
reverseDimensions( empty( 'float64', sh, order ), [ 0 ], true ); // $ExpectType float64ndarray
43+
reverseDimensions( empty( 'float32', sh, order ), [ 0 ], true ); // $ExpectType float32ndarray
44+
reverseDimensions( empty( 'complex128', sh, order ), [ 0 ], true ); // $ExpectType complex128ndarray
45+
reverseDimensions( empty( 'complex64', sh, order ), [ 0 ], true ); // $ExpectType complex64ndarray
46+
reverseDimensions( empty( 'int32', sh, order ), [ 0 ], true ); // $ExpectType int32ndarray
47+
reverseDimensions( empty( 'int16', sh, order ), [ 0 ], true ); // $ExpectType int16ndarray
48+
reverseDimensions( empty( 'int8', sh, order ), [ 0 ], true ); // $ExpectType int8ndarray
49+
reverseDimensions( empty( 'uint32', sh, order ), [ 0 ], true ); // $ExpectType uint32ndarray
50+
reverseDimensions( empty( 'uint16', sh, order ), [ 0 ], true ); // $ExpectType uint16ndarray
51+
reverseDimensions( empty( 'uint8', sh, order ), [ 0 ], true ); // $ExpectType uint8ndarray
52+
reverseDimensions( empty( 'uint8c', sh, order ), [ 0 ], true ); // $ExpectType uint8cndarray
5353
}
5454

5555
// The compiler throws an error if the function is provided a first argument which is not an ndarray...
@@ -73,7 +73,7 @@ import reverseDimensions = require( './index' );
7373
reverseDimensions( ( x: number ): number => x, [ 0 ], true ); // $ExpectError
7474
}
7575

76-
// The compiler throws an error if the function is provided a second argument which is not an array of integers...
76+
// The compiler throws an error if the function is provided a second argument which is not a collection of numbers...
7777
{
7878
const x = empty( 'float64', [ 2, 2 ], 'row-major' );
7979

@@ -114,6 +114,6 @@ import reverseDimensions = require( './index' );
114114
const x = empty( 'float64', [ 2, 2 ], 'row-major' );
115115

116116
reverseDimensions( x ); // $ExpectError
117-
reverseDimensions( x, 0 ); // $ExpectError
117+
reverseDimensions( x, [ 0 ] ); // $ExpectError
118118
reverseDimensions( x, [ 0 ], false, {} ); // $ExpectError
119119
}

lib/node_modules/@stdlib/ndarray/base/reverse-dimensions/examples/index.js

Lines changed: 18 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -20,20 +20,27 @@
2020

2121
var array = require( '@stdlib/ndarray/array' );
2222
var ndarray2array = require( '@stdlib/ndarray/to-array' );
23-
var zeroTo = require( '@stdlib/array/base/zero-to' );
2423
var reverseDimensions = require( './../lib' );
2524

26-
// Create a linear ndarray buffer:
27-
var buf = zeroTo( 16 );
25+
// Create a 3x2 matrix:
26+
var x = array( [ [ 1, 2 ], [ 3, 4 ], [ 5, 6 ] ] );
2827

29-
// Create a three-dimensional ndarray:
30-
var x = array( buf, {
31-
'shape': [ 2, 4, 2 ]
32-
});
33-
// returns <ndarray>[ [ [ 0.0, 1.0 ], [ 2.0, 3.0 ], [ 4.0, 5.0 ], [ 6.0, 7.0 ] ], [ [ 8.0, 9.0 ], [ 10.0, 11.0 ], [ 12.0, 13.0 ], [ 14.0, 15.0 ] ] ]
28+
// Reverse the order of the first axis:
29+
var y = reverseDimensions( x, [ 0 ], false );
30+
console.log( ndarray2array( y ) );
31+
// => [ [ 5, 6 ], [ 3, 4 ], [ 1, 2 ] ]
32+
33+
// Reverse the order of the second axis:
34+
y = reverseDimensions( x, [ 1 ], false );
35+
console.log( ndarray2array( y ) );
36+
// => [ [ 2, 1 ], [ 4, 3 ], [ 6, 5 ] ]
3437

35-
// Reverse elements across all dimensions:
36-
var y = reverseDimensions( x, [ 0, 1, 2 ], false );
37-
// returns <ndarray>[ [ [ 15.0, 14.0 ], [ 13.0, 12.0 ], [ 11.0, 10.0 ], [ 9.0, 8.0 ] ], [ [ 7.0, 6.0 ], [ 5.0, 4.0 ], [ 3.0, 2.0 ], [ 1.0, 0.0 ] ] ]
38+
// Reverse the order of all axes:
39+
y = reverseDimensions( x, [ 0, 1 ], false );
40+
console.log( ndarray2array( y ) );
41+
// => [ [ 6, 5 ], [ 4, 3 ], [ 2, 1 ] ]
3842

43+
// Supports negative dimension indices:
44+
y = reverseDimensions( x, [ -2, -1 ], false );
3945
console.log( ndarray2array( y ) );
46+
// => [ [ 6, 5 ], [ 4, 3 ], [ 2, 1 ] ]

lib/node_modules/@stdlib/ndarray/base/reverse-dimensions/lib/main.js

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@ var slice = require( '@stdlib/ndarray/base/slice' );
2626
var nulls = require( '@stdlib/array/base/nulls' );
2727
var ndims = require( '@stdlib/ndarray/base/ndims' );
2828
var toNormalizedIndices = require( '@stdlib/ndarray/base/to-unique-normalized-indices' );
29-
var isIntegerArray = require( '@stdlib/assert/is-integer-array' );
3029
var format = require( '@stdlib/string/format' );
3130

3231

@@ -36,7 +35,7 @@ var format = require( '@stdlib/string/format' );
3635
* Returns a view of an input ndarray in which the order of elements along specified dimensions is reversed.
3736
*
3837
* @param {ndarray} x - input array
39-
* @param {IntegerArray} dims - indices of dimension to reverse
38+
* @param {IntegerArray} dims - indices of dimensions to reverse
4039
* @param {boolean} writable - boolean indicating whether a returned array should be writable
4140
* @throws {TypeError} first argument must be an ndarray having one or more dimensions
4241
* @throws {RangeError} dimension index exceeds the number of dimensions
@@ -64,9 +63,9 @@ function reverseDimensions( x, dims, writable ) {
6463
if ( N === 0 ) {
6564
throw new TypeError( format( 'invalid argument. First argument must be an ndarray having one or more dimensions. Number of dimensions: %d.', N ) );
6665
}
67-
// Normalize the dimension index...
66+
// Normalize the dimension indices...
6867
d = toNormalizedIndices( dims, N-1 );
69-
if ( !isIntegerArray( d ) ) {
68+
if ( d === null ) {
7069
throw new RangeError( format( 'invalid argument. Dimension index exceeds the number of dimensions. Number of dimensions: %d. Value: `%s`.', N, dims ) );
7170
}
7271
// Define a list of MultiSlice constructor arguments:

0 commit comments

Comments
 (0)