This is the mail archive of the newlib@sources.redhat.com mailing list for the newlib project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [RFA?] Add missing functionality to some math functions


Christopher Faylor wrote:
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.


Yes, thanks for noting this. Feel free to check the code in.


-- Jeff J.

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)));
+}


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]