move lgamma-related internal declarations to libm.h
authorRich Felker <dalias@aerifal.cx>
Fri, 7 Sep 2018 16:32:12 +0000 (12:32 -0400)
committerRich Felker <dalias@aerifal.cx>
Wed, 12 Sep 2018 18:34:29 +0000 (14:34 -0400)
src/internal/libm.h
src/math/lgamma.c
src/math/lgammaf.c
src/math/lgammal.c
src/math/signgam.c

index a2505f7..f1bf0a6 100644 (file)
@@ -192,4 +192,8 @@ long double __tanl(long double, long double, int);
 long double __polevll(long double, const long double *, int);
 long double __p1evll(long double, const long double *, int);
 
+extern int __signgam;
+double __lgamma_r(double, int *);
+float __lgammaf_r(float, int *);
+
 #endif
index e25ec8e..2fc9b47 100644 (file)
@@ -1,7 +1,5 @@
 #include <math.h>
-
-extern int __signgam;
-double __lgamma_r(double, int *);
+#include "libm.h"
 
 double lgamma(double x)
 {
index badb6df..2ae051d 100644 (file)
@@ -1,7 +1,5 @@
 #include <math.h>
-
-extern int __signgam;
-float __lgammaf_r(float, int *);
+#include "libm.h"
 
 float lgammaf(float x)
 {
index 2b354a7..8c79812 100644 (file)
@@ -90,8 +90,6 @@
 #include "libc.h"
 
 #if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024
-double __lgamma_r(double x, int *sg);
-
 long double __lgammal_r(long double x, int *sg)
 {
        return __lgamma_r(x, sg);
@@ -342,16 +340,12 @@ long double __lgammal_r(long double x, int *sg) {
 }
 #elif LDBL_MANT_DIG == 113 && LDBL_MAX_EXP == 16384
 // TODO: broken implementation to make things compile
-double __lgamma_r(double x, int *sg);
-
 long double __lgammal_r(long double x, int *sg)
 {
        return __lgamma_r(x, sg);
 }
 #endif
 
-extern int __signgam;
-
 long double lgammal(long double x)
 {
        return __lgammal_r(x, &__signgam);
index cd72800..b4903a5 100644 (file)
@@ -1,4 +1,5 @@
 #include <math.h>
+#include "libm.h"
 #include "libc.h"
 
 int __signgam = 0;