Remove some warnings with IBM'S mathlib
Andreas Jaeger
aj@suse.de
Fri May 11 08:31:00 GMT 2001
I get a number of warnings in the math code. Here's a patch that I'll
commit later to remove some of them.
Still open are warnings like:
../sysdeps/ieee754/dbl-64/sincos32.c:111: warning: no previous prototype for `__c32'
../sysdeps/ieee754/dbl-64/sincos32.c:136: warning: no previous prototype for `__sin32'
../sysdeps/ieee754/dbl-64/sincos32.c:160: warning: no previous prototype for `__cos32'
../sysdeps/ieee754/dbl-64/doasin.c:40: warning: no previous prototype for `__doasin'
I propose to add all the declarations to math_private.h. Or is there
a better way to do this?
Andreas
2001-05-11 Andreas Jaeger <aj@suse.de>
* sysdeps/ieee754/dbl-64/e_asin.c: Include "math_private.h" for
internal prototypes.
* sysdeps/ieee754/dbl-64/s_atan.c: Likewise.
* sysdeps/ieee754/dbl-64/e_sqrt.c: Likewise.
* sysdeps/ieee754/dbl-64/e_remainder.c: Likewise.
* sysdeps/ieee754/dbl-64/e_pow.c: Likewise.
* sysdeps/ieee754/dbl-64/e_log.c: Likewise.
* sysdeps/ieee754/dbl-64/e_exp.c: Likewise.
* sysdeps/ieee754/dbl-64/e_atan2.c: Likewise.
* sysdeps/generic/e_rem_pio2l.c: Likewise.
(__ieee754_rem_pio2l): Fix prototype.
* math/math_private.h (__copysign): Add internal prototype.
============================================================
Index: sysdeps/ieee754/dbl-64/e_asin.c
--- sysdeps/ieee754/dbl-64/e_asin.c 2001/03/12 22:51:16 1.4
+++ sysdeps/ieee754/dbl-64/e_asin.c 2001/05/11 15:27:03
@@ -39,6 +39,7 @@
#include "powtwo.tbl"
#include "MathLib.h"
#include "uasncs.h"
+#include "math_private.h"
void __doasin(double x, double dx, double w[]);
void __dubsin(double x, double dx, double v[]);
============================================================
Index: sysdeps/ieee754/dbl-64/e_sqrt.c
--- sysdeps/ieee754/dbl-64/e_sqrt.c 2001/04/19 19:14:52 1.5
+++ sysdeps/ieee754/dbl-64/e_sqrt.c 2001/05/11 15:27:04
@@ -37,6 +37,7 @@
#include "dla.h"
#include "MathLib.h"
#include "root.tbl"
+#include "math_private.h"
/*********************************************************************/
/* An ultimate aqrt routine. Given an IEEE double machine number x */
============================================================
Index: sysdeps/ieee754/dbl-64/e_remainder.c
--- sysdeps/ieee754/dbl-64/e_remainder.c 2001/03/13 01:59:14 1.5
+++ sysdeps/ieee754/dbl-64/e_remainder.c 2001/05/11 15:27:04
@@ -33,6 +33,7 @@
#include "mydefs.h"
#include "urem.h"
#include "MathLib.h"
+#include "math_private.h"
/**************************************************************************/
/* An ultimate remainder routine. Given two IEEE double machine numbers x */
============================================================
Index: sysdeps/ieee754/dbl-64/e_pow.c
--- sysdeps/ieee754/dbl-64/e_pow.c 2001/03/13 01:51:59 1.7
+++ sysdeps/ieee754/dbl-64/e_pow.c 2001/05/11 15:27:04
@@ -40,6 +40,7 @@
#include "mydefs.h"
#include "MathLib.h"
#include "upow.tbl"
+#include "math_private.h"
double __exp1(double x, double xx, double error);
============================================================
Index: sysdeps/ieee754/dbl-64/e_log.c
--- sysdeps/ieee754/dbl-64/e_log.c 2001/03/12 20:04:31 1.6
+++ sysdeps/ieee754/dbl-64/e_log.c 2001/05/11 15:27:05
@@ -38,6 +38,8 @@
#include "dla.h"
#include "mpa.h"
#include "MathLib.h"
+#include "math_private.h"
+
void __mplog(mp_no *, mp_no *, int);
/*********************************************************************/
============================================================
Index: sysdeps/ieee754/dbl-64/e_exp.c
--- sysdeps/ieee754/dbl-64/e_exp.c 2001/03/12 06:47:26 1.4
+++ sysdeps/ieee754/dbl-64/e_exp.c 2001/05/11 15:27:05
@@ -33,10 +33,12 @@
/***************************************************************************/
#include "endian.h"
-#include "uexp.h"
+#include "uexp.h"
#include "mydefs.h"
#include "MathLib.h"
#include "uexp.tbl"
+#include "math_private.h"
+
double __slowexp(double);
/***************************************************************************/
============================================================
Index: sysdeps/ieee754/dbl-64/e_atan2.c
--- sysdeps/ieee754/dbl-64/e_atan2.c 2001/03/12 20:04:08 1.6
+++ sysdeps/ieee754/dbl-64/e_atan2.c 2001/05/11 15:27:06
@@ -41,6 +41,8 @@
#include "MathLib.h"
#include "uatan.tbl"
#include "atnat2.h"
+#include "math_private.h"
+
/************************************************************************/
/* An ultimate atan2 routine. Given two IEEE double machine numbers y,x */
/* it computes the correctly rounded (to nearest) value of atan2(y,x). */
============================================================
Index: sysdeps/generic/e_rem_pio2l.c
--- sysdeps/generic/e_rem_pio2l.c 1997/10/13 03:52:13 1.1
+++ sysdeps/generic/e_rem_pio2l.c 2001/05/11 15:27:06
@@ -1,8 +1,9 @@
#include <math.h>
#include <stdio.h>
#include <errno.h>
+#include "math_private.h"
-long double
+int
__ieee754_rem_pio2l (long double x, long double *y)
{
fputs ("__ieee754_rem_pio2l not implemented\n", stderr);
============================================================
Index: math/math_private.h
--- math/math_private.h 2000/09/27 06:59:31 1.13
+++ math/math_private.h 2001/05/11 15:27:06
@@ -188,7 +188,10 @@
extern double __kernel_tan (double,double,int);
extern int __kernel_rem_pio2 (double*,double*,int,int,int, const int32_t*);
+/* internal functions. */
+extern double __copysign (double x, double __y);
+
/* ieee style elementary float functions */
extern float __ieee754_sqrtf (float);
extern float __ieee754_acosf (float);
@@ -219,6 +222,7 @@
extern float __ieee754_remainderf (float,float);
extern int32_t __ieee754_rem_pio2f (float,float*);
extern float __ieee754_scalbf (float,float);
+
/* float versions of fdlibm kernel functions */
extern float __kernel_sinf (float,float,int);
--
Andreas Jaeger
SuSE Labs aj@suse.de
private aj@arthur.inka.de
http://www.suse.de/~aj
More information about the Libc-hacker
mailing list