svn commit: r226412 - head/lib/msun/src
David Schultz
das at FreeBSD.org
Sun Oct 16 05:36:40 UTC 2011
Author: das
Date: Sun Oct 16 05:36:39 2011
New Revision: 226412
URL: http://svn.freebsd.org/changeset/base/226412
Log:
Move the macros GET_LDBL_EXPSIGN() and SET_LDBL_EXPSIGN() into
math_private.h, so they can be used elsewhere in the math library.
Modified:
head/lib/msun/src/e_hypotl.c
head/lib/msun/src/math_private.h
Modified: head/lib/msun/src/e_hypotl.c
==============================================================================
--- head/lib/msun/src/e_hypotl.c Sun Oct 16 05:36:23 2011 (r226411)
+++ head/lib/msun/src/e_hypotl.c Sun Oct 16 05:36:39 2011 (r226412)
@@ -21,13 +21,6 @@ __FBSDID("$FreeBSD$");
#include "math.h"
#include "math_private.h"
-#define GET_LDBL_EXPSIGN(i, v) do { \
- union IEEEl2bits uv; \
- \
- uv.e = v; \
- i = uv.xbits.expsign; \
-} while (0)
-
#define GET_LDBL_MAN(h, l, v) do { \
union IEEEl2bits uv; \
\
@@ -36,14 +29,6 @@ __FBSDID("$FreeBSD$");
l = uv.bits.manl; \
} while (0)
-#define SET_LDBL_EXPSIGN(v, i) do { \
- union IEEEl2bits uv; \
- \
- uv.e = v; \
- uv.xbits.expsign = i; \
- v = uv.e; \
-} while (0)
-
#undef GET_HIGH_WORD
#define GET_HIGH_WORD(i, v) GET_LDBL_EXPSIGN(i, v)
#undef SET_HIGH_WORD
Modified: head/lib/msun/src/math_private.h
==============================================================================
--- head/lib/msun/src/math_private.h Sun Oct 16 05:36:23 2011 (r226411)
+++ head/lib/msun/src/math_private.h Sun Oct 16 05:36:39 2011 (r226412)
@@ -188,6 +188,25 @@ do { \
(d) = sf_u.value; \
} while (0)
+/* Get expsign as a 16 bit int from a long double. */
+
+#define GET_LDBL_EXPSIGN(i,d) \
+do { \
+ union IEEEl2bits ge_u; \
+ ge_u.e = (d); \
+ (i) = ge_u.xbits.expsign; \
+} while (0)
+
+/* Set expsign of a long double from a 16 bit int. */
+
+#define SET_LDBL_EXPSIGN(d,v) \
+do { \
+ union IEEEl2bits se_u; \
+ se_u.e = (d); \
+ se_u.xbits.expsign = (v); \
+ (d) = se_u.e; \
+} while (0)
+
#ifdef FLT_EVAL_METHOD
/*
* Attempt to get strict C99 semantics for assignment with non-C99 compilers.
More information about the svn-src-head
mailing list