math-float64-nextafter

    1.0.0 • Public • Published

    nextafter

    NPM version Build Status Coverage Status Dependencies

    Returns the next representable double-precision floating-point number after x toward y.

    Installation

    $ npm install math-float64-nextafter

    Usage

    var nextafter = require( 'math-float64-nextafter' );

    nextafter( x, y )

    Returns the next representable double-precision floating-point number after x toward y.

    var z = nextafter( 1, 100 )
    // returns 1.0000000000000002
     
    = nextafter( 1, 0 );
    // returns 0.9999999999999999
     
    = nextafter( -9007199254740992, -1e300 );
    // returns -9007199254740994

    If x equals y, the function returns y, ensuring consistent behavior around zero.

    var z = nextafter( +0.0, -0.0 );
    // returns -0.0
     
    = nextafter( -0.0, +0.0 );
    // returns +0.0

    If either x or y is NaN, the function returns NaN.

    var z = nextafter( NaN, 5.0 );
    // returns NaN
     
    = nextafter( 5.0, NaN );
    // returns NaN
     
    = nextafter( NaN, NaN );
    // returns NaN

    Examples

    var PINF = require( 'const-pinf-float64' );
    var NINF = require( 'const-ninf-float64' );
    var nextafter = require( 'math-float64-nextafter' );
     
    var x;
    var y;
    var z;
    var i;
     
    for ( i = 0; i < 100; i++ ) {
        x = Math.random()*1e6 - 5e5;
        if ( Math.random() < 0.5 ) {
            y = NINF;
        } else {
            y = PINF;
        }
        z = nextafter( x, y );
        console.log( 'x = %d, y = %d. nextafter(x,y) => %d', x, y, z );
    }

    To run the example code from the top-level application directory,

    $ node ./examples/index.js

    Tests

    Unit

    This repository uses tape for unit tests. To run the tests, execute the following command in the top-level application directory:

    $ make test

    All new feature development should have corresponding unit tests to validate correct functionality.

    Test Coverage

    This repository uses Istanbul as its code coverage tool. To generate a test coverage report, execute the following command in the top-level application directory:

    $ make test-cov

    Istanbul creates a ./reports/coverage directory. To access an HTML version of the report,

    $ make view-cov

    Browser Support

    This repository uses Testling for browser testing. To run the tests in a (headless) local web browser, execute the following command in the top-level application directory:

    $ make test-browsers

    To view the tests in a local web browser,

    $ make view-browser-tests

    License

    MIT license.

    Copyright

    Copyright © 2016. The Compute.io Authors.

    Install

    npm i math-float64-nextafter

    DownloadsWeekly Downloads

    9

    Version

    1.0.0

    License

    MIT

    Last publish

    Collaborators

    • kgryte