Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

isAlmostEqualFloat32Array

Test if two arguments are both Float32Arrays and contain respective elements which are approximately equal within a specified number of ULPs (units in the last place).

Usage

var isAlmostEqualFloat32Array = require( '@stdlib/assert/is-almost-equal-float32array' );

isAlmostEqualFloat32Array( v1, v2, maxULP )

Tests if two arguments are both Float32Arrays and contain respective elements which are approximately equal within a specified number of ULPs (units in the last place).

var EPS = require( '@stdlib/constants/float32/eps' );
var Float32Array = require( '@stdlib/array/float32' );

var x = new Float32Array( [ 1.0, 2.0 ] );
var y = new Float32Array( [ 1.0+EPS, 2.0 ] );

var bool = isAlmostEqualFloat32Array( x, y, 0 );
// returns false

bool = isAlmostEqualFloat32Array( x, y, 1 );
// returns true

bool = isAlmostEqualFloat32Array( x, [ 1.0, 2.0 ], 1 );
// returns false

Notes

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

Examples

var Float32Array = require( '@stdlib/array/float32' );
var isAlmostEqualFloat32Array = require( '@stdlib/assert/is-almost-equal-float32array' );

var x = new Float32Array( [ 1.0, 2.0, 3.0 ] );
var y = new Float32Array( [ 1.0, 2.0, 3.0 ] );
var out = isAlmostEqualFloat32Array( x, y, 0 );
// returns true

x = new Float32Array( [ -0.0, 0.0, -0.0 ] );
y = new Float32Array( [ 0.0, -0.0, 0.0 ] );
out = isAlmostEqualFloat32Array( x, y, 1 );
// returns true

x = new Float32Array( [ NaN, NaN, NaN ] );
y = new Float32Array( [ NaN, NaN, NaN ] );
out = isAlmostEqualFloat32Array( x, y, 0 );
// returns false