@@ -25,14 +25,14 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">blas/b
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 '> 99/99 </ span >
28
+ < span class ='fraction '> 64/64 </ 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 '> 21/21 </ span >
35
+ < span class ='fraction '> 5/5 </ span >
36
36
</ div >
37
37
38
38
@@ -46,7 +46,7 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">blas/b
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 '> 99/99 </ span >
49
+ < span class ='fraction '> 64/64 </ span >
50
50
</ div >
51
51
52
52
@@ -127,42 +127,8 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">blas/b
127
127
< a name ='L62 '> </ a > < a href ='#L62 '> 62</ a >
128
128
< a name ='L63 '> </ a > < a href ='#L63 '> 63</ a >
129
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 > </ td > < td class ="line-coverage quiet "> < span class ="cline-any cline-yes "> 2x</ span >
130
+ < a name ='L65 '> </ a > < a href ='#L65 '> 65</ a > </ td > < td class ="line-coverage quiet "> < span class ="cline-any cline-yes "> 2x</ span >
131
+ < span class ="cline-any cline-yes "> 2x</ span >
166
132
< span class ="cline-any cline-yes "> 2x</ span >
167
133
< span class ="cline-any cline-yes "> 2x</ span >
168
134
< span class ="cline-any cline-yes "> 2x</ span >
@@ -210,51 +176,15 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">blas/b
210
176
< span class ="cline-any cline-yes "> 2x</ span >
211
177
< span class ="cline-any cline-yes "> 2x</ span >
212
178
< span class ="cline-any cline-yes "> 2x</ span >
213
- < span class ="cline-any cline-yes "> 13x</ span >
214
- < span class ="cline-any cline-yes "> 13x</ span >
215
179
< span class ="cline-any cline-yes "> 13x</ span >
216
180
< span class ="cline-any cline-yes "> 13x</ span >
217
181
< span class ="cline-any cline-yes "> 13x</ span >
218
182
< span class ="cline-any cline-yes "> 13x</ span >
219
183
< span class ="cline-any cline-yes "> 3x</ span >
220
184
< span class ="cline-any cline-yes "> 3x</ span >
221
185
< span class ="cline-any cline-yes "> 10x</ span >
222
- < span class ="cline-any cline-yes "> 13x</ span >
223
- < span class ="cline-any cline-yes "> 5x</ span >
224
- < span class ="cline-any cline-yes "> 5x</ span >
225
- < span class ="cline-any cline-yes "> 5x</ span >
226
- < span class ="cline-any cline-yes "> 5x</ span >
227
- < span class ="cline-any cline-yes "> 4x</ span >
228
- < span class ="cline-any cline-yes "> 7x</ span >
229
- < span class ="cline-any cline-yes "> 7x</ span >
230
- < span class ="cline-any cline-yes "> 4x</ span >
231
- < span class ="cline-any cline-yes "> 5x</ span >
232
- < span class ="cline-any cline-yes "> 1x</ span >
233
- < span class ="cline-any cline-yes "> 1x</ span >
234
- < span class ="cline-any cline-yes "> 5x</ span >
235
- < span class ="cline-any cline-yes "> 57x</ span >
236
- < span class ="cline-any cline-yes "> 57x</ span >
237
- < span class ="cline-any cline-yes "> 57x</ span >
238
- < span class ="cline-any cline-yes "> 57x</ span >
239
- < span class ="cline-any cline-yes "> 57x</ span >
240
- < span class ="cline-any cline-yes "> 4x</ span >
241
- < span class ="cline-any cline-yes "> 4x</ span >
242
- < span class ="cline-any cline-yes "> 13x</ span >
243
- < span class ="cline-any cline-yes "> 2x</ span >
244
- < span class ="cline-any cline-yes "> 13x</ span >
245
- < span class ="cline-any cline-yes "> 3x</ span >
246
- < span class ="cline-any cline-yes "> 3x</ span >
247
- < span class ="cline-any cline-yes "> 13x</ span >
248
- < span class ="cline-any cline-yes "> 2x</ span >
249
- < span class ="cline-any cline-yes "> 13x</ span >
250
- < span class ="cline-any cline-yes "> 3x</ span >
251
- < span class ="cline-any cline-yes "> 3x</ span >
252
- < span class ="cline-any cline-yes "> 13x</ span >
253
- < span class ="cline-any cline-yes "> 15x</ span >
254
- < span class ="cline-any cline-yes "> 15x</ span >
255
- < span class ="cline-any cline-yes "> 15x</ span >
256
- < span class ="cline-any cline-yes "> 15x</ span >
257
- < span class ="cline-any cline-yes "> 5x</ span >
186
+ < span class ="cline-any cline-yes "> 10x</ span >
187
+ < span class ="cline-any cline-yes "> 10x</ span >
258
188
< span class ="cline-any cline-yes "> 13x</ span >
259
189
< span class ="cline-any cline-yes "> 2x</ span >
260
190
< span class ="cline-any cline-yes "> 2x</ span >
@@ -281,9 +211,10 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">blas/b
281
211
282
212
'use strict';
283
213
284
- // VARIABLES //
214
+ // MODULES //
285
215
286
- var M = 4;
216
+ var stride2offset = require( '@stdlib/strided/base/stride2offset' );
217
+ var ndarray = require('./ndarray.js');
287
218
288
219
289
220
// MAIN //
@@ -312,48 +243,12 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">blas/b
312
243
function daxpy( N, alpha, x, strideX, y, strideY ) {
313
244
var ix;
314
245
var iy;
315
- var m;
316
- var i;
317
246
if ( N <= 0 || alpha === 0.0 ) {
318
247
return y;
319
248
}
320
- // Use unrolled loops if both strides are equal to `1`...
321
- if ( strideX === 1 && strideY === 1 ) {
322
- m = N % M;
323
-
324
- // If we have a remainder, run a clean-up loop...
325
- if ( m > 0 ) {
326
- for ( i = 0; i < m; i++ ) {
327
- y[ i ] += alpha * x[ i ];
328
- }
329
- }
330
- if ( N < M ) {
331
- return y;
332
- }
333
- for ( i = m; i < N; i += M ) {
334
- y[ i ] += alpha * x[ i ];
335
- y[ i+1 ] += alpha * x[ i+1 ];
336
- y[ i+2 ] += alpha * x[ i+2 ];
337
- y[ i+3 ] += alpha * x[ i+3 ];
338
- }
339
- return y;
340
- }
341
- if ( strideX < 0 ) {
342
- ix = (1-N) * strideX;
343
- } else {
344
- ix = 0;
345
- }
346
- if ( strideY < 0 ) {
347
- iy = (1-N) * strideY;
348
- } else {
349
- iy = 0;
350
- }
351
- for ( i = 0; i < N; i++ ) {
352
- y[ iy ] += alpha * x[ ix ];
353
- ix += strideX;
354
- iy += strideY;
355
- }
356
- return y;
249
+ ix = stride2offset( N, strideX );
250
+ iy = stride2offset( N, strideY );
251
+ return ndarray( N, alpha, x, strideX, ix, y, strideY, iy );
357
252
}
358
253
359
254
@@ -367,7 +262,7 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">blas/b
367
262
< div class ='footer quiet pad2 space-top1 center small '>
368
263
Code coverage generated by
369
264
< a href ="https://istanbul.js.org/ " target ="_blank " rel ="noopener noreferrer "> istanbul</ a >
370
- at 2024-04-29T07:50:16.490Z
265
+ at 2024-07-06T06:10:58.115Z
371
266
</ div >
372
267
< script src ="../../../../prettify.js "> </ script >
373
268
< script >
0 commit comments