math-float64-copysign v1.0.0
Copysign
Returns a double-precision floating-point number with the magnitude of
xand the sign ofy.
Installation
$ npm install math-float64-copysignUsage
var copysign = require( 'math-float64-copysign' );copysign( x, y )
Returns a double-precision floating-point number with the magnitude of x and the sign of y.
var z = copysign( -3.14, 10 );
// returns 3.14
z = copysign( 3.14, -1 );
// returns -3.14
z = copysign( 1, -0 );
// returns -1
z = copysign( -3.14, -0 );
// returns -3.14
z = copysign( -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 copysign = require( 'math-float64-copysign' );
var x;
var y;
var z;
var i;
// Generate random double-precision floating-point numbers `x` and `y` and copy the sign of `y` to `x`...
for ( i = 0; i < 100; i++ ) {
x = Math.random()*100 - 50;
y = Math.random()*10 - 5;
z = copysign( 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.