@@ -25,14 +25,14 @@ <h1><a href="../../../../../index.html">All files</a> / <a href="index.html">bla
2525 < div class ='fl pad1y space-right2 '>
2626 < span class ="strong "> 100% </ span >
2727 < span class ="quiet "> Statements</ span >
28- < span class ='fraction '> 94/94 </ span >
28+ < span class ='fraction '> 109/109 </ span >
2929 </ div >
3030
3131
3232 < div class ='fl pad1y space-right2 '>
3333 < span class ="strong "> 100% </ span >
3434 < span class ="quiet "> Branches</ span >
35- < span class ='fraction '> 8/8 </ span >
35+ < span class ='fraction '> 14/14 </ span >
3636 </ div >
3737
3838
@@ -46,7 +46,7 @@ <h1><a href="../../../../../index.html">All files</a> / <a href="index.html">bla
4646 < div class ='fl pad1y space-right2 '>
4747 < span class ="strong "> 100% </ span >
4848 < span class ="quiet "> Lines</ span >
49- < span class ='fraction '> 94/94 </ span >
49+ < span class ='fraction '> 109/109 </ span >
5050 </ div >
5151
5252
@@ -157,7 +157,22 @@ <h1><a href="../../../../../index.html">All files</a> / <a href="index.html">bla
157157< a name ='L92 '> </ a > < a href ='#L92 '> 92</ a >
158158< a name ='L93 '> </ a > < a href ='#L93 '> 93</ a >
159159< a name ='L94 '> </ a > < a href ='#L94 '> 94</ a >
160- < a name ='L95 '> </ a > < a href ='#L95 '> 95</ a > </ td > < td class ="line-coverage quiet "> < span class ="cline-any cline-yes "> 3x</ span >
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 "> 3x</ span >
161176< span class ="cline-any cline-yes "> 3x</ span >
162177< span class ="cline-any cline-yes "> 3x</ span >
163178< span class ="cline-any cline-yes "> 3x</ span >
@@ -215,37 +230,52 @@ <h1><a href="../../../../../index.html">All files</a> / <a href="index.html">bla
215230< span class ="cline-any cline-yes "> 3x</ span >
216231< span class ="cline-any cline-yes "> 3x</ span >
217232< span class ="cline-any cline-yes "> 3x</ span >
218- < span class ="cline-any cline-yes "> 29x </ span >
219- < span class ="cline-any cline-yes "> 29x </ span >
220- < span class ="cline-any cline-yes "> 29x </ span >
221- < span class ="cline-any cline-yes "> 29x </ span >
222- < span class ="cline-any cline-yes "> 29x </ span >
223- < span class ="cline-any cline-yes "> 29x </ span >
224- < span class ="cline-any cline-yes "> 29x </ span >
225- < span class ="cline-any cline-yes "> 29x </ span >
226- < span class ="cline-any cline-yes "> 29x </ span >
227- < span class ="cline-any cline-yes "> 29x </ span >
233+ < span class ="cline-any cline-yes "> 30x </ span >
234+ < span class ="cline-any cline-yes "> 30x </ span >
235+ < span class ="cline-any cline-yes "> 30x </ span >
236+ < span class ="cline-any cline-yes "> 30x </ span >
237+ < span class ="cline-any cline-yes "> 30x </ span >
238+ < span class ="cline-any cline-yes "> 30x </ span >
239+ < span class ="cline-any cline-yes "> 30x </ span >
240+ < span class ="cline-any cline-yes "> 30x </ span >
241+ < span class ="cline-any cline-yes "> 30x </ span >
242+ < span class ="cline-any cline-yes "> 30x </ span >
228243< span class ="cline-any cline-yes "> 4x</ span >
229244< span class ="cline-any cline-yes "> 4x</ span >
230- < span class ="cline-any cline-yes "> 25x</ span >
231- < span class ="cline-any cline-yes "> 25x</ span >
232- < span class ="cline-any cline-yes "> 25x</ span >
233- < span class ="cline-any cline-yes "> 25x</ span >
234- < span class ="cline-any cline-yes "> 29x</ span >
235- < span class ="cline-any cline-yes "> 2085x</ span >
236- < span class ="cline-any cline-yes "> 2085x</ span >
237- < span class ="cline-any cline-yes "> 2085x</ span >
245+ < span class ="cline-any cline-yes "> 26x</ span >
246+ < span class ="cline-any cline-yes "> 26x</ span >
247+ < span class ="cline-any cline-yes "> 26x</ span >
248+ < span class ="cline-any cline-yes "> 26x</ span >
249+ < span class ="cline-any cline-yes "> 26x</ span >
250+ < span class ="cline-any cline-yes "> 30x</ span >
251+ < span class ="cline-any cline-yes "> 24x</ span >
252+ < span class ="cline-any cline-yes "> 28x</ span >
253+ < span class ="cline-any cline-yes "> 28x</ span >
254+ < span class ="cline-any cline-yes "> 24x</ span >
255+ < span class ="cline-any cline-yes "> 24x</ span >
256+ < span class ="cline-any cline-yes "> 4x</ span >
257+ < span class ="cline-any cline-yes "> 4x</ span >
258+ < span class ="cline-any cline-yes "> 4x</ span >
259+ < span class ="cline-any cline-yes "> 4x</ span >
260+ < span class ="cline-any cline-yes "> 30x</ span >
261+ < span class ="cline-any cline-yes "> 2x</ span >
262+ < span class ="cline-any cline-yes "> 2x</ span >
263+ < span class ="cline-any cline-yes "> 26x</ span >
264+ < span class ="cline-any cline-yes "> 30x</ span >
265+ < span class ="cline-any cline-yes "> 2086x</ span >
266+ < span class ="cline-any cline-yes "> 2086x</ span >
267+ < span class ="cline-any cline-yes "> 2086x</ span >
238268< span class ="cline-any cline-yes "> 2033x</ span >
239- < span class ="cline-any cline-yes "> 2085x </ span >
240- < span class ="cline-any cline-yes "> 52x </ span >
241- < span class ="cline-any cline-yes "> 52x </ span >
242- < span class ="cline-any cline-yes "> 2085x </ span >
243- < span class ="cline-any cline-yes "> 2085x </ span >
244- < span class ="cline-any cline-yes "> 2085x </ span >
245- < span class ="cline-any cline-yes "> 2085x </ span >
246- < span class ="cline-any cline-yes "> 2085x </ span >
247- < span class ="cline-any cline-yes "> 25x </ span >
248- < span class ="cline-any cline-yes "> 29x </ span >
269+ < span class ="cline-any cline-yes "> 2086x </ span >
270+ < span class ="cline-any cline-yes "> 53x </ span >
271+ < span class ="cline-any cline-yes "> 53x </ span >
272+ < span class ="cline-any cline-yes "> 2086x </ span >
273+ < span class ="cline-any cline-yes "> 2086x </ span >
274+ < span class ="cline-any cline-yes "> 2086x </ span >
275+ < span class ="cline-any cline-yes "> 2086x </ span >
276+ < span class ="cline-any cline-yes "> 2086x </ span >
277+ < span class ="cline-any cline-yes "> 26x </ span >
278+ < span class ="cline-any cline-yes "> 30x </ span >
249279< span class ="cline-any cline-yes "> 3x</ span >
250280< span class ="cline-any cline-yes "> 3x</ span >
251281< span class ="cline-any cline-yes "> 3x</ span >
@@ -324,8 +354,23 @@ <h1><a href="../../../../../index.html">All files</a> / <a href="index.html">bla
324354 ix = offsetX;
325355 iy = offsetY;
326356 s = sum;
357+
358+ // In order to preserve the sign of zero which can be lost during compensated summation below, find the first non-zero element...
359+ if ( s === 0.0 ) {
360+ for ( i = 0; i < N; i++ ) {
361+ v = x[ ix ];
362+ if ( v !== 0.0 ) {
363+ break;
364+ }
365+ y[ iy ] = float64ToFloat32( s + v );
366+ ix += strideX;
367+ iy += strideY;
368+ }
369+ } else {
370+ i = 0;
371+ }
327372 c = 0.0;
328- for ( i = 0 ; i < N; i++ ) {
373+ for ( ; i < N; i++ ) {
329374 v = x[ ix ];
330375 t = float64ToFloat32( s + v );
331376 if ( abs( s ) >= abs( v ) ) {
@@ -352,7 +397,7 @@ <h1><a href="../../../../../index.html">All files</a> / <a href="index.html">bla
352397 < div class ='footer quiet pad2 space-top1 center small '>
353398 Code coverage generated by
354399 < a href ="https://istanbul.js.org/ " target ="_blank " rel ="noopener noreferrer "> istanbul</ a >
355- at 2025-01-17T23:53 :26.187Z
400+ at 2025-04-25T05:47 :26.164Z
356401 </ div >
357402 < script src ="../../../../../prettify.js "> </ script >
358403 < script >
0 commit comments