log1mexp
Evaluates the natural logarithm of
1-exp(-|x|)
.
Usage
var log1mexp = require( '@stdlib/math/base/special/log1mexp' );
log1mexp( x )
Evaluates the natural logarithm of 1-exp(-|x|)
.
var y = log1mexp( 0.0 );
// returns -Infinity
y = log1mexp( 5.0 );
// returns ~-0.00676
y = log1mexp( 10.0 );
// returns ~-0.00005
y = log1mexp( -10.0 );
// returns ~-0.00005
y = log1mexp( NaN );
// returns NaN
Examples
var incrspace = require( '@stdlib/array/base/incrspace' );
var log1mexp = require( '@stdlib/math/base/special/log1mexp' );
var x = incrspace( -10.0, 10.0, 0.01 );
var i;
for ( i = 0; i < x.length; i++ ) {
console.log( 'x: %d, f(x): %d', x[ i ], log1mexp( x[ i ] ) );
}
C APIs
Usage
#include "stdlib/math/base/special/log1mexp.h"
stdlib_base_log1mexp( x )
Evaluates the natural logarithm of 1-exp(-|x|)
.
double out = stdlib_base_log1mexp( 10.0 );
// returns ~-0.00005
out = stdlib_base_log1mexp( 5.0 );
// returns ~-0.00676
The function accepts the following arguments:
- x:
[in] double
input value.
double stdlib_base_log1mexp( const double x );
Examples
#include "stdlib/math/base/special/log1mexp.h"
#include <stdlib.h>
#include <stdio.h>
int main( void ) {
double x;
double v;
int i;
for ( i = 0; i < 100; i++ ) {
x = ( ( (double)rand() / (double)RAND_MAX ) * 20.0 ) - 10.0;
v = stdlib_base_log1mexp( x );
printf( "x: %lf, f(x): %lf\n", x, v );
}
}