Lines Matching refs:rv

70 	double rv;
73 rv = ulp(x);
75 return rv; /* Is there an example where i <= 0 ? */
78 return rv * u.d;
98 U adj, aadj1, rv, rv0;
144 dval(&rv) = 0.;
195 ULtod(((U*)&rv)->L, bits, exp, i);
308 word0(&rv) = 0x7ff00000;
309 word1(&rv) = 0;
320 word0(&rv) = 0x7ff00000 | bits[1];
321 word1(&rv) = bits[0];
325 word0(&rv) = NAN_WORD0;
326 word1(&rv) = NAN_WORD1;
350 dval(&rv) = y;
356 dval(&rv) = tens[k - 9] * dval(&rv) + z;
376 rv.d = -rv.d;
380 /* rv = */ rounded_product(dval(&rv), tens[e]);
392 rv.d = -rv.d;
397 dval(&rv) *= tens[i];
403 word0(&rv) -= P*Exp_msk1;
404 /* rv = */ rounded_product(dval(&rv), tens[e]);
405 if ((word0(&rv) & Exp_mask)
408 word0(&rv) += P*Exp_msk1;
410 /* rv = */ rounded_product(dval(&rv), tens[e]);
420 rv.d = -rv.d;
424 /* rv = */ rounded_quotient(dval(&rv), tens[-e]);
452 /* Get starting approximation = rv * 10**e1 */
456 dval(&rv) *= tens[i];
466 word0(&rv) = Big0;
467 word1(&rv) = Big1;
470 word0(&rv) = Exp_mask;
471 word1(&rv) = 0;
474 word0(&rv) = Exp_mask;
475 word1(&rv) = 0;
483 word0(&rv) = Big0;
484 word1(&rv) = Big1;
502 dval(&rv) *= bigtens[j];
504 word0(&rv) -= P*Exp_msk1;
505 dval(&rv) *= bigtens[j];
506 if ((z = word0(&rv) & Exp_mask)
512 word0(&rv) = Big0;
513 word1(&rv) = Big1;
516 word0(&rv) += P*Exp_msk1;
522 dval(&rv) /= tens[i];
531 dval(&rv) *= tinytens[j];
532 if (scale && (j = 2*P + 1 - ((word0(&rv) & Exp_mask)
534 /* scaled rv is denormal; zap j low bits */
536 word1(&rv) = 0;
538 word0(&rv) = (P+2)*Exp_msk1;
540 word0(&rv) &= 0xffffffff << (j-32);
543 word1(&rv) &= 0xffffffff << j;
548 dval(&rv) *= tinytens[j];
550 dval(&rv0) = dval(&rv);
551 dval(&rv) *= tinytens[j];
552 if (!dval(&rv)) {
553 dval(&rv) = 2.*dval(&rv0);
554 dval(&rv) *= tinytens[j];
556 if (!dval(&rv)) {
558 dval(&rv) = 0.;
562 word0(&rv) = Tiny0;
563 word1(&rv) = Tiny1;
572 /* Now the hard part -- adjusting rv to the correct value.*/
585 bb = d2b(dval(&rv), &bbe, &bbbits); /* rv = bb * 2^bbe */
613 i = j + bbbits - 1; /* logb(rv) */
632 i = j + bbbits - 1; /* logb(&rv) */
707 if (!word1(&rv)
708 && !(word0(&rv) & Frac_mask)) {
709 y = word0(&rv) & Exp_mask;
725 if (scale && (y = word0(&rv) & Exp_mask)
730 if ((word0(&rv) & Exp_mask) <=
732 word0(&rv) += P*Exp_msk1;
733 dval(&rv) += adj*ulp(&rv);
734 word0(&rv) -= P*Exp_msk1;
739 dval(&rv) += adj.d*ulp(&rv);
756 if (scale && (y = word0(&rv) & Exp_mask) <= 2*P*Exp_msk1)
760 if ((word0(&rv) & Exp_mask) <= P*Exp_msk1) {
761 word0(&rv) += P*Exp_msk1;
762 dval(&adj) *= ulp(&rv);
764 dval(&rv) += adj;
766 dval(&rv) -= adj;
767 word0(&rv) -= P*Exp_msk1;
772 dval(&adj) *= ulp(&rv);
774 if (word0(&rv) == Big0 && word1(&rv) == Big1)
776 dval(&rv) += adj.d;
779 dval(&rv) -= adj.d;
788 if (dsign || word1(&rv) || word0(&rv) & Bndry_mask
791 || (word0(&rv) & Exp_mask) <= (2*P+1)*Exp_msk1
793 || (word0(&rv) & Exp_mask) <= Exp_msk1
820 if ((word0(&rv) & Bndry_mask1) == Bndry_mask1
821 && word1(&rv) == (
823 (scale && (y = word0(&rv) & Exp_mask) <= 2*P*Exp_msk1)
828 if (word0(&rv) == Big0 && word1(&rv) == Big1)
830 word0(&rv) = (word0(&rv) & Exp_mask)
836 word1(&rv) = 0;
843 else if (!(word0(&rv) & Bndry_mask) && !word1(&rv)) {
847 L = word0(&rv) & Exp_mask;
862 L = word0(&rv) & Exp_mask;
866 /* accept rv */
868 /* rv = smallest denormal */
873 L = (word0(&rv) & Exp_mask) - Exp_msk1;
875 word0(&rv) = L | Bndry_mask1;
876 word1(&rv) = 0xffffffff;
886 if (!(word0(&rv) & Lsb1))
889 else if (!(word1(&rv) & Lsb))
892 if (!(word1(&rv) & LSB))
898 dval(&rv) += sulp(&rv, scale);
900 dval(&rv) += ulp(&rv);
905 dval(&rv) -= sulp(&rv, scale);
907 dval(&rv) -= ulp(&rv);
910 if (!dval(&rv))
923 else if (word1(&rv) || word0(&rv) & Bndry_mask) {
925 if (word1(&rv) == Tiny1 && !word0(&rv))
959 y = word0(&rv) & Exp_mask;
964 dval(&rv0) = dval(&rv);
965 word0(&rv) -= P*Exp_msk1;
966 dval(&adj) = dval(&aadj1) * ulp(&rv);
967 dval(&rv) += dval(&adj);
968 if ((word0(&rv) & Exp_mask) >=
972 word0(&rv) = Big0;
973 word1(&rv) = Big1;
977 word0(&rv) += P*Exp_msk1;
990 dval(&adj) = dval(&aadj1) * ulp(&rv);
991 dval(&rv) += dval(&adj);
994 if ((word0(&rv) & Exp_mask) <= P*Exp_msk1) {
995 dval(&rv0) = dval(&rv);
996 word0(&rv) += P*Exp_msk1;
997 dval(&adj) = dval(&aadj1) * ulp(&rv);
998 dval(&rv) += dval(&adj);
1000 if ((word0(&rv) & Exp_mask) < P*Exp_msk1)
1002 if ((word0(&rv) & Exp_mask) <= P*Exp_msk1)
1008 word0(&rv) = Tiny0;
1009 word1(&rv) = Tiny1;
1013 word0(&rv) -= P*Exp_msk1;
1016 dval(&adj) = dval(&aadj1) * ulp(&rv);
1017 dval(&rv) += dval(&adj);
1021 * correctly round rv + dval(&adj) in some half-way cases.
1022 * If rv * ulp(&rv) is denormalized (i.e.,
1032 dval(&adj) = dval(&aadj1) * ulp(&rv);
1033 dval(&rv) += adj;
1037 z = word0(&rv) & Exp_mask;
1047 if (dsign || word1(&rv) || word0(&rv) & Bndry_mask) {
1081 dval(&rv) *= dval(&rv0);
1085 if (!(word0(&rv) & Exp_mask))
1087 if (word0(&rv) == 0 && word1(&rv) == 0)
1094 if (inexact && !(word0(&rv) & Exp_mask)) {
1103 return sign ? -dval(&rv) : dval(&rv);