Signum
Signum function.
The signum function is defined as
for any real number x
.
Installation
npm install @stdlib/math-base-special-signum
Usage
var signum = require( '@stdlib/math-base-special-signum' );
signum( x )
Evaluates the signum function for a double-precision floating-point number.
var sign = signum( -5.0 );
sign = signum( 5.0 );
sign = signum( -0.0 );
sign = signum( 0.0 );
sign = signum( NaN );
Notes
Table of results:
Value | Sign |
---|
x > 0 | +1 |
x < 0 | -1 |
0 | 0 |
-0 | -0 |
NaN | NaN |
Examples
var randu = require( '@stdlib/random-base-randu' );
var round = require( '@stdlib/math-base-special-round' );
var signum = require( '@stdlib/math-base-special-signum' );
var sign;
var x;
var i;
for ( i = 0; i < 100; i++ ) {
x = round( randu()*100.0 ) - 50.0;
sign = signum( x );
console.log( 'signum(%d) = %d', x, sign );
}
C APIs
Installation
npm install @stdlib/math-base-special-signum
Usage
#include "stdlib/math/base/special/signum.h"
stdlib_base_signum( x )
Evaluates the signum function for a double-precision floating-point number.
double y = stdlib_base_signum( -9.0 );
The function accepts the following arguments:
- x:
[in] double
input value.
double stdlib_base_signum( const double x );
Examples
#include "stdlib/math/base/special/signum.h"
#include <stdio.h>
int main() {
double x[] = { 3.14, -3.14, 0.0, 0.0/0.0 };
double y;
int i;
for ( i = 0; i < 4; i++ ) {
y = stdlib_base_signum( x[ i ] );
printf( "signum(%lf) = %lf\n", x[ i ], y );
}
}
Notice
This package is part of stdlib, a standard library for JavaScript and Node.js, with an emphasis on numerical and scientific computing. The library provides a collection of robust, high performance libraries for mathematics, statistics, streams, utilities, and more.
For more information on the project, filing bug reports and feature requests, and guidance on how to develop stdlib, see the main project repository.
License
See LICENSE.
Copyright
Copyright © 2016-2021. The Stdlib Authors.
0.0.7 (2021-08-22)
No changes reported for this release.
</section>
<!-- /.release -->
<section class="release" id="v0.0.6">