Deleted Added
full compact
_fpmath.h (143215) _fpmath.h (175402)
1/*-
2 * Copyright (c) 2003 Mike Barcroft <mike@FreeBSD.org>
3 * Copyright (c) 2002, 2003 David Schultz <das@FreeBSD.ORG>
4 * All rights reserved.
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions
8 * are met:

--- 10 unchanged lines hidden (view full) ---

19 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
20 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
21 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
22 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
23 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
24 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
25 * SUCH DAMAGE.
26 *
1/*-
2 * Copyright (c) 2003 Mike Barcroft <mike@FreeBSD.org>
3 * Copyright (c) 2002, 2003 David Schultz <das@FreeBSD.ORG>
4 * All rights reserved.
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions
8 * are met:

--- 10 unchanged lines hidden (view full) ---

19 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
20 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
21 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
22 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
23 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
24 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
25 * SUCH DAMAGE.
26 *
27 * $FreeBSD: head/lib/libc/ia64/_fpmath.h 143215 2005-03-07 04:55:40Z das $
27 * $FreeBSD: head/lib/libc/ia64/_fpmath.h 175402 2008-01-17 16:39:07Z bde $
28 */
29
30#include <sys/endian.h>
31
32union IEEEl2bits {
33 long double e;
34 struct {
35#if _BYTE_ORDER == _LITTLE_ENDIAN

--- 5 unchanged lines hidden (view full) ---

41#else /* _BIG_ENDIAN */
42 unsigned long junk :48;
43 unsigned int sign :1;
44 unsigned int exp :15;
45 unsigned int manh :32;
46 unsigned int manl :32;
47#endif
48 } bits;
28 */
29
30#include <sys/endian.h>
31
32union IEEEl2bits {
33 long double e;
34 struct {
35#if _BYTE_ORDER == _LITTLE_ENDIAN

--- 5 unchanged lines hidden (view full) ---

41#else /* _BIG_ENDIAN */
42 unsigned long junk :48;
43 unsigned int sign :1;
44 unsigned int exp :15;
45 unsigned int manh :32;
46 unsigned int manl :32;
47#endif
48 } bits;
49 struct {
50#if _BYTE_ORDER == _LITTLE_ENDIAN
51 unsigned long man :64;
52 unsigned int expsign :16;
53 unsigned long junk :48;
54#else /* _BIG_ENDIAN */
55 unsigned long junk :48;
56 unsigned int expsign :16;
57 unsigned long man :64;
58#endif
59 } xbits;
49};
50
51#if _BYTE_ORDER == _LITTLE_ENDIAN
52#define LDBL_NBIT 0x80000000
53#define mask_nbit_l(u) ((u).bits.manh &= ~LDBL_NBIT)
54#else /* _BIG_ENDIAN */
55/*
56 * XXX This doesn't look right. Very few machines have a different

--- 6 unchanged lines hidden (view full) ---

63#endif
64
65#define LDBL_MANH_SIZE 32
66#define LDBL_MANL_SIZE 32
67
68#define LDBL_TO_ARRAY32(u, a) do { \
69 (a)[0] = (uint32_t)(u).bits.manl; \
70 (a)[1] = (uint32_t)(u).bits.manh; \
60};
61
62#if _BYTE_ORDER == _LITTLE_ENDIAN
63#define LDBL_NBIT 0x80000000
64#define mask_nbit_l(u) ((u).bits.manh &= ~LDBL_NBIT)
65#else /* _BIG_ENDIAN */
66/*
67 * XXX This doesn't look right. Very few machines have a different

--- 6 unchanged lines hidden (view full) ---

74#endif
75
76#define LDBL_MANH_SIZE 32
77#define LDBL_MANL_SIZE 32
78
79#define LDBL_TO_ARRAY32(u, a) do { \
80 (a)[0] = (uint32_t)(u).bits.manl; \
81 (a)[1] = (uint32_t)(u).bits.manh; \
71} while(0)
82} while (0)