set 155 src/decNumber/decDouble.h # define decDoubleFromNumber(dq, dn, set) decimal64FromNumber((decimal64 *)(dq), dn, set) set 310 src/decNumber/decNumber.c Int decNumberToInt32(const decNumber *dn, decContext *set) { set 338 src/decNumber/decNumber.c (void)decContextSetStatus(set, DEC_Invalid_operation); // [may not return] set 342 src/decNumber/decNumber.c uInt decNumberToUInt32(const decNumber *dn, decContext *set) { set 364 src/decNumber/decNumber.c (void)decContextSetStatus(set, DEC_Invalid_operation); // [may not return] set 413 src/decNumber/decNumber.c decContext *set) { set 461 src/decNumber/decNumber.c if (!set->extended) break; // hopeless set 498 src/decNumber/decNumber.c if (d>set->digits-1) { set 501 src/decNumber/decNumber.c if (set->clamp) break; set 502 src/decNumber/decNumber.c if (d>set->digits) break; set 555 src/decNumber/decNumber.c if (*cfirst=='0' && !set->extended) { set 569 src/decNumber/decNumber.c if (d<=set->digits) res=dn->lsu; // fits into supplied decNumber set 615 src/decNumber/decNumber.c if (d>set->digits) { set 617 src/decNumber/decNumber.c decSetCoeff(dn, set, res, d, &residue, &status); set 619 src/decNumber/decNumber.c decFinalize(dn, set, &residue, &status); set 623 src/decNumber/decNumber.c if ((dn->exponent-1<set->emin-dn->digits) set 624 src/decNumber/decNumber.c || (dn->exponent-1>set->emax-set->digits)) { set 626 src/decNumber/decNumber.c decFinalize(dn, set, &residue, &status); set 633 src/decNumber/decNumber.c if (status!=0) decStatus(dn, status, set); set 657 src/decNumber/decNumber.c decContext *set) { set 663 src/decNumber/decNumber.c decAddOp(res, &dzero, rhs, set, (uByte)(rhs->bits & DECNEG), &status); set 664 src/decNumber/decNumber.c if (status!=0) decStatus(res, status, set); set 682 src/decNumber/decNumber.c const decNumber *rhs, decContext *set) { set 684 src/decNumber/decNumber.c decAddOp(res, lhs, rhs, set, 0, &status); set 685 src/decNumber/decNumber.c if (status!=0) decStatus(res, status, set); set 705 src/decNumber/decNumber.c const decNumber *rhs, decContext *set) { set 713 src/decNumber/decNumber.c decStatus(res, DEC_Invalid_operation, set); set 723 src/decNumber/decNumber.c msuc=uc+D2U(set->digits)-1; // -> msu of result set 724 src/decNumber/decNumber.c msudigs=MSUDIGITS(set->digits); // [faster than remainder] set 743 src/decNumber/decNumber.c decStatus(res, DEC_Invalid_operation, set); set 770 src/decNumber/decNumber.c const decNumber *rhs, decContext *set) { set 772 src/decNumber/decNumber.c decCompareOp(res, lhs, rhs, set, COMPARE, &status); set 773 src/decNumber/decNumber.c if (status!=0) decStatus(res, status, set); set 790 src/decNumber/decNumber.c const decNumber *rhs, decContext *set) { set 792 src/decNumber/decNumber.c decCompareOp(res, lhs, rhs, set, COMPSIG, &status); set 793 src/decNumber/decNumber.c if (status!=0) decStatus(res, status, set); set 811 src/decNumber/decNumber.c const decNumber *rhs, decContext *set) { set 813 src/decNumber/decNumber.c decCompareOp(res, lhs, rhs, set, COMPTOTAL, &status); set 814 src/decNumber/decNumber.c if (status!=0) decStatus(res, status, set); set 832 src/decNumber/decNumber.c const decNumber *rhs, decContext *set) { set 871 src/decNumber/decNumber.c decCompareOp(res, lhs, rhs, set, COMPTOTAL, &status); set 876 src/decNumber/decNumber.c if (status!=0) decStatus(res, status, set); set 893 src/decNumber/decNumber.c const decNumber *rhs, decContext *set) { set 895 src/decNumber/decNumber.c decDivideOp(res, lhs, rhs, set, DIVIDE, &status); set 896 src/decNumber/decNumber.c if (status!=0) decStatus(res, status, set); set 913 src/decNumber/decNumber.c const decNumber *rhs, decContext *set) { set 915 src/decNumber/decNumber.c decDivideOp(res, lhs, rhs, set, DIVIDEINT, &status); set 916 src/decNumber/decNumber.c if (status!=0) decStatus(res, status, set); set 946 src/decNumber/decNumber.c decContext *set) { set 956 src/decNumber/decNumber.c if (!decCheckMath(rhs, set, &status)) do { // protect allocation set 958 src/decNumber/decNumber.c if (!set->extended) { set 960 src/decNumber/decNumber.c if (rhs->digits>set->digits) { set 961 src/decNumber/decNumber.c allocrhs=decRoundOperand(rhs, set, &status); set 967 src/decNumber/decNumber.c decExpOp(res, rhs, set, &status); set 974 src/decNumber/decNumber.c if (status!=0) decStatus(res, status, set); set 996 src/decNumber/decNumber.c decContext *set) { set 1007 src/decNumber/decNumber.c if (!set->extended) { // [undefined if subset] set 1012 src/decNumber/decNumber.c if ((!decNumberIsSpecial(lhs) && decCheckMath(lhs, set, &status)) set 1013 src/decNumber/decNumber.c || (!decNumberIsSpecial(rhs) && decCheckMath(rhs, set, &status)) set 1014 src/decNumber/decNumber.c || (!decNumberIsSpecial(fhs) && decCheckMath(fhs, set, &status))) break; set 1016 src/decNumber/decNumber.c dcmul=*set; set 1049 src/decNumber/decNumber.c decAddOp(res, acc, fhs, set, 0, &status); set 1053 src/decNumber/decNumber.c if (status!=0) decStatus(res, status, set); set 1072 src/decNumber/decNumber.c decContext *set) { set 1078 src/decNumber/decNumber.c decStatus(res, DEC_Invalid_operation, set); set 1085 src/decNumber/decNumber.c msuc=uc+D2U(set->digits)-1; // -> msu of result set 1086 src/decNumber/decNumber.c msudigs=MSUDIGITS(set->digits); // [faster than remainder] set 1100 src/decNumber/decNumber.c decStatus(res, DEC_Invalid_operation, set); set 1142 src/decNumber/decNumber.c decContext *set) { set 1150 src/decNumber/decNumber.c if (!decCheckMath(rhs, set, &status)) do { // protect allocation set 1152 src/decNumber/decNumber.c if (!set->extended) { set 1154 src/decNumber/decNumber.c if (rhs->digits>set->digits) { set 1155 src/decNumber/decNumber.c allocrhs=decRoundOperand(rhs, set, &status); set 1165 src/decNumber/decNumber.c decLnOp(res, rhs, set, &status); set 1172 src/decNumber/decNumber.c if (status!=0) decStatus(res, status, set); set 1201 src/decNumber/decNumber.c decContext *set) { set 1205 src/decNumber/decNumber.c if (decNumberIsNaN(rhs)) decNaNs(res, rhs, NULL, set, &status); set 1214 src/decNumber/decNumber.c if (set->digits>=10) decNumberFromInt32(res, ae); // lay it out set 1219 src/decNumber/decNumber.c decNumberPlus(res, t, set); // round as necessary set 1223 src/decNumber/decNumber.c if (status!=0) decStatus(res, status, set); set 1259 src/decNumber/decNumber.c decContext *set) { set 1283 src/decNumber/decNumber.c decNumberPlus(res, rhs, set); set 1289 src/decNumber/decNumber.c if (!decCheckMath(rhs, set, &status)) do { // protect malloc set 1291 src/decNumber/decNumber.c if (!set->extended) { set 1293 src/decNumber/decNumber.c if (rhs->digits>set->digits) { set 1294 src/decNumber/decNumber.c allocrhs=decRoundOperand(rhs, set, &status); set 1323 src/decNumber/decNumber.c decCopyFit(res, w, set, &residue, &status); // copy & round set 1324 src/decNumber/decNumber.c decFinish(res, set, &residue, &status); // cleanup/set flags set 1336 src/decNumber/decNumber.c p=(rhs->digits+t>set->digits?rhs->digits+t:set->digits)+3; set 1359 src/decNumber/decNumber.c p=set->digits+3; set 1379 src/decNumber/decNumber.c aset.digits=set->digits; // for final divide set 1389 src/decNumber/decNumber.c if (status!=0) decStatus(res, status, set); set 1406 src/decNumber/decNumber.c const decNumber *rhs, decContext *set) { set 1408 src/decNumber/decNumber.c decCompareOp(res, lhs, rhs, set, COMPMAX, &status); set 1409 src/decNumber/decNumber.c if (status!=0) decStatus(res, status, set); set 1426 src/decNumber/decNumber.c const decNumber *rhs, decContext *set) { set 1428 src/decNumber/decNumber.c decCompareOp(res, lhs, rhs, set, COMPMAXMAG, &status); set 1429 src/decNumber/decNumber.c if (status!=0) decStatus(res, status, set); set 1446 src/decNumber/decNumber.c const decNumber *rhs, decContext *set) { set 1448 src/decNumber/decNumber.c decCompareOp(res, lhs, rhs, set, COMPMIN, &status); set 1449 src/decNumber/decNumber.c if (status!=0) decStatus(res, status, set); set 1466 src/decNumber/decNumber.c const decNumber *rhs, decContext *set) { set 1468 src/decNumber/decNumber.c decCompareOp(res, lhs, rhs, set, COMPMINMAG, &status); set 1469 src/decNumber/decNumber.c if (status!=0) decStatus(res, status, set); set 1488 src/decNumber/decNumber.c decContext *set) { set 1494 src/decNumber/decNumber.c decAddOp(res, &dzero, rhs, set, DECNEG, &status); set 1495 src/decNumber/decNumber.c if (status!=0) decStatus(res, status, set); set 1511 src/decNumber/decNumber.c decContext *set) { set 1513 src/decNumber/decNumber.c decContext workset=*set; // work set 1518 src/decNumber/decNumber.c decSetMaxValue(res, set); // is +ve set 1527 src/decNumber/decNumber.c set->status |= (workset.status&DEC_NaNs); set 1533 src/decNumber/decNumber.c dtiny.exponent=set->emin-set->digits; set 1536 src/decNumber/decNumber.c if (status!=0) decStatus(res, status, set); set 1552 src/decNumber/decNumber.c decContext *set) { set 1554 src/decNumber/decNumber.c decContext workset=*set; // work set 1559 src/decNumber/decNumber.c decSetMaxValue(res, set); set 1569 src/decNumber/decNumber.c set->status |= (workset.status&DEC_NaNs); set 1575 src/decNumber/decNumber.c dtiny.exponent=set->emin-set->digits; set 1578 src/decNumber/decNumber.c if (status!=0) decStatus(res, status, set); set 1597 src/decNumber/decNumber.c const decNumber *rhs, decContext *set) { set 1599 src/decNumber/decNumber.c decContext workset=*set; // work set 1604 src/decNumber/decNumber.c decNaNs(res, lhs, rhs, set, &status); set 1616 src/decNumber/decNumber.c decSetMaxValue(res, set); set 1626 src/decNumber/decNumber.c decSetMaxValue(res, set); set 1638 src/decNumber/decNumber.c if (decNumberIsNormal(res, set)) status=0; set 1642 src/decNumber/decNumber.c if (status!=0) decStatus(res, status, set); set 1662 src/decNumber/decNumber.c const decNumber *rhs, decContext *set) { set 1670 src/decNumber/decNumber.c decStatus(res, DEC_Invalid_operation, set); set 1679 src/decNumber/decNumber.c msuc=uc+D2U(set->digits)-1; // -> msu of result set 1680 src/decNumber/decNumber.c msudigs=MSUDIGITS(set->digits); // [faster than remainder] set 1698 src/decNumber/decNumber.c decStatus(res, DEC_Invalid_operation, set); set 1729 src/decNumber/decNumber.c decContext *set) { set 1735 src/decNumber/decNumber.c decAddOp(res, &dzero, rhs, set, 0, &status); set 1736 src/decNumber/decNumber.c if (status!=0) decStatus(res, status, set); set 1753 src/decNumber/decNumber.c const decNumber *rhs, decContext *set) { set 1755 src/decNumber/decNumber.c decMultiplyOp(res, lhs, rhs, set, &status); set 1756 src/decNumber/decNumber.c if (status!=0) decStatus(res, status, set); set 1787 src/decNumber/decNumber.c const decNumber *rhs, decContext *set) { set 1794 src/decNumber/decNumber.c Int reqdigits=set->digits; // requested DIGITS set 1818 src/decNumber/decNumber.c if (!set->extended) { // reduce operands and set status, as needed set 1820 src/decNumber/decNumber.c alloclhs=decRoundOperand(lhs, set, &status); set 1825 src/decNumber/decNumber.c allocrhs=decRoundOperand(rhs, set, &status); set 1836 src/decNumber/decNumber.c decNaNs(res, lhs, rhs, set, &status); set 1846 src/decNumber/decNumber.c decNumberCompare(dac, lhs, &dnOne, set); // lhs ? 1 set 1853 src/decNumber/decNumber.c Int shift=set->digits-1; set 1899 src/decNumber/decNumber.c if (!set->extended) { // [unless subset] set 1910 src/decNumber/decNumber.c if (!set->extended) { // [bad if subset] set 1930 src/decNumber/decNumber.c if (decCheckMath(lhs, set, &status) set 1931 src/decNumber/decNumber.c || decCheckMath(rhs, set, &status)) break; // variable status set 1948 src/decNumber/decNumber.c aset.digits=MAXI(lhs->digits, set->digits)+6+4; set 1960 src/decNumber/decNumber.c aset=*set; // clone the context set 1968 src/decNumber/decNumber.c if (!set->extended) aset.digits--; // use classic precision set 1997 src/decNumber/decNumber.c Int shift=set->digits-1; set 2020 src/decNumber/decNumber.c if (set->extended) { // need to calculate 1/lhs set 2070 src/decNumber/decNumber.c if (!set->extended && decNumberIsNegative(rhs)) { set 2082 src/decNumber/decNumber.c decFinalize(dac, set, &residue, &status); set 2088 src/decNumber/decNumber.c if (!set->extended && // subset math set 2097 src/decNumber/decNumber.c decCopyFit(res, dac, set, &residue, &status); set 2098 src/decNumber/decNumber.c decFinish(res, set, &residue, &status); // final cleanup set 2100 src/decNumber/decNumber.c if (!set->extended) decTrim(res, set, 0, 1, &dropped); // trailing zeros set 2110 src/decNumber/decNumber.c if (status!=0) decStatus(res, status, set); set 2133 src/decNumber/decNumber.c const decNumber *rhs, decContext *set) { set 2135 src/decNumber/decNumber.c decQuantizeOp(res, lhs, rhs, set, 1, &status); set 2136 src/decNumber/decNumber.c if (status!=0) decStatus(res, status, set); set 2153 src/decNumber/decNumber.c decContext *set) { set 2154 src/decNumber/decNumber.c return decNumberReduce(res, rhs, set); set 2158 src/decNumber/decNumber.c decContext *set) { set 2168 src/decNumber/decNumber.c if (!set->extended) { set 2170 src/decNumber/decNumber.c if (rhs->digits>set->digits) { set 2171 src/decNumber/decNumber.c allocrhs=decRoundOperand(rhs, set, &status); set 2181 src/decNumber/decNumber.c decNaNs(res, rhs, NULL, set, &status); set 2186 src/decNumber/decNumber.c decCopyFit(res, rhs, set, &residue, &status); // copy & round set 2187 src/decNumber/decNumber.c decFinish(res, set, &residue, &status); // cleanup/set flags set 2188 src/decNumber/decNumber.c decTrim(res, set, 1, 0, &dropped); // normalize in place set 2195 src/decNumber/decNumber.c if (status!=0) decStatus(res, status, set);// then report status set 2218 src/decNumber/decNumber.c const decNumber *rhs, decContext *set) { set 2220 src/decNumber/decNumber.c decQuantizeOp(res, lhs, rhs, set, 0, &status); set 2221 src/decNumber/decNumber.c if (status!=0) decStatus(res, status, set); set 2238 src/decNumber/decNumber.c const decNumber *rhs, decContext *set) { set 2240 src/decNumber/decNumber.c decDivideOp(res, lhs, rhs, set, REMAINDER, &status); set 2241 src/decNumber/decNumber.c if (status!=0) decStatus(res, status, set); set 2258 src/decNumber/decNumber.c const decNumber *rhs, decContext *set) { set 2260 src/decNumber/decNumber.c decDivideOp(res, lhs, rhs, set, REMNEAR, &status); set 2261 src/decNumber/decNumber.c if (status!=0) decStatus(res, status, set); set 2291 src/decNumber/decNumber.c const decNumber *rhs, decContext *set) { set 2297 src/decNumber/decNumber.c decNaNs(res, lhs, rhs, set, &status); set 2305 src/decNumber/decNumber.c || abs(rotate)>set->digits) // .. or out of range set 2309 src/decNumber/decNumber.c if (res->digits>set->digits) decDecap(res, res->digits-set->digits); set 2311 src/decNumber/decNumber.c if (rotate<0) rotate=set->digits+rotate; set 2312 src/decNumber/decNumber.c if (rotate!=0 && rotate!=set->digits // zero or full rotation set 2318 src/decNumber/decNumber.c Unit *msumax=res->lsu+D2U(set->digits)-1; //-V778 // rotation msu set 2320 src/decNumber/decNumber.c res->digits=set->digits; // now full-length set 2354 src/decNumber/decNumber.c rotate=set->digits-rotate; // make it right-rotate set 2395 src/decNumber/decNumber.c if (status!=0) decStatus(res, status, set); set 2440 src/decNumber/decNumber.c const decNumber *rhs, decContext *set) { set 2447 src/decNumber/decNumber.c decNaNs(res, lhs, rhs, set, &status); set 2458 src/decNumber/decNumber.c || (abs(reqexp)+1)/2>(set->digits+set->emax)) // .. or out of range set 2472 src/decNumber/decNumber.c decCopyFit(res, res, set, &residue, &status); set 2473 src/decNumber/decNumber.c decFinalize(res, set, &residue, &status); // final check set 2477 src/decNumber/decNumber.c if (status!=0) decStatus(res, status, set); set 2503 src/decNumber/decNumber.c const decNumber *rhs, decContext *set) { set 2509 src/decNumber/decNumber.c decNaNs(res, lhs, rhs, set, &status); set 2517 src/decNumber/decNumber.c || abs(shift)>set->digits) // .. or out of range set 2523 src/decNumber/decNumber.c if (shift==set->digits) { // removing all set 2529 src/decNumber/decNumber.c if (res->digits+shift>set->digits) { set 2530 src/decNumber/decNumber.c decDecap(res, res->digits+shift-set->digits); set 2551 src/decNumber/decNumber.c if (status!=0) decStatus(res, status, set); set 2628 src/decNumber/decNumber.c decContext *set) { set 2662 src/decNumber/decNumber.c if (!set->extended) { set 2664 src/decNumber/decNumber.c if (rhs->digits>set->digits) { set 2665 src/decNumber/decNumber.c allocrhs=decRoundOperand(rhs, set, &status); set 2681 src/decNumber/decNumber.c else decNaNs(res, rhs, NULL, set, &status); // a NaN set 2695 src/decNumber/decNumber.c decFinish(res, set, &residue, &status); set 2712 src/decNumber/decNumber.c workp=MAXI(set->digits+1, rhs->digits); // actual rounding precision set 2811 src/decNumber/decNumber.c approxset=*set; // get emin, emax, etc. set 2878 src/decNumber/decNumber.c decTrim(b, set, 1, 1, &dropped); // [drops trailing zeros] set 2903 src/decNumber/decNumber.c Int maxexp=set->emax-set->digits+1; set 2905 src/decNumber/decNumber.c if (todrop>maxdrop && set->clamp) { // apply clamping set 2929 src/decNumber/decNumber.c if (ae>=set->emin*2) status&=~(DEC_Subnormal|DEC_Underflow); set 2931 src/decNumber/decNumber.c if (ae>=set->emin*2) status&=~DEC_Underflow; set 2946 src/decNumber/decNumber.c if (status!=0) decStatus(res, status, set);// then report status set 2963 src/decNumber/decNumber.c const decNumber *rhs, decContext *set) { set 2966 src/decNumber/decNumber.c decAddOp(res, lhs, rhs, set, DECNEG, &status); set 2967 src/decNumber/decNumber.c if (status!=0) decStatus(res, status, set); set 2993 src/decNumber/decNumber.c decContext *set) { set 3001 src/decNumber/decNumber.c else decNaNs(res, rhs, NULL, set, &status); // a NaN set 3007 src/decNumber/decNumber.c workset=*set; // clone rounding, etc. set 3014 src/decNumber/decNumber.c if (status!=0) decStatus(res, status, set); set 3019 src/decNumber/decNumber.c decContext *set) { set 3020 src/decNumber/decNumber.c decContext workset=*set; // working context set 3025 src/decNumber/decNumber.c set->status|=workset.status&DEC_Invalid_operation; set 3045 src/decNumber/decNumber.c const decNumber *rhs, decContext *set) { set 3053 src/decNumber/decNumber.c decStatus(res, DEC_Invalid_operation, set); set 3062 src/decNumber/decNumber.c msuc=uc+D2U(set->digits)-1; // -> msu of result set 3063 src/decNumber/decNumber.c msudigs=MSUDIGITS(set->digits); // [faster than remainder] set 3081 src/decNumber/decNumber.c decStatus(res, DEC_Invalid_operation, set); set 3105 src/decNumber/decNumber.c enum decClass decNumberClass(const decNumber *dn, decContext *set) { set 3114 src/decNumber/decNumber.c if (decNumberIsNormal(dn, set)) { // most common set 3309 src/decNumber/decNumber.c Int decNumberIsNormal(const decNumber *dn, decContext *set) { set 3316 src/decNumber/decNumber.c if (ae<set->emin) return 0; // is subnormal set 3326 src/decNumber/decNumber.c Int decNumberIsSubnormal(const decNumber *dn, decContext *set) { set 3333 src/decNumber/decNumber.c if (ae<set->emin) return 1; // is subnormal set 3349 src/decNumber/decNumber.c decContext set; // .. set 3350 src/decNumber/decNumber.c decContextDefault(&set, DEC_INIT_BASE); // clamp=0 set 3351 src/decNumber/decNumber.c return decTrim(dn, &set, 0, 1, &dropped); set 3575 src/decNumber/decNumber.c const decNumber *rhs, decContext *set, set 3593 src/decNumber/decNumber.c Int reqdigits=set->digits; // local copy; requested DIGITS set 3598 src/decNumber/decNumber.c if (!set->extended) { set 3601 src/decNumber/decNumber.c alloclhs=decRoundOperand(lhs, set, status); set 3606 src/decNumber/decNumber.c allocrhs=decRoundOperand(rhs, set, status); set 3620 src/decNumber/decNumber.c decNaNs(res, lhs, rhs, set, status); set 3645 src/decNumber/decNumber.c decCopyFit(res, rhs, set, &residue, status); // copy (as needed) set 3648 src/decNumber/decNumber.c if (set->extended) { // exponents on zeros count set 3656 src/decNumber/decNumber.c if (set->round!=DEC_ROUND_FLOOR) res->bits=0; set 3662 src/decNumber/decNumber.c if ((res->digits-adjust)>set->digits) { set 3663 src/decNumber/decNumber.c adjust=res->digits-set->digits; // to fit exactly set 3673 src/decNumber/decNumber.c decFinish(res, set, &residue, status); // clean and finalize set 3682 src/decNumber/decNumber.c decCopyFit(res, lhs, set, &residue, status); // copy (as needed) set 3684 src/decNumber/decNumber.c if (set->extended) { // exponents on zeros count set 3690 src/decNumber/decNumber.c if ((res->digits-adjust)>set->digits) { set 3691 src/decNumber/decNumber.c adjust=res->digits-set->digits; // to fit exactly set 3700 src/decNumber/decNumber.c decFinish(res, set, &residue, status); // clean and finalize set 3714 src/decNumber/decNumber.c && rhs->exponent>=set->emin // [some normals drop through] set 3715 src/decNumber/decNumber.c && rhs->exponent<=set->emax-set->digits+1 // [could clamp] set 3826 src/decNumber/decNumber.c if (set->extended) { // round from first significant digit set 3832 src/decNumber/decNumber.c decSetCoeff(res, set, acc, res->digits, &residue, status); set 3854 src/decNumber/decNumber.c decSetCoeff(res, set, acc, res->digits, &residue, status); set 3858 src/decNumber/decNumber.c decApplyRound(res, set, residue, status); set 3869 src/decNumber/decNumber.c decFinish(res, set, &residue, status); set 3877 src/decNumber/decNumber.c && set->extended set 3880 src/decNumber/decNumber.c if (set->round==DEC_ROUND_FLOOR) res->bits|=DECNEG; // sign - set 3965 src/decNumber/decNumber.c decContext *set, Flag op, uInt *status) { set 3995 src/decNumber/decNumber.c Int reqdigits=set->digits; // requested DIGITS set 4009 src/decNumber/decNumber.c if (!set->extended) { set 4012 src/decNumber/decNumber.c alloclhs=decRoundOperand(lhs, set, status); set 4017 src/decNumber/decNumber.c allocrhs=decRoundOperand(rhs, set, status); set 4030 src/decNumber/decNumber.c decNaNs(res, lhs, rhs, set, status); set 4049 src/decNumber/decNumber.c decCopyFit(res, lhs, set, &residue, status); set 4057 src/decNumber/decNumber.c res->exponent=set->emin-set->digits+1; set 4061 src/decNumber/decNumber.c decFinish(res, set, &residue, status); set 4085 src/decNumber/decNumber.c if (!set->extended) decNumberZero(res); set 4104 src/decNumber/decNumber.c decFinalize(res, set, &residue, status); // check exponent set 4123 src/decNumber/decNumber.c if (set->extended) set 4134 src/decNumber/decNumber.c decCopyFit(res, lhs, set, &residue, status); set 4135 src/decNumber/decNumber.c decFinish(res, set, &residue, status); set 4408 src/decNumber/decNumber.c if (set->extended) set 4412 src/decNumber/decNumber.c decFinish(res, set, &residue, status); // might clamp set 4518 src/decNumber/decNumber.c decSetCoeff(res, set, accnext, accdigits, &residue, status); set 4520 src/decNumber/decNumber.c decFinish(res, set, &residue, status); // final cleanup set 4524 src/decNumber/decNumber.c if (!set->extended && (op==DIVIDE)) decTrim(res, set, 0, 1, &dropped); set 4575 src/decNumber/decNumber.c const decNumber *rhs, decContext *set, set 4641 src/decNumber/decNumber.c decNaNs(res, lhs, rhs, set, status); set 4664 src/decNumber/decNumber.c if (!set->extended) { set 4666 src/decNumber/decNumber.c if (lhs->digits>set->digits) { set 4667 src/decNumber/decNumber.c alloclhs=decRoundOperand(lhs, set, status); set 4671 src/decNumber/decNumber.c if (rhs->digits>set->digits) { set 4672 src/decNumber/decNumber.c allocrhs=decRoundOperand(rhs, set, status); set 4861 src/decNumber/decNumber.c decSetCoeff(res, set, acc, res->digits, &residue, status); set 4862 src/decNumber/decNumber.c decFinish(res, set, &residue, status); // final cleanup set 4957 src/decNumber/decNumber.c decContext *set, uInt *status) { set 4998 src/decNumber/decNumber.c else decNaNs(res, rhs, NULL, set, status); // a NaN set 5022 src/decNumber/decNumber.c d->exponent=-set->digits; // * 10**(-d) set 5029 src/decNumber/decNumber.c Int shift=set->digits-1; set 5041 src/decNumber/decNumber.c aset.emax=set->emax; // usual bounds set 5042 src/decNumber/decNumber.c aset.emin=set->emin; // .. set 5109 src/decNumber/decNumber.c p=MAXI(x->digits, set->digits)+h+2; // [h<=8] set 5201 src/decNumber/decNumber.c aset.digits=set->digits; // [use default rounding] set 5203 src/decNumber/decNumber.c decFinish(res, set, &residue, status); // cleanup/set flags set 5302 src/decNumber/decNumber.c decContext *set, uInt *status) { set 5331 src/decNumber/decNumber.c else decNaNs(res, rhs, NULL, set, status); // a NaN set 5347 src/decNumber/decNumber.c if (rhs->exponent==0 && set->digits<=40) { set 5353 src/decNumber/decNumber.c aset=*set; aset.round=DEC_ROUND_HALF_EVEN; set 5359 src/decNumber/decNumber.c aset=*set; aset.round=DEC_ROUND_HALF_EVEN; set 5371 src/decNumber/decNumber.c p=MAXI(rhs->digits, MAXI(set->digits, 7))+2; set 5439 src/decNumber/decNumber.c aset.emax=set->emax; set 5440 src/decNumber/decNumber.c aset.emin=set->emin; set 5442 src/decNumber/decNumber.c if (rhs->digits > set->digits) { set 5480 src/decNumber/decNumber.c (a->digits+a->exponent)>=(b->digits+b->exponent+set->digits+1)) { set 5505 src/decNumber/decNumber.c aset.digits=set->digits; // [use default rounding] set 5507 src/decNumber/decNumber.c decFinish(res, set, &residue, status); // cleanup/set flags set 5539 src/decNumber/decNumber.c const decNumber *rhs, decContext *set, set 5546 src/decNumber/decNumber.c Int reqdigits=set->digits; // requested DIGITS set 5549 src/decNumber/decNumber.c Int etiny=set->emin-(reqdigits-1); set 5553 src/decNumber/decNumber.c if (!set->extended) { set 5556 src/decNumber/decNumber.c alloclhs=decRoundOperand(lhs, set, status); set 5561 src/decNumber/decNumber.c allocrhs=decRoundOperand(rhs, set, status); set 5573 src/decNumber/decNumber.c decNaNs(res, lhs, rhs, set, status); set 5592 src/decNumber/decNumber.c if (!set->extended) etiny=set->emin; // no subnormals set 5598 src/decNumber/decNumber.c || (reqexp>set->emax)) { // > emax set 5607 src/decNumber/decNumber.c if (!set->extended) res->bits=0; // subset specification; no -0 set 5622 src/decNumber/decNumber.c workset=*set; // clone rounding, etc. set 5642 src/decNumber/decNumber.c if (ISZERO(res) && !set->extended) res->bits=0; // subset; no -0 set 5660 src/decNumber/decNumber.c if (res->exponent>set->emax-res->digits+1) { // too big set 5665 src/decNumber/decNumber.c decFinalize(res, set, &residue, status); // set subnormal flags set 5708 src/decNumber/decNumber.c const decNumber *rhs, decContext *set, set 5719 src/decNumber/decNumber.c if (!set->extended) { set 5721 src/decNumber/decNumber.c if (lhs->digits>set->digits) { set 5722 src/decNumber/decNumber.c alloclhs=decRoundOperand(lhs, set, status); set 5726 src/decNumber/decNumber.c if (rhs->digits>set->digits) { set 5727 src/decNumber/decNumber.c allocrhs=decRoundOperand(rhs, set, status); set 5788 src/decNumber/decNumber.c decNaNs(res, lhs, rhs, set, status); // propagate NaN set 5824 src/decNumber/decNumber.c if (!set->extended) { // subset: force left-hand set 5850 src/decNumber/decNumber.c decCopyFit(res, choice, set, &residue, status); set 5851 src/decNumber/decNumber.c decFinish(res, set, &residue, status); set 6287 src/decNumber/decNumber.c static decNumber * decTrim(decNumber *dn, decContext *set, Flag all, set 6330 src/decNumber/decNumber.c if (set->clamp && !noclamp) { set 6331 src/decNumber/decNumber.c Int maxd=set->emax-set->digits+1-dn->exponent; set 6499 src/decNumber/decNumber.c static decNumber *decRoundOperand(const decNumber *dn, decContext *set, set 6508 src/decNumber/decNumber.c +(D2U(set->digits)-1)*sizeof(Unit)); set 6513 src/decNumber/decNumber.c decCopyFit(res, dn, set, &residue, &newstatus); set 6514 src/decNumber/decNumber.c decApplyRound(res, set, residue, &newstatus); set 6536 src/decNumber/decNumber.c decContext *set, Int *residue, uInt *status) { set 6539 src/decNumber/decNumber.c decSetCoeff(dest, set, src->lsu, src->digits, residue, status); set 6581 src/decNumber/decNumber.c static void decSetCoeff(decNumber *dn, decContext *set, const Unit *lsu, set 6592 src/decNumber/decNumber.c discard=len-set->digits; // digits to discard set 6653 src/decNumber/decNumber.c if (set->digits<=0) { // special for Quantize/Subnormal :-( set 6658 src/decNumber/decNumber.c count=set->digits; // now digits to end up with set 6698 src/decNumber/decNumber.c if (set->digits<=0) { // special for Quantize/Subnormal :-( set 6703 src/decNumber/decNumber.c count=set->digits; // now digits to end up with set 6762 src/decNumber/decNumber.c static void decApplyRound(decNumber *dn, decContext *set, Int residue, set 6772 src/decNumber/decNumber.c switch (set->round) { set 6857 src/decNumber/decNumber.c if ((dn->exponent+dn->digits)>set->emax+1) { set 6858 src/decNumber/decNumber.c decSetOverflow(dn, set, status); set 6886 src/decNumber/decNumber.c if (dn->exponent+1==set->emin-set->digits+1) { //-V584 set 6926 src/decNumber/decNumber.c static void decFinish(decNumber *dn, decContext *set, Int *residue, set 6928 src/decNumber/decNumber.c if (!set->extended) { set 6936 src/decNumber/decNumber.c if (set->digits >= (dn->exponent+dn->digits)) { set 6943 src/decNumber/decNumber.c decFinalize(dn, set, residue, status); set 6961 src/decNumber/decNumber.c static void decFinalize(decNumber *dn, decContext *set, Int *residue, set 6964 src/decNumber/decNumber.c Int tinyexp=set->emin-dn->digits+1; // precalculate subnormal boundary set 6978 src/decNumber/decNumber.c decSetSubnormal(dn, set, residue, status); set 6984 src/decNumber/decNumber.c nmin.exponent=set->emin; set 6991 src/decNumber/decNumber.c decApplyRound(dn, set, *residue, status); // might force down set 6992 src/decNumber/decNumber.c decSetSubnormal(dn, set, residue, status); set 6998 src/decNumber/decNumber.c if (*residue!=0) decApplyRound(dn, set, *residue, status); set 7001 src/decNumber/decNumber.c if (dn->exponent<=set->emax-set->digits+1) return; // neither needed set 7004 src/decNumber/decNumber.c if (dn->exponent>set->emax-dn->digits+1) { // too big set 7005 src/decNumber/decNumber.c decSetOverflow(dn, set, status); set 7009 src/decNumber/decNumber.c if (!set->clamp) return; set 7012 src/decNumber/decNumber.c shift=dn->exponent-(set->emax-set->digits+1); set 7034 src/decNumber/decNumber.c static void decSetOverflow(decNumber *dn, decContext *set, uInt *status) { set 7039 src/decNumber/decNumber.c Int emax=set->emax; // limit value set 7040 src/decNumber/decNumber.c if (set->clamp) emax-=set->digits-1; // lower if clamping set 7049 src/decNumber/decNumber.c switch (set->round) { set 7065 src/decNumber/decNumber.c decSetMaxValue(dn, set); set 7080 src/decNumber/decNumber.c static void decSetMaxValue(decNumber *dn, decContext *set) { set 7082 src/decNumber/decNumber.c Int count=set->digits; // nines to add set 7094 src/decNumber/decNumber.c dn->exponent=set->emax-set->digits+1; set 7114 src/decNumber/decNumber.c static void decSetSubnormal(decNumber *dn, decContext *set, Int *residue, set 7121 src/decNumber/decNumber.c if (!set->extended) { set 7131 src/decNumber/decNumber.c etiny=set->emin-(set->digits-1); // smallest allowed exponent set 7154 src/decNumber/decNumber.c workset=*set; // clone rounding, etc. set 7194 src/decNumber/decNumber.c static uInt decCheckMath(const decNumber *rhs, decContext *set, set 7197 src/decNumber/decNumber.c if (set->digits>DEC_MAX_MATH set 7198 src/decNumber/decNumber.c || set->emax>DEC_MAX_MATH set 7199 src/decNumber/decNumber.c || -set->emin>DEC_MAX_MATH) *status|=DEC_Invalid_context; set 7366 src/decNumber/decNumber.c const decNumber *rhs, decContext *set, set 7381 src/decNumber/decNumber.c if (lhs->digits<=set->digits) decNumberCopy(res, lhs); // easy set 7387 src/decNumber/decNumber.c uresp1=res->lsu+D2U(set->digits); set 7391 src/decNumber/decNumber.c res->digits=D2U(set->digits)*DECDPUN; set 7393 src/decNumber/decNumber.c if (res->digits>set->digits) decDecap(res, res->digits-set->digits); set 7418 src/decNumber/decNumber.c static void decStatus(decNumber *dn, uInt status, decContext *set) { set 7427 src/decNumber/decNumber.c (void)decContextSetStatus(set, status); // [may not return] set 178 src/decNumber/decQuad.h # define decQuadFromNumber(dq, dn, set) \ set 179 src/decNumber/decQuad.h decimal128FromNumber((decimal128 *)(dq), dn, set) set 88 src/decNumber/decSingle.h # define decSingleFromNumber(dq, dn, set) \ set 89 src/decNumber/decSingle.h decimal32FromNumber((decimal32 *)(dq), dn, set) set 303 src/dps8/dps8_decimal.c set 476 src/dps8/dps8_decimal.c set 525 src/dps8/dps8_decimal.c set 553 src/dps8/dps8_decimal.c set 561 src/dps8/dps8_decimal.c set 562 src/dps8/dps8_decimal.c set 564 src/dps8/dps8_decimal.c set 565 src/dps8/dps8_decimal.c set 570 src/dps8/dps8_decimal.c set 585 src/dps8/dps8_decimal.c set 586 src/dps8/dps8_decimal.c set 597 src/dps8/dps8_decimal.c set 598 src/dps8/dps8_decimal.c set 599 src/dps8/dps8_decimal.c set 601 src/dps8/dps8_decimal.c set 616 src/dps8/dps8_decimal.c set 624 src/dps8/dps8_decimal.c set 640 src/dps8/dps8_decimal.c set 641 src/dps8/dps8_decimal.c set 643 src/dps8/dps8_decimal.c set 644 src/dps8/dps8_decimal.c set 645 src/dps8/dps8_decimal.c set 652 src/dps8/dps8_decimal.c set 653 src/dps8/dps8_decimal.c set 662 src/dps8/dps8_decimal.c set 663 src/dps8/dps8_decimal.c set 667 src/dps8/dps8_decimal.c set 677 src/dps8/dps8_decimal.c set 715 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 719 src/dps8/dps8_decimal.c enum rounding safeR = decContextGetRounding (set); // save rounding mode set 720 src/dps8/dps8_decimal.c int safe = set->digits; set 732 src/dps8/dps8_decimal.c decContextSetRounding (set, DEC_ROUND_DOWN); // Round towards 0 (truncation). ISOLTS 815 09b set 738 src/dps8/dps8_decimal.c set 741 src/dps8/dps8_decimal.c set 742 src/dps8/dps8_decimal.c set 743 src/dps8/dps8_decimal.c set 751 src/dps8/dps8_decimal.c set->digits = min (DECNUMDIGITS, max (set->digits, r->digits + r->exponent - sf)); set 752 src/dps8/dps8_decimal.c decNumberRescale (r, r, & _sf, set); set 753 src/dps8/dps8_decimal.c if (decContextGetStatus (set) == DEC_Invalid_operation) { set 758 src/dps8/dps8_decimal.c set->digits = safe; set 765 src/dps8/dps8_decimal.c decContextSetRounding (set, DEC_ROUND_DOWN); // Round towards 0 (truncation). set 766 src/dps8/dps8_decimal.c decNumberToIntegralValue (r2, r, set); set 778 src/dps8/dps8_decimal.c set->digits = r2digits - (nout + min (sf,0)); set 779 src/dps8/dps8_decimal.c decNumberPlus (r2, r, set); set 780 src/dps8/dps8_decimal.c set->digits = safe; set 782 src/dps8/dps8_decimal.c decNumberSubtract(r, r, r2, set); set 787 src/dps8/dps8_decimal.c decContextSetRounding (set, safeR); set 794 src/dps8/dps8_decimal.c decContextSetRounding(set, DEC_ROUND_DOWN); // Round towards 0 (truncation). set 798 src/dps8/dps8_decimal.c set->digits = nout; set 799 src/dps8/dps8_decimal.c decNumberPlus (r, r, set); set 800 src/dps8/dps8_decimal.c set->digits = safe; set 802 src/dps8/dps8_decimal.c decContextSetRounding (set, safeR); // restore rounding mode set 830 src/dps8/dps8_decimal.c int decCompare(decNumber *lhs, decNumber *rhs, decContext *set) set 833 src/dps8/dps8_decimal.c cmp = decNumberCompareTotal(&_cmp, lhs, rhs, set); set 845 src/dps8/dps8_decimal.c int decCompareMAG(decNumber *lhs, decNumber *rhs, decContext *set) set 848 src/dps8/dps8_decimal.c cmpm = decNumberCompareTotalMag(&_cmpm, lhs, rhs, set); set 37 src/dps8/dps8_decimal.h #define PRINTALL(msg, dn, set) \ set 40 src/dps8/dps8_decimal.h sim_printf("%s:'%s E%d'\n", msg, getBCDn(dn, set->digits), dn->exponent); \ set 46 src/dps8/dps8_decimal.h char *formatDecimal(uint8_t * out, decContext *set, decNumber *r, int nout, int s, set 52 src/dps8/dps8_decimal.h int decCompareMAG(decNumber *lhs, decNumber *rhs, decContext *set); set 7475 src/dps8/dps8_eis.c decContext set; set 7477 src/dps8/dps8_eis.c decContextDefaultDPS8(&set); set 7479 src/dps8/dps8_eis.c set.traps=0; set 7500 src/dps8/dps8_eis.c decNumber *cmp = decNumberCompare(&_3, op1, op2, &set); // compare signed op1 :: op2 set 7501 src/dps8/dps8_eis.c int cSigned = decNumberToInt32(cmp, &set); set 7504 src/dps8/dps8_eis.c op1 = decNumberAbs(op1, op1, &set); set 7505 src/dps8/dps8_eis.c op2 = decNumberAbs(op2, op2, &set); set 7508 src/dps8/dps8_eis.c decNumber *mcmp = decNumberCompare(&_3, op1, op2, &set); // compare signed op1 :: op2 set 7509 src/dps8/dps8_eis.c int cMag = decNumberToInt32(mcmp, &set); set 7804 src/dps8/dps8_eis.c decContext set; set 7805 src/dps8/dps8_eis.c decContextDefaultDPS8(&set); set 7806 src/dps8/dps8_eis.c set.traps=0; set 7829 src/dps8/dps8_eis.c char * res = formatDecimal (out, & set, op1, n2, (int) e->S2, e->SF2, R, set 9624 src/dps8/dps8_eis.c decContext set; set 9625 src/dps8/dps8_eis.c decContextDefaultDPS8(&set); set 9626 src/dps8/dps8_eis.c set.traps=0; set 9676 src/dps8/dps8_eis.c decNumber *op1 = decNumberFromString(&_1, tmp+i, &set); set 9683 src/dps8/dps8_eis.c char * res = formatDecimal (out, &set, op1, n2, (int) e->S2, e->SF2, 0, &Ovr, &Trunc); set 10292 src/dps8/dps8_eis.c decContext set; set 10294 src/dps8/dps8_eis.c decContextDefaultDPS8(&set); set 10296 src/dps8/dps8_eis.c set.traps=0; set 10316 src/dps8/dps8_eis.c decNumber *op3 = decNumberAdd(&_3, op1, op2, &set); set 10334 src/dps8/dps8_eis.c enum rounding safeR = decContextGetRounding(&set); // save rounding mode set 10335 src/dps8/dps8_eis.c int safe = set.digits; set 10339 src/dps8/dps8_eis.c decContextSetRounding(&set, DEC_ROUND_DOWN); // Round towards 0 (truncation). set 10340 src/dps8/dps8_eis.c set.digits = op3->digits - min(max(sf,0),ctz) - 63; set 10341 src/dps8/dps8_eis.c decNumberPlus(&tmp, op3, &set); set 10342 src/dps8/dps8_eis.c set.digits = safe; set 10344 src/dps8/dps8_eis.c decNumberSubtract(op3, op3, &tmp, &set); set 10348 src/dps8/dps8_eis.c decContextSetRounding(&set, safeR); set 10356 src/dps8/dps8_eis.c char *res = formatDecimal(out, &set, op3, n2, (int) e->S2, e->SF2, R, &Ovr, &Trunc); set 10674 src/dps8/dps8_eis.c decContext set; set 10676 src/dps8/dps8_eis.c decContextDefaultDPS8(&set); set 10677 src/dps8/dps8_eis.c set.traps=0; set 10697 src/dps8/dps8_eis.c decNumber *op3 = decNumberAdd(&_3, op1, op2, &set); set 10725 src/dps8/dps8_eis.c enum rounding safeR = decContextGetRounding(&set); // save rounding mode set 10726 src/dps8/dps8_eis.c int safe = set.digits; set 10730 src/dps8/dps8_eis.c decContextSetRounding(&set, DEC_ROUND_DOWN); // Round towards 0 (truncation). set 10731 src/dps8/dps8_eis.c set.digits = op3->digits - min(max(sf,0),ctz) - 63; set 10732 src/dps8/dps8_eis.c decNumberPlus(&tmp, op3, &set); set 10733 src/dps8/dps8_eis.c set.digits = safe; set 10735 src/dps8/dps8_eis.c decNumberSubtract(op3, op3, &tmp, &set); set 10739 src/dps8/dps8_eis.c decContextSetRounding(&set, safeR); set 10747 src/dps8/dps8_eis.c char *res = formatDecimal(out, &set, op3, n3, (int) e->S3, e->SF3, R, &Ovr, &Trunc); set 11005 src/dps8/dps8_eis.c decContext set; set 11007 src/dps8/dps8_eis.c decContextDefaultDPS8(&set); set 11008 src/dps8/dps8_eis.c set.traps=0; set 11028 src/dps8/dps8_eis.c decNumber *op3 = decNumberSubtract(&_3, op2, op1, &set); set 11046 src/dps8/dps8_eis.c enum rounding safeR = decContextGetRounding(&set); // save rounding mode set 11047 src/dps8/dps8_eis.c int safe = set.digits; set 11051 src/dps8/dps8_eis.c decContextSetRounding(&set, DEC_ROUND_DOWN); // Round towards 0 (truncation). set 11052 src/dps8/dps8_eis.c set.digits = op3->digits - min(max(sf,0),ctz) - 63; set 11053 src/dps8/dps8_eis.c decNumberPlus(&tmp, op3, &set); set 11054 src/dps8/dps8_eis.c set.digits = safe; set 11056 src/dps8/dps8_eis.c decNumberSubtract(op3, op3, &tmp, &set); set 11060 src/dps8/dps8_eis.c decContextSetRounding(&set, safeR); set 11068 src/dps8/dps8_eis.c char *res = formatDecimal(out, &set, op3, n2, (int) e->S2, e->SF2, R, &Ovr, &Trunc); set 11345 src/dps8/dps8_eis.c decContext set; set 11347 src/dps8/dps8_eis.c decContextDefaultDPS8(&set); set 11349 src/dps8/dps8_eis.c set.traps=0; set 11369 src/dps8/dps8_eis.c decNumber *op3 = decNumberSubtract(&_3, op2, op1, &set); set 11387 src/dps8/dps8_eis.c enum rounding safeR = decContextGetRounding(&set); // save rounding mode set 11388 src/dps8/dps8_eis.c int safe = set.digits; set 11392 src/dps8/dps8_eis.c decContextSetRounding(&set, DEC_ROUND_DOWN); // Round towards 0 (truncation). set 11393 src/dps8/dps8_eis.c set.digits = op3->digits - min(max(sf,0),ctz) - 63; set 11394 src/dps8/dps8_eis.c decNumberPlus(&tmp, op3, &set); set 11395 src/dps8/dps8_eis.c set.digits = safe; set 11397 src/dps8/dps8_eis.c decNumberSubtract(op3, op3, &tmp, &set); set 11401 src/dps8/dps8_eis.c decContextSetRounding(&set, safeR); set 11409 src/dps8/dps8_eis.c char *res = formatDecimal(out, &set, op3, n3, (int) e->S3, e->SF3, R, &Ovr, &Trunc); set 11662 src/dps8/dps8_eis.c decContext set; set 11663 src/dps8/dps8_eis.c decContextDefaultDPS8Mul(&set); // 126 digits for multiply set 11665 src/dps8/dps8_eis.c set.traps=0; set 11685 src/dps8/dps8_eis.c decNumber *op3 = decNumberMultiply(&_3, op1, op2, &set); set 11690 src/dps8/dps8_eis.c char *res = formatDecimal(out, &set, op3, n2, (int) e->S2, e->SF2, R, &Ovr, &Trunc); set 11963 src/dps8/dps8_eis.c decContext set; set 11965 src/dps8/dps8_eis.c decContextDefaultDPS8Mul(&set); // 126 digits for multiply set 11967 src/dps8/dps8_eis.c set.traps=0; set 11987 src/dps8/dps8_eis.c decNumber *op3 = decNumberMultiply(&_3, op1, op2, &set); set 12003 src/dps8/dps8_eis.c char *res = formatDecimal(out, &set, op3, n3, (int) e->S3, e->SF3, R, &Ovr, &Trunc); set 12355 src/dps8/dps8_eis.c set 12358 src/dps8/dps8_eis.c set 12372 src/dps8/dps8_eis.c set 12465 src/dps8/dps8_eis.c set 12508 src/dps8/dps8_eis.c set 12550 src/dps8/dps8_eis.c set 12602 src/dps8/dps8_eis.c set 12648 src/dps8/dps8_eis.c set 12690 src/dps8/dps8_eis.c set 12698 src/dps8/dps8_eis.c set 12699 src/dps8/dps8_eis.c set 12701 src/dps8/dps8_eis.c set 12702 src/dps8/dps8_eis.c set 12707 src/dps8/dps8_eis.c set 12722 src/dps8/dps8_eis.c set 12723 src/dps8/dps8_eis.c set 12734 src/dps8/dps8_eis.c set 12735 src/dps8/dps8_eis.c set 12736 src/dps8/dps8_eis.c set 12738 src/dps8/dps8_eis.c set 12749 src/dps8/dps8_eis.c set 12757 src/dps8/dps8_eis.c set 12773 src/dps8/dps8_eis.c set 12774 src/dps8/dps8_eis.c set 12778 src/dps8/dps8_eis.c set 12779 src/dps8/dps8_eis.c set 12780 src/dps8/dps8_eis.c set 12806 src/dps8/dps8_eis.c set 12807 src/dps8/dps8_eis.c set 12815 src/dps8/dps8_eis.c set 12816 src/dps8/dps8_eis.c set 12820 src/dps8/dps8_eis.c set 12845 src/dps8/dps8_eis.c set 13004 src/dps8/dps8_eis.c decContext set; set 13005 src/dps8/dps8_eis.c decContextDefaultDPS8(&set); set 13007 src/dps8/dps8_eis.c set.traps=0; set 13069 src/dps8/dps8_eis.c decNumber *op3 = decNumberDivide(&_3, op2, op1, &set); set 13080 src/dps8/dps8_eis.c (set.status & DEC_Division_undefined) || // 0/0 will become NaN set 13081 src/dps8/dps8_eis.c (set.status & DEC_Invalid_operation) || set 13082 src/dps8/dps8_eis.c (set.status & DEC_Division_by_zero) set 13099 src/dps8/dps8_eis.c op3 = decNumberRescale(op3, op3, &_sf, &set); set 13125 src/dps8/dps8_eis.c decNumberShift(&_2a, op2, &_sf, &set); set 13129 src/dps8/dps8_eis.c decNumberShift(&_1a, op1, &_sf, &set); set 13140 src/dps8/dps8_eis.c if (decCompareMAG(&_1a, &_2a, &set) > 0) { set 13142 src/dps8/dps8_eis.c res = formatDecimal(out, &set, op3, n2 -1, (int) e->S2, e->SF2, R, &Ovr, &Trunc); set 13152 src/dps8/dps8_eis.c res = formatDecimal(out, &set, op3, n2, (int) e->S2, e->SF2, R, &Ovr, &Trunc); set 13156 src/dps8/dps8_eis.c res = formatDecimal(out, &set, op3, n2, (int) e->S2, e->SF2, R, &Ovr, &Trunc); set 13429 src/dps8/dps8_eis.c decContext set; set 13430 src/dps8/dps8_eis.c decContextDefaultDPS8(&set); set 13432 src/dps8/dps8_eis.c set.traps=0; set 13512 src/dps8/dps8_eis.c decNumber *op3 = decNumberDivide(&_3, op2, op1, &set); set 13523 src/dps8/dps8_eis.c (set.status & DEC_Division_undefined) || // 0/0 will become NaN set 13524 src/dps8/dps8_eis.c (set.status & DEC_Invalid_operation) || set 13525 src/dps8/dps8_eis.c (set.status & DEC_Division_by_zero) set 13542 src/dps8/dps8_eis.c op3 = decNumberRescale(op3, op3, &_sf, &set); set 13568 src/dps8/dps8_eis.c decNumberShift(&_2a, op2, &_sf, &set); set 13572 src/dps8/dps8_eis.c decNumberShift(&_1a, op1, &_sf, &set); set 13585 src/dps8/dps8_eis.c if (decCompareMAG(&_1a, &_2a, &set) > 0) { set 13587 src/dps8/dps8_eis.c res = formatDecimal(out, &set, op3, n3 -1, (int) e->S3, e->SF3, R, &Ovr, &Trunc); set 13597 src/dps8/dps8_eis.c res = formatDecimal(out, &set, op3, n3, (int) e->S3, e->SF3, R, &Ovr, &Trunc); set 13601 src/dps8/dps8_eis.c res = formatDecimal(out, &set, op3, n3, (int) e->S3, e->SF3, R, &Ovr, &Trunc); set 153 src/libsir/include/sir/helpers.h void _sir_setbitshigh(uint32_t* flags, uint32_t set) { set 155 src/libsir/include/sir/helpers.h *flags |= set; set 160 src/libsir/include/sir/helpers.h void _sir_setbitslow(uint32_t* flags, uint32_t set) { set 162 src/libsir/include/sir/helpers.h *flags &= ~set; set 3793 src/simh/sim_tmxr.c t_bool *set; set 3807 src/simh/sim_tmxr.c set = (t_bool *) calloc (mp->lines, sizeof (t_bool)); /* allocate line set tracking array */ set 3808 src/simh/sim_tmxr.c if (set == NULL) { /* allocation failed? */ set 3815 src/simh/sim_tmxr.c FREE(set); set 3846 src/simh/sim_tmxr.c if (set [line] == FALSE) { /* not already specified? */ set 3847 src/simh/sim_tmxr.c set [line] = TRUE; /* now it is */ set 3856 src/simh/sim_tmxr.c if (set [line] == FALSE) { /* specified? */ set 3865 src/simh/sim_tmxr.c FREE (set); /* free set allocation */