dn 154 src/decNumber/decDouble.h # define decDoubleToNumber(dq, dn) decimal64ToNumber((decimal64 *)(dq), dn) dn 155 src/decNumber/decDouble.h # define decDoubleFromNumber(dq, dn, set) decimal64FromNumber((decimal64 *)(dq), dn, set) dn 275 src/decNumber/decNumber.c decNumber * decNumberFromInt32(decNumber *dn, Int in) { dn 283 src/decNumber/decNumber.c decNumberFromUInt32(dn, unsig); dn 284 src/decNumber/decNumber.c if (in<0) dn->bits=DECNEG; // sign needed dn 285 src/decNumber/decNumber.c return dn; dn 288 src/decNumber/decNumber.c decNumber * decNumberFromUInt32(decNumber *dn, uInt uin) { dn 290 src/decNumber/decNumber.c decNumberZero(dn); // clean dn 291 src/decNumber/decNumber.c if (uin==0) return dn; // [or decGetDigits bad call] dn 292 src/decNumber/decNumber.c for (up=dn->lsu; uin>0; up++) { dn 296 src/decNumber/decNumber.c dn->digits=decGetDigits(dn->lsu, up-dn->lsu); dn 297 src/decNumber/decNumber.c return dn; dn 310 src/decNumber/decNumber.c Int decNumberToInt32(const decNumber *dn, decContext *set) { dn 312 src/decNumber/decNumber.c if (dn->bits&DECSPECIAL || dn->digits>10 || dn->exponent!=0) ; // bad dn 317 src/decNumber/decNumber.c up=dn->lsu; // -> lsu dn 325 src/decNumber/decNumber.c for (d=DECDPUN; d<dn->digits; up++, d+=DECDPUN) hi+=*up*powers[d-1]; dn 329 src/decNumber/decNumber.c if (dn->bits&DECNEG && hi==214748364 && lo==8) return 0x80000000; dn 334 src/decNumber/decNumber.c if (dn->bits&DECNEG) return -i; dn 342 src/decNumber/decNumber.c uInt decNumberToUInt32(const decNumber *dn, decContext *set) { dn 344 src/decNumber/decNumber.c if (dn->bits&DECSPECIAL || dn->digits>10 || dn->exponent!=0 dn 345 src/decNumber/decNumber.c || (dn->bits&DECNEG && !ISZERO(dn))); // bad dn 350 src/decNumber/decNumber.c up=dn->lsu; // -> lsu dn 358 src/decNumber/decNumber.c for (d=DECDPUN; d<dn->digits; up++, d+=DECDPUN) hi+=*up*powers[d-1]; dn 382 src/decNumber/decNumber.c char * decNumberToString(const decNumber *dn, char *string){ dn 383 src/decNumber/decNumber.c decToString(dn, string, 0); dn 387 src/decNumber/decNumber.c char * decNumberToEngString(const decNumber *dn, char *string){ dn 388 src/decNumber/decNumber.c decToString(dn, string, 1); dn 412 src/decNumber/decNumber.c decNumber * decNumberFromString(decNumber *dn, const char chars[], dn 465 src/decNumber/decNumber.c decNumberZero(dn); // be optimistic dn 468 src/decNumber/decNumber.c dn->bits=bits | DECINF; dn 474 src/decNumber/decNumber.c dn->bits=bits | DECNAN; // assume simple NaN dn 477 src/decNumber/decNumber.c dn->bits=bits | DECSNAN; dn 506 src/decNumber/decNumber.c bits=dn->bits; // for copy-back dn 556 src/decNumber/decNumber.c decNumberZero(dn); // clean result dn 569 src/decNumber/decNumber.c if (d<=set->digits) res=dn->lsu; // fits into supplied decNumber dn 610 src/decNumber/decNumber.c dn->bits=bits; dn 611 src/decNumber/decNumber.c dn->exponent=exponent; dn 612 src/decNumber/decNumber.c dn->digits=d; dn 617 src/decNumber/decNumber.c decSetCoeff(dn, set, res, d, &residue, &status); dn 619 src/decNumber/decNumber.c decFinalize(dn, set, &residue, &status); dn 623 src/decNumber/decNumber.c if ((dn->exponent-1<set->emin-dn->digits) dn 624 src/decNumber/decNumber.c || (dn->exponent-1>set->emax-set->digits)) { dn 626 src/decNumber/decNumber.c decFinalize(dn, set, &residue, &status); dn 633 src/decNumber/decNumber.c if (status!=0) decStatus(dn, status, set); dn 634 src/decNumber/decNumber.c return dn; dn 2994 src/decNumber/decNumber.c decNumber dn; dn 3010 src/decNumber/decNumber.c decNumberZero(&dn); // make a number with exponent 0 dn 3011 src/decNumber/decNumber.c decNumberQuantize(res, rhs, &dn, &workset); dn 3105 src/decNumber/decNumber.c enum decClass decNumberClass(const decNumber *dn, decContext *set) { dn 3106 src/decNumber/decNumber.c if (decNumberIsSpecial(dn)) { dn 3107 src/decNumber/decNumber.c if (decNumberIsQNaN(dn)) return DEC_CLASS_QNAN; dn 3108 src/decNumber/decNumber.c if (decNumberIsSNaN(dn)) return DEC_CLASS_SNAN; dn 3110 src/decNumber/decNumber.c if (decNumberIsNegative(dn)) return DEC_CLASS_NEG_INF; dn 3114 src/decNumber/decNumber.c if (decNumberIsNormal(dn, set)) { // most common dn 3115 src/decNumber/decNumber.c if (decNumberIsNegative(dn)) return DEC_CLASS_NEG_NORMAL; dn 3119 src/decNumber/decNumber.c if (decNumberIsZero(dn)) { // most common dn 3120 src/decNumber/decNumber.c if (decNumberIsNegative(dn)) return DEC_CLASS_NEG_ZERO; dn 3123 src/decNumber/decNumber.c if (decNumberIsNegative(dn)) return DEC_CLASS_NEG_SUBNORMAL; dn 3250 src/decNumber/decNumber.c uByte * decNumberGetBCD(const decNumber *dn, uByte *bcd) { dn 3251 src/decNumber/decNumber.c uByte *ub=bcd+dn->digits-1; // -> lsd dn 3252 src/decNumber/decNumber.c const Unit *up=dn->lsu; // Unit pointer, -> lsu dn 3284 src/decNumber/decNumber.c decNumber * decNumberSetBCD(decNumber *dn, const uByte *bcd, uInt n) { dn 3285 src/decNumber/decNumber.c Unit *up=dn->lsu+D2U(dn->digits)-1; // -> msu [target pointer] dn 3293 src/decNumber/decNumber.c for (;up>=dn->lsu; up--) { // each Unit from msu dn 3299 src/decNumber/decNumber.c dn->digits=n; // set digit count dn 3300 src/decNumber/decNumber.c return dn; dn 3309 src/decNumber/decNumber.c Int decNumberIsNormal(const decNumber *dn, decContext *set) { dn 3312 src/decNumber/decNumber.c if (decNumberIsSpecial(dn)) return 0; // not finite dn 3313 src/decNumber/decNumber.c if (decNumberIsZero(dn)) return 0; // not non-zero dn 3315 src/decNumber/decNumber.c ae=dn->exponent+dn->digits-1; // adjusted exponent dn 3326 src/decNumber/decNumber.c Int decNumberIsSubnormal(const decNumber *dn, decContext *set) { dn 3329 src/decNumber/decNumber.c if (decNumberIsSpecial(dn)) return 0; // not finite dn 3330 src/decNumber/decNumber.c if (decNumberIsZero(dn)) return 0; // not non-zero dn 3332 src/decNumber/decNumber.c ae=dn->exponent+dn->digits-1; // adjusted exponent dn 3347 src/decNumber/decNumber.c decNumber * decNumberTrim(decNumber *dn) { dn 3351 src/decNumber/decNumber.c return decTrim(dn, &set, 0, 1, &dropped); dn 3372 src/decNumber/decNumber.c decNumber * decNumberZero(decNumber *dn) { dn 3373 src/decNumber/decNumber.c dn->bits=0; dn 3374 src/decNumber/decNumber.c dn->exponent=0; dn 3375 src/decNumber/decNumber.c dn->digits=1; dn 3376 src/decNumber/decNumber.c dn->lsu[0]=0; dn 3377 src/decNumber/decNumber.c return dn; dn 3398 src/decNumber/decNumber.c static void decToString(const decNumber *dn, char *string, Flag eng) { dn 3399 src/decNumber/decNumber.c Int exp=dn->exponent; // local copy dn 3404 src/decNumber/decNumber.c const Unit *up=dn->lsu+D2U(dn->digits)-1; // -> msu [input pointer] dn 3407 src/decNumber/decNumber.c if (decNumberIsNegative(dn)) { // Negatives get a minus dn 3411 src/decNumber/decNumber.c if (dn->bits&DECSPECIAL) { // Is a special value dn 3412 src/decNumber/decNumber.c if (decNumberIsInfinite(dn)) { dn 3417 src/decNumber/decNumber.c if (dn->bits&DECSNAN) { // signalling NaN dn 3425 src/decNumber/decNumber.c if (exp!=0 || (*dn->lsu==0 && dn->digits==1)) return; dn 3430 src/decNumber/decNumber.c cut=MSUDIGITS(dn->digits); // [faster than remainder] dn 3434 src/decNumber/decNumber.c for (;up>=dn->lsu; up--) { // each Unit from msu dn 3443 src/decNumber/decNumber.c pre=dn->digits+exp; // digits before '.' dn 3446 src/decNumber/decNumber.c e=exp+dn->digits-1; // calculate E value dn 3463 src/decNumber/decNumber.c if (!ISZERO(dn)) pre+=adj; dn 3479 src/decNumber/decNumber.c if (up==dn->lsu) break; // out of input digits (pre>digits) dn 3486 src/decNumber/decNumber.c if (n<dn->digits) { // more to come, after '.' dn 3490 src/decNumber/decNumber.c if (up==dn->lsu) break; // out of input digits dn 3506 src/decNumber/decNumber.c if (up==dn->lsu) break; // out of input digits dn 6287 src/decNumber/decNumber.c static decNumber * decTrim(decNumber *dn, decContext *set, Flag all, dn 6294 src/decNumber/decNumber.c if ((dn->bits & DECSPECIAL) // fast exit if special .. dn 6295 src/decNumber/decNumber.c || (*dn->lsu & 0x01)) return dn; // .. or odd dn 6296 src/decNumber/decNumber.c if (ISZERO(dn)) { // .. or 0 dn 6297 src/decNumber/decNumber.c dn->exponent=0; // (sign is preserved) dn 6298 src/decNumber/decNumber.c return dn; dn 6302 src/decNumber/decNumber.c exp=dn->exponent; dn 6304 src/decNumber/decNumber.c up=dn->lsu; // -> current Unit dn 6305 src/decNumber/decNumber.c for (d=0; d<dn->digits-1; d++) { // [don't strip the final digit] dn 6327 src/decNumber/decNumber.c if (d==0) return dn; // none to drop dn 6331 src/decNumber/decNumber.c Int maxd=set->emax-set->digits+1-dn->exponent; dn 6332 src/decNumber/decNumber.c if (maxd<=0) return dn; // nothing possible dn 6337 src/decNumber/decNumber.c decShiftToLeast(dn->lsu, D2U(dn->digits), d); dn 6338 src/decNumber/decNumber.c dn->exponent+=d; // maintain numerical value dn 6339 src/decNumber/decNumber.c dn->digits-=d; // new length dn 6341 src/decNumber/decNumber.c return dn; dn 6499 src/decNumber/decNumber.c static decNumber *decRoundOperand(const decNumber *dn, decContext *set, dn 6513 src/decNumber/decNumber.c decCopyFit(res, dn, set, &residue, &newstatus); dn 6581 src/decNumber/decNumber.c static void decSetCoeff(decNumber *dn, decContext *set, const Unit *lsu, dn 6594 src/decNumber/decNumber.c if (dn->lsu!=lsu) { // copy needed dn 6598 src/decNumber/decNumber.c for (target=dn->lsu; count>0; target++, up++, count-=DECDPUN) dn 6600 src/decNumber/decNumber.c dn->digits=len; // set the new length dn 6608 src/decNumber/decNumber.c dn->exponent+=discard; // maintain numerical value dn 6623 src/decNumber/decNumber.c *dn->lsu=0; // coefficient will now be 0 dn 6624 src/decNumber/decNumber.c dn->digits=1; // .. dn 6654 src/decNumber/decNumber.c *dn->lsu=0; // .. result is 0 dn 6655 src/decNumber/decNumber.c dn->digits=1; // .. dn 6659 src/decNumber/decNumber.c dn->digits=count; // set the new length dn 6662 src/decNumber/decNumber.c for (target=dn->lsu; count>0; target++, up++, count-=DECDPUN) dn 6699 src/decNumber/decNumber.c *dn->lsu=0; // .. result is 0 dn 6700 src/decNumber/decNumber.c dn->digits=1; // .. dn 6704 src/decNumber/decNumber.c dn->digits=count; // set the new length dn 6706 src/decNumber/decNumber.c for (target=dn->lsu; ; target++) { dn 6762 src/decNumber/decNumber.c static void decApplyRound(decNumber *dn, decContext *set, Int residue, dn 6779 src/decNumber/decNumber.c Int lsd5=*dn->lsu%5; // get lsd and quintate dn 6798 src/decNumber/decNumber.c if (*dn->lsu & 0x01) bump=1; dn 6813 src/decNumber/decNumber.c if (decNumberIsNegative(dn)) { dn 6824 src/decNumber/decNumber.c if (!decNumberIsNegative(dn)) { dn 6847 src/decNumber/decNumber.c uInt count=dn->digits; // digits to be checked dn 6848 src/decNumber/decNumber.c for (up=dn->lsu; ; up++) { dn 6854 src/decNumber/decNumber.c for (up=up-1; up>=dn->lsu; up--) *up=0; // others all to 0 dn 6855 src/decNumber/decNumber.c dn->exponent++; // and bump exponent dn 6857 src/decNumber/decNumber.c if ((dn->exponent+dn->digits)>set->emax+1) { dn 6858 src/decNumber/decNumber.c decSetOverflow(dn, set, status); dn 6871 src/decNumber/decNumber.c uInt count=dn->digits; // digits to be checked dn 6872 src/decNumber/decNumber.c for (up=dn->lsu; ; up++) { dn 6880 src/decNumber/decNumber.c for (up=up-1; up>=dn->lsu; up--) *up=(Unit)powers[DECDPUN]-1; dn 6881 src/decNumber/decNumber.c dn->exponent--; // and bump exponent dn 6886 src/decNumber/decNumber.c if (dn->exponent+1==set->emin-set->digits+1) { //-V584 dn 6887 src/decNumber/decNumber.c if (count==1 && dn->digits==1) *sup=0; // here 9 -> 0[.9] dn 6890 src/decNumber/decNumber.c dn->digits--; dn 6892 src/decNumber/decNumber.c dn->exponent++; dn 6906 src/decNumber/decNumber.c decUnitAddSub(dn->lsu, D2U(dn->digits), uarrone, 1, 0, dn->lsu, bump); dn 6926 src/decNumber/decNumber.c static void decFinish(decNumber *dn, decContext *set, Int *residue, dn 6929 src/decNumber/decNumber.c if ISZERO(dn) { // value is zero dn 6930 src/decNumber/decNumber.c dn->exponent=0; // clean exponent .. dn 6931 src/decNumber/decNumber.c dn->bits=0; // .. and sign dn 6934 src/decNumber/decNumber.c if (dn->exponent>=0) { // non-negative exponent dn 6936 src/decNumber/decNumber.c if (set->digits >= (dn->exponent+dn->digits)) { dn 6937 src/decNumber/decNumber.c dn->digits=decShiftToMost(dn->lsu, dn->digits, dn->exponent); dn 6938 src/decNumber/decNumber.c dn->exponent=0; dn 6943 src/decNumber/decNumber.c decFinalize(dn, set, residue, status); dn 6961 src/decNumber/decNumber.c static void decFinalize(decNumber *dn, decContext *set, Int *residue, dn 6964 src/decNumber/decNumber.c Int tinyexp=set->emin-dn->digits+1; // precalculate subnormal boundary dn 6972 src/decNumber/decNumber.c if (dn->exponent<=tinyexp) { // prefilter dn 6976 src/decNumber/decNumber.c if (dn->exponent<tinyexp) { dn 6978 src/decNumber/decNumber.c decSetSubnormal(dn, set, residue, status); dn 6985 src/decNumber/decNumber.c comp=decCompare(dn, &nmin, 1); // (signless compare) dn 6991 src/decNumber/decNumber.c decApplyRound(dn, set, *residue, status); // might force down dn 6992 src/decNumber/decNumber.c decSetSubnormal(dn, set, residue, status); dn 6998 src/decNumber/decNumber.c if (*residue!=0) decApplyRound(dn, set, *residue, status); dn 7001 src/decNumber/decNumber.c if (dn->exponent<=set->emax-set->digits+1) return; // neither needed dn 7004 src/decNumber/decNumber.c if (dn->exponent>set->emax-dn->digits+1) { // too big dn 7005 src/decNumber/decNumber.c decSetOverflow(dn, set, status); dn 7012 src/decNumber/decNumber.c shift=dn->exponent-(set->emax-set->digits+1); dn 7015 src/decNumber/decNumber.c if (!ISZERO(dn)) { dn 7016 src/decNumber/decNumber.c dn->digits=decShiftToMost(dn->lsu, dn->digits, shift); dn 7018 src/decNumber/decNumber.c dn->exponent-=shift; // adjust the exponent to match dn 7034 src/decNumber/decNumber.c static void decSetOverflow(decNumber *dn, decContext *set, uInt *status) { dn 7036 src/decNumber/decNumber.c uByte sign=dn->bits&DECNEG; // clean and save sign bit dn 7038 src/decNumber/decNumber.c if (ISZERO(dn)) { // zero does not overflow magnitude dn 7041 src/decNumber/decNumber.c if (dn->exponent>emax) { // clamp required dn 7042 src/decNumber/decNumber.c dn->exponent=emax; dn 7048 src/decNumber/decNumber.c decNumberZero(dn); dn 7065 src/decNumber/decNumber.c decSetMaxValue(dn, set); dn 7066 src/decNumber/decNumber.c dn->bits=sign; // set sign dn 7068 src/decNumber/decNumber.c else dn->bits=sign|DECINF; // Value is +/-Infinity dn 7080 src/decNumber/decNumber.c static void decSetMaxValue(decNumber *dn, decContext *set) { dn 7083 src/decNumber/decNumber.c dn->digits=count; dn 7085 src/decNumber/decNumber.c for (up=dn->lsu; ; up++) { dn 7093 src/decNumber/decNumber.c dn->bits=0; // + sign dn 7094 src/decNumber/decNumber.c dn->exponent=set->emax-set->digits+1; dn 7114 src/decNumber/decNumber.c static void decSetSubnormal(decNumber *dn, decContext *set, Int *residue, dn 7122 src/decNumber/decNumber.c decNumberZero(dn); dn 7133 src/decNumber/decNumber.c if ISZERO(dn) { // value is zero dn 7135 src/decNumber/decNumber.c if (dn->exponent<etiny) { // clamp required dn 7136 src/decNumber/decNumber.c dn->exponent=etiny; dn 7143 src/decNumber/decNumber.c adjust=etiny-dn->exponent; // calculate digits to remove dn 7155 src/decNumber/decNumber.c workset.digits=dn->digits-adjust; // set requested length dn 7158 src/decNumber/decNumber.c decSetCoeff(dn, &workset, dn->lsu, dn->digits, residue, status); dn 7159 src/decNumber/decNumber.c decApplyRound(dn, &workset, *residue, status); dn 7167 src/decNumber/decNumber.c if (dn->exponent>etiny) { dn 7168 src/decNumber/decNumber.c dn->digits=decShiftToMost(dn->lsu, dn->digits, 1); dn 7169 src/decNumber/decNumber.c dn->exponent--; // (re)adjust the exponent. dn 7173 src/decNumber/decNumber.c if (ISZERO(dn)) *status|=DEC_Clamped; dn 7222 src/decNumber/decNumber.c static Int decGetInt(const decNumber *dn) { dn 7226 src/decNumber/decNumber.c Int ilength=dn->digits+dn->exponent; // integral length dn 7227 src/decNumber/decNumber.c Flag neg=decNumberIsNegative(dn); // 1 if -ve dn 7237 src/decNumber/decNumber.c if (ISZERO(dn)) return 0; // zeros are OK, with any exponent dn 7239 src/decNumber/decNumber.c up=dn->lsu; // ready for lsu dn 7241 src/decNumber/decNumber.c if (dn->exponent>=0) { // relatively easy dn 7243 src/decNumber/decNumber.c got=dn->exponent; dn 7246 src/decNumber/decNumber.c Int count=-dn->exponent; // digits to discard dn 7311 src/decNumber/decNumber.c static decNumber *decDecap(decNumber *dn, Int drop) { dn 7314 src/decNumber/decNumber.c if (drop>=dn->digits) { // losing the whole thing dn 7315 src/decNumber/decNumber.c dn->lsu[0]=0; dn 7316 src/decNumber/decNumber.c dn->digits=1; dn 7317 src/decNumber/decNumber.c return dn; dn 7319 src/decNumber/decNumber.c msu=dn->lsu+D2U(dn->digits-drop)-1; // -> likely msu dn 7320 src/decNumber/decNumber.c cut=MSUDIGITS(dn->digits-drop); // digits to be in use in msu dn 7323 src/decNumber/decNumber.c dn->digits=decGetDigits(dn->lsu, msu-dn->lsu+1); dn 7324 src/decNumber/decNumber.c return dn; dn 7418 src/decNumber/decNumber.c static void decStatus(decNumber *dn, uInt status, decContext *set) { dn 7423 src/decNumber/decNumber.c decNumberZero(dn); // other error: clean throughout dn 7424 src/decNumber/decNumber.c dn->bits=DECNAN; // and make a quiet NaN dn 171 src/decNumber/decNumber.h # define decNumberIsCanonical(dn) (1) /* All decNumbers are saintly */ dn 172 src/decNumber/decNumber.h # define decNumberIsFinite(dn) (((dn)->bits&DECSPECIAL)==0) dn 173 src/decNumber/decNumber.h # define decNumberIsInfinite(dn) (((dn)->bits&DECINF)!=0) dn 174 src/decNumber/decNumber.h # define decNumberIsNaN(dn) (((dn)->bits&(DECNAN|DECSNAN))!=0) dn 175 src/decNumber/decNumber.h # define decNumberIsNegative(dn) (((dn)->bits&DECNEG)!=0) dn 176 src/decNumber/decNumber.h # define decNumberIsQNaN(dn) (((dn)->bits&(DECNAN))!=0) dn 177 src/decNumber/decNumber.h # define decNumberIsSNaN(dn) (((dn)->bits&(DECSNAN))!=0) dn 178 src/decNumber/decNumber.h # define decNumberIsSpecial(dn) (((dn)->bits&DECSPECIAL)!=0) dn 179 src/decNumber/decNumber.h # define decNumberIsZero(dn) (*(dn)->lsu==0 \ dn 180 src/decNumber/decNumber.h && (dn)->digits==1 \ dn 181 src/decNumber/decNumber.h && (((dn)->bits&DECSPECIAL)==0)) dn 182 src/decNumber/decNumber.h # define decNumberRadix(dn) (10) dn 285 src/decNumber/decNumberLocal.h # define ISZERO(dn) decNumberIsZero(dn) /* now just a local name */ dn 176 src/decNumber/decQuad.h # define decQuadToNumber(dq, dn) \ dn 177 src/decNumber/decQuad.h decimal128ToNumber((decimal128 *)(dq), dn) dn 178 src/decNumber/decQuad.h # define decQuadFromNumber(dq, dn, set) \ dn 179 src/decNumber/decQuad.h decimal128FromNumber((decimal128 *)(dq), dn, set) dn 86 src/decNumber/decSingle.h # define decSingleToNumber(dq, dn) \ dn 87 src/decNumber/decSingle.h decimal32ToNumber((decimal32 *)(dq), dn) dn 88 src/decNumber/decSingle.h # define decSingleFromNumber(dq, dn, set) \ dn 89 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 123 src/dps8/dps8_decimal.c dn->digits=digits; // count of actual digits [if 0, dn 127 src/dps8/dps8_decimal.c dn->exponent=-scale; // set the exponent dn 130 src/dps8/dps8_decimal.c if ((dn->digits-scale-1)<-DECNUMMAXE) // underflow dn 132 src/dps8/dps8_decimal.c decNumberZero(dn); dn 142 src/dps8/dps8_decimal.c || ((dn->digits-scale-1)>DECNUMMAXE)) // overflow dn 144 src/dps8/dps8_decimal.c decNumberZero(dn); dn 151 src/dps8/dps8_decimal.c return dn; // result was zero dn 193 src/dps8/dps8_decimal.c return dn; dn 222 src/dps8/dps8_decimal.c dn 225 src/dps8/dps8_decimal.c dn 227 src/dps8/dps8_decimal.c dn 235 src/dps8/dps8_decimal.c dn 236 src/dps8/dps8_decimal.c dn 240 src/dps8/dps8_decimal.c dn 27 src/dps8/dps8_decimal.h #define PRINTDEC(msg, dn) \ dn 32 src/dps8/dps8_decimal.h decNumberToString(dn, temp); \ dn 37 src/dps8/dps8_decimal.h #define PRINTALL(msg, dn, set) \ dn 40 src/dps8/dps8_decimal.h sim_printf("%s:'%s E%d'\n", msg, getBCDn(dn, set->digits), dn->exponent); \ dn 45 src/dps8/dps8_decimal.h decNumber * decBCD9ToNumber(const word9 *bcd, Int length, const Int scale, decNumber *dn); dn 12158 src/dps8/dps8_eis.c dn 12161 src/dps8/dps8_eis.c dn 12163 src/dps8/dps8_eis.c dn 12171 src/dps8/dps8_eis.c dn 12172 src/dps8/dps8_eis.c dn 12176 src/dps8/dps8_eis.c dn 12282 src/dps8/dps8_eis.c dn 12287 src/dps8/dps8_eis.c dn 12291 src/dps8/dps8_eis.c dn 12301 src/dps8/dps8_eis.c dn 12305 src/dps8/dps8_eis.c dn 12307 src/dps8/dps8_eis.c dn 12308 src/dps8/dps8_eis.c dn 12314 src/dps8/dps8_eis.c dn 12315 src/dps8/dps8_eis.c dn 12318 src/dps8/dps8_eis.c dn 12325 src/dps8/dps8_eis.c dn 12352 src/dps8/dps8_eis.c