Lines Matching defs:pu

33 _fp_normalize(unpacked *pu)
39 if ((*pu).fpclass == fp_normal) {
40 for (nlzwords = 0; (pu->significand[nlzwords] == 0) && (nlzwords < UNPACKED_SIZE); nlzwords++);
42 (*pu).fpclass = fp_zero;
47 pu->significand[i] = pu->significand[i + nlzwords];
49 pu->significand[i] = 0;
50 pu->exponent -= 32 * nlzwords;
52 for (; pu->significand[UNPACKED_SIZE - 1 - nlzwords] == 0; nlzwords++);
56 t = pu->significand[0];
65 pu->exponent -= nlzbits;
69 high = pu->significand[i] << nlzbits;
70 low = pu->significand[i] >> (32 - nlzbits);
71 pu->significand[i] = shiftout | high;
110 _fp_leftshift(unpacked *pu, unsigned n)
116 high = pu->significand[i] << n;
117 low = pu->significand[i] >> (32 - n);
118 pu->significand[i] = shiftout | high;
125 _unpack_double(unpacked *pu, double *px)
131 (*pu).sign = x.f.msw.sign;
132 pu->significand[1] = x.f.significand2;
134 pu->significand[i] = 0;
137 pu->fpclass = fp_zero;
140 pu->fpclass = fp_normal;
141 pu->exponent = 12 - DOUBLE_BIAS;
142 pu->significand[0] = x.f.msw.significand;
143 _fp_normalize(pu);
148 pu->fpclass = fp_infinity;
152 pu->fpclass = fp_quiet;
154 pu->fpclass = fp_quiet;
157 pu->significand[0] = 0x80000 | x.f.msw.significand;
158 _fp_leftshift(pu, 11);
162 (*pu).exponent = x.f.msw.exponent - DOUBLE_BIAS;
163 (*pu).fpclass = fp_normal;
164 (*pu).significand[0] = 0x100000 | x.f.msw.significand;
165 _fp_leftshift(pu, 11);
197 _unpack_quadruple(unpacked *pu, quadruple *px)
208 (*pu).sign = x.f.msw.sign;
209 pu->significand[1] = x.f.significand2;
210 pu->significand[2] = x.f.significand3;
211 pu->significand[3] = x.f.significand4;
213 pu->significand[i] = 0;
216 pu->fpclass = fp_zero;
219 pu->fpclass = fp_normal;
220 pu->exponent = 16 - QUAD_BIAS;
221 pu->significand[0] = x.f.msw.significand;
222 _fp_normalize(pu);
227 pu->fpclass = fp_infinity;
231 pu->fpclass = fp_quiet;
233 pu->fpclass = fp_quiet;
236 pu->significand[0] = 0x8000 | x.f.msw.significand;
237 _fp_leftshift(pu, 16);
241 (*pu).exponent = x.f.msw.exponent - QUAD_BIAS;
242 (*pu).fpclass = fp_normal;
243 (*pu).significand[0] = 0x10000 | x.f.msw.significand;
244 _fp_leftshift(pu, 15);
247 * printf("/n _unpack_quadruple ") ; _display_unpacked(pu);