assert/is-almost-equal-complex64array at main · stdlib-js/assert · GitHub
Skip to content

Latest commit

 

History

History

Folders and files

README.md

isAlmostEqualComplex64Array

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

Usage

var isAlmostEqualComplex64Array = require( '@stdlib/assert/is-almost-equal-complex64array' );

isAlmostEqualComplex64Array( v1, v2, maxULP )

Tests if two arguments are both Complex64Arrays 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 Complex64Array = require( '@stdlib/array/complex64' );

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

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

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

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

Notes

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

Examples

var Complex64Array = require( '@stdlib/array/complex64' );
var isAlmostEqualComplex64Array = require( '@stdlib/assert/is-almost-equal-complex64array' );

var x = new Complex64Array( [ 1.0, 2.0, 3.0, 4.0 ] );
var y = new Complex64Array( [ 1.0, 2.0, 3.0, 4.0 ] );
var out = isAlmostEqualComplex64Array( x, y, 0 );
console.log( out );
// => true

x = new Complex64Array( [ -0.0, 0.0, -0.0, 0.0 ] );
y = new Complex64Array( [ 0.0, -0.0, 0.0, -0.0 ] );
out = isAlmostEqualComplex64Array( x, y, 1 );
console.log( out );
// => true

x = new Complex64Array( [ NaN, NaN, NaN, NaN ] );
y = new Complex64Array( [ NaN, NaN, NaN, NaN ] );
out = isAlmostEqualComplex64Array( x, y, 0 );
console.log( out );
// => false