@@ -24,7 +24,7 @@ var bench = require( '@stdlib/bench' );
24
24
var isndarrayLike = require ( '@stdlib/assert/is-ndarray-like' ) ;
25
25
var zeros = require ( '@stdlib/ndarray/zeros' ) ;
26
26
var pkg = require ( './../package.json' ) . name ;
27
- var concat = require ( './../lib' ) ;
27
+ var concat = require ( './../lib/assign.js ' ) ;
28
28
29
29
30
30
// MAIN //
@@ -37,14 +37,44 @@ bench( pkg+'::1d', function benchmark( b ) {
37
37
38
38
/* eslint-disable object-curly-newline */
39
39
40
+ values = [
41
+ zeros ( [ 2 ] , { 'dtype' : 'float64' } ) ,
42
+ zeros ( [ 2 ] , { 'dtype' : 'float64' } ) ,
43
+ zeros ( [ 2 ] , { 'dtype' : 'float64' } ) ,
44
+ zeros ( [ 2 ] , { 'dtype' : 'float64' } )
45
+ ] ;
46
+ out = zeros ( [ 8 ] , { 'dtype' : 'float64' } ) ;
47
+
48
+ b . tic ( ) ;
49
+ for ( i = 0 ; i < b . iterations ; i ++ ) {
50
+ v = concat ( values , out , - 1 ) ;
51
+ if ( typeof v !== 'object' ) {
52
+ b . fail ( 'should return an ndarray' ) ;
53
+ }
54
+ }
55
+ b . toc ( ) ;
56
+ if ( ! isndarrayLike ( v ) ) {
57
+ b . fail ( 'should return an ndarray' ) ;
58
+ }
59
+ b . pass ( 'benchmark finished' ) ;
60
+ b . end ( ) ;
61
+ } ) ;
62
+
63
+ bench ( pkg + '::1d:mostly-safe-casts' , function benchmark ( b ) {
64
+ var values ;
65
+ var out ;
66
+ var v ;
67
+ var i ;
68
+
69
+ /* eslint-disable object-curly-newline */
70
+
40
71
values = [
41
72
zeros ( [ 2 ] , { 'dtype' : 'float64' } ) ,
42
73
zeros ( [ 2 ] , { 'dtype' : 'float32' } ) ,
43
74
zeros ( [ 2 ] , { 'dtype' : 'int32' } ) ,
44
- zeros ( [ 2 ] , { 'dtype' : 'complex128' } ) ,
45
75
zeros ( [ 2 ] , { 'dtype' : 'generic' } )
46
76
] ;
47
- out = zeros ( [ 10 ] , { 'dtype' : 'float64 ' } ) ;
77
+ out = zeros ( [ 8 ] , { 'dtype' : 'generic ' } ) ;
48
78
49
79
b . tic ( ) ;
50
80
for ( i = 0 ; i < b . iterations ; i ++ ) {
@@ -69,14 +99,44 @@ bench( pkg+'::2d', function benchmark( b ) {
69
99
70
100
/* eslint-disable object-curly-newline */
71
101
102
+ values = [
103
+ zeros ( [ 2 , 2 ] , { 'dtype' : 'float64' } ) ,
104
+ zeros ( [ 2 , 2 ] , { 'dtype' : 'float64' } ) ,
105
+ zeros ( [ 2 , 2 ] , { 'dtype' : 'float64' } ) ,
106
+ zeros ( [ 2 , 2 ] , { 'dtype' : 'float64' } )
107
+ ] ;
108
+ out = zeros ( [ 2 , 8 ] , { 'dtype' : 'float64' } ) ;
109
+
110
+ b . tic ( ) ;
111
+ for ( i = 0 ; i < b . iterations ; i ++ ) {
112
+ v = concat ( values , out , - 1 ) ;
113
+ if ( typeof v !== 'object' ) {
114
+ b . fail ( 'should return an ndarray' ) ;
115
+ }
116
+ }
117
+ b . toc ( ) ;
118
+ if ( ! isndarrayLike ( v ) ) {
119
+ b . fail ( 'should return an ndarray' ) ;
120
+ }
121
+ b . pass ( 'benchmark finished' ) ;
122
+ b . end ( ) ;
123
+ } ) ;
124
+
125
+ bench ( pkg + '::2d:mostly-safe-casts' , function benchmark ( b ) {
126
+ var values ;
127
+ var out ;
128
+ var v ;
129
+ var i ;
130
+
131
+ /* eslint-disable object-curly-newline */
132
+
72
133
values = [
73
134
zeros ( [ 2 , 2 ] , { 'dtype' : 'float64' } ) ,
74
135
zeros ( [ 2 , 2 ] , { 'dtype' : 'float32' } ) ,
75
136
zeros ( [ 2 , 2 ] , { 'dtype' : 'int32' } ) ,
76
- zeros ( [ 2 , 2 ] , { 'dtype' : 'complex128' } ) ,
77
137
zeros ( [ 2 , 2 ] , { 'dtype' : 'generic' } )
78
138
] ;
79
- out = zeros ( [ 2 , 10 ] , { 'dtype' : 'float64 ' } ) ;
139
+ out = zeros ( [ 2 , 8 ] , { 'dtype' : 'generic ' } ) ;
80
140
81
141
b . tic ( ) ;
82
142
for ( i = 0 ; i < b . iterations ; i ++ ) {
@@ -101,14 +161,44 @@ bench( pkg+'::3d', function benchmark( b ) {
101
161
102
162
/* eslint-disable object-curly-newline */
103
163
164
+ values = [
165
+ zeros ( [ 2 , 2 , 2 ] , { 'dtype' : 'float64' } ) ,
166
+ zeros ( [ 2 , 2 , 2 ] , { 'dtype' : 'float64' } ) ,
167
+ zeros ( [ 2 , 2 , 2 ] , { 'dtype' : 'float64' } ) ,
168
+ zeros ( [ 2 , 2 , 2 ] , { 'dtype' : 'float64' } )
169
+ ] ;
170
+ out = zeros ( [ 2 , 2 , 8 ] , { 'dtype' : 'float64' } ) ;
171
+
172
+ b . tic ( ) ;
173
+ for ( i = 0 ; i < b . iterations ; i ++ ) {
174
+ v = concat ( values , out , - 1 ) ;
175
+ if ( typeof v !== 'object' ) {
176
+ b . fail ( 'should return an ndarray' ) ;
177
+ }
178
+ }
179
+ b . toc ( ) ;
180
+ if ( ! isndarrayLike ( v ) ) {
181
+ b . fail ( 'should return an ndarray' ) ;
182
+ }
183
+ b . pass ( 'benchmark finished' ) ;
184
+ b . end ( ) ;
185
+ } ) ;
186
+
187
+ bench ( pkg + '::3d:mostly-safe-casts' , function benchmark ( b ) {
188
+ var values ;
189
+ var out ;
190
+ var v ;
191
+ var i ;
192
+
193
+ /* eslint-disable object-curly-newline */
194
+
104
195
values = [
105
196
zeros ( [ 2 , 2 , 2 ] , { 'dtype' : 'float64' } ) ,
106
197
zeros ( [ 2 , 2 , 2 ] , { 'dtype' : 'float32' } ) ,
107
198
zeros ( [ 2 , 2 , 2 ] , { 'dtype' : 'int32' } ) ,
108
- zeros ( [ 2 , 2 , 2 ] , { 'dtype' : 'complex128' } ) ,
109
199
zeros ( [ 2 , 2 , 2 ] , { 'dtype' : 'generic' } )
110
200
] ;
111
- out = zeros ( [ 2 , 2 , 10 ] , { 'dtype' : 'float64 ' } ) ;
201
+ out = zeros ( [ 2 , 2 , 8 ] , { 'dtype' : 'generic ' } ) ;
112
202
113
203
b . tic ( ) ;
114
204
for ( i = 0 ; i < b . iterations ; i ++ ) {
@@ -133,14 +223,44 @@ bench( pkg+'::4d', function benchmark( b ) {
133
223
134
224
/* eslint-disable object-curly-newline */
135
225
226
+ values = [
227
+ zeros ( [ 2 , 2 , 2 , 2 ] , { 'dtype' : 'float64' } ) ,
228
+ zeros ( [ 2 , 2 , 2 , 2 ] , { 'dtype' : 'float64' } ) ,
229
+ zeros ( [ 2 , 2 , 2 , 2 ] , { 'dtype' : 'float64' } ) ,
230
+ zeros ( [ 2 , 2 , 2 , 2 ] , { 'dtype' : 'float64' } )
231
+ ] ;
232
+ out = zeros ( [ 2 , 2 , 2 , 8 ] , { 'dtype' : 'float64' } ) ;
233
+
234
+ b . tic ( ) ;
235
+ for ( i = 0 ; i < b . iterations ; i ++ ) {
236
+ v = concat ( values , out , - 1 ) ;
237
+ if ( typeof v !== 'object' ) {
238
+ b . fail ( 'should return an ndarray' ) ;
239
+ }
240
+ }
241
+ b . toc ( ) ;
242
+ if ( ! isndarrayLike ( v ) ) {
243
+ b . fail ( 'should return an ndarray' ) ;
244
+ }
245
+ b . pass ( 'benchmark finished' ) ;
246
+ b . end ( ) ;
247
+ } ) ;
248
+
249
+ bench ( pkg + '::4d:mostly-safe-casts' , function benchmark ( b ) {
250
+ var values ;
251
+ var out ;
252
+ var v ;
253
+ var i ;
254
+
255
+ /* eslint-disable object-curly-newline */
256
+
136
257
values = [
137
258
zeros ( [ 2 , 2 , 2 , 2 ] , { 'dtype' : 'float64' } ) ,
138
259
zeros ( [ 2 , 2 , 2 , 2 ] , { 'dtype' : 'float32' } ) ,
139
260
zeros ( [ 2 , 2 , 2 , 2 ] , { 'dtype' : 'int32' } ) ,
140
- zeros ( [ 2 , 2 , 2 , 2 ] , { 'dtype' : 'complex128' } ) ,
141
261
zeros ( [ 2 , 2 , 2 , 2 ] , { 'dtype' : 'generic' } )
142
262
] ;
143
- out = zeros ( [ 2 , 2 , 2 , 10 ] , { 'dtype' : 'float64 ' } ) ;
263
+ out = zeros ( [ 2 , 2 , 2 , 8 ] , { 'dtype' : 'generic ' } ) ;
144
264
145
265
b . tic ( ) ;
146
266
for ( i = 0 ; i < b . iterations ; i ++ ) {
@@ -165,14 +285,44 @@ bench( pkg+'::5d', function benchmark( b ) {
165
285
166
286
/* eslint-disable object-curly-newline */
167
287
288
+ values = [
289
+ zeros ( [ 2 , 2 , 2 , 2 , 2 ] , { 'dtype' : 'float64' } ) ,
290
+ zeros ( [ 2 , 2 , 2 , 2 , 2 ] , { 'dtype' : 'float64' } ) ,
291
+ zeros ( [ 2 , 2 , 2 , 2 , 2 ] , { 'dtype' : 'float64' } ) ,
292
+ zeros ( [ 2 , 2 , 2 , 2 , 2 ] , { 'dtype' : 'float64' } )
293
+ ] ;
294
+ out = zeros ( [ 2 , 2 , 2 , 2 , 8 ] , { 'dtype' : 'float64' } ) ;
295
+
296
+ b . tic ( ) ;
297
+ for ( i = 0 ; i < b . iterations ; i ++ ) {
298
+ v = concat ( values , out , - 1 ) ;
299
+ if ( typeof v !== 'object' ) {
300
+ b . fail ( 'should return an ndarray' ) ;
301
+ }
302
+ }
303
+ b . toc ( ) ;
304
+ if ( ! isndarrayLike ( v ) ) {
305
+ b . fail ( 'should return an ndarray' ) ;
306
+ }
307
+ b . pass ( 'benchmark finished' ) ;
308
+ b . end ( ) ;
309
+ } ) ;
310
+
311
+ bench ( pkg + '::5d:mostly-safe-casts' , function benchmark ( b ) {
312
+ var values ;
313
+ var out ;
314
+ var v ;
315
+ var i ;
316
+
317
+ /* eslint-disable object-curly-newline */
318
+
168
319
values = [
169
320
zeros ( [ 2 , 2 , 2 , 2 , 2 ] , { 'dtype' : 'float64' } ) ,
170
321
zeros ( [ 2 , 2 , 2 , 2 , 2 ] , { 'dtype' : 'float32' } ) ,
171
322
zeros ( [ 2 , 2 , 2 , 2 , 2 ] , { 'dtype' : 'int32' } ) ,
172
- zeros ( [ 2 , 2 , 2 , 2 , 2 ] , { 'dtype' : 'complex128' } ) ,
173
323
zeros ( [ 2 , 2 , 2 , 2 , 2 ] , { 'dtype' : 'generic' } )
174
324
] ;
175
- out = zeros ( [ 2 , 2 , 2 , 2 , 10 ] , { 'dtype' : 'float64 ' } ) ;
325
+ out = zeros ( [ 2 , 2 , 2 , 2 , 8 ] , { 'dtype' : 'generic ' } ) ;
176
326
177
327
b . tic ( ) ;
178
328
for ( i = 0 ; i < b . iterations ; i ++ ) {
0 commit comments