Lines Matching refs:rv

580 	Bigint *rv;  local
588 if (k <= Kmax && (rv = freelist[k]))
589 freelist[k] = rv->next;
593 rv = (Bigint *)MALLOC(sizeof(Bigint) + (x-1)*sizeof(ULong));
594 if (!rv) {
602 rv = (Bigint*)pmem_next;
606 rv = (Bigint*)MALLOC(len*sizeof(double));
607 if (!rv) {
612 rv->k = k;
613 rv->maxwds = x;
616 rv->sign = rv->wds = 0;
617 return rv;
2162 int rv = hi0bits(b->x[b->wds-1]) - 4; local
2164 rv -= p2;
2165 return rv & kmask;
2302 double rv; local
2305 rv = ulp(x);
2307 return rv; /* Is there an example where i <= 0 ? */
2310 return rv * u.d;
2318 (rv, s0, bc) in bigcomp() argument
2319 U *rv; CONST char *s0; BCinfo *bc; in bigcomp()
2321 (U *rv, const char *s0, BCinfo *bc)
2333 if (rv->d == 0.) { /* special case: value near underflow-to-zero */
2339 word0(rv) = (P+2) << Exp_shift;
2341 word1(rv) = 1;
2356 b = d2b(rv, &p2, &bbits);
2370 word0(rv) = (1 + bc->scale) << Exp_shift;
2372 word0(rv) = Exp_msk1;
2374 word1(rv) = 0;
2473 dval(rv) += 2.*sulp(rv,bc);
2485 rv->d = 0.;
2490 dval(rv) -= sulp(rv,bc);
2495 dval(rv) += sulp(rv,bc);
2500 if ((j = ((word0(rv) & Exp_mask) >> Exp_shift) - bc->scale) <= 0) {
2503 if (word1(rv) & (0x1 << i))
2506 else if (word0(rv) & (0x1 << (i-32)))
2509 else if (word1(rv) & 1) {
2537 U aadj2, adj, rv, rv0; local
2567 dval(&rv) = 0.;
2595 gethex(&s, &rv, bc.rounding, sign);
2597 gethex(&s, &rv, 1, sign);
2731 word0(&rv) = 0x7ff00000;
2732 word1(&rv) = 0;
2739 word0(&rv) = NAN_WORD0;
2740 word1(&rv) = NAN_WORD1;
2743 hexnan(&rv, &s);
2765 dval(&rv) = y;
2771 dval(&rv) = tens[k - 9] * dval(&rv) + z;
2792 rv.d = -rv.d;
2796 /* rv = */ rounded_product(dval(&rv), tens[e]);
2808 rv.d = -rv.d;
2813 dval(&rv) *= tens[i];
2819 word0(&rv) -= P*Exp_msk1;
2820 /* rv = */ rounded_product(dval(&rv), tens[e]);
2821 if ((word0(&rv) & Exp_mask)
2824 word0(&rv) += P*Exp_msk1;
2826 /* rv = */ rounded_product(dval(&rv), tens[e]);
2836 rv.d = -rv.d;
2840 /* rv = */ rounded_quotient(dval(&rv), tens[-e]);
2872 dval(&rv) *= tens[i];
2882 word0(&rv) = Big0;
2883 word1(&rv) = Big1;
2886 word0(&rv) = Exp_mask;
2887 word1(&rv) = 0;
2890 word0(&rv) = Exp_mask;
2891 word1(&rv) = 0;
2899 word0(&rv) = Big0;
2900 word1(&rv) = Big1;
2918 dval(&rv) *= bigtens[j];
2920 word0(&rv) -= P*Exp_msk1;
2921 dval(&rv) *= bigtens[j];
2922 if ((z = word0(&rv) & Exp_mask)
2928 word0(&rv) = Big0;
2929 word1(&rv) = Big1;
2932 word0(&rv) += P*Exp_msk1;
2938 dval(&rv) /= tens[i];
2947 dval(&rv) *= tinytens[j];
2948 if (bc.scale && (j = 2*P + 1 - ((word0(&rv) & Exp_mask)
2954 word1(&rv) = 0;
2956 word0(&rv) = (P+2)*Exp_msk1;
2958 word0(&rv) &= 0xffffffff << (j-32);
2961 word1(&rv) &= 0xffffffff << j;
2966 dval(&rv) *= tinytens[j];
2968 dval(&rv0) = dval(&rv);
2969 dval(&rv) *= tinytens[j];
2970 if (!dval(&rv)) {
2971 dval(&rv) = 2.*dval(&rv0);
2972 dval(&rv) *= tinytens[j];
2974 if (!dval(&rv)) {
2976 dval(&rv) = 0.;
2980 word0(&rv) = Tiny0;
2981 word1(&rv) = Tiny1;
3031 bb = d2b(&rv, &bbe, &bbbits); /* rv = bb * 2^bbe */
3152 if (!word1(&rv)
3153 && !(word0(&rv) & Frac_mask)) {
3154 y = word0(&rv) & Exp_mask;
3168 if (bc.scale && (y = word0(&rv) & Exp_mask)
3173 if ((word0(&rv) & Exp_mask) <=
3175 word0(&rv) += P*Exp_msk1;
3176 dval(&rv) += adj.d*ulp(dval(&rv));
3177 word0(&rv) -= P*Exp_msk1;
3182 dval(&rv) += adj.d*ulp(&rv);
3199 if (bc.scale && (y = word0(&rv) & Exp_mask) <= 2*P*Exp_msk1)
3203 if ((word0(&rv) & Exp_mask) <= P*Exp_msk1) {
3204 word0(&rv) += P*Exp_msk1;
3205 adj.d *= ulp(dval(&rv));
3207 dval(&rv) += adj.d;
3209 dval(&rv) -= adj.d;
3210 word0(&rv) -= P*Exp_msk1;
3215 adj.d *= ulp(&rv);
3217 if (word0(&rv) == Big0 && word1(&rv) == Big1)
3219 dval(&rv) += adj.d;
3222 dval(&rv) -= adj.d;
3231 if (bc.dsign || word1(&rv) || word0(&rv) & Bndry_mask
3234 || (word0(&rv) & Exp_mask) <= (2*P+1)*Exp_msk1
3236 || (word0(&rv) & Exp_mask) <= Exp_msk1
3261 if ((word0(&rv) & Bndry_mask1) == Bndry_mask1
3262 && word1(&rv) == (
3264 (bc.scale && (y = word0(&rv) & Exp_mask) <= 2*P*Exp_msk1)
3269 if (word0(&rv) == Big0 && word1(&rv) == Big1)
3271 word0(&rv) = (word0(&rv) & Exp_mask)
3277 word1(&rv) = 0;
3284 else if (!(word0(&rv) & Bndry_mask) && !word1(&rv)) {
3288 L = word0(&rv) & Exp_mask;
3309 L = word0(&rv) & Exp_mask;
3324 L = (word0(&rv) & Exp_mask) - Exp_msk1;
3326 word0(&rv) = L | Bndry_mask1;
3327 word1(&rv) = 0xffffffff;
3341 if (!(word0(&rv) & Lsb1))
3344 else if (!(word1(&rv) & Lsb))
3347 if (!(word1(&rv) & LSB))
3353 dval(&rv) += sulp(&rv, &bc);
3355 dval(&rv) += ulp(&rv);
3360 dval(&rv) -= sulp(&rv, &bc);
3362 dval(&rv) -= ulp(&rv);
3365 if (!dval(&rv)) {
3383 else if (word1(&rv) || word0(&rv) & Bndry_mask) {
3385 if (word1(&rv) == Tiny1 && !word0(&rv)) {
3424 y = word0(&rv) & Exp_mask;
3429 dval(&rv0) = dval(&rv);
3430 word0(&rv) -= P*Exp_msk1;
3431 adj.d = aadj1 * ulp(&rv);
3432 dval(&rv) += adj.d;
3433 if ((word0(&rv) & Exp_mask) >=
3437 word0(&rv) = Big0;
3438 word1(&rv) = Big1;
3442 word0(&rv) += P*Exp_msk1;
3456 adj.d = aadj1 * ulp(&rv);
3457 dval(&rv) += adj.d;
3458 if (rv.d == 0.)
3469 adj.d = aadj1 * ulp(&rv);
3470 dval(&rv) += adj.d;
3474 if ((word0(&rv) & Exp_mask) <= P*Exp_msk1) {
3475 dval(&rv0) = dval(&rv);
3476 word0(&rv) += P*Exp_msk1;
3477 adj.d = aadj1 * ulp(&rv);
3478 dval(&rv) += adj.d;
3480 if ((word0(&rv) & Exp_mask) < P*Exp_msk1)
3482 if ((word0(&rv) & Exp_mask) <= P*Exp_msk1)
3493 word0(&rv) = Tiny0;
3494 word1(&rv) = Tiny1;
3498 word0(&rv) -= P*Exp_msk1;
3501 adj.d = aadj1 * ulp(&rv);
3502 dval(&rv) += adj.d;
3517 adj.d = aadj1 * ulp(&rv);
3518 dval(&rv) += adj.d;
3522 z = word0(&rv) & Exp_mask;
3533 if (bc.dsign || word1(&rv) || word0(&rv) & Bndry_mask) {
3557 bigcomp(&rv, s0, &bc);
3558 y = word0(&rv) & Exp_mask;
3561 if (y == 0 && rv.d == 0.)
3580 dval(&rv) *= dval(&rv0);
3584 if (!(word0(&rv) & Exp_mask))
3586 if (word0(&rv) == 0 && word1(&rv) == 0)
3593 if (bc.inexact && !(word0(&rv) & Exp_mask)) {
3602 return sign ? -dval(&rv) : dval(&rv);
3639 char *rv, *t; local
3641 t = rv = rv_alloc(n);
3645 return rv;