Home | History | Annotate | Download | only in dmg_fp

Lines Matching defs:bc

2228 	(rv, s0, bc)
2229 U *rv; CONST char *s0; BCinfo *bc;
2231 (U *rv, CONST char *s0, BCinfo *bc)
2237 dsign = bc->dsign;
2238 nd = bc->nd;
2239 nd0 = bc->nd0;
2240 p5 = nd + bc->e0 - 1;
2255 if (bc->rounding == 1)
2268 p2 -= bc->scale;
2280 word0(rv) = (1 + bc->scale) << Exp_shift;
2290 if (bc->rounding != 1) {
2349 for(j = bc->dp1; i++ < nd;) {
2366 if (bc->rounding != 1) {
2368 if (bc->rounding == 0) {
2376 if (bc->rounding == 0) {
2386 bc->inexact = 0;
2439 BCinfo bc;
2446 bc.rounding = Flt_Rounds;
2448 bc.rounding = 1;
2450 case FE_TOWARDZERO: bc.rounding = 0; break;
2451 case FE_UPWARD: bc.rounding = 2; break;
2452 case FE_DOWNWARD: bc.rounding = 3;
2460 sign = nz0 = nz = bc.dplen = bc.uflchk = 0;
2489 gethex(&s, &rv, bc.rounding, sign);
2509 bc.dp0 = bc.dp1 = s - s0;
2531 bc.dp1 = s - s0;
2532 bc.dplen = bc.dp1 - bc.dp0;
2604 if (!bc.dplen)
2636 bc.e0 = e1 = e -= nf;
2729 bc.inexact = 1;
2734 bc.scale = 0;
2737 if (bc.rounding >= 2) {
2739 bc.rounding = bc.rounding == 2 ? 0 : 2;
2741 if (bc.rounding != 2)
2742 bc.rounding = 0;
2761 switch(bc.rounding) {
2815 bc.scale = 2*P;
2819 if (bc.scale && (j = 2*P + 1 - ((word0(&rv) & Exp_mask)
2866 bc.nd = nd;
2868 bc.nd0 = nd0; /* Only needed if nd > strtod_diglim, but done here */
2869 /* to silence an erroneous warning about bc.nd0 */
2877 j += bc.dplen;
2879 if (--j <= bc.dp1 && j >= bc.dp0)
2880 j = bc.dp0 - 1;
2893 for(j = bc.dp1; i < nd; ++i)
2898 bd0 = s2b(s0, nd0, nd, y, bc.dplen);
2920 if (bc.rounding != 1)
2924 j = bbe - bc.scale;
2949 bd2 += bc.scale;
2974 bc.dsign = delta->sign;
2978 if (bc.nd > nd && i <= 0) {
2979 if (bc.dsign)
2982 if (bc.rounding != 1) {
2989 bc.nd = nd;
2995 if (bc.rounding != 1) {
3001 bc.inexact = 0;
3005 if (bc.rounding) {
3006 if (bc.dsign) {
3011 else if (!bc.dsign) {
3017 if (!bc.scale || y > 2*P*Exp_msk1)
3029 if (bc.scale && (y = word0(&rv) & Exp_mask)
3054 if (!((bc.rounding>>1) ^ bc.dsign))
3060 if (bc.scale && (y = word0(&rv) & Exp_mask) <= 2*P*Exp_msk1)
3067 if (bc.dsign)
3077 if (bc.dsign) {
3092 if (bc.dsign || word1(&rv) || word0(&rv) & Bndry_mask
3103 bc.inexact = 0;
3110 bc.inexact = 0;
3121 if (bc.dsign) {
3125 (bc.scale && (y = word0(&rv) & Exp_mask) <= 2*P*Exp_msk1)
3138 bc.dsign = 0;
3152 if (L <= (bc.scale ? (2*P+1)*Exp_msk1 : Exp_msk1))
3158 if (bc.nd >nd) {
3159 bc.uflchk = 1;
3167 if (bc.scale) {
3175 if (bc.nd >nd) {
3176 bc.uflchk = 1;
3197 if (bc.dsign)
3204 if (bc.nd >nd) {
3205 bc.uflchk = 1;
3213 bc.dsign = 1 - bc.dsign;
3219 if (bc.dsign)
3224 if (bc.nd >nd) {
3225 bc.uflchk = 1;
3247 aadj1 = bc.dsign ? aadj : -aadj;
3249 switch(bc.rounding) {
3284 if (bc.scale && y <= 2*P*Exp_msk1) {
3289 aadj1 = bc.dsign ? aadj : -aadj;
3312 if (bc.nd >nd) {
3313 bc.uflchk = 1;
3339 if (!bc.dsign)
3349 if (bc.nd == nd) {
3351 if (!bc.scale)
3358 if (bc.dsign || word1(&rv) || word0(&rv) & Bndry_mask) {
3379 if (bc.nd > nd)
3380 bigcomp(&rv, s0, &bc);
3383 if (bc.inexact) {
3394 if (bc.scale) {
3410 if (bc.inexact && !(word0(&rv) & Exp_mask)) {