Deleted Added
full compact
_fpmath.h (110566) _fpmath.h (111555)
1/*-
2 * Copyright (c) 2003 Mike Barcroft <mike@FreeBSD.org>
3 * Copyright (c) 2002, 2003 David Schultz <dschultz@uclink.Berkeley.EDU>
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 <dschultz@uclink.Berkeley.EDU>
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 110566 2003-02-08 20:37:55Z mike $
27 * $FreeBSD: head/lib/libc/ia64/_fpmath.h 111555 2003-02-26 16:04:34Z mike $
28 */
29
28 */
29
30#include <sys/endian.h>
31
30union IEEEl2bits {
31 long double e;
32 struct {
32union IEEEl2bits {
33 long double e;
34 struct {
33 unsigned long manl :64;
34 unsigned long manh :48;
35#if _BYTE_ORDER == _LITTLE_ENDIAN
36 unsigned int manl :32;
37 unsigned int manh :32;
35 unsigned int exp :15;
36 unsigned int sign :1;
38 unsigned int exp :15;
39 unsigned int sign :1;
40 unsigned long junk :48;
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
37 } bits;
38};
39
48 } bits;
49};
50
40#define mask_nbit_l(u) ((u).bits.manl &= 0x7fffffffffffffff)
51#if _BYTE_ORDER == _LITTLE_ENDIAN
52#define mask_nbit_l(u) ((u).bits.manh &= 0x7fffffff)
53#else /* _BIG_ENDIAN */
54#define mask_nbit_l(u) ((u).bits.manh &= 0xffffff7f)
55#endif