• Home
  • Raw
  • Download

Lines Matching refs:residue

527   Int   residue;                   /* rounding residue  */  in uprv_decNumberFromString()  local
719 residue=0; in uprv_decNumberFromString()
720 decSetCoeff(dn, set, res, d, &residue, &status); in uprv_decNumberFromString()
722 decFinalize(dn, set, &residue, &status); in uprv_decNumberFromString()
728 residue=0; in uprv_decNumberFromString()
729 decFinalize(dn, set, &residue, &status); in uprv_decNumberFromString()
1463 Int residue=0; /* (no residue) */ in uprv_decNumberLog10() local
1468 decCopyFit(w, rhs, &aset, &residue, &copystat); /* copy & shorten */ in uprv_decNumberLog10()
1476 residue=0; in uprv_decNumberLog10()
1477 decCopyFit(res, w, set, &residue, &status); /* copy & round */ in uprv_decNumberLog10()
1478 decFinish(res, set, &residue, &status); /* cleanup/set flags */ in uprv_decNumberLog10()
1989 Int residue=0; /* rounding residue */ in uprv_decNumberPower() local
2262 decFinalize(dac, set, &residue, &status); in uprv_decNumberPower()
2277 decCopyFit(res, dac, set, &residue, &status); in uprv_decNumberPower()
2278 decFinish(res, set, &residue, &status); /* final cleanup */ in uprv_decNumberPower()
2346 Int residue=0; /* as usual */ in uprv_decNumberReduce() local
2373 decCopyFit(res, rhs, set, &residue, &status); /* copy & round */ in uprv_decNumberReduce()
2374 decFinish(res, set, &residue, &status); /* cleanup/set flags */ in uprv_decNumberReduce()
2643 Int residue; /* work */ in uprv_decNumberScaleB() local
2666 residue=0; in uprv_decNumberScaleB()
2667 decFinalize(res, set, &residue, &status); /* .. and check */ in uprv_decNumberScaleB()
2835 Int residue=0; /* rounding residue */ in uprv_decNumberSquareRoot() local
2901 decFinish(res, set, &residue, &status); in uprv_decNumberSquareRoot()
3021 residue=0; /* .. and accumulator */ in uprv_decNumberSquareRoot()
3022 decCopyFit(a, a, &approxset, &residue, &rstatus); /* reduce (if needed) */ in uprv_decNumberSquareRoot()
3023 decFinish(a, &approxset, &residue, &rstatus); /* clean and finalize */ in uprv_decNumberSquareRoot()
3842 Int residue; /* rounding accumulator */ in decAddOp() local
3904 residue=0; /* clear accumulator */ in decAddOp()
3905 decCopyFit(res, rhs, set, &residue, status); /* copy (as needed) */ in decAddOp()
3933 decFinish(res, set, &residue, status); /* clean and finalize */ in decAddOp()
3940 residue=0; /* clear accumulator */ in decAddOp()
3941 decCopyFit(res, lhs, set, &residue, status); /* copy (as needed) */ in decAddOp()
3959 decFinish(res, set, &residue, status); /* clean and finalize */ in decAddOp()
4034 residue=1; /* residue for rounding */ in decAddOp()
4035 if (diffsign) residue=-residue; /* signs differ */ in decAddOp()
4037 decCopyFit(res, rhs, set, &residue, status); in decAddOp()
4045 decFinish(res, set, &residue, status); /* done */ in decAddOp()
4108 residue=0; /* clear accumulator */ in decAddOp()
4117 decSetCoeff(res, set, acc, res->digits, &residue, status); in decAddOp()
4139 decSetCoeff(res, set, acc, res->digits, &residue, status); in decAddOp()
4142 if (residue!=0) { in decAddOp()
4143 decApplyRound(res, set, residue, status); in decAddOp()
4144 residue=0; /* did what needed to be done */ in decAddOp()
4154 decFinish(res, set, &residue, status); in decAddOp()
4279 Int residue; /* for rounding */ in decDivideOp() local
4335 residue=0; in decDivideOp()
4338 decCopyFit(res, lhs, set, &residue, status); in decDivideOp()
4350 decFinish(res, set, &residue, status); in decDivideOp()
4378 residue=0; in decDivideOp()
4383 decFinalize(res, set, &residue, status); /* check exponent */ in decDivideOp()
4422 residue=0; in decDivideOp()
4423 decCopyFit(res, lhs, set, &residue, status); in decDivideOp()
4424 decFinish(res, set, &residue, status); in decDivideOp()
4646 residue=0; /* assume no residue */ in decDivideOp()
4649 if (*var1!=0 || var1units>1) residue=1; in decDivideOp()
4707 decFinish(res, set, &residue, status); /* might clamp */ in decDivideOp()
4812 decSetCoeff(res, set, accnext, accdigits, &residue, status); in decDivideOp()
4814 decFinish(res, set, &residue, status); /* final cleanup */ in decDivideOp()
4873 Int residue=0; /* rounding residue */ in decMultiplyOp() local
5167 decSetCoeff(res, set, acc, res->digits, &residue, status); in decMultiplyOp()
5168 decFinish(res, set, &residue, status); /* final cleanup */ in decMultiplyOp()
5267 Int residue; /* rounding residue */ in decExpOp() local
5520 residue=1; /* indicate dirt to right .. */ in decExpOp()
5521 if (ISZERO(a)) residue=0; /* .. unless underflowed to 0 */ in decExpOp()
5523 decCopyFit(res, a, &aset, &residue, status); /* copy & shorten */ in decExpOp()
5524 decFinish(res, set, &residue, status); /* cleanup/set flags */ in decExpOp()
5630 Int residue; /* rounding residue */ local
5744 residue=0; /* (no residue) */
5746 decCopyFit(b, rhs, &aset, &residue, &ignore); /* copy & shorten */
5835 residue=1; /* indicate dirt to right */
5836 if (ISZERO(a)) residue=0; /* .. unless underflowed to 0 */
5838 decCopyFit(res, a, &aset, &residue, status); /* copy & shorten */
5839 decFinish(res, set, &residue, status); /* cleanup/set flags */
5883 Int residue=0; /* rounding residue */ local
5964 decCopyFit(res, lhs, &workset, &residue, status); /* fit to result */
5965 decApplyRound(res, &workset, residue, status); /* .. and round */
5966 residue=0; /* [used] */
6004 decFinalize(res, set, &residue, status); /* set subnormal flags */
6155 Int residue=0; /* rounding accumulator */ local
6188 decCopyFit(res, choice, set, &residue, status);
6189 decFinish(res, set, &residue, status);
6853 Int residue=0; /* rounding accumulator */ local
6863 decCopyFit(res, dn, set, &residue, &newstatus);
6864 decApplyRound(res, set, residue, &newstatus);
6886 decContext *set, Int *residue, uInt *status) { argument
6889 decSetCoeff(dest, set, src->lsu, src->digits, residue, status);
6932 Int len, Int *residue, uInt *status) { argument
6953 if (*residue!=0) *status|=(DEC_Inexact | DEC_Rounded);
6960 if (*residue>1) *residue=1; /* previous residue now to right, so reduce */
6965 if (*residue<=0) { /* not already positive */
6968 *residue=1;
6972 if (*residue!=0) *status|=DEC_Inexact; /* record inexactitude */
6988 if (*up!=0) *residue=1;
6997 if (*up>half) *residue=7;
6998 else *residue+=5; /* add sticky bit */
7001 if (*up!=0) *residue=3; /* [else is 0, leave as sticky bit] */
7030 if (rem!=0) *residue=1;
7044 *residue+=resmap[discard1];
7077 if (*residue!=0) *status|=DEC_Inexact; /* record inexactitude */
7113 static void decApplyRound(decNumber *dn, decContext *set, Int residue, argument
7118 if (residue==0) return; /* nothing to apply */
7131 if (residue<0 && lsd5!=1) bump=-1;
7132 else if (residue>0 && lsd5==0) bump=1;
7138 if (residue<0) bump=-1;
7142 if (residue>5) bump=1;
7146 if (residue>5) bump=1; /* >0.5 goes up */
7147 else if (residue==5) { /* exactly 0.5000... */
7154 if (residue>=5) bump=1;
7158 if (residue>0) bump=1;
7165 if (residue<0) bump=-1;
7168 if (residue>0) bump=1;
7176 if (residue<0) bump=-1;
7179 if (residue>0) bump=1;
7282 static void decFinish(decNumber *dn, decContext *set, Int *residue, argument
7299 decFinalize(dn, set, residue, status);
7317 static void decFinalize(decNumber *dn, decContext *set, Int *residue, argument
7334 decSetSubnormal(dn, set, residue, status);
7346 if (*residue<0 && comp==0) { /* neg residue and dn==Nmin */
7347 decApplyRound(dn, set, *residue, status); /* might force down */
7348 decSetSubnormal(dn, set, residue, status);
7354 if (*residue!=0) decApplyRound(dn, set, *residue, status);
7471 static void decSetSubnormal(decNumber *dn, decContext *set, Int *residue, argument
7493 if (*residue!=0) {
7494 printf("++ Subnormal 0 residue %ld\n", (LI)*residue);
7521 decSetCoeff(dn, &workset, dn->lsu, dn->digits, residue, status);
7522 decApplyRound(dn, &workset, *residue, status);