time-to-botec/squiggle/node_modules/@stdlib/math/base/special/fast/pow-int
NunoSempere b6addc7f05 feat: add the node modules
Necessary in order to clearly see the squiggle hotwiring.
2022-12-03 12:44:49 +00:00
..
docs feat: add the node modules 2022-12-03 12:44:49 +00:00
lib feat: add the node modules 2022-12-03 12:44:49 +00:00
package.json feat: add the node modules 2022-12-03 12:44:49 +00:00
README.md feat: add the node modules 2022-12-03 12:44:49 +00:00

Exponential Function

Exponential function.

The exponential function is defined as

Exponential function

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 the base 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 );
}