|
||
---|---|---|
.. | ||
docs | ||
lib | ||
package.json | ||
README.md |
Square Root of Epsilon
Usage
var FLOAT32_SQRT_EPSILON = require( '@stdlib/constants/float32/sqrt-eps' );
FLOAT32_SQRT_EPSILON
Square root of single-precision floating-point epsilon.
var bool = ( FLOAT32_SQRT_EPSILON === 0.0003452669770922512 );
// returns true
Examples
var abs = require( '@stdlib/math/base/special/abs' );
var max = require( '@stdlib/math/base/special/max' );
var float64ToFloat32 = require( '@stdlib/number/float64/base/to-float32' );
var randu = require( '@stdlib/random/base/randu' );
var FLOAT32_SQRT_EPSILON = require( '@stdlib/constants/float32/sqrt-eps' );
var bool;
var a;
var b;
var i;
function isApprox( a, b ) {
var delta;
var tol;
delta = float64ToFloat32( abs( a - b ) );
tol = float64ToFloat32( FLOAT32_SQRT_EPSILON * max( abs( a ), abs( b ) ) );
return ( delta <= tol );
}
for ( i = 0; i < 100; i++ ) {
a = float64ToFloat32( randu()*10.0 );
b = float64ToFloat32( a + (randu()*2.0e-2) - 1.0e-2 );
bool = isApprox( a, b );
console.log( '%d %s approximately equal to %d', a, ( bool ) ? 'is' : 'is not', b );
}