4.1 KiB
4.1 KiB
Absolute Value
Compute an absolute value of a signed 32-bit integer.
The absolute value is defined as
Usage
var labs = require( '@stdlib/math/base/special/labs' );
labs( x )
Computes an absolute value of a signed 32-bit integer.
var v = labs( -1|0 );
// returns 1
v = labs( 2|0 );
// returns 2
v = labs( 0|0 );
// returns 0
Notes
-
The implementation assumes two's complement.
-
In two's complement systems, the absolute value of the minimum signed 32-bit integer is out-of-range. The absolute value for the minimum signed 32-bit integer is thus undefined.
// -2^31 var x = -2147483648|0; var v = labs( x ); // returns -2147483648
Examples
var randu = require( '@stdlib/random/base/randu' );
var round = require( '@stdlib/math/base/special/round' );
var labs = require( '@stdlib/math/base/special/labs' );
var x;
var i;
for ( i = 0; i < 100; i++ ) {
x = round( randu() * 100.0 ) - 50;
console.log( 'abs(%d) = %d', x, labs( x|0 ) );
}
C APIs
Usage
#include "stdlib/math/base/special/labs.h"
stdlib_base_labs( x )
Computes the absolute value of a signed 32-bit integer in two's complement format.
#include <stdint.h>
int32_t y = stdlib_base_labs( -5 );
// returns 5
The function accepts the following arguments:
- x:
[in] int32_t
input value.
int32_t stdlib_base_labs( const int32_t x );
Examples
#include "stdlib/math/base/special/labs.h"
#include <stdint.h>
#include <stdio.h>
int main() {
int32_t x[] = { 3, -3, 0, -10 };
int32_t y;
int i;
for ( i = 0; i < 4; i++ ) {
y = stdlib_base_labs( x[ i ] );
printf( "|%i| = %i\n", x[ i ], y );
}
}