diff options
author | jofret | 2008-05-23 13:21:36 +0000 |
---|---|---|
committer | jofret | 2008-05-23 13:21:36 +0000 |
commit | f750add3f85fa7a942d5356d1150298fcd2ae470 (patch) | |
tree | 7a40ad0a5caafd9852288cd8a9408eb5b9de8861 /src/elementaryFunctions/log1p/dlog1ps.c | |
parent | 1fb34f61c9770d2bdd217c0f10fa54c4395022a9 (diff) | |
download | scilab2c-f750add3f85fa7a942d5356d1150298fcd2ae470.tar.gz scilab2c-f750add3f85fa7a942d5356d1150298fcd2ae470.tar.bz2 scilab2c-f750add3f85fa7a942d5356d1150298fcd2ae470.zip |
Correct dependancies
Diffstat (limited to 'src/elementaryFunctions/log1p/dlog1ps.c')
-rw-r--r-- | src/elementaryFunctions/log1p/dlog1ps.c | 23 |
1 files changed, 21 insertions, 2 deletions
diff --git a/src/elementaryFunctions/log1p/dlog1ps.c b/src/elementaryFunctions/log1p/dlog1ps.c index 741b1844..8275ea57 100644 --- a/src/elementaryFunctions/log1p/dlog1ps.c +++ b/src/elementaryFunctions/log1p/dlog1ps.c @@ -10,9 +10,28 @@ * */ -#include <math.h> #include "log1p.h" +#include "log.h" double dlog1ps(double in) { - return (log1p(in)); + static double A = -1.0/3.0; + static double B = 0.5; + + if(in < -1) + {/* got NaN */ + return (in - in) / (in - in); /* NaN */ + } + else if(A <= in && in <= B) + {/* use the function log((1+g)/(1-g)) with g = x/(x + 2) */ + double Temp = 0; + Temp = in / ( in + 2); + /* +return lnp1m1(Temp); + */ + return 0; + } + else + {/* use the standard formula */ + return dlogs(in + 1); + } } |