EPS

Difference between one and the smallest value greater than one that can be represented as a double-precision floating-point number.

Epsilon is defined as

where b is the radix (base) and p is the precision (number of radix bits in the significand). For double-precision floating-point numbers, b is 2 and p is 53.

Usage

var EPS = require( '@stdlib/constants/float64/eps' );

EPS

Difference between one and the smallest value greater than one that can be represented as a double-precision floating-point number.

var bool = ( EPS === 2.220446049250313e-16 );
// 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 EPS = require( '@stdlib/constants/float64/eps' );

var bool;
var a;
var b;
var i;

function isApprox( a, b ) {
    var delta;
    var tol;

    delta = abs( a - b );
    tol = EPS * max( abs( a ), abs( b ) );

    return ( delta <= tol );
}

for ( i = 0; i < 100; i++ ) {
    a = randu() * 10.0;
    b = a + (randu()*5.0e-15) - 2.5e-15;
    bool = isApprox( a, b );
    console.log( '%d %s approximately equal to %d. Delta: %d.', a, ( bool ) ? 'is' : 'is not', b, abs( a - b ) );
}

C APIs

Usage

#include "stdlib/constants/float64/eps.h"

STDLIB_CONSTANT_FLOAT64_EPS

Macro for the difference between one and the smallest value greater than one that can be represented as a double-precision floating-point number.

Did you find this page helpful?