powm1

Evaluate bˣ - 1.

y equals b Superscript x Baseline minus 1

When b is close to 1 and/or x is small, this implementation is more accurate than naively computing minus 1.

Usage

var powm1 = require( '@stdlib/math/base/special/powm1' );

powm1( b, x )

Evaluates bˣ - 1.

var y = powm1( 2.0, 3.0 );
// returns 7.0

y = powm1( 4.0, 0.5 );
// returns 1.0

y = powm1( 0.0, 100.0 );
// returns -1.0

y = powm1( 100.0, 0.0 );
// returns 0.0

y = powm1( 0.0, 0.0 );
// returns 0.0

y = powm1( Math.PI, 5.0 );
// returns ~305.0197

y = powm1( NaN, 3.0 );
// returns NaN

y = powm1( 5.0, NaN );
// returns NaN

Examples

var randu = require( '@stdlib/random/base/randu' );
var round = require( '@stdlib/math/base/special/round' );
var powm1 = require( '@stdlib/math/base/special/powm1' );

var b;
var x;
var y;
var i;

for ( i = 0; i < 100; i++ ) {
    b = round( randu()*10.0 );
    x = round( randu()*10.0 ) - 5.0;
    y = powm1( b, x );
    console.log( '%d^%d - 1 = %d', b, x, y );
}