kernelLog1p
Compute
log(1+f) - ffor1+fin~[sqrt(2)/2, sqrt(2)].
Usage
var kernelLog1p = require( '@stdlib/math/base/special/kernel-log1p' );
kernelLog1p( f )
Computes log(1+f) - f for 1+f in ~[sqrt(2)/2, sqrt(2)].
var v = kernelLog1p( 1.0 );
// returns ~0.1931
v = kernelLog1p( 1.4142135623730951 );
// returns ~0.4672
v = kernelLog1p( NaN );
// returns NaN
Notes
- This function is a helper function for computing logarithms in base
e. Argument reduction and adding the final term of the polynomial must be done by the caller for increased accuracy when different bases are used. For reference, see@stdlib/math/base/special/log2and@stdlib/math/base/special/log10.
Examples
var linspace = require( '@stdlib/array/base/linspace' );
var sqrt = require( '@stdlib/math/base/special/sqrt' );
var kernelLog1p = require( '@stdlib/math/base/special/kernel-log1p' );
var x = linspace( sqrt( 2.0 ) / 2.0, sqrt( 2.0 ), 100 );
var i;
for ( i = 0; i < x.length; i++ ) {
console.log( 'kernelLog1p(%d) = %d', x[ i ], kernelLog1p( x[ i ] ) );
}
C APIs
Usage
#include "stdlib/math/base/special/kernel_log1p.h"
stdlib_base_kernel_log1p( f )
Computes log(1+f) - f for 1+f in ~[sqrt(2)/2, sqrt(2)].
double out = stdlib_base_kernel_log1p( 1.0 );
// returns ~0.1931
out = stdlib_base_kernel_log1p( 1.4142135623730951 );
// returns ~0.4672
The function accepts the following arguments:
- f:
[in] doubleinput value.
double stdlib_base_kernel_log1p( const double f );
Examples
#include "stdlib/math/base/special/kernel_log1p.h"
#include <stdio.h>
int main( void ) {
const double x[] = { 0.7071, 0.7856, 0.8642, 0.9428, 1.0213, 1.0999, 1.1785, 1.2570, 1.3356, 1.4142 };
double out;
int i;
for ( i = 0; i < 10; i++ ) {
out = stdlib_base_kernel_log1p( x[ i ] );
printf ( "x[ i ]: %lf, out: %lf\n", x[ i ], out );
}
}