@@ -25,14 +25,14 @@ <h1><a href="../../../../../index.html">All files</a> / <a href="index.html">bla
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 '> 109/109 </ span >
28
+ < span class ='fraction '> 60/60 </ 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 '> 19/19 </ span >
35
+ < span class ='fraction '> 2/2 </ span >
36
36
</ div >
37
37
38
38
@@ -46,7 +46,7 @@ <h1><a href="../../../../../index.html">All files</a> / <a href="index.html">bla
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 '> 109/109 </ span >
49
+ < span class ='fraction '> 60/60 </ span >
50
50
</ div >
51
51
52
52
@@ -123,56 +123,7 @@ <h1><a href="../../../../../index.html">All files</a> / <a href="index.html">bla
123
123
< a name ='L58 '> </ a > < a href ='#L58 '> 58</ a >
124
124
< a name ='L59 '> </ a > < a href ='#L59 '> 59</ a >
125
125
< a name ='L60 '> </ a > < a href ='#L60 '> 60</ a >
126
- < a name ='L61 '> </ a > < a href ='#L61 '> 61</ a >
127
- < a name ='L62 '> </ a > < a href ='#L62 '> 62</ a >
128
- < a name ='L63 '> </ a > < a href ='#L63 '> 63</ a >
129
- < a name ='L64 '> </ a > < a href ='#L64 '> 64</ a >
130
- < a name ='L65 '> </ a > < a href ='#L65 '> 65</ a >
131
- < a name ='L66 '> </ a > < a href ='#L66 '> 66</ a >
132
- < a name ='L67 '> </ a > < a href ='#L67 '> 67</ a >
133
- < a name ='L68 '> </ a > < a href ='#L68 '> 68</ a >
134
- < a name ='L69 '> </ a > < a href ='#L69 '> 69</ a >
135
- < a name ='L70 '> </ a > < a href ='#L70 '> 70</ a >
136
- < a name ='L71 '> </ a > < a href ='#L71 '> 71</ a >
137
- < a name ='L72 '> </ a > < a href ='#L72 '> 72</ a >
138
- < a name ='L73 '> </ a > < a href ='#L73 '> 73</ a >
139
- < a name ='L74 '> </ a > < a href ='#L74 '> 74</ a >
140
- < a name ='L75 '> </ a > < a href ='#L75 '> 75</ a >
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 >
168
- < a name ='L103 '> </ a > < a href ='#L103 '> 103</ a >
169
- < a name ='L104 '> </ a > < a href ='#L104 '> 104</ a >
170
- < a name ='L105 '> </ a > < a href ='#L105 '> 105</ a >
171
- < a name ='L106 '> </ a > < a href ='#L106 '> 106</ a >
172
- < a name ='L107 '> </ a > < a href ='#L107 '> 107</ a >
173
- < a name ='L108 '> </ a > < a href ='#L108 '> 108</ a >
174
- < a name ='L109 '> </ a > < a href ='#L109 '> 109</ a >
175
- < a name ='L110 '> </ a > < a href ='#L110 '> 110</ a > </ td > < td class ="line-coverage quiet "> < span class ="cline-any cline-yes "> 2x</ span >
126
+ < a name ='L61 '> </ a > < a href ='#L61 '> 61</ a > </ td > < td class ="line-coverage quiet "> < span class ="cline-any cline-yes "> 2x</ span >
176
127
< span class ="cline-any cline-yes "> 2x</ span >
177
128
< span class ="cline-any cline-yes "> 2x</ span >
178
129
< span class ="cline-any cline-yes "> 2x</ span >
@@ -224,60 +175,11 @@ <h1><a href="../../../../../index.html">All files</a> / <a href="index.html">bla
224
175
< span class ="cline-any cline-yes "> 2x</ span >
225
176
< span class ="cline-any cline-yes "> 2x</ span >
226
177
< span class ="cline-any cline-yes "> 2x</ span >
227
- < span class ="cline-any cline-yes "> 2x</ span >
228
- < span class ="cline-any cline-yes "> 15x</ span >
229
- < span class ="cline-any cline-yes "> 15x</ span >
230
- < span class ="cline-any cline-yes "> 15x</ span >
231
- < span class ="cline-any cline-yes "> 15x</ span >
232
- < span class ="cline-any cline-yes "> 15x</ span >
233
- < span class ="cline-any cline-yes "> 15x</ span >
234
- < span class ="cline-any cline-yes "> 15x</ span >
235
- < span class ="cline-any cline-yes "> 15x</ span >
236
- < span class ="cline-any cline-yes "> 15x</ span >
237
178
< span class ="cline-any cline-yes "> 15x</ span >
238
179
< span class ="cline-any cline-yes "> 15x</ span >
239
180
< span class ="cline-any cline-yes "> 15x</ span >
240
181
< span class ="cline-any cline-yes "> 2x</ span >
241
182
< span class ="cline-any cline-yes "> 2x</ span >
242
- < span class ="cline-any cline-yes "> 15x</ span >
243
- < span class ="cline-any cline-yes "> 4x</ span >
244
- < span class ="cline-any cline-yes "> 1x</ span >
245
- < span class ="cline-any cline-yes "> 1x</ span >
246
- < span class ="cline-any cline-yes "> 3x</ span >
247
- < span class ="cline-any cline-yes "> 3x</ span >
248
- < span class ="cline-any cline-yes "> 15x</ span >
249
- < span class ="cline-any cline-yes "> 1x</ span >
250
- < span class ="cline-any cline-yes "> 15x</ span >
251
- < span class ="cline-any cline-yes "> 8x</ span >
252
- < span class ="cline-any cline-yes "> 8x</ span >
253
- < span class ="cline-any cline-yes "> 9x</ span >
254
- < span class ="cline-any cline-yes "> 9x</ span >
255
- < span class ="cline-any cline-yes "> 9x</ span >
256
- < span class ="cline-any cline-yes "> 15x</ span >
257
- < span class ="cline-any cline-yes "> 45x</ span >
258
- < span class ="cline-any cline-yes "> 45x</ span >
259
- < span class ="cline-any cline-yes "> 34x</ span >
260
- < span class ="cline-any cline-yes "> 34x</ span >
261
- < span class ="cline-any cline-yes "> 13x</ span >
262
- < span class ="cline-any cline-yes "> 34x</ span >
263
- < span class ="cline-any cline-yes "> 21x</ span >
264
- < span class ="cline-any cline-yes "> 21x</ span >
265
- < span class ="cline-any cline-yes "> 34x</ span >
266
- < span class ="cline-any cline-yes "> 34x</ span >
267
- < span class ="cline-any cline-yes "> 34x</ span >
268
- < span class ="cline-any cline-yes "> 33x</ span >
269
- < span class ="cline-any cline-yes "> 34x</ span >
270
- < span class ="cline-any cline-yes "> 1x</ span >
271
- < span class ="cline-any cline-yes "> 1x</ span >
272
- < span class ="cline-any cline-yes "> 34x</ span >
273
- < span class ="cline-any cline-yes "> 34x</ span >
274
- < span class ="cline-any cline-yes "> 34x</ span >
275
- < span class ="cline-any cline-yes "> 45x</ span >
276
- < span class ="cline-any cline-yes "> 45x</ span >
277
- < span class ="cline-any cline-yes "> 9x</ span >
278
- < span class ="cline-any cline-yes "> 15x</ span >
279
- < span class ="cline-any cline-yes "> 2x</ span >
280
- < span class ="cline-any cline-yes "> 2x</ span >
281
183
< span class ="cline-any cline-yes "> 2x</ span >
282
184
< span class ="cline-any cline-yes "> 2x</ span >
283
185
< span class ="cline-any cline-yes "> 2x</ span >
@@ -303,8 +205,8 @@ <h1><a href="../../../../../index.html">All files</a> / <a href="index.html">bla
303
205
304
206
// MODULES //
305
207
306
- var isnan = require( '@stdlib/math /base/assert/is-nan ' );
307
- var abs = require( '@stdlib/math/base/special/abs ' );
208
+ var stride2offset = require( '@stdlib/strided /base/stride2offset ' );
209
+ var ndarray = require( './ndarray.js ' );
308
210
309
211
310
212
// MAIN //
@@ -322,68 +224,19 @@ <h1><a href="../../../../../index.html">All files</a> / <a href="index.html">bla
322
224
*
323
225
* @param {PositiveInteger} N - number of indexed elements
324
226
* @param {Float64Array} x - input array
325
- * @param {integer} stride - stride length
227
+ * @param {integer} strideX - stride length
326
228
* @returns {number} sum
327
229
*
328
230
* @example
329
231
* var Float64Array = require( '@stdlib/array/float64' );
330
232
*
331
233
* var x = new Float64Array( [ 1.0, -2.0, NaN, 2.0 ] );
332
- * var N = x.length;
333
234
*
334
- * var v = dnansumkbn2( N , x, 1 );
235
+ * var v = dnansumkbn2( x.length , x, 1 );
335
236
* // returns 1.0
336
237
*/
337
- function dnansumkbn2( N, x, stride ) {
338
- var sum;
339
- var ccs;
340
- var ix;
341
- var cs;
342
- var cc;
343
- var v;
344
- var t;
345
- var c;
346
- var i;
347
-
348
- if ( N <= 0 ) {
349
- return 0.0;
350
- }
351
- if ( N === 1 || stride === 0 ) {
352
- if ( isnan( x[ 0 ] ) ) {
353
- return 0.0;
354
- }
355
- return x[ 0 ];
356
- }
357
- if ( stride < 0 ) {
358
- ix = (1-N) * stride;
359
- } else {
360
- ix = 0;
361
- }
362
- sum = 0.0;
363
- ccs = 0.0; // second order correction term for lost low order bits
364
- cs = 0.0; // first order correction term for lost low order bits
365
- for ( i = 0; i < N; i++ ) {
366
- v = x[ ix ];
367
- if ( isnan( v ) === false ) {
368
- t = sum + v;
369
- if ( abs( sum ) >= abs( v ) ) {
370
- c = (sum-t) + v;
371
- } else {
372
- c = (v-t) + sum;
373
- }
374
- sum = t;
375
- t = cs + c;
376
- if ( abs( cs ) >= abs( c ) ) {
377
- cc = (cs-t) + c;
378
- } else {
379
- cc = (c-t) + cs;
380
- }
381
- cs = t;
382
- ccs += cc;
383
- }
384
- ix += stride;
385
- }
386
- return sum + cs + ccs;
238
+ function dnansumkbn2( N, x, strideX ) {
239
+ return ndarray( N, x, strideX, stride2offset( N, strideX ) );
387
240
}
388
241
389
242
@@ -397,7 +250,7 @@ <h1><a href="../../../../../index.html">All files</a> / <a href="index.html">bla
397
250
< div class ='footer quiet pad2 space-top1 center small '>
398
251
Code coverage generated by
399
252
< a href ="https://istanbul.js.org/ " target ="_blank " rel ="noopener noreferrer "> istanbul</ a >
400
- at 2024-03-29T15:52:00.712Z
253
+ at 2024-10-30T01:07:20.613Z
401
254
</ div >
402
255
< script src ="../../../../../prettify.js "> </ script >
403
256
< script >
0 commit comments