This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc 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]

[PATCH] Consolidate constant defines into mpa.h


Hi,

A lot of the constants like ONE, TWO, RADIX, etc. are defined all over
the place, with some headers exclusively created to define them.
Attached patch consolidates all of theminto a single header that all
of them use, i.e. mpa.h.  No regressions due to this change on x86_64.
OK to commit?

Siddhesh

	* sysdeps/ieee754/dbl-64/atnat.h: Remove constant value
	definitions.
	* sysdeps/ieee754/dbl-64/atnat2.h: Likewise.
	* sysdeps/ieee754/dbl-64/mpa.c: Do not include mpa2.h.
	* sysdeps/ieee754/dbl-64/mpa.h: Move all constant value
	definitions here.
	* sysdeps/ieee754/dbl-64/mpa2.h: Remove.
	* sysdeps/ieee754/dbl-64/mpatan.h: Remove constant value
	definitions.
	* sysdeps/ieee754/dbl-64/mpatan2.c (__mpatan2): Remove ZERO
	and ONE.
	* sysdeps/ieee754/dbl-64/mpexp.c: Do not include mpexp.h.
	* sysdeps/ieee754/dbl-64/mpexp.h: Remove.	
	* sysdeps/ieee754/dbl-64/mpsqrt.h: Remove constant value
	definitions.
	* sysdeps/ieee754/dbl-64/mptan.c (__mptan): Remove MONE.
	* sysdeps/ieee754/dbl-64/ulog.h: Remove constant value
	definitions.
	* sysdeps/ieee754/dbl-64/utan.h: Likewise.

diff --git a/sysdeps/ieee754/dbl-64/atnat.h b/sysdeps/ieee754/dbl-64/atnat.h
index 2beb33b..a1a3572 100644
--- a/sysdeps/ieee754/dbl-64/atnat.h
+++ b/sysdeps/ieee754/dbl-64/atnat.h
@@ -130,8 +130,6 @@
 #endif
 #endif
 
-#define  ZERO      0.0
-#define  ONE       1.0
 #define  A         a.d
 #define  B         b.d
 #define  C         c.d
@@ -152,7 +150,5 @@
 #define  U6        u6.d
 #define  U7        u7.d
 #define  U8        u8.d
-#define  TWO8      0x1.0p8	/* 2^8 */
-#define  TWO52     0x1.0p52	/* 2^52 */
 
 #endif
diff --git a/sysdeps/ieee754/dbl-64/atnat2.h b/sysdeps/ieee754/dbl-64/atnat2.h
index 10b3253..f12498b 100644
--- a/sysdeps/ieee754/dbl-64/atnat2.h
+++ b/sysdeps/ieee754/dbl-64/atnat2.h
@@ -162,11 +162,4 @@
 #endif
 #endif
 
-#define  ZERO      0.0		/* 0 */
-#define  MZERO     -0.0		/* 0 with the sign bit set */
-#define  ONE       1.0		/* 1 */
-#define  TWO8      0x1.0p8	/* 2^8 */
-#define  TWO52     0x1.0p52	/* 2^52 */
-#define  TWOM1022  0x1.0p-1022	/* 2^-1022 */
-
 #endif
diff --git a/sysdeps/ieee754/dbl-64/mpa.c b/sysdeps/ieee754/dbl-64/mpa.c
index 3471f6a..f41bcc4 100644
--- a/sysdeps/ieee754/dbl-64/mpa.c
+++ b/sysdeps/ieee754/dbl-64/mpa.c
@@ -44,7 +44,6 @@
 
 #include "endian.h"
 #include "mpa.h"
-#include "mpa2.h"
 #include <sys/param.h>
 
 #ifndef SECTION
diff --git a/sysdeps/ieee754/dbl-64/mpa.h b/sysdeps/ieee754/dbl-64/mpa.h
index 77715fc..debb3b2 100644
--- a/sysdeps/ieee754/dbl-64/mpa.h
+++ b/sysdeps/ieee754/dbl-64/mpa.h
@@ -82,6 +82,32 @@ extern const mp_no mptwo;
 
 #define ABS(x)   ((x) <  0  ? -(x) : (x))
 
+#define  RADIX     0x1.0p24		/* 2^24    */
+#define  RADIXI    0x1.0p-24		/* 2^-24   */
+#define  CUTTER    0x1.0p76		/* 2^76    */
+
+#define  ZERO      0.0			/* 0       */
+#define  MZERO     -0.0			/* 0 with the sign bit set */
+#define  ONE       1.0			/* 1       */
+#define  MONE      -1.0			/* -1      */
+#define  TWO       2.0			/*  2      */
+
+#define  TWO5      0x1.0p5		/* 2^5     */
+#define  TWO8      0x1.0p8		/* 2^52    */
+#define  TWO10     0x1.0p10		/* 2^10    */
+#define  TWO18     0x1.0p18		/* 2^18    */
+#define  TWO19     0x1.0p19		/* 2^19    */
+#define  TWO23     0x1.0p23		/* 2^23    */
+#define  TWO52     0x1.0p52		/* 2^52    */
+#define  TWO57     0x1.0p57		/* 2^57    */
+#define  TWO71     0x1.0p71		/* 2^71    */
+#define  TWOM1032  0x1.0p-1032		/* 2^-1032 */
+#define  TWOM1022  0x1.0p-1022		/* 2^-1022 */
+
+#define  HALF      0x1.0p-1		/* 1/2 */
+#define  MHALF     -0x1.0p-1		/* -1/2 */
+#define  HALFRAD   0x1.0p23		/* 2^23 */
+
 int __acr (const mp_no *, const mp_no *, int);
 void __cpy (const mp_no *, mp_no *, int);
 void __mp_dbl (const mp_no *, double *, int);
diff --git a/sysdeps/ieee754/dbl-64/mpa2.h b/sysdeps/ieee754/dbl-64/mpa2.h
deleted file mode 100644
index a4a6bdd..0000000
--- a/sysdeps/ieee754/dbl-64/mpa2.h
+++ /dev/null
@@ -1,50 +0,0 @@
-
-/*
- * IBM Accurate Mathematical Library
- * Written by International Business Machines Corp.
- * Copyright (C) 2001-2013 Free Software Foundation, Inc.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this program; if not, see <http://www.gnu.org/licenses/>.
- */
-
-/**************************************************************************/
-/*                                                                        */
-/* MODULE_NAME:mpa2.h                                                     */
-/*                                                                        */
-/*                                                                        */
-/*   variables prototype and definition   according to type of processor  */
-/*   types definition                                                     */
-/**************************************************************************/
-
-#ifndef MPA2_H
-#define MPA2_H
-
-#define  RADIX     0x1.0p24		/* 2^24    */
-#define  RADIXI    0x1.0p-24		/* 2^-24   */
-#define  CUTTER    0x1.0p76		/* 2^76    */
-#define  ZERO      0.0			/* 0       */
-#define  ONE       1.0			/* 1       */
-#define  MONE      -1.0			/* -1      */
-#define  TWO       2.0			/*  2      */
-#define  TWO5      0x1.0p5		/* 2^5     */
-#define  TWO10     0x1.0p10		/* 2^10    */
-#define  TWO18     0x1.0p18		/* 2^18    */
-#define  TWO19     0x1.0p19		/* 2^19    */
-#define  TWO23     0x1.0p23		/* 2^23    */
-#define  TWO52     0x1.0p52		/* 2^52    */
-#define  TWO57     0x1.0p57		/* 2^57    */
-#define  TWO71     0x1.0p71		/* 2^71    */
-#define  TWOM1032  0x1.0p-1032		/* 2^-1032 */
-
-#endif
diff --git a/sysdeps/ieee754/dbl-64/mpatan.h b/sysdeps/ieee754/dbl-64/mpatan.h
index d8e7589..9c4af72 100644
--- a/sysdeps/ieee754/dbl-64/mpatan.h
+++ b/sysdeps/ieee754/dbl-64/mpatan.h
@@ -144,5 +144,3 @@ __atan_twonm1[33] = {                             /* 2n-1   */
 #endif
 #endif
 
-#define  ONE       1.0
-#define  TWO       2.0
diff --git a/sysdeps/ieee754/dbl-64/mpatan2.c b/sysdeps/ieee754/dbl-64/mpatan2.c
index 9084d98..c0b9aea 100644
--- a/sysdeps/ieee754/dbl-64/mpatan2.c
+++ b/sysdeps/ieee754/dbl-64/mpatan2.c
@@ -49,8 +49,6 @@ void
 SECTION
 __mpatan2(mp_no *y, mp_no *x, mp_no *z, int p) {
 
-  static const double ZERO = 0.0, ONE = 1.0;
-
   mp_no mpt1,mpt2,mpt3;
 
 
diff --git a/sysdeps/ieee754/dbl-64/mpexp.c b/sysdeps/ieee754/dbl-64/mpexp.c
index feca23c..aca6bf6 100644
--- a/sysdeps/ieee754/dbl-64/mpexp.c
+++ b/sysdeps/ieee754/dbl-64/mpexp.c
@@ -30,7 +30,6 @@
 
 #include "endian.h"
 #include "mpa.h"
-#include "mpexp.h"
 #include <assert.h>
 
 #ifndef SECTION
diff --git a/sysdeps/ieee754/dbl-64/mpexp.h b/sysdeps/ieee754/dbl-64/mpexp.h
deleted file mode 100644
index 401de58..0000000
--- a/sysdeps/ieee754/dbl-64/mpexp.h
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * IBM Accurate Mathematical Library
- * Written by International Business Machines Corp.
- * Copyright (C) 2001-2013 Free Software Foundation, Inc.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this program; if not, see <http://www.gnu.org/licenses/>.
- */
-
-/******************************************************************/
-/*                                                                */
-/* MODULE_NAME:mpexp.h                                            */
-/*                                                                */
-/* common data and variables prototype and definition             */
-/******************************************************************/
-
-#ifndef MPEXP_H
-#define MPEXP_H
-
-#define  RADIX     0x1.0p24		/* 2^24 */
-#define  RADIXI    0x1.0p-24		/* 2^-24 */
-#define  ZERO      0.0			/* 0 */
-#define  ONE       1.0			/* 1 */
-#define  TWO       2.0			/* 2 */
-#define  HALF      0x1.0p-1		/* 1/2 */
-
-#endif
diff --git a/sysdeps/ieee754/dbl-64/mpsqrt.h b/sysdeps/ieee754/dbl-64/mpsqrt.h
index c735497..2b83c4c 100644
--- a/sysdeps/ieee754/dbl-64/mpsqrt.h
+++ b/sysdeps/ieee754/dbl-64/mpsqrt.h
@@ -35,7 +35,4 @@ extern const int __mpsqrt_mp[33] attribute_hidden;
 			     4,4,4,4,4,4,4,4,4};
 #endif
 
-#define  ONE       1.0		/* 1 */
-#define  HALFRAD   0x1.0p23	/* 2^23 */
-
 #endif
diff --git a/sysdeps/ieee754/dbl-64/mptan.c b/sysdeps/ieee754/dbl-64/mptan.c
index 6e08b0d..234108e 100644
--- a/sysdeps/ieee754/dbl-64/mptan.c
+++ b/sysdeps/ieee754/dbl-64/mptan.c
@@ -47,8 +47,6 @@ void
 SECTION
 __mptan(double x, mp_no *mpy, int p) {
 
-  static const double MONE = -1.0;
-
   int n;
   mp_no mpw, mpc, mps;
 
diff --git a/sysdeps/ieee754/dbl-64/ulog.h b/sysdeps/ieee754/dbl-64/ulog.h
index 5afda3c..eec1eef 100644
--- a/sysdeps/ieee754/dbl-64/ulog.h
+++ b/sysdeps/ieee754/dbl-64/ulog.h
@@ -173,10 +173,6 @@
 #endif
 #endif
 
-#define  ZERO      0.0		/* 0 */
-#define  ONE       1.0		/* 1 */
-#define  HALF      0x1.0p-1	/* 1/2 */
-#define  MHALF     -0x1.0p-1	/* -1/2 */
 #define  SQRT_2    sqrt_2.d
 #define  DEL_U     delu.d
 #define  DEL_V     delv.d
diff --git a/sysdeps/ieee754/dbl-64/utan.h b/sysdeps/ieee754/dbl-64/utan.h
index 5ab573e..3bdeee1 100644
--- a/sysdeps/ieee754/dbl-64/utan.h
+++ b/sysdeps/ieee754/dbl-64/utan.h
@@ -262,10 +262,4 @@
 #endif
 #endif
 
-
-#define  ZERO      0.0
-#define  ONE       1.0
-#define  MONE      -1.0
-#define  TWO8      0x1.0p8	/* 2^8 */
-
 #endif


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