set 156 src/decNumber/decDouble.h # define decDoubleFromNumber(dq, dn, set) decimal64FromNumber((decimal64 *)(dq), dn, set) set 325 src/decNumber/decNumber.c Int decNumberToInt32(const decNumber *dn, decContext *set) { set 353 src/decNumber/decNumber.c (void)decContextSetStatus(set, DEC_Invalid_operation); // [may not return] set 357 src/decNumber/decNumber.c uInt decNumberToUInt32(const decNumber *dn, decContext *set) { set 379 src/decNumber/decNumber.c (void)decContextSetStatus(set, DEC_Invalid_operation); // [may not return] set 428 src/decNumber/decNumber.c decContext *set) { set 476 src/decNumber/decNumber.c if (!set->extended) break; // hopeless set 513 src/decNumber/decNumber.c if (d>set->digits-1) { set 516 src/decNumber/decNumber.c if (set->clamp) break; set 517 src/decNumber/decNumber.c if (d>set->digits) break; set 570 src/decNumber/decNumber.c if (*cfirst=='0' && !set->extended) { set 584 src/decNumber/decNumber.c if (d<=set->digits) res=dn->lsu; // fits into supplied decNumber set 630 src/decNumber/decNumber.c if (d>set->digits) { set 632 src/decNumber/decNumber.c decSetCoeff(dn, set, res, d, &residue, &status); set 634 src/decNumber/decNumber.c decFinalize(dn, set, &residue, &status); set 638 src/decNumber/decNumber.c if ((dn->exponent-1<set->emin-dn->digits) set 639 src/decNumber/decNumber.c || (dn->exponent-1>set->emax-set->digits)) { set 641 src/decNumber/decNumber.c decFinalize(dn, set, &residue, &status); set 648 src/decNumber/decNumber.c if (status!=0) decStatus(dn, status, set); set 672 src/decNumber/decNumber.c decContext *set) { set 678 src/decNumber/decNumber.c decAddOp(res, &dzero, rhs, set, (uByte)(rhs->bits & DECNEG), &status); set 679 src/decNumber/decNumber.c if (status!=0) decStatus(res, status, set); set 697 src/decNumber/decNumber.c const decNumber *rhs, decContext *set) { set 699 src/decNumber/decNumber.c decAddOp(res, lhs, rhs, set, 0, &status); set 700 src/decNumber/decNumber.c if (status!=0) decStatus(res, status, set); set 720 src/decNumber/decNumber.c const decNumber *rhs, decContext *set) { set 728 src/decNumber/decNumber.c decStatus(res, DEC_Invalid_operation, set); set 738 src/decNumber/decNumber.c msuc=uc+D2U(set->digits)-1; // -> msu of result set 739 src/decNumber/decNumber.c msudigs=MSUDIGITS(set->digits); // [faster than remainder] set 758 src/decNumber/decNumber.c decStatus(res, DEC_Invalid_operation, set); set 785 src/decNumber/decNumber.c const decNumber *rhs, decContext *set) { set 787 src/decNumber/decNumber.c decCompareOp(res, lhs, rhs, set, COMPARE, &status); set 788 src/decNumber/decNumber.c if (status!=0) decStatus(res, status, set); set 805 src/decNumber/decNumber.c const decNumber *rhs, decContext *set) { set 807 src/decNumber/decNumber.c decCompareOp(res, lhs, rhs, set, COMPSIG, &status); set 808 src/decNumber/decNumber.c if (status!=0) decStatus(res, status, set); set 826 src/decNumber/decNumber.c const decNumber *rhs, decContext *set) { set 828 src/decNumber/decNumber.c decCompareOp(res, lhs, rhs, set, COMPTOTAL, &status); set 829 src/decNumber/decNumber.c if (status!=0) decStatus(res, status, set); set 847 src/decNumber/decNumber.c const decNumber *rhs, decContext *set) { set 886 src/decNumber/decNumber.c decCompareOp(res, lhs, rhs, set, COMPTOTAL, &status); set 891 src/decNumber/decNumber.c if (status!=0) decStatus(res, status, set); set 908 src/decNumber/decNumber.c const decNumber *rhs, decContext *set) { set 910 src/decNumber/decNumber.c decDivideOp(res, lhs, rhs, set, DIVIDE, &status); set 911 src/decNumber/decNumber.c if (status!=0) decStatus(res, status, set); set 928 src/decNumber/decNumber.c const decNumber *rhs, decContext *set) { set 930 src/decNumber/decNumber.c decDivideOp(res, lhs, rhs, set, DIVIDEINT, &status); set 931 src/decNumber/decNumber.c if (status!=0) decStatus(res, status, set); set 961 src/decNumber/decNumber.c decContext *set) { set 971 src/decNumber/decNumber.c if (!decCheckMath(rhs, set, &status)) do { // protect allocation set 973 src/decNumber/decNumber.c if (!set->extended) { set 975 src/decNumber/decNumber.c if (rhs->digits>set->digits) { set 976 src/decNumber/decNumber.c allocrhs=decRoundOperand(rhs, set, &status); set 982 src/decNumber/decNumber.c decExpOp(res, rhs, set, &status); set 989 src/decNumber/decNumber.c if (status!=0) decStatus(res, status, set); set 1011 src/decNumber/decNumber.c decContext *set) { set 1022 src/decNumber/decNumber.c if (!set->extended) { // [undefined if subset] set 1027 src/decNumber/decNumber.c if ((!decNumberIsSpecial(lhs) && decCheckMath(lhs, set, &status)) set 1028 src/decNumber/decNumber.c || (!decNumberIsSpecial(rhs) && decCheckMath(rhs, set, &status)) set 1029 src/decNumber/decNumber.c || (!decNumberIsSpecial(fhs) && decCheckMath(fhs, set, &status))) break; set 1031 src/decNumber/decNumber.c dcmul=*set; set 1065 src/decNumber/decNumber.c decAddOp(res, acc, fhs, set, 0, &status); set 1069 src/decNumber/decNumber.c if (status!=0) decStatus(res, status, set); set 1088 src/decNumber/decNumber.c decContext *set) { set 1094 src/decNumber/decNumber.c decStatus(res, DEC_Invalid_operation, set); set 1101 src/decNumber/decNumber.c msuc=uc+D2U(set->digits)-1; // -> msu of result set 1102 src/decNumber/decNumber.c msudigs=MSUDIGITS(set->digits); // [faster than remainder] set 1116 src/decNumber/decNumber.c decStatus(res, DEC_Invalid_operation, set); set 1158 src/decNumber/decNumber.c decContext *set) { set 1166 src/decNumber/decNumber.c if (!decCheckMath(rhs, set, &status)) do { // protect allocation set 1168 src/decNumber/decNumber.c if (!set->extended) { set 1170 src/decNumber/decNumber.c if (rhs->digits>set->digits) { set 1171 src/decNumber/decNumber.c allocrhs=decRoundOperand(rhs, set, &status); set 1181 src/decNumber/decNumber.c decLnOp(res, rhs, set, &status); set 1188 src/decNumber/decNumber.c if (status!=0) decStatus(res, status, set); set 1217 src/decNumber/decNumber.c decContext *set) { set 1221 src/decNumber/decNumber.c if (decNumberIsNaN(rhs)) decNaNs(res, rhs, NULL, set, &status); set 1230 src/decNumber/decNumber.c if (set->digits>=10) decNumberFromInt32(res, ae); // lay it out set 1235 src/decNumber/decNumber.c decNumberPlus(res, t, set); // round as necessary set 1239 src/decNumber/decNumber.c if (status!=0) decStatus(res, status, set); set 1275 src/decNumber/decNumber.c decContext *set) { set 1299 src/decNumber/decNumber.c decNumberPlus(res, rhs, set); set 1305 src/decNumber/decNumber.c if (!decCheckMath(rhs, set, &status)) do { // protect malloc set 1307 src/decNumber/decNumber.c if (!set->extended) { set 1309 src/decNumber/decNumber.c if (rhs->digits>set->digits) { set 1310 src/decNumber/decNumber.c allocrhs=decRoundOperand(rhs, set, &status); set 1339 src/decNumber/decNumber.c decCopyFit(res, w, set, &residue, &status); // copy & round set 1340 src/decNumber/decNumber.c decFinish(res, set, &residue, &status); // cleanup/set flags set 1352 src/decNumber/decNumber.c p=(rhs->digits+t>set->digits?rhs->digits+t:set->digits)+3; set 1375 src/decNumber/decNumber.c p=set->digits+3; set 1395 src/decNumber/decNumber.c aset.digits=set->digits; // for final divide set 1405 src/decNumber/decNumber.c if (status!=0) decStatus(res, status, set); set 1422 src/decNumber/decNumber.c const decNumber *rhs, decContext *set) { set 1424 src/decNumber/decNumber.c decCompareOp(res, lhs, rhs, set, COMPMAX, &status); set 1425 src/decNumber/decNumber.c if (status!=0) decStatus(res, status, set); set 1442 src/decNumber/decNumber.c const decNumber *rhs, decContext *set) { set 1444 src/decNumber/decNumber.c decCompareOp(res, lhs, rhs, set, COMPMAXMAG, &status); set 1445 src/decNumber/decNumber.c if (status!=0) decStatus(res, status, set); set 1462 src/decNumber/decNumber.c const decNumber *rhs, decContext *set) { set 1464 src/decNumber/decNumber.c decCompareOp(res, lhs, rhs, set, COMPMIN, &status); set 1465 src/decNumber/decNumber.c if (status!=0) decStatus(res, status, set); set 1482 src/decNumber/decNumber.c const decNumber *rhs, decContext *set) { set 1484 src/decNumber/decNumber.c decCompareOp(res, lhs, rhs, set, COMPMINMAG, &status); set 1485 src/decNumber/decNumber.c if (status!=0) decStatus(res, status, set); set 1504 src/decNumber/decNumber.c decContext *set) { set 1510 src/decNumber/decNumber.c decAddOp(res, &dzero, rhs, set, DECNEG, &status); set 1511 src/decNumber/decNumber.c if (status!=0) decStatus(res, status, set); set 1527 src/decNumber/decNumber.c decContext *set) { set 1529 src/decNumber/decNumber.c decContext workset=*set; // work set 1534 src/decNumber/decNumber.c decSetMaxValue(res, set); // is +ve set 1543 src/decNumber/decNumber.c set->status |= (workset.status&DEC_NaNs); set 1549 src/decNumber/decNumber.c dtiny.exponent=set->emin-set->digits; set 1552 src/decNumber/decNumber.c if (status!=0) decStatus(res, status, set); set 1568 src/decNumber/decNumber.c decContext *set) { set 1570 src/decNumber/decNumber.c decContext workset=*set; // work set 1575 src/decNumber/decNumber.c decSetMaxValue(res, set); set 1585 src/decNumber/decNumber.c set->status |= (workset.status&DEC_NaNs); set 1591 src/decNumber/decNumber.c dtiny.exponent=set->emin-set->digits; set 1594 src/decNumber/decNumber.c if (status!=0) decStatus(res, status, set); set 1613 src/decNumber/decNumber.c const decNumber *rhs, decContext *set) { set 1615 src/decNumber/decNumber.c decContext workset=*set; // work set 1620 src/decNumber/decNumber.c decNaNs(res, lhs, rhs, set, &status); set 1632 src/decNumber/decNumber.c decSetMaxValue(res, set); set 1642 src/decNumber/decNumber.c decSetMaxValue(res, set); set 1654 src/decNumber/decNumber.c if (decNumberIsNormal(res, set)) status=0; set 1658 src/decNumber/decNumber.c if (status!=0) decStatus(res, status, set); set 1678 src/decNumber/decNumber.c const decNumber *rhs, decContext *set) { set 1686 src/decNumber/decNumber.c decStatus(res, DEC_Invalid_operation, set); set 1695 src/decNumber/decNumber.c msuc=uc+D2U(set->digits)-1; // -> msu of result set 1696 src/decNumber/decNumber.c msudigs=MSUDIGITS(set->digits); // [faster than remainder] set 1714 src/decNumber/decNumber.c decStatus(res, DEC_Invalid_operation, set); set 1745 src/decNumber/decNumber.c decContext *set) { set 1751 src/decNumber/decNumber.c decAddOp(res, &dzero, rhs, set, 0, &status); set 1752 src/decNumber/decNumber.c if (status!=0) decStatus(res, status, set); set 1769 src/decNumber/decNumber.c const decNumber *rhs, decContext *set) { set 1771 src/decNumber/decNumber.c decMultiplyOp(res, lhs, rhs, set, &status); set 1772 src/decNumber/decNumber.c if (status!=0) decStatus(res, status, set); set 1803 src/decNumber/decNumber.c const decNumber *rhs, decContext *set) { set 1810 src/decNumber/decNumber.c Int reqdigits=set->digits; // requested DIGITS set 1834 src/decNumber/decNumber.c if (!set->extended) { // reduce operands and set status, as needed set 1836 src/decNumber/decNumber.c alloclhs=decRoundOperand(lhs, set, &status); set 1841 src/decNumber/decNumber.c allocrhs=decRoundOperand(rhs, set, &status); set 1852 src/decNumber/decNumber.c decNaNs(res, lhs, rhs, set, &status); set 1862 src/decNumber/decNumber.c decNumberCompare(dac, lhs, &dnOne, set); // lhs ? 1 set 1869 src/decNumber/decNumber.c Int shift=set->digits-1; set 1915 src/decNumber/decNumber.c if (!set->extended) { // [unless subset] set 1926 src/decNumber/decNumber.c if (!set->extended) { // [bad if subset] set 1946 src/decNumber/decNumber.c if (decCheckMath(lhs, set, &status) set 1947 src/decNumber/decNumber.c || decCheckMath(rhs, set, &status)) break; // variable status set 1964 src/decNumber/decNumber.c aset.digits=MAXI(lhs->digits, set->digits)+6+4; set 1976 src/decNumber/decNumber.c aset=*set; // clone the context set 1984 src/decNumber/decNumber.c if (!set->extended) aset.digits--; // use classic precision set 2013 src/decNumber/decNumber.c Int shift=set->digits-1; set 2036 src/decNumber/decNumber.c if (set->extended) { // need to calculate 1/lhs set 2086 src/decNumber/decNumber.c if (!set->extended && decNumberIsNegative(rhs)) { set 2098 src/decNumber/decNumber.c decFinalize(dac, set, &residue, &status); set 2104 src/decNumber/decNumber.c if (!set->extended && // subset math set 2113 src/decNumber/decNumber.c decCopyFit(res, dac, set, &residue, &status); set 2114 src/decNumber/decNumber.c decFinish(res, set, &residue, &status); // final cleanup set 2116 src/decNumber/decNumber.c if (!set->extended) decTrim(res, set, 0, 1, &dropped); // trailing zeros set 2126 src/decNumber/decNumber.c if (status!=0) decStatus(res, status, set); set 2149 src/decNumber/decNumber.c const decNumber *rhs, decContext *set) { set 2151 src/decNumber/decNumber.c decQuantizeOp(res, lhs, rhs, set, 1, &status); set 2152 src/decNumber/decNumber.c if (status!=0) decStatus(res, status, set); set 2169 src/decNumber/decNumber.c decContext *set) { set 2170 src/decNumber/decNumber.c return decNumberReduce(res, rhs, set); set 2174 src/decNumber/decNumber.c decContext *set) { set 2184 src/decNumber/decNumber.c if (!set->extended) { set 2186 src/decNumber/decNumber.c if (rhs->digits>set->digits) { set 2187 src/decNumber/decNumber.c allocrhs=decRoundOperand(rhs, set, &status); set 2197 src/decNumber/decNumber.c decNaNs(res, rhs, NULL, set, &status); set 2202 src/decNumber/decNumber.c decCopyFit(res, rhs, set, &residue, &status); // copy & round set 2203 src/decNumber/decNumber.c decFinish(res, set, &residue, &status); // cleanup/set flags set 2204 src/decNumber/decNumber.c decTrim(res, set, 1, 0, &dropped); // normalize in place set 2211 src/decNumber/decNumber.c if (status!=0) decStatus(res, status, set);// then report status set 2234 src/decNumber/decNumber.c const decNumber *rhs, decContext *set) { set 2236 src/decNumber/decNumber.c decQuantizeOp(res, lhs, rhs, set, 0, &status); set 2237 src/decNumber/decNumber.c if (status!=0) decStatus(res, status, set); set 2254 src/decNumber/decNumber.c const decNumber *rhs, decContext *set) { set 2256 src/decNumber/decNumber.c decDivideOp(res, lhs, rhs, set, REMAINDER, &status); set 2257 src/decNumber/decNumber.c if (status!=0) decStatus(res, status, set); set 2274 src/decNumber/decNumber.c const decNumber *rhs, decContext *set) { set 2276 src/decNumber/decNumber.c decDivideOp(res, lhs, rhs, set, REMNEAR, &status); set 2277 src/decNumber/decNumber.c if (status!=0) decStatus(res, status, set); set 2307 src/decNumber/decNumber.c const decNumber *rhs, decContext *set) { set 2313 src/decNumber/decNumber.c decNaNs(res, lhs, rhs, set, &status); set 2321 src/decNumber/decNumber.c || abs(rotate)>set->digits) // .. or out of range set 2325 src/decNumber/decNumber.c if (res->digits>set->digits) decDecap(res, res->digits-set->digits); set 2327 src/decNumber/decNumber.c if (rotate<0) rotate=set->digits+rotate; set 2328 src/decNumber/decNumber.c if (rotate!=0 && rotate!=set->digits // zero or full rotation set 2334 src/decNumber/decNumber.c Unit *msumax=res->lsu+D2U(set->digits)-1; //-V778 // rotation msu set 2336 src/decNumber/decNumber.c res->digits=set->digits; // now full-length set 2370 src/decNumber/decNumber.c rotate=set->digits-rotate; // make it right-rotate set 2411 src/decNumber/decNumber.c if (status!=0) decStatus(res, status, set); set 2456 src/decNumber/decNumber.c const decNumber *rhs, decContext *set) { set 2463 src/decNumber/decNumber.c decNaNs(res, lhs, rhs, set, &status); set 2474 src/decNumber/decNumber.c || (abs(reqexp)+1)/2>(set->digits+set->emax)) // .. or out of range set 2488 src/decNumber/decNumber.c decCopyFit(res, res, set, &residue, &status); set 2489 src/decNumber/decNumber.c decFinalize(res, set, &residue, &status); // final check set 2493 src/decNumber/decNumber.c if (status!=0) decStatus(res, status, set); set 2519 src/decNumber/decNumber.c const decNumber *rhs, decContext *set) { set 2525 src/decNumber/decNumber.c decNaNs(res, lhs, rhs, set, &status); set 2533 src/decNumber/decNumber.c || abs(shift)>set->digits) // .. or out of range set 2539 src/decNumber/decNumber.c if (shift==set->digits) { // removing all set 2545 src/decNumber/decNumber.c if (res->digits+shift>set->digits) { set 2546 src/decNumber/decNumber.c decDecap(res, res->digits+shift-set->digits); set 2567 src/decNumber/decNumber.c if (status!=0) decStatus(res, status, set); set 2644 src/decNumber/decNumber.c decContext *set) { set 2678 src/decNumber/decNumber.c if (!set->extended) { set 2680 src/decNumber/decNumber.c if (rhs->digits>set->digits) { set 2681 src/decNumber/decNumber.c allocrhs=decRoundOperand(rhs, set, &status); set 2697 src/decNumber/decNumber.c else decNaNs(res, rhs, NULL, set, &status); // a NaN set 2711 src/decNumber/decNumber.c decFinish(res, set, &residue, &status); set 2728 src/decNumber/decNumber.c workp=MAXI(set->digits+1, rhs->digits); // actual rounding precision set 2827 src/decNumber/decNumber.c approxset=*set; // get emin, emax, etc. set 2894 src/decNumber/decNumber.c decTrim(b, set, 1, 1, &dropped); // [drops trailing zeros] set 2919 src/decNumber/decNumber.c Int maxexp=set->emax-set->digits+1; set 2921 src/decNumber/decNumber.c if (todrop>maxdrop && set->clamp) { // apply clamping set 2945 src/decNumber/decNumber.c if (ae>=set->emin*2) status&=~(DEC_Subnormal|DEC_Underflow); set 2947 src/decNumber/decNumber.c if (ae>=set->emin*2) status&=~DEC_Underflow; set 2962 src/decNumber/decNumber.c if (status!=0) decStatus(res, status, set);// then report status set 2979 src/decNumber/decNumber.c const decNumber *rhs, decContext *set) { set 2982 src/decNumber/decNumber.c decAddOp(res, lhs, rhs, set, DECNEG, &status); set 2983 src/decNumber/decNumber.c if (status!=0) decStatus(res, status, set); set 3009 src/decNumber/decNumber.c decContext *set) { set 3017 src/decNumber/decNumber.c else decNaNs(res, rhs, NULL, set, &status); // a NaN set 3023 src/decNumber/decNumber.c workset=*set; // clone rounding, etc. set 3030 src/decNumber/decNumber.c if (status!=0) decStatus(res, status, set); set 3035 src/decNumber/decNumber.c decContext *set) { set 3036 src/decNumber/decNumber.c decContext workset=*set; // working context set 3041 src/decNumber/decNumber.c set->status|=workset.status&DEC_Invalid_operation; set 3061 src/decNumber/decNumber.c const decNumber *rhs, decContext *set) { set 3069 src/decNumber/decNumber.c decStatus(res, DEC_Invalid_operation, set); set 3078 src/decNumber/decNumber.c msuc=uc+D2U(set->digits)-1; // -> msu of result set 3079 src/decNumber/decNumber.c msudigs=MSUDIGITS(set->digits); // [faster than remainder] set 3097 src/decNumber/decNumber.c decStatus(res, DEC_Invalid_operation, set); set 3121 src/decNumber/decNumber.c enum decClass decNumberClass(const decNumber *dn, decContext *set) { set 3130 src/decNumber/decNumber.c if (decNumberIsNormal(dn, set)) { // most common set 3325 src/decNumber/decNumber.c Int decNumberIsNormal(const decNumber *dn, decContext *set) { set 3332 src/decNumber/decNumber.c if (ae<set->emin) return 0; // is subnormal set 3342 src/decNumber/decNumber.c Int decNumberIsSubnormal(const decNumber *dn, decContext *set) { set 3349 src/decNumber/decNumber.c if (ae<set->emin) return 1; // is subnormal set 3365 src/decNumber/decNumber.c decContext set; // .. set 3366 src/decNumber/decNumber.c decContextDefault(&set, DEC_INIT_BASE); // clamp=0 set 3367 src/decNumber/decNumber.c return decTrim(dn, &set, 0, 1, &dropped); set 3592 src/decNumber/decNumber.c const decNumber *rhs, decContext *set, set 3610 src/decNumber/decNumber.c Int reqdigits=set->digits; // local copy; requested DIGITS set 3615 src/decNumber/decNumber.c if (!set->extended) { set 3618 src/decNumber/decNumber.c alloclhs=decRoundOperand(lhs, set, status); set 3623 src/decNumber/decNumber.c allocrhs=decRoundOperand(rhs, set, status); set 3637 src/decNumber/decNumber.c decNaNs(res, lhs, rhs, set, status); set 3662 src/decNumber/decNumber.c decCopyFit(res, rhs, set, &residue, status); // copy (as needed) set 3665 src/decNumber/decNumber.c if (set->extended) { // exponents on zeros count set 3673 src/decNumber/decNumber.c if (set->round!=DEC_ROUND_FLOOR) res->bits=0; set 3679 src/decNumber/decNumber.c if ((res->digits-adjust)>set->digits) { set 3680 src/decNumber/decNumber.c adjust=res->digits-set->digits; // to fit exactly set 3690 src/decNumber/decNumber.c decFinish(res, set, &residue, status); // clean and finalize set 3699 src/decNumber/decNumber.c decCopyFit(res, lhs, set, &residue, status); // copy (as needed) set 3701 src/decNumber/decNumber.c if (set->extended) { // exponents on zeros count set 3707 src/decNumber/decNumber.c if ((res->digits-adjust)>set->digits) { set 3708 src/decNumber/decNumber.c adjust=res->digits-set->digits; // to fit exactly set 3717 src/decNumber/decNumber.c decFinish(res, set, &residue, status); // clean and finalize set 3731 src/decNumber/decNumber.c && rhs->exponent>=set->emin // [some normals drop through] set 3732 src/decNumber/decNumber.c && rhs->exponent<=set->emax-set->digits+1 // [could clamp] set 3844 src/decNumber/decNumber.c if (set->extended) { // round from first significant digit set 3850 src/decNumber/decNumber.c decSetCoeff(res, set, acc, res->digits, &residue, status); set 3872 src/decNumber/decNumber.c decSetCoeff(res, set, acc, res->digits, &residue, status); set 3876 src/decNumber/decNumber.c decApplyRound(res, set, residue, status); set 3887 src/decNumber/decNumber.c decFinish(res, set, &residue, status); set 3895 src/decNumber/decNumber.c && set->extended set 3898 src/decNumber/decNumber.c if (set->round==DEC_ROUND_FLOOR) res->bits|=DECNEG; // sign - set 3983 src/decNumber/decNumber.c decContext *set, Flag op, uInt *status) { set 4013 src/decNumber/decNumber.c Int reqdigits=set->digits; // requested DIGITS set 4027 src/decNumber/decNumber.c if (!set->extended) { set 4030 src/decNumber/decNumber.c alloclhs=decRoundOperand(lhs, set, status); set 4035 src/decNumber/decNumber.c allocrhs=decRoundOperand(rhs, set, status); set 4048 src/decNumber/decNumber.c decNaNs(res, lhs, rhs, set, status); set 4067 src/decNumber/decNumber.c decCopyFit(res, lhs, set, &residue, status); set 4075 src/decNumber/decNumber.c res->exponent=set->emin-set->digits+1; set 4079 src/decNumber/decNumber.c decFinish(res, set, &residue, status); set 4103 src/decNumber/decNumber.c if (!set->extended) decNumberZero(res); set 4122 src/decNumber/decNumber.c decFinalize(res, set, &residue, status); // check exponent set 4141 src/decNumber/decNumber.c if (set->extended) set 4152 src/decNumber/decNumber.c decCopyFit(res, lhs, set, &residue, status); set 4153 src/decNumber/decNumber.c decFinish(res, set, &residue, status); set 4428 src/decNumber/decNumber.c if (set->extended) set 4432 src/decNumber/decNumber.c decFinish(res, set, &residue, status); // might clamp set 4538 src/decNumber/decNumber.c decSetCoeff(res, set, accnext, accdigits, &residue, status); set 4540 src/decNumber/decNumber.c decFinish(res, set, &residue, status); // final cleanup set 4544 src/decNumber/decNumber.c if (!set->extended && (op==DIVIDE)) decTrim(res, set, 0, 1, &dropped); set 4595 src/decNumber/decNumber.c const decNumber *rhs, decContext *set, set 4661 src/decNumber/decNumber.c decNaNs(res, lhs, rhs, set, status); set 4684 src/decNumber/decNumber.c if (!set->extended) { set 4686 src/decNumber/decNumber.c if (lhs->digits>set->digits) { set 4687 src/decNumber/decNumber.c alloclhs=decRoundOperand(lhs, set, status); set 4691 src/decNumber/decNumber.c if (rhs->digits>set->digits) { set 4692 src/decNumber/decNumber.c allocrhs=decRoundOperand(rhs, set, status); set 4881 src/decNumber/decNumber.c decSetCoeff(res, set, acc, res->digits, &residue, status); set 4882 src/decNumber/decNumber.c decFinish(res, set, &residue, status); // final cleanup set 4977 src/decNumber/decNumber.c decContext *set, uInt *status) { set 5018 src/decNumber/decNumber.c else decNaNs(res, rhs, NULL, set, status); // a NaN set 5042 src/decNumber/decNumber.c d->exponent=-set->digits; // * 10**(-d) set 5049 src/decNumber/decNumber.c Int shift=set->digits-1; set 5061 src/decNumber/decNumber.c aset.emax=set->emax; // usual bounds set 5062 src/decNumber/decNumber.c aset.emin=set->emin; // .. set 5129 src/decNumber/decNumber.c p=MAXI(x->digits, set->digits)+h+2; // [h<=8] set 5221 src/decNumber/decNumber.c aset.digits=set->digits; // [use default rounding] set 5223 src/decNumber/decNumber.c decFinish(res, set, &residue, status); // cleanup/set flags set 5322 src/decNumber/decNumber.c decContext *set, uInt *status) { set 5351 src/decNumber/decNumber.c else decNaNs(res, rhs, NULL, set, status); // a NaN set 5367 src/decNumber/decNumber.c if (rhs->exponent==0 && set->digits<=40) { set 5373 src/decNumber/decNumber.c aset=*set; aset.round=DEC_ROUND_HALF_EVEN; set 5379 src/decNumber/decNumber.c aset=*set; aset.round=DEC_ROUND_HALF_EVEN; set 5391 src/decNumber/decNumber.c p=MAXI(rhs->digits, MAXI(set->digits, 7))+2; set 5459 src/decNumber/decNumber.c aset.emax=set->emax; set 5460 src/decNumber/decNumber.c aset.emin=set->emin; set 5462 src/decNumber/decNumber.c if (rhs->digits > set->digits) { set 5500 src/decNumber/decNumber.c (a->digits+a->exponent)>=(b->digits+b->exponent+set->digits+1)) { set 5525 src/decNumber/decNumber.c aset.digits=set->digits; // [use default rounding] set 5527 src/decNumber/decNumber.c decFinish(res, set, &residue, status); // cleanup/set flags set 5559 src/decNumber/decNumber.c const decNumber *rhs, decContext *set, set 5566 src/decNumber/decNumber.c Int reqdigits=set->digits; // requested DIGITS set 5569 src/decNumber/decNumber.c Int etiny=set->emin-(reqdigits-1); set 5573 src/decNumber/decNumber.c if (!set->extended) { set 5576 src/decNumber/decNumber.c alloclhs=decRoundOperand(lhs, set, status); set 5581 src/decNumber/decNumber.c allocrhs=decRoundOperand(rhs, set, status); set 5593 src/decNumber/decNumber.c decNaNs(res, lhs, rhs, set, status); set 5612 src/decNumber/decNumber.c if (!set->extended) etiny=set->emin; // no subnormals set 5618 src/decNumber/decNumber.c || (reqexp>set->emax)) { // > emax set 5627 src/decNumber/decNumber.c if (!set->extended) res->bits=0; // subset specification; no -0 set 5642 src/decNumber/decNumber.c workset=*set; // clone rounding, etc. set 5662 src/decNumber/decNumber.c if (ISZERO(res) && !set->extended) res->bits=0; // subset; no -0 set 5680 src/decNumber/decNumber.c if (res->exponent>set->emax-res->digits+1) { // too big set 5685 src/decNumber/decNumber.c decFinalize(res, set, &residue, status); // set subnormal flags set 5728 src/decNumber/decNumber.c const decNumber *rhs, decContext *set, set 5739 src/decNumber/decNumber.c if (!set->extended) { set 5741 src/decNumber/decNumber.c if (lhs->digits>set->digits) { set 5742 src/decNumber/decNumber.c alloclhs=decRoundOperand(lhs, set, status); set 5746 src/decNumber/decNumber.c if (rhs->digits>set->digits) { set 5747 src/decNumber/decNumber.c allocrhs=decRoundOperand(rhs, set, status); set 5808 src/decNumber/decNumber.c decNaNs(res, lhs, rhs, set, status); // propagate NaN set 5844 src/decNumber/decNumber.c if (!set->extended) { // subset: force left-hand set 5870 src/decNumber/decNumber.c decCopyFit(res, choice, set, &residue, status); set 5871 src/decNumber/decNumber.c decFinish(res, set, &residue, status); set 6307 src/decNumber/decNumber.c static decNumber * decTrim(decNumber *dn, decContext *set, Flag all, set 6350 src/decNumber/decNumber.c if (set->clamp && !noclamp) { set 6351 src/decNumber/decNumber.c Int maxd=set->emax-set->digits+1-dn->exponent; set 6519 src/decNumber/decNumber.c static decNumber *decRoundOperand(const decNumber *dn, decContext *set, set 6528 src/decNumber/decNumber.c +(D2U(set->digits)-1)*sizeof(Unit)); set 6533 src/decNumber/decNumber.c decCopyFit(res, dn, set, &residue, &newstatus); set 6534 src/decNumber/decNumber.c decApplyRound(res, set, residue, &newstatus); set 6556 src/decNumber/decNumber.c decContext *set, Int *residue, uInt *status) { set 6559 src/decNumber/decNumber.c decSetCoeff(dest, set, src->lsu, src->digits, residue, status); set 6601 src/decNumber/decNumber.c static void decSetCoeff(decNumber *dn, decContext *set, const Unit *lsu, set 6612 src/decNumber/decNumber.c discard=len-set->digits; // digits to discard set 6673 src/decNumber/decNumber.c if (set->digits<=0) { // special for Quantize/Subnormal :-( set 6678 src/decNumber/decNumber.c count=set->digits; // now digits to end up with set 6718 src/decNumber/decNumber.c if (set->digits<=0) { // special for Quantize/Subnormal :-( set 6723 src/decNumber/decNumber.c count=set->digits; // now digits to end up with set 6782 src/decNumber/decNumber.c static void decApplyRound(decNumber *dn, decContext *set, Int residue, set 6792 src/decNumber/decNumber.c switch (set->round) { set 6877 src/decNumber/decNumber.c if ((dn->exponent+dn->digits)>set->emax+1) { set 6878 src/decNumber/decNumber.c decSetOverflow(dn, set, status); set 6908 src/decNumber/decNumber.c if (dn->exponent+1==set->emin-set->digits+1) { //-V584 set 6948 src/decNumber/decNumber.c static void decFinish(decNumber *dn, decContext *set, Int *residue, set 6950 src/decNumber/decNumber.c if (!set->extended) { set 6958 src/decNumber/decNumber.c if (set->digits >= (dn->exponent+dn->digits)) { set 6965 src/decNumber/decNumber.c decFinalize(dn, set, residue, status); set 6983 src/decNumber/decNumber.c static void decFinalize(decNumber *dn, decContext *set, Int *residue, set 6986 src/decNumber/decNumber.c Int tinyexp=set->emin-dn->digits+1; // precalculate subnormal boundary set 7000 src/decNumber/decNumber.c decSetSubnormal(dn, set, residue, status); set 7006 src/decNumber/decNumber.c nmin.exponent=set->emin; set 7013 src/decNumber/decNumber.c decApplyRound(dn, set, *residue, status); // might force down set 7014 src/decNumber/decNumber.c decSetSubnormal(dn, set, residue, status); set 7020 src/decNumber/decNumber.c if (*residue!=0) decApplyRound(dn, set, *residue, status); set 7023 src/decNumber/decNumber.c if (dn->exponent<=set->emax-set->digits+1) return; // neither needed set 7026 src/decNumber/decNumber.c if (dn->exponent>set->emax-dn->digits+1) { // too big set 7027 src/decNumber/decNumber.c decSetOverflow(dn, set, status); set 7031 src/decNumber/decNumber.c if (!set->clamp) return; set 7034 src/decNumber/decNumber.c shift=dn->exponent-(set->emax-set->digits+1); set 7056 src/decNumber/decNumber.c static void decSetOverflow(decNumber *dn, decContext *set, uInt *status) { set 7061 src/decNumber/decNumber.c Int emax=set->emax; // limit value set 7062 src/decNumber/decNumber.c if (set->clamp) emax-=set->digits-1; // lower if clamping set 7071 src/decNumber/decNumber.c switch (set->round) { set 7087 src/decNumber/decNumber.c decSetMaxValue(dn, set); set 7102 src/decNumber/decNumber.c static void decSetMaxValue(decNumber *dn, decContext *set) { set 7104 src/decNumber/decNumber.c Int count=set->digits; // nines to add set 7116 src/decNumber/decNumber.c dn->exponent=set->emax-set->digits+1; set 7136 src/decNumber/decNumber.c static void decSetSubnormal(decNumber *dn, decContext *set, Int *residue, set 7143 src/decNumber/decNumber.c if (!set->extended) { set 7153 src/decNumber/decNumber.c etiny=set->emin-(set->digits-1); // smallest allowed exponent set 7176 src/decNumber/decNumber.c workset=*set; // clone rounding, etc. set 7216 src/decNumber/decNumber.c static uInt decCheckMath(const decNumber *rhs, decContext *set, set 7219 src/decNumber/decNumber.c if (set->digits>DEC_MAX_MATH set 7220 src/decNumber/decNumber.c || set->emax>DEC_MAX_MATH set 7221 src/decNumber/decNumber.c || -set->emin>DEC_MAX_MATH) *status|=DEC_Invalid_context; set 7388 src/decNumber/decNumber.c const decNumber *rhs, decContext *set, set 7403 src/decNumber/decNumber.c if (lhs->digits<=set->digits) decNumberCopy(res, lhs); // easy set 7409 src/decNumber/decNumber.c uresp1=res->lsu+D2U(set->digits); set 7413 src/decNumber/decNumber.c res->digits=D2U(set->digits)*DECDPUN; set 7415 src/decNumber/decNumber.c if (res->digits>set->digits) decDecap(res, res->digits-set->digits); set 7440 src/decNumber/decNumber.c static void decStatus(decNumber *dn, uInt status, decContext *set) { set 7449 src/decNumber/decNumber.c (void)decContextSetStatus(set, status); // [may not return] set 179 src/decNumber/decQuad.h # define decQuadFromNumber(dq, dn, set) \ set 180 src/decNumber/decQuad.h decimal128FromNumber((decimal128 *)(dq), dn, set) set 89 src/decNumber/decSingle.h # define decSingleFromNumber(dq, dn, set) \ set 90 src/decNumber/decSingle.h decimal32FromNumber((decimal32 *)(dq), dn, set) set 302 src/dps8/dps8_decimal.c set 467 src/dps8/dps8_decimal.c set 514 src/dps8/dps8_decimal.c set 542 src/dps8/dps8_decimal.c set 550 src/dps8/dps8_decimal.c set 551 src/dps8/dps8_decimal.c set 553 src/dps8/dps8_decimal.c set 554 src/dps8/dps8_decimal.c set 559 src/dps8/dps8_decimal.c set 575 src/dps8/dps8_decimal.c set 576 src/dps8/dps8_decimal.c set 587 src/dps8/dps8_decimal.c set 588 src/dps8/dps8_decimal.c set 589 src/dps8/dps8_decimal.c set 591 src/dps8/dps8_decimal.c set 606 src/dps8/dps8_decimal.c set 614 src/dps8/dps8_decimal.c set 630 src/dps8/dps8_decimal.c set 631 src/dps8/dps8_decimal.c set 633 src/dps8/dps8_decimal.c set 634 src/dps8/dps8_decimal.c set 635 src/dps8/dps8_decimal.c set 642 src/dps8/dps8_decimal.c set 643 src/dps8/dps8_decimal.c set 652 src/dps8/dps8_decimal.c set 653 src/dps8/dps8_decimal.c set 657 src/dps8/dps8_decimal.c set 667 src/dps8/dps8_decimal.c set 705 src/dps8/dps8_decimal.c char *formatDecimal (uint8_t * out, decContext *set, decNumber *r, int nout, int s, int sf, bool R, bool *OVR, bool *TRUNC) { set 709 src/dps8/dps8_decimal.c enum rounding safeR = decContextGetRounding (set); // save rounding mode set 710 src/dps8/dps8_decimal.c int safe = set->digits; set 723 src/dps8/dps8_decimal.c decContextSetRounding (set, DEC_ROUND_DOWN); // Round towards 0 (truncation). ISOLTS 815 09b set 729 src/dps8/dps8_decimal.c set 732 src/dps8/dps8_decimal.c set 733 src/dps8/dps8_decimal.c set 734 src/dps8/dps8_decimal.c set 742 src/dps8/dps8_decimal.c set->digits = min (DECNUMDIGITS, max (set->digits, r->digits + r->exponent - sf)); set 743 src/dps8/dps8_decimal.c decNumberRescale (r, r, & _sf, set); set 744 src/dps8/dps8_decimal.c if (decContextGetStatus (set) == DEC_Invalid_operation) { set 749 src/dps8/dps8_decimal.c set->digits = safe; set 756 src/dps8/dps8_decimal.c decContextSetRounding (set, DEC_ROUND_DOWN); // Round towards 0 (truncation). set 757 src/dps8/dps8_decimal.c decNumberToIntegralValue (r2, r, set); set 770 src/dps8/dps8_decimal.c set->digits = r2digits - (nout + min (sf,0)); set 771 src/dps8/dps8_decimal.c decNumberPlus (r2, r, set); set 772 src/dps8/dps8_decimal.c set->digits = safe; set 774 src/dps8/dps8_decimal.c decNumberSubtract(r, r, r2, set); set 779 src/dps8/dps8_decimal.c decContextSetRounding (set, safeR); set 786 src/dps8/dps8_decimal.c decContextSetRounding(set, DEC_ROUND_DOWN); // Round towards 0 (truncation). set 790 src/dps8/dps8_decimal.c set->digits = nout; set 791 src/dps8/dps8_decimal.c decNumberPlus (r, r, set); set 792 src/dps8/dps8_decimal.c set->digits = safe; set 794 src/dps8/dps8_decimal.c decContextSetRounding (set, safeR); // restore rounding mode set 822 src/dps8/dps8_decimal.c int decCompare(decNumber *lhs, decNumber *rhs, decContext *set) set 825 src/dps8/dps8_decimal.c cmp = decNumberCompareTotal(&_cmp, lhs, rhs, set); set 837 src/dps8/dps8_decimal.c int decCompareMAG(decNumber *lhs, decNumber *rhs, decContext *set) set 840 src/dps8/dps8_decimal.c cmpm = decNumberCompareTotalMag(&_cmpm, lhs, rhs, set); set 40 src/dps8/dps8_decimal.h #define PRINTALL(msg, dn, set) \ set 43 src/dps8/dps8_decimal.h sim_printf("%s:'%s E%d'\n", msg, getBCDn(dn, set->digits), dn->exponent); \ set 49 src/dps8/dps8_decimal.h char *formatDecimal(uint8_t * out, decContext *set, decNumber *r, int nout, int s, set 55 src/dps8/dps8_decimal.h int decCompareMAG(decNumber *lhs, decNumber *rhs, decContext *set); set 7408 src/dps8/dps8_eis.c decContext set; set 7410 src/dps8/dps8_eis.c decContextDefaultDPS8(&set); set 7412 src/dps8/dps8_eis.c set.traps=0; set 7433 src/dps8/dps8_eis.c decNumber *cmp = decNumberCompare(&_3, op1, op2, &set); // compare signed op1 :: op2 set 7434 src/dps8/dps8_eis.c int cSigned = decNumberToInt32(cmp, &set); set 7437 src/dps8/dps8_eis.c op1 = decNumberAbs(op1, op1, &set); set 7438 src/dps8/dps8_eis.c op2 = decNumberAbs(op2, op2, &set); set 7441 src/dps8/dps8_eis.c decNumber *mcmp = decNumberCompare(&_3, op1, op2, &set); // compare signed op1 :: op2 set 7442 src/dps8/dps8_eis.c int cMag = decNumberToInt32(mcmp, &set); set 7738 src/dps8/dps8_eis.c decContext set; set 7739 src/dps8/dps8_eis.c decContextDefaultDPS8(&set); set 7740 src/dps8/dps8_eis.c set.traps=0; set 7763 src/dps8/dps8_eis.c char * res = formatDecimal (out, & set, op1, n2, (int) e->S2, e->SF2, R, set 9561 src/dps8/dps8_eis.c decContext set; set 9562 src/dps8/dps8_eis.c decContextDefaultDPS8(&set); set 9563 src/dps8/dps8_eis.c set.traps=0; set 9613 src/dps8/dps8_eis.c decNumber *op1 = decNumberFromString(&_1, tmp+i, &set); set 9620 src/dps8/dps8_eis.c char * res = formatDecimal (out, &set, op1, n2, (int) e->S2, e->SF2, 0, &Ovr, &Trunc); set 10218 src/dps8/dps8_eis.c decContext set; set 10220 src/dps8/dps8_eis.c decContextDefaultDPS8(&set); set 10222 src/dps8/dps8_eis.c set.traps=0; set 10242 src/dps8/dps8_eis.c decNumber *op3 = decNumberAdd(&_3, op1, op2, &set); set 10261 src/dps8/dps8_eis.c enum rounding safeR = decContextGetRounding(&set); // save rounding mode set 10262 src/dps8/dps8_eis.c int safe = set.digits; set 10266 src/dps8/dps8_eis.c decContextSetRounding(&set, DEC_ROUND_DOWN); // Round towards 0 (truncation). set 10267 src/dps8/dps8_eis.c set.digits = op3->digits - min(max(sf,0),ctz) - 63; set 10268 src/dps8/dps8_eis.c decNumberPlus(&tmp, op3, &set); set 10269 src/dps8/dps8_eis.c set.digits = safe; set 10271 src/dps8/dps8_eis.c decNumberSubtract(op3, op3, &tmp, &set); set 10275 src/dps8/dps8_eis.c decContextSetRounding(&set, safeR); set 10283 src/dps8/dps8_eis.c char *res = formatDecimal(out, &set, op3, n2, (int) e->S2, e->SF2, R, &Ovr, &Trunc); set 10590 src/dps8/dps8_eis.c decContext set; set 10592 src/dps8/dps8_eis.c decContextDefaultDPS8(&set); set 10593 src/dps8/dps8_eis.c set.traps=0; set 10613 src/dps8/dps8_eis.c decNumber *op3 = decNumberAdd(&_3, op1, op2, &set); set 10642 src/dps8/dps8_eis.c enum rounding safeR = decContextGetRounding(&set); // save rounding mode set 10643 src/dps8/dps8_eis.c int safe = set.digits; set 10647 src/dps8/dps8_eis.c decContextSetRounding(&set, DEC_ROUND_DOWN); // Round towards 0 (truncation). set 10648 src/dps8/dps8_eis.c set.digits = op3->digits - min(max(sf,0),ctz) - 63; set 10649 src/dps8/dps8_eis.c decNumberPlus(&tmp, op3, &set); set 10650 src/dps8/dps8_eis.c set.digits = safe; set 10652 src/dps8/dps8_eis.c decNumberSubtract(op3, op3, &tmp, &set); set 10656 src/dps8/dps8_eis.c decContextSetRounding(&set, safeR); set 10664 src/dps8/dps8_eis.c char *res = formatDecimal(out, &set, op3, n3, (int) e->S3, e->SF3, R, &Ovr, &Trunc); set 10912 src/dps8/dps8_eis.c decContext set; set 10914 src/dps8/dps8_eis.c decContextDefaultDPS8(&set); set 10915 src/dps8/dps8_eis.c set.traps=0; set 10935 src/dps8/dps8_eis.c decNumber *op3 = decNumberSubtract(&_3, op2, op1, &set); set 10954 src/dps8/dps8_eis.c enum rounding safeR = decContextGetRounding(&set); // save rounding mode set 10955 src/dps8/dps8_eis.c int safe = set.digits; set 10959 src/dps8/dps8_eis.c decContextSetRounding(&set, DEC_ROUND_DOWN); // Round towards 0 (truncation). set 10960 src/dps8/dps8_eis.c set.digits = op3->digits - min(max(sf,0),ctz) - 63; set 10961 src/dps8/dps8_eis.c decNumberPlus(&tmp, op3, &set); set 10962 src/dps8/dps8_eis.c set.digits = safe; set 10964 src/dps8/dps8_eis.c decNumberSubtract(op3, op3, &tmp, &set); set 10968 src/dps8/dps8_eis.c decContextSetRounding(&set, safeR); set 10976 src/dps8/dps8_eis.c char *res = formatDecimal(out, &set, op3, n2, (int) e->S2, e->SF2, R, &Ovr, &Trunc); set 11243 src/dps8/dps8_eis.c decContext set; set 11245 src/dps8/dps8_eis.c decContextDefaultDPS8(&set); set 11247 src/dps8/dps8_eis.c set.traps=0; set 11267 src/dps8/dps8_eis.c decNumber *op3 = decNumberSubtract(&_3, op2, op1, &set); set 11286 src/dps8/dps8_eis.c enum rounding safeR = decContextGetRounding(&set); // save rounding mode set 11287 src/dps8/dps8_eis.c int safe = set.digits; set 11291 src/dps8/dps8_eis.c decContextSetRounding(&set, DEC_ROUND_DOWN); // Round towards 0 (truncation). set 11292 src/dps8/dps8_eis.c set.digits = op3->digits - min(max(sf,0),ctz) - 63; set 11293 src/dps8/dps8_eis.c decNumberPlus(&tmp, op3, &set); set 11294 src/dps8/dps8_eis.c set.digits = safe; set 11296 src/dps8/dps8_eis.c decNumberSubtract(op3, op3, &tmp, &set); set 11300 src/dps8/dps8_eis.c decContextSetRounding(&set, safeR); set 11308 src/dps8/dps8_eis.c char *res = formatDecimal(out, &set, op3, n3, (int) e->S3, e->SF3, R, &Ovr, &Trunc); set 11551 src/dps8/dps8_eis.c decContext set; set 11552 src/dps8/dps8_eis.c decContextDefaultDPS8Mul(&set); // 126 digits for multiply set 11554 src/dps8/dps8_eis.c set.traps=0; set 11574 src/dps8/dps8_eis.c decNumber *op3 = decNumberMultiply(&_3, op1, op2, &set); set 11579 src/dps8/dps8_eis.c char *res = formatDecimal(out, &set, op3, n2, (int) e->S2, e->SF2, R, &Ovr, &Trunc); set 11842 src/dps8/dps8_eis.c decContext set; set 11844 src/dps8/dps8_eis.c decContextDefaultDPS8Mul(&set); // 126 digits for multiply set 11846 src/dps8/dps8_eis.c set.traps=0; set 11866 src/dps8/dps8_eis.c decNumber *op3 = decNumberMultiply(&_3, op1, op2, &set); set 11882 src/dps8/dps8_eis.c char *res = formatDecimal(out, &set, op3, n3, (int) e->S3, e->SF3, R, &Ovr, &Trunc); set 12227 src/dps8/dps8_eis.c set 12230 src/dps8/dps8_eis.c set 12244 src/dps8/dps8_eis.c set 12339 src/dps8/dps8_eis.c set 12382 src/dps8/dps8_eis.c set 12424 src/dps8/dps8_eis.c set 12474 src/dps8/dps8_eis.c set 12520 src/dps8/dps8_eis.c set 12562 src/dps8/dps8_eis.c set 12570 src/dps8/dps8_eis.c set 12571 src/dps8/dps8_eis.c set 12573 src/dps8/dps8_eis.c set 12574 src/dps8/dps8_eis.c set 12579 src/dps8/dps8_eis.c set 12595 src/dps8/dps8_eis.c set 12596 src/dps8/dps8_eis.c set 12607 src/dps8/dps8_eis.c set 12608 src/dps8/dps8_eis.c set 12609 src/dps8/dps8_eis.c set 12611 src/dps8/dps8_eis.c set 12622 src/dps8/dps8_eis.c set 12630 src/dps8/dps8_eis.c set 12646 src/dps8/dps8_eis.c set 12647 src/dps8/dps8_eis.c set 12651 src/dps8/dps8_eis.c set 12652 src/dps8/dps8_eis.c set 12653 src/dps8/dps8_eis.c set 12676 src/dps8/dps8_eis.c set 12677 src/dps8/dps8_eis.c set 12685 src/dps8/dps8_eis.c set 12686 src/dps8/dps8_eis.c set 12690 src/dps8/dps8_eis.c set 12715 src/dps8/dps8_eis.c set 12874 src/dps8/dps8_eis.c decContext set; set 12875 src/dps8/dps8_eis.c decContextDefaultDPS8(&set); set 12877 src/dps8/dps8_eis.c set.traps=0; set 12937 src/dps8/dps8_eis.c decNumber *op3 = decNumberDivide(&_3, op2, op1, &set); set 12948 src/dps8/dps8_eis.c (set.status & DEC_Division_undefined) || // 0/0 will become NaN set 12949 src/dps8/dps8_eis.c (set.status & DEC_Invalid_operation) || set 12950 src/dps8/dps8_eis.c (set.status & DEC_Division_by_zero) set 12967 src/dps8/dps8_eis.c op3 = decNumberRescale(op3, op3, &_sf, &set); set 12992 src/dps8/dps8_eis.c decNumberShift(&_2a, op2, &_sf, &set); set 12996 src/dps8/dps8_eis.c decNumberShift(&_1a, op1, &_sf, &set); set 13006 src/dps8/dps8_eis.c if (decCompareMAG(&_1a, &_2a, &set) > 0) { set 13008 src/dps8/dps8_eis.c res = formatDecimal(out, &set, op3, n2 -1, (int) e->S2, e->SF2, R, &Ovr, &Trunc); set 13018 src/dps8/dps8_eis.c res = formatDecimal(out, &set, op3, n2, (int) e->S2, e->SF2, R, &Ovr, &Trunc); set 13022 src/dps8/dps8_eis.c res = formatDecimal(out, &set, op3, n2, (int) e->S2, e->SF2, R, &Ovr, &Trunc); set 13285 src/dps8/dps8_eis.c decContext set; set 13286 src/dps8/dps8_eis.c decContextDefaultDPS8(&set); set 13288 src/dps8/dps8_eis.c set.traps=0; set 13365 src/dps8/dps8_eis.c decNumber *op3 = decNumberDivide(&_3, op2, op1, &set); set 13376 src/dps8/dps8_eis.c (set.status & DEC_Division_undefined) || // 0/0 will become NaN set 13377 src/dps8/dps8_eis.c (set.status & DEC_Invalid_operation) || set 13378 src/dps8/dps8_eis.c (set.status & DEC_Division_by_zero) set 13395 src/dps8/dps8_eis.c op3 = decNumberRescale(op3, op3, &_sf, &set); set 13420 src/dps8/dps8_eis.c decNumberShift(&_2a, op2, &_sf, &set); set 13424 src/dps8/dps8_eis.c decNumberShift(&_1a, op1, &_sf, &set); set 13434 src/dps8/dps8_eis.c if (decCompareMAG(&_1a, &_2a, &set) > 0) { set 13436 src/dps8/dps8_eis.c res = formatDecimal(out, &set, op3, n3 -1, (int) e->S3, e->SF3, R, &Ovr, &Trunc); set 13446 src/dps8/dps8_eis.c res = formatDecimal(out, &set, op3, n3, (int) e->S3, e->SF3, R, &Ovr, &Trunc); set 13450 src/dps8/dps8_eis.c res = formatDecimal(out, &set, op3, n3, (int) e->S3, e->SF3, R, &Ovr, &Trunc); set 3788 src/simh/sim_tmxr.c t_bool *set; set 3802 src/simh/sim_tmxr.c set = (t_bool *) calloc (mp->lines, sizeof (t_bool)); /* allocate line set tracking array */ set 3803 src/simh/sim_tmxr.c if (set == NULL) { /* allocation failed? */ set 3810 src/simh/sim_tmxr.c FREE(set); set 3841 src/simh/sim_tmxr.c if (set [line] == FALSE) { /* not already specified? */ set 3842 src/simh/sim_tmxr.c set [line] = TRUE; /* now it is */ set 3851 src/simh/sim_tmxr.c if (set [line] == FALSE) { /* specified? */ set 3860 src/simh/sim_tmxr.c FREE (set); /* free set allocation */