Home | History | Annotate | Download | only in common

Lines Matching refs:fraction

132    When unpacked, the fraction of both a 32 and 64 bit floating point
189 uint64_t fraction;
198 /* Force fraction to correct class. */
199 fraction = src->fraction;
200 fraction >>= NR_GUARDS;
202 fraction |= QUIET_NAN - 1;
204 fraction |= QUIET_NAN;
209 /* Force fraction to correct class. */
210 fraction = src->fraction;
211 fraction >>= NR_GUARDS;
213 fraction |= QUIET_NAN;
215 fraction &= ~QUIET_NAN;
220 fraction = 0;
225 fraction = 0;
229 ASSERT (src->fraction >= IMPLICIT_1);
230 ASSERT (src->fraction < IMPLICIT_2);
235 storing zero in the exponent and shift the fraction to
243 fraction = 0;
250 fraction = src->fraction;
251 fraction >>= NR_GUARDS;
252 fraction >>= nr_shift;
260 fraction = 0;
266 fraction = src->fraction;
272 if ((fraction & GUARDMASK) == GUARDMSB)
274 if ((fraction & (GUARDMSB << 1)))
275 fraction += (GUARDMSB << 1);
280 fraction += GUARDROUND;
282 if ((fraction & IMPLICIT_2)) /* Rounding resulted in carry. */
285 fraction >>= 1;
287 fraction >>= NR_GUARDS;
288 /* When exp == EXPMAX (overflow from carry) fraction must
290 ASSERT ((exp == EXPMAX) <= ((fraction & ~IMPLICIT_1) == 0));
299 | LSMASKED64 (fraction, NR_FRACBITS - 1, 0));
324 uint64_t fraction = LSMASKED64 (packed, NR_FRACBITS - 1, 0);
331 if (fraction == 0)
340 /* Zero exponent with non zero fraction - it's denormalized,
346 fraction <<= NR_GUARDS;
347 while (fraction < IMPLICIT_1)
349 fraction <<= 1;
352 dst->fraction = fraction;
358 if (fraction == 0)
360 /* Attached to a zero fraction - means infinity. */
364 /* dst->fraction = 0; */
370 /* Non zero fraction, means NaN. */
372 dst->fraction = (fraction << NR_GUARDS);
374 qnan = (fraction & QUIET_NAN) == 0;
376 qnan = fraction >= QUIET_NAN;
388 dst->fraction = ((fraction << NR_GUARDS) | IMPLICIT_1);
465 ASSERT (s->fraction >= IMPLICIT_1);
466 if (s->fraction == IMPLICIT_1)
476 if ((s->fraction & FRAC32MASK) != IMPLICIT_1)
483 if ((s->fraction & FRAC32MASK) != IMPLICIT_1)
485 else if ((s->fraction & !FRAC32MASK) >= (~FRAC32MASK >> 1))
491 if ((s->fraction & FRAC32MASK) == IMPLICIT_1)
507 tmp = s->fraction;
547 f->fraction = IMPLICIT_1;
551 f->fraction = (-i);
554 f->fraction = i;
556 if (f->fraction >= IMPLICIT_2)
560 f->fraction = (f->fraction >> 1) | (f->fraction & 1);
563 while (f->fraction >= IMPLICIT_2);
565 else if (f->fraction < IMPLICIT_1)
569 f->fraction <<= 1;
572 while (f->fraction < IMPLICIT_1);
639 tmp = (s->fraction & ~PADMASK);
669 f->fraction = u;
671 while (f->fraction < IMPLICIT_1)
673 f->fraction <<= 1;
736 uint64_t fraction,
743 /* Shift the fraction to where sim-fpu expects it. */
745 f->fraction = (fraction << shift);
747 f->fraction = (fraction >> -shift);
748 f->fraction |= IMPLICIT_1;
758 uint64_t fraction = (d->fraction & ~IMPLICIT_1);
760 return fraction >> shift;
762 return fraction << -shift;
792 f->fraction = LSMASK64 (NR_FRAC_GUARD, NR_GUARDS);
821 f->fraction = IMPLICIT_1;
828 Will return the rounded number or F->FRACTION == 0 when underflow. */
838 if ((f->fraction & guardmask))
846 if ((f->fraction & guardmsb))
848 if ((f->fraction & fraclsb))
852 else if ((f->fraction & (guardmask >> 1)))
869 f->fraction &= ~guardmask;
873 f->fraction += fraclsb;
874 if ((f->fraction & IMPLICIT_2))
876 f->fraction >>= 1;
909 ASSERT (f->fraction < IMPLICIT_2);
910 ASSERT (f->fraction >= IMPLICIT_1);
923 if (f->fraction == 0) /* Rounding underflowed. */
957 if (f->fraction == 0)
966 <= (f->fraction < IMPLICIT_2 && f->fraction >= IMPLICIT_1));
1091 lfraction = l->fraction;
1092 rfraction = r->fraction;
1123 f->fraction = lfraction + rfraction;
1126 if (f->fraction == 0)
1134 if (((int64_t) f->fraction) >= 0)
1139 f->fraction = - f->fraction;
1143 if ((f->fraction & IMPLICIT_2))
1145 f->fraction = (f->fraction >> 1) | (f->fraction & 1);
1148 else if (f->fraction < IMPLICIT_1)
1152 f->fraction <<= 1;
1155 while (f->fraction < IMPLICIT_1);
1157 ASSERT (f->fraction >= IMPLICIT_1 && f->fraction < IMPLICIT_2);
1225 lfraction = l->fraction;
1226 rfraction = r->fraction;
1257 f->fraction = lfraction + rfraction;
1260 if (f->fraction == 0)
1268 if (((int64_t) f->fraction) >= 0)
1273 f->fraction = - f->fraction;
1277 if ((f->fraction & IMPLICIT_2))
1279 f->fraction = (f->fraction >> 1) | (f->fraction & 1);
1282 else if (f->fraction < IMPLICIT_1)
1286 f->fraction <<= 1;
1289 while (f->fraction < IMPLICIT_1);
1291 ASSERT (f->fraction >= IMPLICIT_1 && f->fraction < IMPLICIT_2);
1337 uint64_t nl = l->fraction & 0xffffffff;
1338 uint64_t nh = l->fraction >> 32;
1339 uint64_t ml = r->fraction & 0xffffffff;
1340 uint64_t mh = r->fraction >>32;
1390 f->fraction = (high | 1); /* sticky */
1395 f->fraction = high;
1465 numerator = l->fraction;
1466 denominator = r->fraction;
1468 /* Fraction will be less than 1.0 */
1500 f->fraction = quotient;
1501 ASSERT (f->fraction >= IMPLICIT_1 && f->fraction < IMPLICIT_2);
1504 f->fraction |= 1; /* Stick remaining bits. */
1559 if (n.fraction == 0)
1616 && l->fraction > r->fraction))
1679 && l->fraction > r->fraction))
1897 y = r->fraction;
1927 f->fraction = q;
1930 f->fraction |= 1; /* Stick remaining bits. */
2177 return d->fraction;
2186 rv = (d->fraction & guardmask) >> NR_PAD;
2533 print_bits (f->fraction, NR_FRAC_GUARD - 1, digits, print, arg);
2538 print_bits (f->fraction, NR_FRAC_GUARD - 1, digits, print, arg);
2550 print_bits (f->fraction, NR_FRAC_GUARD - 1, digits, print, arg);
2552 ASSERT (f->fraction >= IMPLICIT_1);
2553 ASSERT (f->fraction < IMPLICIT_2);