@@ -25,7 +25,7 @@ <h1><a href="../../../../../index.html">All files</a> / <a href="index.html">mat
2525 < div class ='fl pad1y space-right2 '>
2626 < span class ="strong "> 100% </ span >
2727 < span class ="quiet "> Statements</ span >
28- < span class ='fraction '> 104/104 </ span >
28+ < span class ='fraction '> 111/111 </ span >
2929 </ div >
3030
3131
@@ -46,7 +46,7 @@ <h1><a href="../../../../../index.html">All files</a> / <a href="index.html">mat
4646 < div class ='fl pad1y space-right2 '>
4747 < span class ="strong "> 100% </ span >
4848 < span class ="quiet "> Lines</ span >
49- < span class ='fraction '> 104/104 </ span >
49+ < span class ='fraction '> 111/111 </ span >
5050 </ div >
5151
5252
@@ -167,7 +167,14 @@ <h1><a href="../../../../../index.html">All files</a> / <a href="index.html">mat
167167< a name ='L102 '> </ a > < a href ='#L102 '> 102</ a >
168168< a name ='L103 '> </ a > < a href ='#L103 '> 103</ a >
169169< a name ='L104 '> </ a > < a href ='#L104 '> 104</ a >
170- < a name ='L105 '> </ a > < a href ='#L105 '> 105</ a > </ td > < td class ="line-coverage quiet "> < span class ="cline-any cline-yes "> 1x</ span >
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 >
176+ < a name ='L111 '> </ a > < a href ='#L111 '> 111</ a >
177+ < a name ='L112 '> </ a > < a href ='#L112 '> 112</ a > </ td > < td class ="line-coverage quiet "> < span class ="cline-any cline-yes "> 1x</ span >
171178< span class ="cline-any cline-yes "> 1x</ span >
172179< span class ="cline-any cline-yes "> 1x</ span >
173180< span class ="cline-any cline-yes "> 1x</ span >
@@ -232,6 +239,16 @@ <h1><a href="../../../../../index.html">All files</a> / <a href="index.html">mat
232239< span class ="cline-any cline-yes "> 1x</ span >
233240< span class ="cline-any cline-yes "> 1x</ span >
234241< span class ="cline-any cline-yes "> 1x</ span >
242+ < span class ="cline-any cline-yes "> 1x</ span >
243+ < span class ="cline-any cline-yes "> 1x</ 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 "> 1x</ span >
247+ < span class ="cline-any cline-yes "> 1x</ span >
248+ < span class ="cline-any cline-yes "> 33x</ span >
249+ < span class ="cline-any cline-yes "> 33x</ span >
250+ < span class ="cline-any cline-yes "> 33x</ span >
251+ < span class ="cline-any cline-yes "> 33x</ span >
235252< span class ="cline-any cline-yes "> 33x</ span >
236253< span class ="cline-any cline-yes "> 33x</ span >
237254< span class ="cline-any cline-yes "> 33x</ span >
@@ -243,7 +260,6 @@ <h1><a href="../../../../../index.html">All files</a> / <a href="index.html">mat
243260< span class ="cline-any cline-yes "> 11x</ span >
244261< span class ="cline-any cline-yes "> 11x</ span >
245262< span class ="cline-any cline-yes "> 22x</ span >
246- < span class ="cline-any cline-yes "> 22x</ span >
247263< span class ="cline-any cline-yes "> 33x</ span >
248264< span class ="cline-any cline-yes "> 9x</ span >
249265< span class ="cline-any cline-yes "> 9x</ span >
@@ -254,13 +270,11 @@ <h1><a href="../../../../../index.html">All files</a> / <a href="index.html">mat
254270< span class ="cline-any cline-yes "> 7x</ span >
255271< span class ="cline-any cline-yes "> 7x</ span >
256272< span class ="cline-any cline-yes "> 22x</ span >
257- < span class ="cline-any cline-yes "> 22x</ span >
258273< span class ="cline-any cline-yes "> 33x</ span >
259274< span class ="cline-any cline-yes "> 8x</ span >
260275< span class ="cline-any cline-yes "> 8x</ span >
261276< span class ="cline-any cline-yes "> 14x</ span >
262277< span class ="cline-any cline-yes "> 14x</ span >
263- < span class ="cline-any cline-yes "> 14x</ span >
264278< span class ="cline-any cline-yes "> 33x</ span >
265279< span class ="cline-any cline-yes "> 5x</ span >
266280< span class ="cline-any cline-yes "> 5x</ span >
@@ -295,13 +309,19 @@ <h1><a href="../../../../../index.html">All files</a> / <a href="index.html">mat
295309
296310var isnanf = require( '@stdlib/math/base/assert/is-nanf' );
297311var truncf = require( '@stdlib/math/base/special/truncf' );
298- var float64ToFloat32 = require( '@stdlib/number/float64/base/to-float32' );
312+ var f32 = require( '@stdlib/number/float64/base/to-float32' );
313+
314+
315+ // VARIABLES //
316+
317+ var ZERO = f32( 0.0 );
318+ var ONE = f32( 1.0 );
299319
300320
301321// MAIN //
302322
303323/**
304- * Wraps a value on the half-open interval `[min,max)` for single-precision floating-point numbers .
324+ * Wraps a single-precision floating-point value to the half-open interval `[min,max)`.
305325*
306326* @param {number} v - input value
307327* @param {number} min - minimum value
@@ -338,6 +358,10 @@ <h1><a href="../../../../../index.html">All files</a> / <a href="index.html">mat
338358*/
339359function wrapf( v, min, max ) {
340360 var delta;
361+
362+ v = f32( v );
363+ min = f32( min );
364+ max = f32( max );
341365 if (
342366 isnanf( v ) ||
343367 isnanf( min ) ||
@@ -346,29 +370,26 @@ <h1><a href="../../../../../index.html">All files</a> / <a href="index.html">mat
346370 ) {
347371 return NaN;
348372 }
349-
350373 // Normalize +-0 to +0...
351374 if ( v === 0.0 ) {
352- v = 0.0 ;
375+ v = ZERO ;
353376 }
354377 if ( min === 0.0 ) {
355- min = 0.0 ;
378+ min = ZERO ;
356379 }
357380 if ( max === 0.0 ) {
358- max = 0.0 ;
381+ max = ZERO ;
359382 }
360-
361383 // Simple case where value is already within range...
362384 if ( min <= v && v < max ) {
363- return float64ToFloat32( v ) ;
385+ return v ;
364386 }
365-
366387 // Perform range reduction...
367- delta = max - min;
388+ delta = f32( max - min ) ;
368389 if ( v < min ) {
369- v += delta * ( truncf( ( min - v ) / delta ) + 1.0 );
390+ v = f32( v + f32( delta * f32 ( truncf( f32( min-v ) / f32( delta) ) + ONE ) ) );
370391 }
371- return float64ToFloat32( float64ToFloat32( min ) + float64ToFloat32( float64ToFloat32( float64ToFloat32( v ) - float64ToFloat32( min ) ) % float64ToFloat32( delta ) ) );
392+ return f32( min + f32( f32( v- min ) % delta ) );
372393}
373394
374395
@@ -382,7 +403,7 @@ <h1><a href="../../../../../index.html">All files</a> / <a href="index.html">mat
382403 < div class ='footer quiet pad2 space-top1 center small '>
383404 Code coverage generated by
384405 < a href ="https://istanbul.js.org/ " target ="_blank " rel ="noopener noreferrer "> istanbul</ a >
385- at 2025-06-01T17:43:16.083Z
406+ at 2025-06-01T20:00:05.214Z
386407 </ div >
387408 < script src ="../../../../../prettify.js "> </ script >
388409 < script >
0 commit comments