Lines Matching refs:pu

34 unpackinteger(pu, x)
35 unpacked *pu; /* unpacked result */
39 pu->sticky = pu->rounded = 0;
41 pu->sign = 0;
42 pu->fpclass = fp_zero;
44 (*pu).sign = x < 0;
45 (*pu).fpclass = fp_normal;
46 (*pu).exponent = INTEGER_BIAS;
48 (*pu).significand[0] = ux>>15;
49 (*pu).significand[1] = (ux&0x7fff)<<17;
50 (*pu).significand[2] = 0;
51 (*pu).significand[3] = 0;
52 fpu_normalize(pu);
57 unpacksingle(pu, x)
58 unpacked *pu; /* unpacked result */
62 pu->sticky = pu->rounded = 0;
64 (*pu).sign = x.sign;
65 pu->significand[1] = 0;
66 pu->significand[2] = 0;
67 pu->significand[3] = 0;
70 pu->fpclass = fp_zero;
73 pu->fpclass = fp_normal;
74 pu->exponent = -SINGLE_BIAS-6;
75 pu->significand[0]=u;
76 fpu_normalize(pu);
81 pu->fpclass = fp_infinity;
85 pu->fpclass = fp_quiet;
87 pu->fpclass = fp_signaling;
90 pu->significand[0] = 0x18000 | (u >> 7);
91 (*pu).significand[1]=((u&0x7f)<<25);
95 (*pu).exponent = x.exponent - SINGLE_BIAS;
96 (*pu).fpclass = fp_normal;
97 (*pu).significand[0]=0x10000|(u>>7);
98 (*pu).significand[1]=((u&0x7f)<<25);
102 unpackdouble(pu, x, y)
103 unpacked *pu; /* unpacked result */
108 pu->sticky = pu->rounded = 0;
110 (*pu).sign = x.sign;
111 pu->significand[1] = y;
112 pu->significand[2] = 0;
113 pu->significand[3] = 0;
116 pu->fpclass = fp_zero;
119 pu->fpclass = fp_normal;
120 pu->exponent = -DOUBLE_BIAS-3;
121 pu->significand[0] = u;
122 fpu_normalize(pu);
127 pu->fpclass = fp_infinity;
131 pu->fpclass = fp_quiet;
133 pu->fpclass = fp_signaling;
136 pu->significand[0] = 0x18000 | (u >> 4);
137 (*pu).significand[1]=((u&0xf)<<28)|(y>>4);
138 (*pu).significand[2]=((y&0xf)<<28);
142 (*pu).exponent = x.exponent - DOUBLE_BIAS;
143 (*pu).fpclass = fp_normal;
144 (*pu).significand[0]=0x10000|(u>>4);
145 (*pu).significand[1]=((u&0xf)<<28)|(y>>4);
146 (*pu).significand[2]=((y&0xf)<<28);
150 unpackextended(pu, x, y, z, w)
151 unpacked *pu; /* unpacked result */
156 pu->sticky = pu->rounded = 0;
158 (*pu).sign = x.sign;
159 (*pu).fpclass = fp_normal;
160 (*pu).exponent = x.exponent - EXTENDED_BIAS;
161 (*pu).significand[0] = (x.exponent==0)? u:0x10000|u;
162 (*pu).significand[1] = y;
163 (*pu).significand[2] = z;
164 (*pu).significand[3] = w;
166 if ((z|y|w|pu->significand[0]) == 0) { /* zero */
167 pu->fpclass = fp_zero;
171 fpu_normalize(pu);
172 pu->exponent += 1;
178 pu->fpclass = fp_infinity;
182 pu->fpclass = fp_quiet;
184 pu->fpclass = fp_signaling;
187 pu->significand[0] |= 0x8000; /* make quiet */
194 _fp_unpack(pu, n, dtype)
195 unpacked *pu; /* unpacked result */
202 unpackinteger(pu, n[0]);
208 unpacksingle(pu, x);
217 unpackdouble(pu, x, n[i1]);
227 unpackextended(pu, x, n[i1], n[i2], n[i3]);