[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[commits] r11149 - in /libdfp/trunk: ChangeLog Versions.def dfp/math.h ieee754r/Versions
- To: commits@xxxxxxxxxx
- Subject: [commits] r11149 - in /libdfp/trunk: ChangeLog Versions.def dfp/math.h ieee754r/Versions
- From: ryanarn@xxxxxxxxxx
- Date: Wed, 04 Aug 2010 18:39:47 -0000
Author: ryanarn
Date: Wed Aug 4 11:39:46 2010
New Revision: 11149
Log:
Followed a bit of maintainer discipline and properly versioned some symbols in
the linker script based on the libdfp version when they were added.
2010-08-04 Ryan S. Arnold <rsa@xxxxxxxxx>
* ieee754r/Versions: Moved some of the __is* functions under LIBDFP_1.0.2
and LIBDFP_1.0.3. Removed unnecessary __is* functions from export
that don't have polymorphic versions in math.h
* dfp/math.h: Removed accidental undef of isunordered. This was
never implemented as a polymorphic function because it doesn't need to
be (per the spec). Removed redundant polymoprhic isnan().
* Versions.def: Added Versions LIBDFP_1.0.2 and LIBDFP_1.0.3 for Libdfp.
Modified:
libdfp/trunk/ChangeLog
libdfp/trunk/Versions.def
libdfp/trunk/dfp/math.h
libdfp/trunk/ieee754r/Versions
Modified: libdfp/trunk/ChangeLog
==============================================================================
--- libdfp/trunk/ChangeLog (original)
+++ libdfp/trunk/ChangeLog Wed Aug 4 11:39:46 2010
@@ -1,3 +1,13 @@
+2010-08-04 Ryan S. Arnold <rsa@xxxxxxxxx>
+
+ * ieee754r/Versions: Moved some of the __is* functions under LIBDFP_1.0.2
+ and LIBDFP_1.0.3. Removed unnecessary __is* functions from export
+ that don't have polymorphic versions in math.h
+ * dfp/math.h: Removed accidental undef of isunordered. This was
+ never implemented as a polymorphic function because it doesn't need to
+ be (per the spec). Removed redundant polymoprhic isnan().
+ * Versions.def: Added Versions LIBDFP_1.0.2 and LIBDFP_1.0.3 for Libdfp.
+
2010-08-04 Ryan S. Arnold <rsa@xxxxxxxxxx>
* configure: Regenerated.
@@ -54,14 +64,12 @@
* tests/test-isfinite.c: Added Conditional expectations for s390 for
isfinite return values from negative number inputs.
-
2010-07-23 Ryan S. Arnold <rsa@xxxxxxxxxx>
* tests/test-logd.c: Removed unnecessary comments.
* tests/test-fpclassify.c: Removed unnecessary comments.
* configure.ac: Removed unnecessary comments.
* printf_dfp.c: Removed unnecessary comments.
-
2010-07-23 Ryan S. Arnold <rsa@xxxxxxxxxx>
Modified: libdfp/trunk/Versions.def
==============================================================================
--- libdfp/trunk/Versions.def (original)
+++ libdfp/trunk/Versions.def Wed Aug 4 11:39:46 2010
@@ -1,4 +1,6 @@
libdfp {
LIBDFP_1.0.0
+ LIBDFP_1.0.2
+ LIBDFP_1.0.3
LIBDFP_PRIVATE
}
Modified: libdfp/trunk/dfp/math.h
==============================================================================
--- libdfp/trunk/dfp/math.h (original)
+++ libdfp/trunk/dfp/math.h Wed Aug 4 11:39:46 2010
@@ -894,6 +894,45 @@
/* Return nonzero value if X is neither zero, subnormal, Inf, nor NaN. */
#define isnormal(x) (fpclassify (x) == FP_NORMAL)
+#ifdef isinf
+# undef isinf
+#endif
+
+/* Return nonzero value is X is positive or negative infinity. */
+# ifdef __NO_LONG_DOUBLE_MATH
+# define _____isinf(x) \
+ (sizeof (x) == sizeof (float) ? __isinff (x) : __isinf (x))
+# else
+# define ____isinf(x) \
+ (sizeof (x) == sizeof (float) \
+ ? __isinff (x) \
+ : sizeof (x) == sizeof (double) \
+ ? __isinf (x) : __isinfl (x))
+# endif
+
+#define isinf(x) \
+ ( \
+ (!__dfp_compatible(x)? (____isinf(x)) : \
+ (sizeof (x) == sizeof (_Decimal128)? __isinfd128(x): \
+ (sizeof (x) == sizeof (_Decimal64)? __isinfd64(x): \
+ __isinfd32(x) \
+ ) \
+ ) \
+ ) \
+ )
+
+#ifdef fabs
+# undef fabs
+#endif
+#define fabs(x) \
+ ( \
+ (sizeof (x) == sizeof (_Decimal128)? __fabsd128(x): \
+ (sizeof (x) == sizeof (_Decimal64)? __fabsd64(x): \
+ __fabsd32(x) \
+ ) \
+ ) \
+ )
+
#ifdef isnan
# undef isnan
#endif
@@ -922,74 +961,6 @@
: __isnand32(x))) \
)
-#ifdef isinf
-# undef isinf
-#endif
-
-/* Return nonzero value is X is positive or negative infinity. */
-# ifdef __NO_LONG_DOUBLE_MATH
-# define _____isinf(x) \
- (sizeof (x) == sizeof (float) ? __isinff (x) : __isinf (x))
-# else
-# define ____isinf(x) \
- (sizeof (x) == sizeof (float) \
- ? __isinff (x) \
- : sizeof (x) == sizeof (double) \
- ? __isinf (x) : __isinfl (x))
-# endif
-
-#define isinf(x) \
- ( \
- (!__dfp_compatible(x)? (____isinf(x)) : \
- (sizeof (x) == sizeof (_Decimal128)? __isinfd128(x): \
- (sizeof (x) == sizeof (_Decimal64)? __isinfd64(x): \
- __isinfd32(x) \
- ) \
- ) \
- ) \
- )
-
-#ifdef fabs /* This is actually new in ISO/IEC TR 24732. */
-# undef fabs
-#endif
-#define fabs(x) \
- ( \
- (sizeof (x) == sizeof (_Decimal128)? __fabsd128(x): \
- (sizeof (x) == sizeof (_Decimal64)? __fabsd64(x): \
- __fabsd32(x) \
- ) \
- ) \
- )
-
-/* Comparison Macros */
-#ifdef isunordered
-# undef isunordered
-#endif
-
-/* Return nonzero value if X is a NaN. We could use `fpclassify' but
- we already have this functions `__isnan' and it is faster. */
-# ifdef __NO_LONG_DOUBLE_MATH
-# define ____isnan(x) \
- (sizeof (x) == sizeof (float) ? __isnanf (x) : __isnan (x))
-# else
-# define ____isnan(x) \
- (sizeof (x) == sizeof (float) \
- ? __isnanf (x) \
- : sizeof (x) == sizeof (double) \
- ? __isnan (x) : __isnanl (x))
-# endif
-
-
-#define isnan(x) \
- (!__dfp_compatible(x) \
- ? (____isnan(x)) \
- : (sizeof (x) == sizeof (_Decimal128) \
- ? __isnand128(x) \
- : (sizeof (x) == sizeof (_Decimal64) \
- ? __isnand64(x) \
- : __isnand32(x))) \
- )
-
__END_DECLS
Modified: libdfp/trunk/ieee754r/Versions
==============================================================================
--- libdfp/trunk/ieee754r/Versions (original)
+++ libdfp/trunk/ieee754r/Versions Wed Aug 4 11:39:46 2010
@@ -60,21 +60,9 @@
fdimd32;
fdimd64;
fdimd128;
- isfinited32;
- isfinited64;
- isfinited128;
- __isfinited32;
- __isfinited64;
- __isfinited128;
- # finited* and friends is deprecated but we published math.h with
- # polymorphic isfinite() pointing to them so keep them around. They just
- # aliases.
finited32;
finited64;
finited128;
- __finited32;
- __finited64;
- __finited128;
floord32;
floord64;
floord128;
@@ -114,9 +102,6 @@
isinfd32;
isinfd64;
isinfd128;
- __isinfd32;
- __isinfd64;
- __isinfd128;
islessd32;
islessd64;
islessd128;
@@ -129,21 +114,12 @@
isnand32;
isnand64;
isnand128;
- __isnand32;
- __isnand64;
- __isnand128;
isnormald32;
isnormald64;
isnormald128;
- __isnormald32;
- __isnormald64;
- __isnormald128;
isunorderedd32;
isunorderedd64;
isunorderedd128;
- __isunorderedd32;
- __isunorderedd64;
- __isunorderedd128;
ldexpd32;
ldexpd64;
ldexpd128;
@@ -219,9 +195,6 @@
signbitd32;
signbitd64;
signbitd128;
- __signbitd32;
- __signbitd64;
- __signbitd128;
sind32;
sind64;
sind128;
@@ -244,4 +217,30 @@
truncd64;
truncd128;
}
+ LIBDFP_1.0.2 {
+ __isnand32;
+ __isnand64;
+ __isnand128;
+ __isinfd32;
+ __isinfd64;
+ __isinfd128;
+ }
+ LIBDFP_1.0.3 {
+ # finited* and friends is deprecated but at some point we published math.h
+ # with polymorphic isfinite() pointing to them so keep them around. They
+ # are just aliases.
+ __finited32;
+ __finited64;
+ __finited128;
+ isfinited32;
+ isfinited64;
+ isfinited128;
+ __isfinited32;
+ __isfinited64;
+ __isfinited128;
+ # Polymorphic signbit support.
+ __signbitd32;
+ __signbitd64;
+ __signbitd128;
+ }
}