2.2 KiB
2.2 KiB
Cube Root of Epsilon
Usage
var FLOAT64_CBRT_EPSILON = require( '@stdlib/constants/float64/cbrt-eps' );
FLOAT64_CBRT_EPSILON
Cube root of double-precision floating-point epsilon.
var bool = ( FLOAT64_CBRT_EPSILON === 0.0000060554544523933395 );
// returns true
Examples
var abs = require( '@stdlib/math/base/special/abs' );
var max = require( '@stdlib/math/base/special/max' );
var randu = require( '@stdlib/random/base/randu' );
var FLOAT64_CBRT_EPSILON = require( '@stdlib/constants/float64/cbrt-eps' );
var bool;
var a;
var b;
var i;
function isApprox( a, b ) {
var delta;
var tol;
delta = abs( a - b );
tol = FLOAT64_CBRT_EPSILON * max( abs( a ), abs( b ) );
return ( delta <= tol );
}
for ( i = 0; i < 100; i++ ) {
a = randu() * 10.0;
b = a + (randu()*5.0e-7) - 2.5e-7;
bool = isApprox( a, b );
console.log( '%d %s approximately equal to %d. Delta: %d.', a, ( bool ) ? 'is' : 'is not', b, abs( a - b ) );
}