dn 155 src/decNumber/decDouble.h # define decDoubleToNumber(dq, dn) decimal64ToNumber((decimal64 *)(dq), dn) dn 156 src/decNumber/decDouble.h # define decDoubleFromNumber(dq, dn, set) decimal64FromNumber((decimal64 *)(dq), dn, set) dn 290 src/decNumber/decNumber.c decNumber * decNumberFromInt32(decNumber *dn, Int in) { dn 298 src/decNumber/decNumber.c decNumberFromUInt32(dn, unsig); dn 299 src/decNumber/decNumber.c if (in<0) dn->bits=DECNEG; // sign needed dn 300 src/decNumber/decNumber.c return dn; dn 303 src/decNumber/decNumber.c decNumber * decNumberFromUInt32(decNumber *dn, uInt uin) { dn 305 src/decNumber/decNumber.c decNumberZero(dn); // clean dn 306 src/decNumber/decNumber.c if (uin==0) return dn; // [or decGetDigits bad call] dn 307 src/decNumber/decNumber.c for (up=dn->lsu; uin>0; up++) { dn 311 src/decNumber/decNumber.c dn->digits=decGetDigits(dn->lsu, up-dn->lsu); dn 312 src/decNumber/decNumber.c return dn; dn 325 src/decNumber/decNumber.c Int decNumberToInt32(const decNumber *dn, decContext *set) { dn 327 src/decNumber/decNumber.c if (dn->bits&DECSPECIAL || dn->digits>10 || dn->exponent!=0) ; // bad dn 332 src/decNumber/decNumber.c up=dn->lsu; // -> lsu dn 340 src/decNumber/decNumber.c for (d=DECDPUN; d<dn->digits; up++, d+=DECDPUN) hi+=*up*powers[d-1]; dn 344 src/decNumber/decNumber.c if (dn->bits&DECNEG && hi==214748364 && lo==8) return 0x80000000; dn 349 src/decNumber/decNumber.c if (dn->bits&DECNEG) return -i; dn 357 src/decNumber/decNumber.c uInt decNumberToUInt32(const decNumber *dn, decContext *set) { dn 359 src/decNumber/decNumber.c if (dn->bits&DECSPECIAL || dn->digits>10 || dn->exponent!=0 dn 360 src/decNumber/decNumber.c || (dn->bits&DECNEG && !ISZERO(dn))); // bad dn 365 src/decNumber/decNumber.c up=dn->lsu; // -> lsu dn 373 src/decNumber/decNumber.c for (d=DECDPUN; d<dn->digits; up++, d+=DECDPUN) hi+=*up*powers[d-1]; dn 397 src/decNumber/decNumber.c char * decNumberToString(const decNumber *dn, char *string){ dn 398 src/decNumber/decNumber.c decToString(dn, string, 0); dn 402 src/decNumber/decNumber.c char * decNumberToEngString(const decNumber *dn, char *string){ dn 403 src/decNumber/decNumber.c decToString(dn, string, 1); dn 427 src/decNumber/decNumber.c decNumber * decNumberFromString(decNumber *dn, const char chars[], dn 480 src/decNumber/decNumber.c decNumberZero(dn); // be optimistic dn 483 src/decNumber/decNumber.c dn->bits=bits | DECINF; dn 489 src/decNumber/decNumber.c dn->bits=bits | DECNAN; // assume simple NaN dn 492 src/decNumber/decNumber.c dn->bits=bits | DECSNAN; dn 521 src/decNumber/decNumber.c bits=dn->bits; // for copy-back dn 571 src/decNumber/decNumber.c decNumberZero(dn); // clean result dn 584 src/decNumber/decNumber.c if (d<=set->digits) res=dn->lsu; // fits into supplied decNumber dn 625 src/decNumber/decNumber.c dn->bits=bits; dn 626 src/decNumber/decNumber.c dn->exponent=exponent; dn 627 src/decNumber/decNumber.c dn->digits=d; dn 632 src/decNumber/decNumber.c decSetCoeff(dn, set, res, d, &residue, &status); dn 634 src/decNumber/decNumber.c decFinalize(dn, set, &residue, &status); dn 638 src/decNumber/decNumber.c if ((dn->exponent-1<set->emin-dn->digits) dn 639 src/decNumber/decNumber.c || (dn->exponent-1>set->emax-set->digits)) { dn 641 src/decNumber/decNumber.c decFinalize(dn, set, &residue, &status); dn 648 src/decNumber/decNumber.c if (status!=0) decStatus(dn, status, set); dn 649 src/decNumber/decNumber.c return dn; dn 3010 src/decNumber/decNumber.c decNumber dn; dn 3026 src/decNumber/decNumber.c decNumberZero(&dn); // make a number with exponent 0 dn 3027 src/decNumber/decNumber.c decNumberQuantize(res, rhs, &dn, &workset); dn 3121 src/decNumber/decNumber.c enum decClass decNumberClass(const decNumber *dn, decContext *set) { dn 3122 src/decNumber/decNumber.c if (decNumberIsSpecial(dn)) { dn 3123 src/decNumber/decNumber.c if (decNumberIsQNaN(dn)) return DEC_CLASS_QNAN; dn 3124 src/decNumber/decNumber.c if (decNumberIsSNaN(dn)) return DEC_CLASS_SNAN; dn 3126 src/decNumber/decNumber.c if (decNumberIsNegative(dn)) return DEC_CLASS_NEG_INF; dn 3130 src/decNumber/decNumber.c if (decNumberIsNormal(dn, set)) { // most common dn 3131 src/decNumber/decNumber.c if (decNumberIsNegative(dn)) return DEC_CLASS_NEG_NORMAL; dn 3135 src/decNumber/decNumber.c if (decNumberIsZero(dn)) { // most common dn 3136 src/decNumber/decNumber.c if (decNumberIsNegative(dn)) return DEC_CLASS_NEG_ZERO; dn 3139 src/decNumber/decNumber.c if (decNumberIsNegative(dn)) return DEC_CLASS_NEG_SUBNORMAL; dn 3266 src/decNumber/decNumber.c uByte * decNumberGetBCD(const decNumber *dn, uByte *bcd) { dn 3267 src/decNumber/decNumber.c uByte *ub=bcd+dn->digits-1; // -> lsd dn 3268 src/decNumber/decNumber.c const Unit *up=dn->lsu; // Unit pointer, -> lsu dn 3300 src/decNumber/decNumber.c decNumber * decNumberSetBCD(decNumber *dn, const uByte *bcd, uInt n) { dn 3301 src/decNumber/decNumber.c Unit *up=dn->lsu+D2U(dn->digits)-1; // -> msu [target pointer] dn 3309 src/decNumber/decNumber.c for (;up>=dn->lsu; up--) { // each Unit from msu dn 3315 src/decNumber/decNumber.c dn->digits=n; // set digit count dn 3316 src/decNumber/decNumber.c return dn; dn 3325 src/decNumber/decNumber.c Int decNumberIsNormal(const decNumber *dn, decContext *set) { dn 3328 src/decNumber/decNumber.c if (decNumberIsSpecial(dn)) return 0; // not finite dn 3329 src/decNumber/decNumber.c if (decNumberIsZero(dn)) return 0; // not non-zero dn 3331 src/decNumber/decNumber.c ae=dn->exponent+dn->digits-1; // adjusted exponent dn 3342 src/decNumber/decNumber.c Int decNumberIsSubnormal(const decNumber *dn, decContext *set) { dn 3345 src/decNumber/decNumber.c if (decNumberIsSpecial(dn)) return 0; // not finite dn 3346 src/decNumber/decNumber.c if (decNumberIsZero(dn)) return 0; // not non-zero dn 3348 src/decNumber/decNumber.c ae=dn->exponent+dn->digits-1; // adjusted exponent dn 3363 src/decNumber/decNumber.c decNumber * decNumberTrim(decNumber *dn) { dn 3367 src/decNumber/decNumber.c return decTrim(dn, &set, 0, 1, &dropped); dn 3388 src/decNumber/decNumber.c decNumber * decNumberZero(decNumber *dn) { dn 3390 src/decNumber/decNumber.c dn->bits=0; dn 3391 src/decNumber/decNumber.c dn->exponent=0; dn 3392 src/decNumber/decNumber.c dn->digits=1; dn 3393 src/decNumber/decNumber.c dn->lsu[0]=0; dn 3394 src/decNumber/decNumber.c return dn; dn 3415 src/decNumber/decNumber.c static void decToString(const decNumber *dn, char *string, Flag eng) { dn 3416 src/decNumber/decNumber.c Int exp=dn->exponent; // local copy dn 3421 src/decNumber/decNumber.c const Unit *up=dn->lsu+D2U(dn->digits)-1; // -> msu [input pointer] dn 3424 src/decNumber/decNumber.c if (decNumberIsNegative(dn)) { // Negatives get a minus dn 3428 src/decNumber/decNumber.c if (dn->bits&DECSPECIAL) { // Is a special value dn 3429 src/decNumber/decNumber.c if (decNumberIsInfinite(dn)) { dn 3434 src/decNumber/decNumber.c if (dn->bits&DECSNAN) { // signalling NaN dn 3442 src/decNumber/decNumber.c if (exp!=0 || (*dn->lsu==0 && dn->digits==1)) return; dn 3447 src/decNumber/decNumber.c cut=MSUDIGITS(dn->digits); // [faster than remainder] dn 3451 src/decNumber/decNumber.c for (;up>=dn->lsu; up--) { // each Unit from msu dn 3460 src/decNumber/decNumber.c pre=dn->digits+exp; // digits before '.' dn 3463 src/decNumber/decNumber.c e=exp+dn->digits-1; // calculate E value dn 3480 src/decNumber/decNumber.c if (!ISZERO(dn)) pre+=adj; dn 3496 src/decNumber/decNumber.c if (up==dn->lsu) break; // out of input digits (pre>digits) dn 3503 src/decNumber/decNumber.c if (n<dn->digits) { // more to come, after '.' dn 3507 src/decNumber/decNumber.c if (up==dn->lsu) break; // out of input digits dn 3523 src/decNumber/decNumber.c if (up==dn->lsu) break; // out of input digits dn 6307 src/decNumber/decNumber.c static decNumber * decTrim(decNumber *dn, decContext *set, Flag all, dn 6314 src/decNumber/decNumber.c if ((dn->bits & DECSPECIAL) // fast exit if special .. dn 6315 src/decNumber/decNumber.c || (*dn->lsu & 0x01)) return dn; // .. or odd dn 6316 src/decNumber/decNumber.c if (ISZERO(dn)) { // .. or 0 dn 6317 src/decNumber/decNumber.c dn->exponent=0; // (sign is preserved) dn 6318 src/decNumber/decNumber.c return dn; dn 6322 src/decNumber/decNumber.c exp=dn->exponent; dn 6324 src/decNumber/decNumber.c up=dn->lsu; // -> current Unit dn 6325 src/decNumber/decNumber.c for (d=0; d<dn->digits-1; d++) { // [don't strip the final digit] dn 6347 src/decNumber/decNumber.c if (d==0) return dn; // none to drop dn 6351 src/decNumber/decNumber.c Int maxd=set->emax-set->digits+1-dn->exponent; dn 6352 src/decNumber/decNumber.c if (maxd<=0) return dn; // nothing possible dn 6357 src/decNumber/decNumber.c decShiftToLeast(dn->lsu, D2U(dn->digits), d); dn 6358 src/decNumber/decNumber.c dn->exponent+=d; // maintain numerical value dn 6359 src/decNumber/decNumber.c dn->digits-=d; // new length dn 6361 src/decNumber/decNumber.c return dn; dn 6519 src/decNumber/decNumber.c static decNumber *decRoundOperand(const decNumber *dn, decContext *set, dn 6533 src/decNumber/decNumber.c decCopyFit(res, dn, set, &residue, &newstatus); dn 6601 src/decNumber/decNumber.c static void decSetCoeff(decNumber *dn, decContext *set, const Unit *lsu, dn 6614 src/decNumber/decNumber.c if (dn->lsu!=lsu) { // copy needed dn 6618 src/decNumber/decNumber.c for (target=dn->lsu; count>0; target++, up++, count-=DECDPUN) dn 6620 src/decNumber/decNumber.c dn->digits=len; // set the new length dn 6628 src/decNumber/decNumber.c dn->exponent+=discard; // maintain numerical value dn 6643 src/decNumber/decNumber.c *dn->lsu=0; // coefficient will now be 0 dn 6644 src/decNumber/decNumber.c dn->digits=1; // .. dn 6674 src/decNumber/decNumber.c *dn->lsu=0; // .. result is 0 dn 6675 src/decNumber/decNumber.c dn->digits=1; // .. dn 6679 src/decNumber/decNumber.c dn->digits=count; // set the new length dn 6682 src/decNumber/decNumber.c for (target=dn->lsu; count>0; target++, up++, count-=DECDPUN) dn 6719 src/decNumber/decNumber.c *dn->lsu=0; // .. result is 0 dn 6720 src/decNumber/decNumber.c dn->digits=1; // .. dn 6724 src/decNumber/decNumber.c dn->digits=count; // set the new length dn 6726 src/decNumber/decNumber.c for (target=dn->lsu; ; target++) { dn 6782 src/decNumber/decNumber.c static void decApplyRound(decNumber *dn, decContext *set, Int residue, dn 6799 src/decNumber/decNumber.c Int lsd5=*dn->lsu%5; // get lsd and quintate dn 6818 src/decNumber/decNumber.c if (*dn->lsu & 0x01) bump=1; dn 6833 src/decNumber/decNumber.c if (decNumberIsNegative(dn)) { dn 6844 src/decNumber/decNumber.c if (!decNumberIsNegative(dn)) { dn 6867 src/decNumber/decNumber.c uInt count=dn->digits; // digits to be checked dn 6868 src/decNumber/decNumber.c for (up=dn->lsu; ; up++) { dn 6874 src/decNumber/decNumber.c for (up=up-1; up>=dn->lsu; up--) *up=0; // others all to 0 dn 6875 src/decNumber/decNumber.c dn->exponent++; // and bump exponent dn 6877 src/decNumber/decNumber.c if ((dn->exponent+dn->digits)>set->emax+1) { dn 6878 src/decNumber/decNumber.c decSetOverflow(dn, set, status); dn 6891 src/decNumber/decNumber.c uInt count=dn->digits; // digits to be checked dn 6892 src/decNumber/decNumber.c for (up=dn->lsu; ; up++) { dn 6900 src/decNumber/decNumber.c for (up=up-1; up>=dn->lsu; up--) *up=(Unit)powers[DECDPUN]-1; dn 6901 src/decNumber/decNumber.c dn->exponent--; // and bump exponent dn 6908 src/decNumber/decNumber.c if (dn->exponent+1==set->emin-set->digits+1) { //-V584 dn 6909 src/decNumber/decNumber.c if (count==1 && dn->digits==1) *sup=0; // here 9 -> 0[.9] dn 6912 src/decNumber/decNumber.c dn->digits--; dn 6914 src/decNumber/decNumber.c dn->exponent++; dn 6928 src/decNumber/decNumber.c decUnitAddSub(dn->lsu, D2U(dn->digits), uarrone, 1, 0, dn->lsu, bump); dn 6948 src/decNumber/decNumber.c static void decFinish(decNumber *dn, decContext *set, Int *residue, dn 6951 src/decNumber/decNumber.c if ISZERO(dn) { // value is zero dn 6952 src/decNumber/decNumber.c dn->exponent=0; // clean exponent .. dn 6953 src/decNumber/decNumber.c dn->bits=0; // .. and sign dn 6956 src/decNumber/decNumber.c if (dn->exponent>=0) { // non-negative exponent dn 6958 src/decNumber/decNumber.c if (set->digits >= (dn->exponent+dn->digits)) { dn 6959 src/decNumber/decNumber.c dn->digits=decShiftToMost(dn->lsu, dn->digits, dn->exponent); dn 6960 src/decNumber/decNumber.c dn->exponent=0; dn 6965 src/decNumber/decNumber.c decFinalize(dn, set, residue, status); dn 6983 src/decNumber/decNumber.c static void decFinalize(decNumber *dn, decContext *set, Int *residue, dn 6986 src/decNumber/decNumber.c Int tinyexp=set->emin-dn->digits+1; // precalculate subnormal boundary dn 6994 src/decNumber/decNumber.c if (dn->exponent<=tinyexp) { // prefilter dn 6998 src/decNumber/decNumber.c if (dn->exponent<tinyexp) { dn 7000 src/decNumber/decNumber.c decSetSubnormal(dn, set, residue, status); dn 7007 src/decNumber/decNumber.c comp=decCompare(dn, &nmin, 1); // (signless compare) dn 7013 src/decNumber/decNumber.c decApplyRound(dn, set, *residue, status); // might force down dn 7014 src/decNumber/decNumber.c decSetSubnormal(dn, set, residue, status); dn 7020 src/decNumber/decNumber.c if (*residue!=0) decApplyRound(dn, set, *residue, status); dn 7023 src/decNumber/decNumber.c if (dn->exponent<=set->emax-set->digits+1) return; // neither needed dn 7026 src/decNumber/decNumber.c if (dn->exponent>set->emax-dn->digits+1) { // too big dn 7027 src/decNumber/decNumber.c decSetOverflow(dn, set, status); dn 7034 src/decNumber/decNumber.c shift=dn->exponent-(set->emax-set->digits+1); dn 7037 src/decNumber/decNumber.c if (!ISZERO(dn)) { dn 7038 src/decNumber/decNumber.c dn->digits=decShiftToMost(dn->lsu, dn->digits, shift); dn 7040 src/decNumber/decNumber.c dn->exponent-=shift; // adjust the exponent to match dn 7056 src/decNumber/decNumber.c static void decSetOverflow(decNumber *dn, decContext *set, uInt *status) { dn 7058 src/decNumber/decNumber.c uByte sign=dn->bits&DECNEG; // clean and save sign bit dn 7060 src/decNumber/decNumber.c if (ISZERO(dn)) { // zero does not overflow magnitude dn 7063 src/decNumber/decNumber.c if (dn->exponent>emax) { // clamp required dn 7064 src/decNumber/decNumber.c dn->exponent=emax; dn 7070 src/decNumber/decNumber.c decNumberZero(dn); dn 7087 src/decNumber/decNumber.c decSetMaxValue(dn, set); dn 7088 src/decNumber/decNumber.c dn->bits=sign; // set sign dn 7090 src/decNumber/decNumber.c else dn->bits=sign|DECINF; // Value is +/-Infinity dn 7102 src/decNumber/decNumber.c static void decSetMaxValue(decNumber *dn, decContext *set) { dn 7105 src/decNumber/decNumber.c dn->digits=count; dn 7107 src/decNumber/decNumber.c for (up=dn->lsu; ; up++) { dn 7115 src/decNumber/decNumber.c dn->bits=0; // + sign dn 7116 src/decNumber/decNumber.c dn->exponent=set->emax-set->digits+1; dn 7136 src/decNumber/decNumber.c static void decSetSubnormal(decNumber *dn, decContext *set, Int *residue, dn 7144 src/decNumber/decNumber.c decNumberZero(dn); dn 7155 src/decNumber/decNumber.c if ISZERO(dn) { // value is zero dn 7157 src/decNumber/decNumber.c if (dn->exponent<etiny) { // clamp required dn 7158 src/decNumber/decNumber.c dn->exponent=etiny; dn 7165 src/decNumber/decNumber.c adjust=etiny-dn->exponent; // calculate digits to remove dn 7177 src/decNumber/decNumber.c workset.digits=dn->digits-adjust; // set requested length dn 7180 src/decNumber/decNumber.c decSetCoeff(dn, &workset, dn->lsu, dn->digits, residue, status); dn 7181 src/decNumber/decNumber.c decApplyRound(dn, &workset, *residue, status); dn 7189 src/decNumber/decNumber.c if (dn->exponent>etiny) { dn 7190 src/decNumber/decNumber.c dn->digits=decShiftToMost(dn->lsu, dn->digits, 1); dn 7191 src/decNumber/decNumber.c dn->exponent--; // (re)adjust the exponent. dn 7195 src/decNumber/decNumber.c if (ISZERO(dn)) *status|=DEC_Clamped; dn 7244 src/decNumber/decNumber.c static Int decGetInt(const decNumber *dn) { dn 7248 src/decNumber/decNumber.c Int ilength=dn->digits+dn->exponent; // integral length dn 7249 src/decNumber/decNumber.c Flag neg=decNumberIsNegative(dn); // 1 if -ve dn 7259 src/decNumber/decNumber.c if (ISZERO(dn)) return 0; // zeros are OK, with any exponent dn 7261 src/decNumber/decNumber.c up=dn->lsu; // ready for lsu dn 7263 src/decNumber/decNumber.c if (dn->exponent>=0) { // relatively easy dn 7265 src/decNumber/decNumber.c got=dn->exponent; dn 7268 src/decNumber/decNumber.c Int count=-dn->exponent; // digits to discard dn 7333 src/decNumber/decNumber.c static decNumber *decDecap(decNumber *dn, Int drop) { dn 7336 src/decNumber/decNumber.c if (drop>=dn->digits) { // losing the whole thing dn 7337 src/decNumber/decNumber.c dn->lsu[0]=0; dn 7338 src/decNumber/decNumber.c dn->digits=1; dn 7339 src/decNumber/decNumber.c return dn; dn 7341 src/decNumber/decNumber.c msu=dn->lsu+D2U(dn->digits-drop)-1; // -> likely msu dn 7342 src/decNumber/decNumber.c cut=MSUDIGITS(dn->digits-drop); // digits to be in use in msu dn 7345 src/decNumber/decNumber.c dn->digits=decGetDigits(dn->lsu, msu-dn->lsu+1); dn 7346 src/decNumber/decNumber.c return dn; dn 7440 src/decNumber/decNumber.c static void decStatus(decNumber *dn, uInt status, decContext *set) { dn 7445 src/decNumber/decNumber.c decNumberZero(dn); // other error: clean throughout dn 7446 src/decNumber/decNumber.c dn->bits=DECNAN; // and make a quiet NaN dn 172 src/decNumber/decNumber.h # define decNumberIsCanonical(dn) (1) /* All decNumbers are saintly */ dn 173 src/decNumber/decNumber.h # define decNumberIsFinite(dn) (((dn)->bits&DECSPECIAL)==0) dn 174 src/decNumber/decNumber.h # define decNumberIsInfinite(dn) (((dn)->bits&DECINF)!=0) dn 175 src/decNumber/decNumber.h # define decNumberIsNaN(dn) (((dn)->bits&(DECNAN|DECSNAN))!=0) dn 176 src/decNumber/decNumber.h # define decNumberIsNegative(dn) (((dn)->bits&DECNEG)!=0) dn 177 src/decNumber/decNumber.h # define decNumberIsQNaN(dn) (((dn)->bits&(DECNAN))!=0) dn 178 src/decNumber/decNumber.h # define decNumberIsSNaN(dn) (((dn)->bits&(DECSNAN))!=0) dn 179 src/decNumber/decNumber.h # define decNumberIsSpecial(dn) (((dn)->bits&DECSPECIAL)!=0) dn 180 src/decNumber/decNumber.h # define decNumberIsZero(dn) (*(dn)->lsu==0 \ dn 181 src/decNumber/decNumber.h && (dn)->digits==1 \ dn 182 src/decNumber/decNumber.h && (((dn)->bits&DECSPECIAL)==0)) dn 183 src/decNumber/decNumber.h # define decNumberRadix(dn) (10) dn 283 src/decNumber/decNumberLocal.h # define ISZERO(dn) decNumberIsZero(dn) /* now just a local name */ dn 177 src/decNumber/decQuad.h # define decQuadToNumber(dq, dn) \ dn 178 src/decNumber/decQuad.h decimal128ToNumber((decimal128 *)(dq), dn) dn 179 src/decNumber/decQuad.h # define decQuadFromNumber(dq, dn, set) \ dn 180 src/decNumber/decQuad.h decimal128FromNumber((decimal128 *)(dq), dn, set) dn 87 src/decNumber/decSingle.h # define decSingleToNumber(dq, dn) \ dn 88 src/decNumber/decSingle.h decimal32ToNumber((decimal32 *)(dq), dn) dn 89 src/decNumber/decSingle.h # define decSingleFromNumber(dq, dn, set) \ dn 90 src/decNumber/decSingle.h decimal32FromNumber((decimal32 *)(dq), dn, set) dn 97 src/dps8/dps8_decimal.c decNumber * decBCD9ToNumber(const word9 *bcd, Int length, const Int scale, decNumber *dn) dn 102 src/dps8/dps8_decimal.c Unit *up=dn->lsu; // output pointer dn 106 src/dps8/dps8_decimal.c decNumberZero(dn); // default result dn 122 src/dps8/dps8_decimal.c dn->digits=digits; // count of actual digits [if 0, dn 126 src/dps8/dps8_decimal.c dn->exponent=-scale; // set the exponent dn 129 src/dps8/dps8_decimal.c if ((dn->digits-scale-1)<-DECNUMMAXE) // underflow dn 131 src/dps8/dps8_decimal.c decNumberZero(dn); dn 141 src/dps8/dps8_decimal.c || ((dn->digits-scale-1)>DECNUMMAXE)) // overflow dn 143 src/dps8/dps8_decimal.c decNumberZero(dn); dn 150 src/dps8/dps8_decimal.c return dn; // result was zero dn 192 src/dps8/dps8_decimal.c return dn; dn 220 src/dps8/dps8_decimal.c dn 224 src/dps8/dps8_decimal.c dn 226 src/dps8/dps8_decimal.c dn 234 src/dps8/dps8_decimal.c dn 235 src/dps8/dps8_decimal.c dn 239 src/dps8/dps8_decimal.c dn 30 src/dps8/dps8_decimal.h #define PRINTDEC(msg, dn) \ dn 35 src/dps8/dps8_decimal.h decNumberToString(dn, temp); \ dn 40 src/dps8/dps8_decimal.h #define PRINTALL(msg, dn, set) \ dn 43 src/dps8/dps8_decimal.h sim_printf("%s:'%s E%d'\n", msg, getBCDn(dn, set->digits), dn->exponent); \ dn 48 src/dps8/dps8_decimal.h decNumber * decBCD9ToNumber(const word9 *bcd, Int length, const Int scale, decNumber *dn); dn 12029 src/dps8/dps8_eis.c dn 12033 src/dps8/dps8_eis.c dn 12035 src/dps8/dps8_eis.c dn 12043 src/dps8/dps8_eis.c dn 12044 src/dps8/dps8_eis.c dn 12048 src/dps8/dps8_eis.c dn 12154 src/dps8/dps8_eis.c dn 12159 src/dps8/dps8_eis.c dn 12163 src/dps8/dps8_eis.c dn 12173 src/dps8/dps8_eis.c dn 12177 src/dps8/dps8_eis.c dn 12179 src/dps8/dps8_eis.c dn 12180 src/dps8/dps8_eis.c dn 12186 src/dps8/dps8_eis.c dn 12187 src/dps8/dps8_eis.c dn 12190 src/dps8/dps8_eis.c dn 12197 src/dps8/dps8_eis.c dn 12224 src/dps8/dps8_eis.c