Test if two arguments are both Float64Arrays and contain respective elements which are approximately equal within a specified number of ULPs (units in the last place).
var isAlmostEqualFloat64Array = require( '@stdlib/assert/is-almost-equal-float64array' );Tests if two arguments are both Float64Arrays and contain respective elements which are approximately equal within a specified number of ULPs (units in the last place).
var EPS = require( '@stdlib/constants/float64/eps' );
var Float64Array = require( '@stdlib/array/float64' );
var x = new Float64Array( [ 1.0, 2.0 ] );
var y = new Float64Array( [ 1.0+EPS, 2.0 ] );
var bool = isAlmostEqualFloat64Array( x, y, 0 );
// returns false
bool = isAlmostEqualFloat64Array( x, y, 1 );
// returns true
bool = isAlmostEqualFloat64Array( x, [ 1.0, 2.0 ], 1 );
// returns false- The function returns
falseif either input value is aFloat64ArraycontainingNaN. - The function does not distinguish between
-0and+0, treating them as equal.
var Float64Array = require( '@stdlib/array/float64' );
var isAlmostEqualFloat64Array = require( '@stdlib/assert/is-almost-equal-float64array' );
var x = new Float64Array( [ 1.0, 2.0, 3.0 ] );
var y = new Float64Array( [ 1.0, 2.0, 3.0 ] );
var out = isAlmostEqualFloat64Array( x, y, 0 );
// returns true
x = new Float64Array( [ -0.0, 0.0, -0.0 ] );
y = new Float64Array( [ 0.0, -0.0, 0.0 ] );
out = isAlmostEqualFloat64Array( x, y, 1 );
// returns true
x = new Float64Array( [ NaN, NaN, NaN ] );
y = new Float64Array( [ NaN, NaN, NaN ] );
out = isAlmostEqualFloat64Array( x, y, 0 );
// returns false