|
||
---|---|---|
.. | ||
docs | ||
lib | ||
package.json | ||
README.md |
Exponential Function
The exponential function is defined as
where b
is the base and x
is the exponent.
Usage
var pow = require( '@stdlib/math/base/special/fast/pow-int' );
pow( base, exponent )
Evaluates the exponential function given a signed 32-bit integer exponent
.
var v = pow( 2.0, 3 );
// returns 8.0
v = pow( 100.0, 0 );
// returns 1.0
v = pow( 3.14, 1 );
// returns 3.14
v = pow( -3.14, 1 );
// returns -3.14
v = pow( 2.0, -2 );
// returns 0.25
v = pow( NaN, 3 );
// returns NaN
Notes
-
This implementation is not recommended for high-precision applications due to error accumulation. As a trivial example, consider
var v = pow( 10.0, 308 ); // returns 1.0000000000000006e+308
where the expected result is
1.0e+308
. -
If provided a negative
exponent
, the implementation first computes the reciprocal of thebase
and then evaluates the exponential function. This can introduce significant error. For example,var v = pow( -459, -98 ); // returns 1.3878956588399783e-261
where the expected result is
1.3878956588399598e-261
. From the bit sequences,0000100111000101110110100000000111001011001011010001000101010110 0000100111000101110110100000000111001011001011010001000100000100
one observes that the returned value differs in the last
7
bits of the significand.
Examples
var pow = require( '@stdlib/math/base/special/fast/pow-int' );
var x;
var y;
var v;
x = 10.0;
for ( y = 0; y < 309; y++ ) {
v = pow( x, y );
console.log( '%d^%d = %d', x, y, v );
}