This is the mail archive of the
newlib@sources.redhat.com
mailing list for the newlib project.
[RFA?] Add missing functionality to some math functions
- From: Christopher Faylor <cgf at redhat dot com>
- To: newlib at sources dot redhat dot com
- Date: Sun, 8 Feb 2004 21:33:34 -0500
- Subject: [RFA?] Add missing functionality to some math functions
Do the below patches make any sense? It seems like the non-reentrant versions
of some of the gamma functions in the libm/mathfp directory are missing.
cgf
Index: libm/mathfp/er_gamma.c
===================================================================
RCS file: /cvs/uberbaum/newlib/libm/mathfp/er_gamma.c,v
retrieving revision 1.4
diff -u -p -r1.4 er_gamma.c
--- libm/mathfp/er_gamma.c 5 Dec 2003 06:15:18 -0000 1.4
+++ libm/mathfp/er_gamma.c 9 Feb 2004 02:31:38 -0000
@@ -30,3 +30,8 @@
{
return exp (lgamma_r(x,signgamp));
}
+
+double gamma(double x)
+{
+ return gamma_r(x, &(_REENT_SIGNGAM(_REENT)));
+}
Index: libm/mathfp/er_lgamma.c
===================================================================
RCS file: /cvs/uberbaum/newlib/libm/mathfp/er_lgamma.c,v
retrieving revision 1.5
diff -u -p -r1.5 er_lgamma.c
--- libm/mathfp/er_lgamma.c 5 Dec 2003 06:15:18 -0000 1.5
+++ libm/mathfp/er_lgamma.c 9 Feb 2004 02:31:39 -0000
@@ -422,3 +422,9 @@ static double zero= 0.00000000000000000
if(hx<0) r = nadj - r;
return r;
}
+
+double
+lgamma(double x)
+{
+ return lgamma_r(x, &(_REENT_SIGNGAM(_REENT)));
+}
Index: libm/mathfp/erf_gamma.c
===================================================================
RCS file: /cvs/uberbaum/newlib/libm/mathfp/erf_gamma.c,v
retrieving revision 1.4
diff -u -p -r1.4 erf_gamma.c
--- libm/mathfp/erf_gamma.c 5 Dec 2003 06:15:18 -0000 1.4
+++ libm/mathfp/erf_gamma.c 9 Feb 2004 02:31:39 -0000
@@ -16,7 +16,7 @@
/* gammaf_r(x, signgamp)
* Reentrant version of the logarithm of the Gamma function
- * with user provide pointer for the sign of Gamma(x).
+ * with user provided pointer for the sign of Gamma(x).
*
* Method: See lgammaf_r
*/
@@ -31,4 +31,9 @@
#endif
{
return expf (lgammaf_r(x,signgamp));
+}
+
+float gammaf(float x)
+{
+ return gammaf_r(x, &(_REENT_SIGNGAM(_REENT)));
}
Index: libm/mathfp/erf_lgamma.c
===================================================================
RCS file: /cvs/uberbaum/newlib/libm/mathfp/erf_lgamma.c,v
retrieving revision 1.4
diff -u -p -r1.4 erf_lgamma.c
--- libm/mathfp/erf_lgamma.c 5 Dec 2003 06:15:18 -0000 1.4
+++ libm/mathfp/erf_lgamma.c 9 Feb 2004 02:31:39 -0000
@@ -244,3 +244,8 @@ static float zero= 0.0000000000e+00;
if(hx<0) r = nadj - r;
return r;
}
+
+float lgammaf(float x)
+{
+ return lgammaf_r(x, &(_REENT_SIGNGAM(_REENT)));
+}