3 #ifdef __IEEE_BIG_ENDIAN
10 unsigned int sign
: 1;
11 unsigned int exponent
: 11;
12 unsigned int fraction0
:4;
13 unsigned int fraction1
:16;
14 unsigned int fraction2
:16;
15 unsigned int fraction3
:16;
20 unsigned int sign
: 1;
21 unsigned int exponent
: 11;
23 unsigned int function0
:3;
24 unsigned int function1
:16;
25 unsigned int function2
:16;
26 unsigned int function3
:16;
34 } __ieee_double_shape_type
;
38 #ifdef __IEEE_LITTLE_ENDIAN
45 #ifdef __SMALL_BITFIELDS
46 unsigned int fraction3
:16;
47 unsigned int fraction2
:16;
48 unsigned int fraction1
:16;
49 unsigned int fraction0
: 4;
51 unsigned int fraction1
:32;
52 unsigned int fraction0
:20;
54 unsigned int exponent
:11;
55 unsigned int sign
: 1;
59 #ifdef __SMALL_BITFIELDS
60 unsigned int function3
:16;
61 unsigned int function2
:16;
62 unsigned int function1
:16;
63 unsigned int function0
:3;
65 unsigned int function1
:32;
66 unsigned int function0
:19;
69 unsigned int exponent
: 11;
70 unsigned int sign
: 1;
80 } __ieee_double_shape_type
;
84 #ifdef __IEEE_BIG_ENDIAN
90 unsigned int sign
: 1;
91 unsigned int exponent
: 8;
92 unsigned int fraction0
: 7;
93 unsigned int fraction1
: 16;
98 unsigned int exponent
:8;
100 unsigned int function0
:6;
101 unsigned int function1
:16;
105 } __ieee_float_shape_type
;
108 #ifdef __IEEE_LITTLE_ENDIAN
114 unsigned int fraction0
: 7;
115 unsigned int fraction1
: 16;
116 unsigned int exponent
: 8;
117 unsigned int sign
: 1;
121 unsigned int function1
:16;
122 unsigned int function0
:6;
123 unsigned int quiet
:1;
124 unsigned int exponent
:8;
129 } __ieee_float_shape_type
;
132 #if defined(__IEEE_BIG_ENDIAN) || defined(__IEEE_LITTLE_ENDIAN)
135 copysign (double x
, double y
)
137 __ieee_double_shape_type a
,b
;
140 a
.number
.sign
=b
.number
.sign
;
147 copysign (double x
, double y
)
149 if ((x
< 0 && y
> 0) || (x
> 0 && y
< 0))