Skip to content

Latest commit

 

History

History
 
 

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

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

$$\epsilon = b^{-(p-1)}$$

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.


See Also

  • @stdlib/constants/float32/eps: difference between one and the smallest value greater than one that can be represented as a single-precision floating-point number.