@@ -25,28 +25,28 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">math/s
25
25
< div class ='fl pad1y space-right2 '>
26
26
< span class ="strong "> 100% </ span >
27
27
< span class ="quiet "> Statements</ span >
28
- < span class ='fraction '> 101/101 </ span >
28
+ < span class ='fraction '> 76/76 </ span >
29
29
</ div >
30
30
31
31
32
32
< div class ='fl pad1y space-right2 '>
33
33
< span class ="strong "> 100% </ span >
34
34
< span class ="quiet "> Branches</ span >
35
- < span class ='fraction '> 4/4 </ span >
35
+ < span class ='fraction '> 1/1 </ span >
36
36
</ div >
37
37
38
38
39
39
< div class ='fl pad1y space-right2 '>
40
40
< span class ="strong "> 100% </ span >
41
41
< span class ="quiet "> Functions</ span >
42
- < span class ='fraction '> 1/1 </ span >
42
+ < span class ='fraction '> 0/0 </ span >
43
43
</ div >
44
44
45
45
46
46
< div class ='fl pad1y space-right2 '>
47
47
< span class ="strong "> 100% </ span >
48
48
< span class ="quiet "> Lines</ span >
49
- < span class ='fraction '> 101/101 </ span >
49
+ < span class ='fraction '> 76/76 </ span >
50
50
</ div >
51
51
52
52
@@ -139,42 +139,7 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">math/s
139
139
< a name ='L74 '> </ a > < a href ='#L74 '> 74</ a >
140
140
< a name ='L75 '> </ a > < a href ='#L75 '> 75</ a >
141
141
< a name ='L76 '> </ a > < a href ='#L76 '> 76</ a >
142
- < a name ='L77 '> </ a > < a href ='#L77 '> 77</ a >
143
- < a name ='L78 '> </ a > < a href ='#L78 '> 78</ a >
144
- < a name ='L79 '> </ a > < a href ='#L79 '> 79</ a >
145
- < a name ='L80 '> </ a > < a href ='#L80 '> 80</ a >
146
- < a name ='L81 '> </ a > < a href ='#L81 '> 81</ a >
147
- < a name ='L82 '> </ a > < a href ='#L82 '> 82</ a >
148
- < a name ='L83 '> </ a > < a href ='#L83 '> 83</ a >
149
- < a name ='L84 '> </ a > < a href ='#L84 '> 84</ a >
150
- < a name ='L85 '> </ a > < a href ='#L85 '> 85</ a >
151
- < a name ='L86 '> </ a > < a href ='#L86 '> 86</ a >
152
- < a name ='L87 '> </ a > < a href ='#L87 '> 87</ a >
153
- < a name ='L88 '> </ a > < a href ='#L88 '> 88</ a >
154
- < a name ='L89 '> </ a > < a href ='#L89 '> 89</ a >
155
- < a name ='L90 '> </ a > < a href ='#L90 '> 90</ a >
156
- < a name ='L91 '> </ a > < a href ='#L91 '> 91</ a >
157
- < a name ='L92 '> </ a > < a href ='#L92 '> 92</ a >
158
- < a name ='L93 '> </ a > < a href ='#L93 '> 93</ a >
159
- < a name ='L94 '> </ a > < a href ='#L94 '> 94</ a >
160
- < a name ='L95 '> </ a > < a href ='#L95 '> 95</ a >
161
- < a name ='L96 '> </ a > < a href ='#L96 '> 96</ a >
162
- < a name ='L97 '> </ a > < a href ='#L97 '> 97</ a >
163
- < a name ='L98 '> </ a > < a href ='#L98 '> 98</ a >
164
- < a name ='L99 '> </ a > < a href ='#L99 '> 99</ a >
165
- < a name ='L100 '> </ a > < a href ='#L100 '> 100</ a >
166
- < a name ='L101 '> </ a > < a href ='#L101 '> 101</ a >
167
- < a name ='L102 '> </ a > < a href ='#L102 '> 102</ a > </ td > < td class ="line-coverage quiet "> < span class ="cline-any cline-yes "> 3x</ span >
168
- < span class ="cline-any cline-yes "> 3x</ span >
169
- < span class ="cline-any cline-yes "> 3x</ span >
170
- < span class ="cline-any cline-yes "> 3x</ span >
171
- < span class ="cline-any cline-yes "> 3x</ span >
172
- < span class ="cline-any cline-yes "> 3x</ span >
173
- < span class ="cline-any cline-yes "> 3x</ span >
174
- < span class ="cline-any cline-yes "> 3x</ span >
175
- < span class ="cline-any cline-yes "> 3x</ span >
176
- < span class ="cline-any cline-yes "> 3x</ span >
177
- < span class ="cline-any cline-yes "> 3x</ span >
142
+ < a name ='L77 '> </ a > < a href ='#L77 '> 77</ a > </ td > < td class ="line-coverage quiet "> < span class ="cline-any cline-yes "> 3x</ span >
178
143
< span class ="cline-any cline-yes "> 3x</ span >
179
144
< span class ="cline-any cline-yes "> 3x</ span >
180
145
< span class ="cline-any cline-yes "> 3x</ span >
@@ -215,21 +180,6 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">math/s
215
180
< span class ="cline-any cline-yes "> 3x</ span >
216
181
< span class ="cline-any cline-yes "> 3x</ span >
217
182
< span class ="cline-any cline-yes "> 3x</ span >
218
- < span class ="cline-any cline-yes "> 5x</ span >
219
- < span class ="cline-any cline-yes "> 5x</ span >
220
- < span class ="cline-any cline-yes "> 5x</ span >
221
- < span class ="cline-any cline-yes "> 5x</ span >
222
- < span class ="cline-any cline-yes "> 5x</ span >
223
- < span class ="cline-any cline-yes "> 5x</ span >
224
- < span class ="cline-any cline-yes "> 1x</ span >
225
- < span class ="cline-any cline-yes "> 1x</ span >
226
- < span class ="cline-any cline-yes "> 4x</ span >
227
- < span class ="cline-any cline-yes "> 4x</ span >
228
- < span class ="cline-any cline-yes "> 5x</ span >
229
- < span class ="cline-any cline-yes "> 3x</ span >
230
- < span class ="cline-any cline-yes "> 3x</ span >
231
- < span class ="cline-any cline-yes "> 3x</ span >
232
- < span class ="cline-any cline-yes "> 3x</ span >
233
183
< span class ="cline-any cline-yes "> 3x</ span >
234
184
< span class ="cline-any cline-yes "> 3x</ span >
235
185
< span class ="cline-any cline-yes "> 3x</ span >
@@ -287,17 +237,15 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">math/s
287
237
288
238
// MODULES //
289
239
290
- var isTypedArrayLike = require( '@stdlib/assert/is-typed-array-like' );
291
- var serialize = require( '@stdlib/ndarray/base/serialize-meta-data' );
240
+ var dispatch = require( '@stdlib/ndarray/base/unary-addon-dispatch' );
292
241
var setProps = require( '@stdlib/ndarray/base/meta-data-props' );
293
- var getData = require( '@stdlib/ndarray/data-buffer' );
294
242
var dtypes = require( '@stdlib/ndarray/dtypes' );
295
243
var ufunc = require( '@stdlib/math/tools/unary' );
296
244
var addon = require( './../src/addon.node' );
297
245
var meta = require( './meta.json' );
298
246
var types = require( './types.json' );
299
247
var policies = require( './policies.json' );
300
- var js = require( './main.js' );
248
+ var fallback = require( './main.js' ).assign ;
301
249
302
250
303
251
// VARIABLES //
@@ -306,29 +254,6 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">math/s
306
254
var odtypes = dtypes( 'real_and_generic' );
307
255
308
256
309
- // FUNCTIONS //
310
-
311
- /**
312
- * Applies a unary function to an input ndarray and assigns results to an output ndarray.
313
- *
314
- * @private
315
- * @param {ndarray} x - input array
316
- * @param {ndarray} y - output array
317
- * @returns {ndarray} output array
318
- */
319
- function unary( x, y ) { // FIXME: move to separate package
320
- var xdata = getData( x );
321
- var ydata = getData( y );
322
-
323
- // WARNING: we assume that, if we're provided something which has a data buffer resembling a typed array, we're provided a typed ndarray buffer; however, this can lead to potential unintended errors as the native add-on cannot work with non-typed array objects (e.g., generic arrays)...
324
- if ( !( isTypedArrayLike( xdata ) && isTypedArrayLike( ydata ) ) ) {
325
- return js.assign( x, y );
326
- }
327
- addon( xdata, serialize( x ), ydata, serialize( y ) );
328
- return y;
329
- }
330
-
331
-
332
257
// MAIN //
333
258
334
259
/**
@@ -358,7 +283,7 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">math/s
358
283
* var arr = ndarray2array( y );
359
284
* // returns [ [ 1.0, 2.0 ], [ 3.0, 4.0 ] ]
360
285
*/
361
- var abs = ufunc( unary, [ idtypes ], odtypes, policies ); // eslint-disable-line vars-on-top
286
+ var abs = ufunc( dispatch( addon, fallback ), [ idtypes ], odtypes, policies );
362
287
setProps( meta, types, abs );
363
288
setProps( meta, types, abs.assign );
364
289
@@ -373,7 +298,7 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">math/s
373
298
< div class ='footer quiet pad2 space-top1 center small '>
374
299
Code coverage generated by
375
300
< a href ="https://istanbul.js.org/ " target ="_blank " rel ="noopener noreferrer "> istanbul</ a >
376
- at 2025-09-12T07:07:16.329Z
301
+ at 2025-09-12T09:45:51.119Z
377
302
</ div >
378
303
< script src ="../../../../prettify.js "> </ script >
379
304
< script >
0 commit comments