Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

isAlmostEqualFloat64Array

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).

Usage

var isAlmostEqualFloat64Array = require( '@stdlib/assert/is-almost-equal-float64array' );

isAlmostEqualFloat64Array( v1, v2, maxULP )

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

Notes

  • The function returns false if either input value is a Float64Array containing NaN.
  • The function does not distinguish between -0 and +0, treating them as equal.

Examples

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