Skip to content

Commit e34c30b

Browse files
committed
refactor: apply suggestions from code review
--- type: pre_commit_static_analysis_report description: Results of running static analysis checks when committing changes. report: - task: lint_filenames status: passed - task: lint_editorconfig status: passed - task: lint_markdown status: na - task: lint_package_json status: na - task: lint_repl_help status: na - task: lint_javascript_src status: na - task: lint_javascript_cli status: na - task: lint_javascript_examples status: na - task: lint_javascript_tests status: passed - task: lint_javascript_benchmarks status: passed - task: lint_python status: na - task: lint_r status: na - task: lint_c_src status: na - task: lint_c_examples status: na - task: lint_c_benchmarks status: na - task: lint_c_tests_fixtures status: na - task: lint_shell status: na - task: lint_typescript_declarations status: passed - task: lint_typescript_tests status: na - task: lint_license_headers status: passed ---
1 parent 6d0a94a commit e34c30b

2 files changed

Lines changed: 118 additions & 37 deletions

File tree

lib/node_modules/@stdlib/ndarray/base/to-flippedud/benchmark/benchmark.js

Lines changed: 94 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -22,23 +22,25 @@
2222

2323
var bench = require( '@stdlib/bench' );
2424
var isndarrayLike = require( '@stdlib/assert/is-ndarray-like' );
25-
var zeroTo = require( '@stdlib/array/base/zero-to' );
26-
var baseCtor = require( '@stdlib/ndarray/base/ctor' );
25+
var baseEmpty = require( '@stdlib/ndarray/base/empty' );
26+
var empty = require( '@stdlib/ndarray/empty' );
2727
var pkg = require( './../package.json' ).name;
2828
var toFlippedud = require( './../lib' );
2929

3030

3131
// MAIN //
3232

33-
bench( pkg+':ndims=1', function benchmark( b ) {
33+
bench( pkg+'::1d,base', function benchmark( b ) {
3434
var values;
3535
var out;
3636
var i;
3737

3838
values = [
39-
baseCtor( 'float64', zeroTo( 10 ), [ 10 ], [ 1 ], 0, 'row-major' ),
40-
baseCtor( 'float64', zeroTo( 5 ), [ 5 ], [ 1 ], 0, 'row-major' ),
41-
baseCtor( 'float64', zeroTo( 20 ), [ 20 ], [ 1 ], 0, 'row-major' )
39+
baseEmpty( 'float64', [ 2 ], 'row-major' ),
40+
baseEmpty( 'float32', [ 2 ], 'row-major' ),
41+
baseEmpty( 'int32', [ 2 ], 'row-major' ),
42+
baseEmpty( 'complex128', [ 2 ], 'row-major' ),
43+
baseEmpty( 'generic', [ 2 ], 'row-major' )
4244
];
4345

4446
b.tic();
@@ -56,17 +58,83 @@ bench( pkg+':ndims=1', function benchmark( b ) {
5658
b.end();
5759
});
5860

59-
bench( pkg+':ndims=2,len=100', function benchmark( b ) {
61+
bench( pkg+'::1d,non-base', function benchmark( b ) {
6062
var values;
6163
var out;
6264
var i;
6365

66+
/* eslint-disable object-curly-newline, stdlib/line-closing-bracket-spacing */
67+
68+
values = [
69+
empty( [ 2 ], { 'dtype': 'float64' } ),
70+
empty( [ 2 ], { 'dtype': 'float32' } ),
71+
empty( [ 2 ], { 'dtype': 'int32' } ),
72+
empty( [ 2 ], { 'dtype': 'complex128' } ),
73+
empty( [ 2 ], { 'dtype': 'generic' } )
74+
];
75+
76+
/* eslint-enable object-curly-newline, stdlib/line-closing-bracket-spacing */
77+
78+
b.tic();
79+
for ( i = 0; i < b.iterations; i++ ) {
80+
out = toFlippedud( values[ i%values.length ] );
81+
if ( typeof out !== 'object' ) {
82+
b.fail( 'should return an ndarray' );
83+
}
84+
}
85+
b.toc();
86+
if ( !isndarrayLike( out ) ) {
87+
b.fail( 'should return an ndarray' );
88+
}
89+
b.pass( 'benchmark finished' );
90+
b.end();
91+
});
92+
93+
bench( pkg+'::2d,base', function benchmark( b ) {
94+
var values;
95+
var out;
96+
var i;
97+
98+
values = [
99+
baseEmpty( 'float64', [ 2, 2 ], 'row-major' ),
100+
baseEmpty( 'float32', [ 2, 2 ], 'row-major' ),
101+
baseEmpty( 'int32', [ 2, 2 ], 'row-major' ),
102+
baseEmpty( 'complex128', [ 2, 2 ], 'row-major' ),
103+
baseEmpty( 'generic', [ 2, 2 ], 'row-major' )
104+
];
105+
106+
b.tic();
107+
for ( i = 0; i < b.iterations; i++ ) {
108+
out = toFlippedud( values[ i%values.length ] );
109+
if ( typeof out !== 'object' ) {
110+
b.fail( 'should return an ndarray' );
111+
}
112+
}
113+
b.toc();
114+
if ( !isndarrayLike( out ) ) {
115+
b.fail( 'should return an ndarray' );
116+
}
117+
b.pass( 'benchmark finished' );
118+
b.end();
119+
});
120+
121+
bench( pkg+'::2d,non-base', function benchmark( b ) {
122+
var values;
123+
var out;
124+
var i;
125+
126+
/* eslint-disable object-curly-newline, stdlib/line-closing-bracket-spacing */
127+
64128
values = [
65-
baseCtor( 'float64', zeroTo( 100 ), [ 10, 10 ], [ 10, 1 ], 0, 'row-major' ),
66-
baseCtor( 'float64', zeroTo( 100 ), [ 5, 20 ], [ 20, 1 ], 0, 'row-major' ),
67-
baseCtor( 'float64', zeroTo( 100 ), [ 20, 5 ], [ 5, 1 ], 0, 'row-major' )
129+
empty( [ 2, 2 ], { 'dtype': 'float64' } ),
130+
empty( [ 2, 2 ], { 'dtype': 'float32' } ),
131+
empty( [ 2, 2 ], { 'dtype': 'int32' } ),
132+
empty( [ 2, 2 ], { 'dtype': 'complex128' } ),
133+
empty( [ 2, 2 ], { 'dtype': 'generic' } )
68134
];
69135

136+
/* eslint-enable object-curly-newline, stdlib/line-closing-bracket-spacing */
137+
70138
b.tic();
71139
for ( i = 0; i < b.iterations; i++ ) {
72140
out = toFlippedud( values[ i%values.length ] );
@@ -82,15 +150,17 @@ bench( pkg+':ndims=2,len=100', function benchmark( b ) {
82150
b.end();
83151
});
84152

85-
bench( pkg+':ndims=3,len=1000', function benchmark( b ) {
153+
bench( pkg+'::3d,base', function benchmark( b ) {
86154
var values;
87155
var out;
88156
var i;
89157

90158
values = [
91-
baseCtor( 'float64', zeroTo( 1000 ), [ 10, 10, 10 ], [ 100, 10, 1 ], 0, 'row-major' ),
92-
baseCtor( 'float64', zeroTo( 1000 ), [ 5, 20, 10 ], [ 200, 10, 1 ], 0, 'row-major' ),
93-
baseCtor( 'float64', zeroTo( 1000 ), [ 20, 5, 10 ], [ 50, 10, 1 ], 0, 'row-major' )
159+
baseEmpty( 'float64', [ 2, 2, 2 ], 'row-major' ),
160+
baseEmpty( 'float32', [ 2, 2, 2 ], 'row-major' ),
161+
baseEmpty( 'int32', [ 2, 2, 2 ], 'row-major' ),
162+
baseEmpty( 'complex128', [ 2, 2, 2 ], 'row-major' ),
163+
baseEmpty( 'generic', [ 2, 2, 2 ], 'row-major' )
94164
];
95165

96166
b.tic();
@@ -108,17 +178,23 @@ bench( pkg+':ndims=3,len=1000', function benchmark( b ) {
108178
b.end();
109179
});
110180

111-
bench( pkg+':ndims=2,len=10000', function benchmark( b ) {
181+
bench( pkg+'::3d,non-base', function benchmark( b ) {
112182
var values;
113183
var out;
114184
var i;
115185

186+
/* eslint-disable object-curly-newline, stdlib/line-closing-bracket-spacing */
187+
116188
values = [
117-
baseCtor( 'float64', zeroTo( 10000 ), [ 100, 100 ], [ 100, 1 ], 0, 'row-major' ),
118-
baseCtor( 'float64', zeroTo( 10000 ), [ 50, 200 ], [ 200, 1 ], 0, 'row-major' ),
119-
baseCtor( 'float64', zeroTo( 10000 ), [ 200, 50 ], [ 50, 1 ], 0, 'row-major' )
189+
empty( [ 2, 2, 2 ], { 'dtype': 'float64' } ),
190+
empty( [ 2, 2, 2 ], { 'dtype': 'float32' } ),
191+
empty( [ 2, 2, 2 ], { 'dtype': 'int32' } ),
192+
empty( [ 2, 2, 2 ], { 'dtype': 'complex128' } ),
193+
empty( [ 2, 2, 2 ], { 'dtype': 'generic' } )
120194
];
121195

196+
/* eslint-enable object-curly-newline, stdlib/line-closing-bracket-spacing */
197+
122198
b.tic();
123199
for ( i = 0; i < b.iterations; i++ ) {
124200
out = toFlippedud( values[ i%values.length ] );

lib/node_modules/@stdlib/ndarray/base/to-flippedud/test/test.js

Lines changed: 24 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,11 @@ var scalar2ndarray = require( '@stdlib/ndarray/base/from-scalar' );
2828
var ndarray2array = require( '@stdlib/ndarray/to-array' );
2929
var baseCtor = require( '@stdlib/ndarray/base/ctor' );
3030
var ctor = require( '@stdlib/ndarray/ctor' );
31+
var ndims = require( '@stdlib/ndarray/base/ndims' );
32+
var getDType = require( '@stdlib/ndarray/base/dtype' );
33+
var getData = require( '@stdlib/ndarray/base/data-buffer' );
34+
var getShape = require( '@stdlib/ndarray/base/shape' );
35+
var numel = require( '@stdlib/ndarray/base/numel' );
3136
var toFlippedud = require( './../lib' );
3237

3338

@@ -47,10 +52,10 @@ tape( 'when provided a zero-dimensional input array, the function returns a new
4752

4853
actual = toFlippedud( x );
4954
t.strictEqual( isndarrayLike( actual ), true, 'returns expected value' );
50-
t.strictEqual( actual.ndims, 0, 'returns expected value' );
51-
t.strictEqual( actual.dtype, x.dtype, 'returns expected value' );
55+
t.strictEqual( ndims( actual ), 0, 'returns expected value' );
56+
t.strictEqual( String( getDType( actual ) ), String( getDType( x ) ), 'returns expected value' );
5257
t.strictEqual( actual.get(), x.get(), 'returns expected value' );
53-
t.notEqual( actual.data, x.data, 'returns expected value' );
58+
t.notEqual( getData( actual ), getData( x ), 'returns expected value' );
5459

5560
t.end();
5661
});
@@ -63,10 +68,10 @@ tape( 'when provided a zero-dimensional input array, the function returns a new
6368

6469
actual = toFlippedud( x );
6570
t.strictEqual( isndarrayLike( actual ), true, 'returns expected value' );
66-
t.strictEqual( actual.ndims, 0, 'returns expected value' );
67-
t.strictEqual( actual.dtype, x.dtype, 'returns expected value' );
71+
t.strictEqual( ndims( actual ), 0, 'returns expected value' );
72+
t.strictEqual( String( getDType( actual ) ), String( getDType( x ) ), 'returns expected value' );
6873
t.strictEqual( actual.get(), 3, 'returns expected value' );
69-
t.notEqual( actual.data, x.data, 'returns expected value' );
74+
t.notEqual( getData( actual ), getData( x ), 'returns expected value' );
7075

7176
t.end();
7277
});
@@ -93,12 +98,12 @@ tape( 'when provided a one-dimensional input array, the function returns a new o
9398
actual = toFlippedud( x );
9499

95100
t.strictEqual( isndarrayLike( actual ), true, 'returns expected value' );
96-
t.strictEqual( actual.ndims, 1, 'returns expected value' );
97-
t.strictEqual( actual.length, 6, 'returns expected value' );
98-
t.strictEqual( actual.dtype, x.dtype, 'returns expected value' );
99-
t.notEqual( actual.data, x.data, 'returns expected value' );
101+
t.strictEqual( ndims( actual ), 1, 'returns expected value' );
102+
t.strictEqual( numel( getShape( actual ) ), 6, 'returns expected value' );
103+
t.strictEqual( String( getDType( actual ) ), String( getDType( x ) ), 'returns expected value' );
104+
t.notEqual( getData( actual ), getData( x ), 'returns expected value' );
100105

101-
expected = [ 4, 6, 8, 10, 12, 14 ]; // No reversal for 1D arrays
106+
expected = [ 4, 6, 8, 10, 12, 14 ];
102107
for ( i = 0; i < expected.length; i++ ) {
103108
t.strictEqual( actual.iget( i ), expected[ i ], 'returns expected value' );
104109
}
@@ -126,10 +131,10 @@ tape( 'the function returns a new ndarray where the order of the elements of an
126131
actual = toFlippedud( x );
127132

128133
t.strictEqual( isndarrayLike( actual ), true, 'returns expected value' );
129-
t.strictEqual( actual.ndims, 2, 'returns expected value' );
130-
t.deepEqual( actual.shape, [ 4, 3 ], 'returns expected value' );
131-
t.strictEqual( actual.dtype, x.dtype, 'returns expected value' );
132-
t.notEqual( actual.data, x.data, 'returns expected value' );
134+
t.strictEqual( ndims( actual ), 2, 'returns expected value' );
135+
t.deepEqual( getShape( actual ), [ 4, 3 ], 'returns expected value' );
136+
t.strictEqual( String( getDType( actual ) ), String( getDType( x ) ), 'returns expected value' );
137+
t.notEqual( getData( actual ), getData( x ), 'returns expected value' );
133138

134139
expected = [
135140
[ 22, 24, 26 ],
@@ -163,10 +168,10 @@ tape( 'the function returns a new ndarray where the order of the elements of an
163168
actual = toFlippedud( x );
164169

165170
t.strictEqual( isndarrayLike( actual ), true, 'returns expected value' );
166-
t.strictEqual( actual.ndims, 3, 'returns expected value' );
167-
t.deepEqual( actual.shape, [ 2, 4, 3 ], 'returns expected value' );
168-
t.strictEqual( actual.dtype, x.dtype, 'returns expected value' );
169-
t.notEqual( actual.data, x.data, 'returns expected value' );
171+
t.strictEqual( ndims( actual ), 3, 'returns expected value' );
172+
t.deepEqual( getShape( actual ), [ 2, 4, 3 ], 'returns expected value' );
173+
t.strictEqual( String( getDType( actual ) ), String( getDType( x ) ), 'returns expected value' );
174+
t.notEqual( getData( actual ), getData( x ), 'returns expected value' );
170175

171176
expected = [
172177
[

0 commit comments

Comments
 (0)