math-float64-flipsign v1.0.0
Flipsign
Returns a double-precision floating-point number with the magnitude of
xand the sign ofx*y.
Installation
$ npm install math-float64-flipsignUsage
var flipsign = require( 'math-float64-flipsign' );flipsign( x, y )
Returns a double-precision floating-point number with the magnitude of x and the sign of x*y; i.e., only return -x when y is a negative number.
var z = flipsign( -3.14, 10 );
// returns -3.14
z = flipsign( -3.14, -1 );
// returns 3.14
z = flipsign( 1, -0 );
// returns -1
z = flipsign( -3.14, -0 );
// returns 3.14
z = flipsign( -0, 1 );
// returns -0
z = flipsign( 0, -1 );
// returns -0Notes
- According to the IEEE754 standard, a
NaNhas a biased exponent equal to2047, a significand greater than0, and a sign bit equal to either1or0. In which case,NaNmay not correspond to just one but many binary representations. Accordingly, care should be taken to ensure thatyis notNaN, else behavior may be indeterminate.
Examples
var flipsign = require( 'math-float64-flipsign' );
var x;
var y;
var z;
var i;
// Generate random double-precision floating-point numbers `x` and `y` and flip the sign of `x` only if `y` is negative...
for ( i = 0; i < 100; i++ ) {
x = Math.random()*100 - 50;
y = Math.random()*10 - 5;
z = flipsign( x, y );
console.log( 'x: %d, y: %d => %d', x, y, z );
}To run the example code from the top-level application directory,
$ node ./examples/index.jsTests
Unit
This repository uses tape for unit tests. To run the tests, execute the following command in the top-level application directory:
$ make testAll 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-covIstanbul creates a ./reports/coverage directory. To access an HTML version of the report,
$ make view-covBrowser 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-browsersTo view the tests in a local web browser,
$ make view-browser-testsLicense
Copyright
Copyright © 2016. The Compute.io Authors.