summaryrefslogtreecommitdiff
path: root/sys/arch
diff options
context:
space:
mode:
authorMichael Shalayeff <mickey@cvs.openbsd.org>2004-01-02 14:39:02 +0000
committerMichael Shalayeff <mickey@cvs.openbsd.org>2004-01-02 14:39:02 +0000
commitd4452b585fb86c458cd7c3f8f4bba7f5f7994af9 (patch)
tree643c5457d1bb4fb6d582b20f1bd8c5329935d5b9 /sys/arch
parent0103523c358a53f099d4a8907174e9ce004aa934 (diff)
apparently my understanding of '{FLT,DBL,LDBL}_{MIN,MAX}_EXP' ahs
been wrong and thus proven by many and there change it back to what it is meaning explained in http://www-ccs.ucsd.edu/c/float.html . also fix spmath to use it's own consts instead of (now) off by one float.h values thus to avoid any kind of binary changes.
Diffstat (limited to 'sys/arch')
-rw-r--r--sys/arch/hppa/include/float.h15
-rw-r--r--sys/arch/hppa/spmath/dbl_float.h14
-rw-r--r--sys/arch/hppa/spmath/float.h11
-rw-r--r--sys/arch/hppa/spmath/sgl_float.h14
4 files changed, 28 insertions, 26 deletions
diff --git a/sys/arch/hppa/include/float.h b/sys/arch/hppa/include/float.h
index 2d024bb870c..6e8dd95a404 100644
--- a/sys/arch/hppa/include/float.h
+++ b/sys/arch/hppa/include/float.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: float.h,v 1.5 2003/06/02 23:27:46 millert Exp $ */
+/* $OpenBSD: float.h,v 1.6 2004/01/02 14:39:01 mickey Exp $ */
/*
* Copyright (c) 1989 Regents of the University of California.
@@ -46,32 +46,31 @@ __END_DECLS
#define FLT_MANT_DIG 24
#define FLT_EPSILON 1.19209290E-07F
#define FLT_DIG 6
-#define FLT_MIN_EXP (-126)
+#define FLT_MIN_EXP (-125)
#define FLT_MIN 1.17549435E-38F
#define FLT_MIN_10_EXP (-37)
-#define FLT_MAX_EXP 127
+#define FLT_MAX_EXP 128
#define FLT_MAX 3.40282347E+38F
#define FLT_MAX_10_EXP 38
#define DBL_MANT_DIG 53
#define DBL_EPSILON 2.2204460492503131E-16
#define DBL_DIG 15
-#define DBL_MIN_EXP (-1022)
+#define DBL_MIN_EXP (-1021)
#define DBL_MIN 2.2250738585072014E-308
#define DBL_MIN_10_EXP (-307)
-#define DBL_MAX_EXP 1023
+#define DBL_MAX_EXP 1024
#define DBL_MAX 1.7976931348623157E+308
#define DBL_MAX_10_EXP 308
#define LDBL_MANT_DIG 113
#define LDBL_EPSILON 1.9259299443872358530559779425849273E-34L
#define LDBL_DIG 33
-#define LDBL_MIN_EXP (-16382)
+#define LDBL_MIN_EXP (-16381)
#define LDBL_MIN 3.3621031431120935062626778173217526026E-4932L
#define LDBL_MIN_10_EXP (-4931)
-#define LDBL_MAX_EXP 16383
+#define LDBL_MAX_EXP 16384
#define LDBL_MAX 1.1897314953572317650857593266280070162E4932L
#define LDBL_MAX_10_EXP 4932
#endif /* _MACHINE_FLOAT_H_ */
-
diff --git a/sys/arch/hppa/spmath/dbl_float.h b/sys/arch/hppa/spmath/dbl_float.h
index c802f184293..e0cbbe356dd 100644
--- a/sys/arch/hppa/spmath/dbl_float.h
+++ b/sys/arch/hppa/spmath/dbl_float.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: dbl_float.h,v 1.9 2003/04/10 17:27:58 mickey Exp $ */
+/* $OpenBSD: dbl_float.h,v 1.10 2004/01/02 14:39:01 mickey Exp $ */
/*
(c) Copyright 1986 HEWLETT-PACKARD COMPANY
To anyone who acknowledges that this file is provided "AS IS"
@@ -315,16 +315,16 @@
Deposit_dexponent(dbl_value,(exponent op DBL_WRAP))
#define Dbl_setlargestpositive(dbl_valueA,dbl_valueB) \
- Dallp1(dbl_valueA) = ((DBL_MAX_EXP+DBL_BIAS) << (32-(1+DBL_EXP_LENGTH))) \
+ Dallp1(dbl_valueA) = ((DBL_EMAX+DBL_BIAS) << (32-(1+DBL_EXP_LENGTH))) \
| ((1<<(32-(1+DBL_EXP_LENGTH))) - 1 ); \
Dallp2(dbl_valueB) = 0xFFFFFFFF
#define Dbl_setlargestnegative(dbl_valueA,dbl_valueB) \
- Dallp1(dbl_valueA) = ((DBL_MAX_EXP+DBL_BIAS) << (32-(1+DBL_EXP_LENGTH))) \
+ Dallp1(dbl_valueA) = ((DBL_EMAX+DBL_BIAS) << (32-(1+DBL_EXP_LENGTH))) \
| ((1<<(32-(1+DBL_EXP_LENGTH))) - 1 ) | (1<<31); \
Dallp2(dbl_valueB) = 0xFFFFFFFF
#define Dbl_setlargest_exponentmantissa(dbl_valueA,dbl_valueB) \
Deposit_dexponentmantissap1(dbl_valueA, \
- (((DBL_MAX_EXP+DBL_BIAS) << (32-(1+DBL_EXP_LENGTH))) \
+ (((DBL_EMAX+DBL_BIAS) << (32-(1+DBL_EXP_LENGTH))) \
| ((1<<(32-(1+DBL_EXP_LENGTH))) - 1 ))); \
Dallp2(dbl_valueB) = 0xFFFFFFFF
@@ -334,7 +334,7 @@
Dallp2(dbl_valueB) = 0
#define Dbl_setlargest(dbl_valueA,dbl_valueB,sign) \
Dallp1(dbl_valueA) = (sign << 31) | \
- ((DBL_MAX_EXP+DBL_BIAS) << (32-(1+DBL_EXP_LENGTH))) | \
+ ((DBL_EMAX+DBL_BIAS) << (32-(1+DBL_EXP_LENGTH))) | \
((1 << (32-(1+DBL_EXP_LENGTH))) - 1 ); \
Dallp2(dbl_valueB) = 0xFFFFFFFF
@@ -426,11 +426,11 @@
/* Need to Initialize */
#define Dbl_makequietnan(desta,destb) \
- Dallp1(desta) = ((DBL_MAX_EXP+DBL_BIAS)+1)<< (32-(1+DBL_EXP_LENGTH)) \
+ Dallp1(desta) = ((DBL_EMAX+DBL_BIAS)+1)<< (32-(1+DBL_EXP_LENGTH)) \
| (1<<(32-(1+DBL_EXP_LENGTH+2))); \
Dallp2(destb) = 0
#define Dbl_makesignalingnan(desta,destb) \
- Dallp1(desta) = ((DBL_MAX_EXP+DBL_BIAS)+1)<< (32-(1+DBL_EXP_LENGTH)) \
+ Dallp1(desta) = ((DBL_EMAX+DBL_BIAS)+1)<< (32-(1+DBL_EXP_LENGTH)) \
| (1<<(32-(1+DBL_EXP_LENGTH+1))); \
Dallp2(destb) = 0
diff --git a/sys/arch/hppa/spmath/float.h b/sys/arch/hppa/spmath/float.h
index 1039eb8fe72..3d6c56c236b 100644
--- a/sys/arch/hppa/spmath/float.h
+++ b/sys/arch/hppa/spmath/float.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: float.h,v 1.6 2002/09/20 19:26:59 mickey Exp $ */
+/* $OpenBSD: float.h,v 1.7 2004/01/02 14:39:01 mickey Exp $ */
/*
(c) Copyright 1986 HEWLETT-PACKARD COMPANY
To anyone who acknowledges that this file is provided "AS IS"
@@ -305,25 +305,28 @@ typedef struct dint dbl_integer;
* Define the different precisions' parameters.
*/
#define SGL_BITLENGTH 32
+#define SGL_EMAX 127
#define SGL_BIAS 127
#define SGL_WRAP 192
-#define SGL_INFINITY_EXPONENT (FLT_MAX_EXP+SGL_BIAS+1)
+#define SGL_INFINITY_EXPONENT (SGL_EMAX+SGL_BIAS+1)
#define SGL_THRESHOLD 32
#define SGL_EXP_LENGTH 8
#define SGL_P 24
#define DBL_BITLENGTH 64
+#define DBL_EMAX 1023
#define DBL_BIAS 1023
#define DBL_WRAP 1536
-#define DBL_INFINITY_EXPONENT (DBL_MAX_EXP+DBL_BIAS+1)
+#define DBL_INFINITY_EXPONENT (DBL_EMAX+DBL_BIAS+1)
#define DBL_THRESHOLD 64
#define DBL_EXP_LENGTH 11
#define DBL_P 53
#define QUAD_BITLENGTH 128
+#define QUAD_EMAX 16383
#define QUAD_BIAS 16383
#define QUAD_WRAP 24576
-#define QUAD_INFINITY_EXPONENT (LDBL_MAX_EXP+QUAD_BIAS+1)
+#define QUAD_INFINITY_EXPONENT (QUAD_EMAX+QUAD_BIAS+1)
#define QUAD_P 113
/* Boolean Values etc. */
diff --git a/sys/arch/hppa/spmath/sgl_float.h b/sys/arch/hppa/spmath/sgl_float.h
index bd6859a2ec3..f20c43bbff9 100644
--- a/sys/arch/hppa/spmath/sgl_float.h
+++ b/sys/arch/hppa/spmath/sgl_float.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: sgl_float.h,v 1.9 2003/04/10 17:27:59 mickey Exp $ */
+/* $OpenBSD: sgl_float.h,v 1.10 2004/01/02 14:39:01 mickey Exp $ */
/*
(c) Copyright 1986 HEWLETT-PACKARD COMPANY
To anyone who acknowledges that this file is provided "AS IS"
@@ -192,10 +192,10 @@
Deposit_sexponent(sgl_value,(exponent op SGL_WRAP))
#define Sgl_setlargestpositive(sgl_value) \
- Sall(sgl_value) = ((FLT_MAX_EXP+SGL_BIAS) << (32-(1+SGL_EXP_LENGTH))) \
+ Sall(sgl_value) = ((SGL_EMAX+SGL_BIAS) << (32-(1+SGL_EXP_LENGTH))) \
| ((1<<(32-(1+SGL_EXP_LENGTH))) - 1)
#define Sgl_setlargestnegative(sgl_value) \
- Sall(sgl_value) = ((FLT_MAX_EXP+SGL_BIAS) << (32-(1+SGL_EXP_LENGTH))) \
+ Sall(sgl_value) = ((SGL_EMAX+SGL_BIAS) << (32-(1+SGL_EXP_LENGTH))) \
| ((1<<(32-(1+SGL_EXP_LENGTH))) - 1 ) | (1<<31)
#define Sgl_setnegativeinfinity(sgl_value) \
@@ -203,11 +203,11 @@
((1<<SGL_EXP_LENGTH) | SGL_INFINITY_EXPONENT) << (32-(1+SGL_EXP_LENGTH))
#define Sgl_setlargest(sgl_value,sign) \
Sall(sgl_value) = ((sign) << 31) | \
- (((FLT_MAX_EXP+SGL_BIAS) << (32-(1+SGL_EXP_LENGTH))) \
+ (((SGL_EMAX+SGL_BIAS) << (32-(1+SGL_EXP_LENGTH))) \
| ((1 << (32-(1+SGL_EXP_LENGTH))) - 1 ))
#define Sgl_setlargest_exponentmantissa(sgl_value) \
Sall(sgl_value) = (Sall(sgl_value) & (1<<31)) | \
- (((FLT_MAX_EXP+SGL_BIAS) << (32-(1+SGL_EXP_LENGTH))) \
+ (((SGL_EMAX+SGL_BIAS) << (32-(1+SGL_EXP_LENGTH))) \
| ((1 << (32-(1+SGL_EXP_LENGTH))) - 1 ))
/* The high bit is always zero so arithmetic or logical shifts will work. */
@@ -248,10 +248,10 @@
/* Need to Initialize */
#define Sgl_makequietnan(dest) \
- Sall(dest) = ((FLT_MAX_EXP+SGL_BIAS)+1)<< (32-(1+SGL_EXP_LENGTH)) \
+ Sall(dest) = ((SGL_EMAX+SGL_BIAS)+1)<< (32-(1+SGL_EXP_LENGTH)) \
| (1<<(32-(1+SGL_EXP_LENGTH+2)))
#define Sgl_makesignalingnan(dest) \
- Sall(dest) = ((FLT_MAX_EXP+SGL_BIAS)+1)<< (32-(1+SGL_EXP_LENGTH)) \
+ Sall(dest) = ((SGL_EMAX+SGL_BIAS)+1)<< (32-(1+SGL_EXP_LENGTH)) \
| (1<<(32-(1+SGL_EXP_LENGTH+1)))
#define Sgl_normalize(sgl_opnd,exponent) \