aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/ia64/fpu/math_ldbl.h
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/ia64/fpu/math_ldbl.h')
-rw-r--r--sysdeps/ia64/fpu/math_ldbl.h122
1 files changed, 0 insertions, 122 deletions
diff --git a/sysdeps/ia64/fpu/math_ldbl.h b/sysdeps/ia64/fpu/math_ldbl.h
deleted file mode 100644
index 5dd9c350a1..0000000000
--- a/sysdeps/ia64/fpu/math_ldbl.h
+++ /dev/null
@@ -1,122 +0,0 @@
-/* Manipulation of the bit representation of 'long double' quantities.
- Copyright (C) 2000-2017 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library 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.
-
- The GNU C Library 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 the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#ifndef _MATH_LDBL_H_
-#define _MATH_LDBL_H_ 1
-
-#include <stdint.h>
-#include <endian.h>
-
-/* A union which permits us to convert between a long double and
- three 32 bit ints. */
-
-#if __FLOAT_WORD_ORDER == __BIG_ENDIAN
-
-typedef union
-{
- long double value;
- struct
- {
- unsigned int empty0:32;
- int sign_exponent:16;
- unsigned int empty1:16;
- uint32_t msw;
- uint32_t lsw;
- } parts;
-} ieee_long_double_shape_type;
-
-#endif
-
-#if __FLOAT_WORD_ORDER == __LITTLE_ENDIAN
-
-typedef union
-{
- long double value;
- struct
- {
- uint32_t lsw;
- uint32_t msw;
- int sign_exponent:16;
- unsigned int empty1:16;
- unsigned int empty0:32;
- } parts;
-} ieee_long_double_shape_type;
-
-#endif
-
-/* Get three 32 bit ints from a double. */
-
-#define GET_LDOUBLE_WORDS(exp,ix0,ix1,d) \
-do { \
- ieee_long_double_shape_type ew_u; \
- ew_u.value = (d); \
- (exp) = ew_u.parts.sign_exponent; \
- (ix0) = ew_u.parts.msw; \
- (ix1) = ew_u.parts.lsw; \
-} while (0)
-
-/* Set a double from two 32 bit ints. */
-
-#define SET_LDOUBLE_WORDS(d,exp,ix0,ix1) \
-do { \
- ieee_long_double_shape_type iw_u; \
- iw_u.parts.sign_exponent = (exp); \
- iw_u.parts.msw = (ix0); \
- iw_u.parts.lsw = (ix1); \
- (d) = iw_u.value; \
-} while (0)
-
-/* Get the more significant 32 bits of a long double mantissa. */
-
-#define GET_LDOUBLE_MSW(v,d) \
-do { \
- ieee_long_double_shape_type sh_u; \
- sh_u.value = (d); \
- (v) = sh_u.parts.msw; \
-} while (0)
-
-/* Set the more significant 32 bits of a long double mantissa from an int. */
-
-#define SET_LDOUBLE_MSW(d,v) \
-do { \
- ieee_long_double_shape_type sh_u; \
- sh_u.value = (d); \
- sh_u.parts.msw = (v); \
- (d) = sh_u.value; \
-} while (0)
-
-/* Get int from the exponent of a long double. */
-
-#define GET_LDOUBLE_EXP(exp,d) \
-do { \
- ieee_long_double_shape_type ge_u; \
- ge_u.value = (d); \
- (exp) = ge_u.parts.sign_exponent; \
-} while (0)
-
-/* Set exponent of a long double from an int. */
-
-#define SET_LDOUBLE_EXP(d,exp) \
-do { \
- ieee_long_double_shape_type se_u; \
- se_u.value = (d); \
- se_u.parts.sign_exponent = (exp); \
- (d) = se_u.value; \
-} while (0)
-
-#endif /* math_ldbl.h */