Lines Matching refs:exponent

379   if (dn->bits&DECSPECIAL || dn->digits>10 || dn->exponent!=0) ; /* bad */  in decNumberToInt32()
414 if (dn->bits&DECSPECIAL || dn->digits>10 || dn->exponent!=0 in decNumberToUInt32()
516 if (decNumberIsSpecial(dn) || (dn->exponent < 0) || in decNumberIntegralToInt64()
517 (dn->digits + dn->exponent > 19)) { in decNumberIntegralToInt64()
534 hi *= (uint64_t)powers[dn->exponent]; in decNumberIntegralToInt64()
565 if (decNumberIsSpecial(dn) || (dn->exponent < 0) || in decNumberIntegralToInt128()
566 (dn->digits + dn->exponent > 39)) { in decNumberIntegralToInt128()
585 if (mulUInt128ByPowOf10(&lo, &hi, dn->exponent)) { in decNumberIntegralToInt128()
655 Int exponent=0; /* working exponent [assume 0] */ in decNumberFromString() local
773 exponent=X10(exponent)+(Int)*c-(Int)'0'; in decNumberFromString()
782 if (c>firstexp+9+1 || *firstexp>'1') exponent=DECNUMMAXE*2; in decNumberFromString()
785 if (nege) exponent=-exponent; /* was negative */ in decNumberFromString()
810 exponent-=(last-dotchar); /* adjust exponent */ in decNumberFromString()
857 dn->exponent=exponent; in decNumberFromString()
869 if ((dn->exponent-1<set->emin-dn->digits) in decNumberFromString()
870 || (dn->exponent-1>set->emax-set->digits)) { in decNumberFromString()
912 dzero.exponent=rhs->exponent; /* [no coefficient expansion] */ in decNumberAbs()
970 if (lhs->exponent!=0 || decNumberIsSpecial(lhs) || decNumberIsNegative(lhs) in decNumberAnd()
971 || rhs->exponent!=0 || decNumberIsSpecial(rhs) || decNumberIsNegative(rhs)) { in decNumberAnd()
1011 res->exponent=0; /* integer */ in decNumberAnd()
1367 if (rhs->exponent!=0 || decNumberIsSpecial(rhs) || decNumberIsNegative(rhs)) { in decNumberInvert()
1398 res->exponent=0; /* integer */ in decNumberInvert()
1514 Int ae=rhs->exponent+rhs->digits-1; /* adjusted exponent */ in decNumberLogB()
1614 decNumberFromInt32(w, w->exponent); in decNumberLog10()
1805 dzero.exponent=rhs->exponent; /* [no coefficient expansion] */ in decNumberMinus()
1842 dtiny.exponent=DEC_MIN_EMIN-1; /* .. smaller than tiniest */ in decNumberNextMinus()
1879 dtiny.exponent=DEC_MIN_EMIN-1; /* .. smaller than tiniest */ in decNumberNextPlus()
1941 dtiny.exponent=DEC_MIN_EMIN-1; /* .. smaller than tiniest */ in decNumberNextToward()
1978 if (lhs->exponent!=0 || decNumberIsSpecial(lhs) || decNumberIsNegative(lhs) in decNumberOr()
1979 || rhs->exponent!=0 || decNumberIsSpecial(rhs) || decNumberIsNegative(rhs)) { in decNumberOr()
2017 res->exponent=0; /* integer */ in decNumberOr()
2047 dzero.exponent=rhs->exponent; /* [no coefficient expansion] */ in decNumberPlus()
2179 res->exponent=-shift; /* make 1.0000... */ in decNumberPower()
2286 aset.digits=reqdigits+(rhs->digits+rhs->exponent)+2; in decNumberPower()
2319 dac->exponent=-shift; /* make 1.0000... */ in decNumberPower()
2630 else if (decNumberIsInfinite(rhs) || rhs->exponent!=0) in decNumberRotate()
2751 else if (lhs->exponent==rhs->exponent) ret=1; in decNumberSameQuantum()
2787 else if (decNumberIsInfinite(rhs) || rhs->exponent!=0) in decNumberScaleB()
2799 res->exponent+=reqexp; /* adjust the exponent */ in decNumberScaleB()
2843 else if (decNumberIsInfinite(rhs) || rhs->exponent!=0) in decNumberShift()
3024 ideal=(rhs->exponent&~1)/2; /* target */ in decNumberSquareRoot()
3029 res->exponent=ideal; /* use the ideal [safe] */ in decNumberSquareRoot()
3073 exp=f->exponent+f->digits; /* adjusted to Hull rules */ in decNumberSquareRoot()
3074 f->exponent=-(f->digits); /* to range */ in decNumberSquareRoot()
3088 t->exponent=-3; in decNumberSquareRoot()
3089 a->exponent=-3; in decNumberSquareRoot()
3103 f->exponent--; /* f=f/10 */ in decNumberSquareRoot()
3105 t->exponent=-4; in decNumberSquareRoot()
3106 a->exponent=-2; in decNumberSquareRoot()
3127 t->exponent=-1; /* .. */ in decNumberSquareRoot()
3147 a->exponent+=exp/2; /* set correct exponent */ in decNumberSquareRoot()
3166 a->exponent-=exp/2; /* back to 0.1->1 */ in decNumberSquareRoot()
3174 t->exponent=-a->digits-1; /* make 0.5 ulp */ in decNumberSquareRoot()
3181 t->exponent++; /* make 1.0 ulp */ in decNumberSquareRoot()
3195 t->exponent++; /* make 1.0 ulp */ in decNumberSquareRoot()
3208 a->exponent+=exp/2; /* set correct exponent */ in decNumberSquareRoot()
3234 Int todrop=ideal-a->exponent; /* most that can be dropped */ in decNumberSquareRoot()
3243 a->exponent+=todrop; /* maintain numerical value */ in decNumberSquareRoot()
3254 Int ae=rhs->exponent+rhs->digits-1; /* adjusted exponent */ in decNumberSquareRoot()
3343 if (rhs->exponent>=0) return decNumberCopy(res, rhs); in decNumberToIntegralExact()
3392 if (lhs->exponent!=0 || decNumberIsSpecial(lhs) || decNumberIsNegative(lhs) in decNumberXor()
3393 || rhs->exponent!=0 || decNumberIsSpecial(rhs) || decNumberIsNegative(rhs)) { in decNumberXor()
3431 res->exponent=0; /* integer */ in decNumberXor()
3513 dest->exponent=src->exponent; in decNumberCopy()
3673 ae=dn->exponent+dn->digits-1; /* adjusted exponent */ in decNumberIsNormal()
3693 ae=dn->exponent+dn->digits-1; /* adjusted exponent */ in decNumberIsSubnormal()
3742 dn->exponent=0; in decNumberZero()
3769 Int exp=dn->exponent; /* local copy */ in decToString()
4020 Int lexp=lhs->exponent; /* save in case LHS==RES */ in decAddOp()
4029 adjust=lexp-res->exponent; /* adjustment needed [if -ve] */ in decAddOp()
4031 if (adjust<0) res->exponent=lexp; /* set exponent */ in decAddOp()
4045 res->exponent+=adjust; /* set the exponent. */ in decAddOp()
4056 Int rexp=rhs->exponent; /* save in case RHS==RES */ in decAddOp()
4065 adjust=rexp-res->exponent; /* adjustment needed [if -ve] */ in decAddOp()
4072 res->exponent+=adjust; /* set the exponent. */ in decAddOp()
4084 padding=rhs->exponent-lhs->exponent; in decAddOp()
4091 && rhs->exponent>=set->emin /* [some normals drop through] */ in decAddOp()
4092 && rhs->exponent<=set->emax-set->digits+1 /* [could clamp] */ in decAddOp()
4159 res->exponent-=shift; /* adjust the exponent. */ in decAddOp()
4200 res->exponent=lhs->exponent; /* .. operands (even if aliased) */ in decAddOp()
4397 Int exponent; /* working exponent */ in decDivideOp() local
4462 res->exponent=set->emin-set->digits+1; in decDivideOp()
4495 exponent=lhs->exponent-rhs->exponent; /* ideal exponent */ in decDivideOp()
4498 res->exponent=exponent; /* exponent, too */ in decDivideOp()
4506 exponent=rhs->exponent; /* [save in case overwrite] */ in decDivideOp()
4508 if (exponent<res->exponent) res->exponent=exponent; /* use lower */ in decDivideOp()
4519 exponent=(lhs->exponent+lhs->digits)-(rhs->exponent+rhs->digits); in decDivideOp()
4524 if (exponent<0 && !(op==DIVIDE)) { in decDivideOp()
4534 if (lhs->exponent<=rhs->exponent) { in decDivideOp()
4535 if (op&REMAINDER || exponent<-1) { in decDivideOp()
4619 for (pow=&powers[1]; *msu1>=*pow; pow++) exponent--; in decDivideOp()
4620 for (pow=&powers[1]; *msu2>=*pow; pow++) exponent++; in decDivideOp()
4632 if (exponent<0) cut=-exponent; in decDivideOp()
4633 else cut=DECDPUN-exponent%DECDPUN; in decDivideOp()
4635 exponent+=cut; /* maintain numerical value */ in decDivideOp()
4641 maxexponent=lhs->exponent-rhs->exponent; /* save */ in decDivideOp()
4646 exponent-=DECDPUN; /* update the exponent */ in decDivideOp()
4736 if ((op&DIVIDE) && (exponent<=maxexponent)) break; in decDivideOp()
4741 if (exponent==0 && !(op&DIVIDE)) break; in decDivideOp()
4746 exponent-=DECDPUN; /* update the exponent */ in decDivideOp()
4777 if (exponent>=maxexponent) break; /* don't chop real 0s */ in decDivideOp()
4784 exponent++; in decDivideOp()
4798 if (accdigits+exponent>reqdigits) { in decDivideOp()
4815 Int exp=lhs->exponent; /* save min(exponents) */ in decDivideOp()
4816 if (rhs->exponent<exp) exp=rhs->exponent; in decDivideOp()
4821 res->exponent=exp; /* .. with proper exponent */ in decDivideOp()
4835 postshift=var1initpad+exponent-lhs->exponent+rhs->exponent; in decDivideOp()
4845 exponent=lhs->exponent; /* exponent is smaller of lhs & rhs */ in decDivideOp()
4846 if (rhs->exponent<exponent) exponent=rhs->exponent; in decDivideOp()
4865 rhs->exponent-exponent); in decDivideOp()
4906 exp=rhs->exponent-exponent; /* RHS padding needed */ in decDivideOp()
4924 res->exponent=exponent; in decDivideOp()
4988 Int exponent; /* work */ in decMultiplyOp() local
5272 exponent=lhs->exponent+rhs->exponent; /* calculate exponent */ in decMultiplyOp()
5273 if (lhs->exponent<0 && rhs->exponent<0 && exponent>0) in decMultiplyOp()
5274 exponent=-2*DECNUMMAXE; /* force underflow */ in decMultiplyOp()
5275 res->exponent=exponent; /* OK to overwrite now */ in decMultiplyOp()
5445 d->exponent=-set->digits; /* * 10**(-d) */ in decExpOp()
5446 if (decNumberIsNegative(rhs)) d->exponent--; /* negative case */ in decExpOp()
5456 res->exponent=-shift; /* make 1.0000... */ in decExpOp()
5470 h=rhs->exponent+rhs->digits; in decExpOp()
5482 if (decNumberIsNegative(rhs)) a->exponent=-2; /* make 0.02 */ in decExpOp()
5506 if (rhs->exponent!=use) { in decExpOp()
5517 newrhs->exponent=use; /* normalize; now <1 */ in decExpOp()
5590 if (((a->digits+a->exponent)>=(t->digits+t->exponent+p+1)) in decExpOp()
5786 if (rhs->exponent==0 && set->digits<=40) {
5846 r=rhs->exponent+rhs->digits; /* 'normalised' exponent */
5849 b->exponent=-6; /* .. */
5856 b->exponent=0; /* make integer */
5861 b->exponent=-(t&3)-3; /* set exponent */
5914 (a->digits+a->exponent)>=(b->digits+b->exponent+set->digits+1)) {
5918 if (cmp.lsu[0]==0) a->exponent=0; /* yes, exact 0 */
5923 if (decNumberIsZero(b)) b->exponent=a->exponent-p;
6028 if (quant) reqexp=inrhs->exponent; /* quantize -- match exponents */
6050 res->exponent=reqexp; /* .. just set exponent */
6056 Int adjust=reqexp-lhs->exponent; /* digit adjustment needed */
6075 if (res->exponent>reqexp) {
6084 res->exponent--; /* (re)adjust the exponent. */
6098 res->exponent+=adjust; /* adjust the exponent */
6105 if (res->exponent>set->emax-res->digits+1) { /* too big */
6247 if (lhs->exponent!=rhs->exponent) {
6248 if (lhs->exponent<rhs->exponent) result=-1;
6280 if (lhs->exponent<rhs->exponent) result=+1;
6285 if (lhs->exponent>rhs->exponent) result=+1;
6350 if (lhs->exponent>rhs->exponent) { /* LHS exponent larger */
6359 rhs->exponent-lhs->exponent);
6752 dn->exponent=0; /* (sign is preserved) */
6757 exp=dn->exponent;
6786 Int maxd=set->emax-set->digits+1-dn->exponent;
6793 dn->exponent+=d; /* maintain numerical value */
6993 dest->exponent=src->exponent;
7063 dn->exponent+=discard; /* maintain numerical value */
7313 dn->exponent++; /* and bump exponent */
7315 if ((dn->exponent+dn->digits)>set->emax+1) {
7339 dn->exponent--; /* and bump exponent */
7346 if (dn->exponent+1==set->emin-set->digits+1) {
7352 dn->exponent++;
7390 dn->exponent=0; /* clean exponent .. */
7394 if (dn->exponent>=0) { /* non-negative exponent */
7396 if (set->digits >= (dn->exponent+dn->digits)) {
7397 dn->digits=decShiftToMost(dn->lsu, dn->digits, dn->exponent);
7398 dn->exponent=0;
7432 if (dn->exponent<=tinyexp) { /* prefilter */
7436 if (dn->exponent<tinyexp) {
7444 nmin.exponent=set->emin;
7461 if (dn->exponent<=set->emax-set->digits+1) return; /* neither needed */
7465 if (dn->exponent>set->emax-dn->digits+1) { /* too big */
7473 shift=dn->exponent-(set->emax-set->digits+1);
7479 dn->exponent-=shift; /* adjust the exponent to match */
7502 if (dn->exponent>emax) { /* clamp required */
7503 dn->exponent=emax;
7555 dn->exponent=set->emax-set->digits+1;
7602 if (dn->exponent<etiny) { /* clamp required */
7603 dn->exponent=etiny;
7610 adjust=etiny-dn->exponent; /* calculate digits to remove */
7634 if (dn->exponent>etiny) {
7636 dn->exponent--; /* (re)adjust the exponent. */
7668 || rhs->exponent+rhs->digits>DEC_MAX_MATH+1
7669 || rhs->exponent+rhs->digits<2*(1-DEC_MAX_MATH))
7693 Int ilength=dn->digits+dn->exponent; /* integral length */
7708 if (dn->exponent>=0) { /* relatively easy */
7710 got=dn->exponent;
7713 Int count=-dn->exponent; /* digits to discard */
7868 res->exponent=0; /* clean exponent */
8009 if (dn->exponent==0 && dn->digits==1 && *dn->lsu==0) {
8028 if (dn->exponent!=0) {
8030 if (dn->exponent<0) esign='-';
8031 printf(" E%c%ld", esign, (LI)abs(dn->exponent));
8150 if (dn->exponent!=0) {
8153 (LI)dn->exponent, dn->bits);
8208 ae=dn->exponent+dn->digits-1; /* adjusted exponent */