math-float64-to-words

1.0.0 • Public • Published

Words

NPM version Build Status Coverage Status Dependencies

Splits a double-precision floating-point number into a higher order word and a lower order word.

Installation

$ npm install math-float64-to-words

Usage

var words = require( 'math-float64-to-words' );

words( x )

Splits a double-precision floating-point number into a higher order word (32-bit integer) and a lower order word (32-bit integer).

var w = words( 3.14e201 );
// returns [ 1774486211, 2479577218 ]

The returned array contains two elements: a higher order word and a lower order word. The lower order word contains the less significant bits, while the higher order word contains the more significant bits and includes the exponent and sign.

var high = w[ 0 ];
// returns 1774486211
 
var low = w[ 1 ];
// returns 2479577218

Examples

var floor = require( 'math-floor' );
var pow = require( 'math-power' );
var words = require( 'math-float64-to-words' );
 
var frac;
var exp;
var w;
var x;
var i;
 
// Generate random numbers and split into words...
for ( i = 0; i < 100; i++ ) {
    frac = Math.random() * 10;
    exp = -floor( Math.random()*324 );
    x = frac * pow( 10, exp );
    w = words( x );
    console.log( 'x: %d. higher: %d. lower: %d.', x, w[ 0 ], w[ 1 ] );
}

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.

Package Sidebar

Install

npm i math-float64-to-words

Weekly Downloads

2,472

Version

1.0.0

License

MIT

Last publish

Collaborators

  • kgryte