[ create a new paste ] login | about

Link: http://codepad.org/Gs68wVQ1    [ raw code | output | fork ]

C++, pasted on Sep 25:
#include <cstdio>
#include <cmath>
 
using std::printf;
 
#define PRECISION 1e-4
 
//exp(x) = 1 + x + (x^2)/2!+(x^3)/3!....+(x^n)/n!+.....
 
double _exp( const double x ){
    double dVal, dTemp;
    int nStep = 1;
    for( dVal = 1.0, dTemp = 1.0; dTemp >= PRECISION ; ++nStep ){
        dTemp *= x/nStep;
        dVal += dTemp;
    }
    return dVal;
}
 
int main(){
    double x = 2.3;
    printf( "exp(%f) = %3.10f, prec = %3.10f\n", x, _exp( x ), _exp( x) - std::exp( x ) );
    x = 8.5;
    printf( "exp(%f) = %3.10f, prec = %3.10f\n", x, _exp( x ), _exp( x) - std::exp( x ) );
    return 0;
}


Output:
1
2
exp(2.300000) = 9.9741727929, prec = -0.0000096619
exp(8.500000) = 4914.7688295985, prec = -0.0000107006


Create a new paste based on this one


Comments: