summaryrefslogtreecommitdiff
path: root/src/elementaryFunctions/log1p/dlog1ps.c
diff options
context:
space:
mode:
authorjofret2008-05-23 13:21:36 +0000
committerjofret2008-05-23 13:21:36 +0000
commitf750add3f85fa7a942d5356d1150298fcd2ae470 (patch)
tree7a40ad0a5caafd9852288cd8a9408eb5b9de8861 /src/elementaryFunctions/log1p/dlog1ps.c
parent1fb34f61c9770d2bdd217c0f10fa54c4395022a9 (diff)
downloadscilab2c-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.c23
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);
+ }
}