Lines Matching refs:powers

180 #define powers	    DECPOWERS	   /* old internal name */  macro
392 for (d=DECDPUN; d<dn->digits; up++, d+=DECDPUN) hi+=*up*powers[d-1]; in decNumberToInt32()
428 for (d=DECDPUN; d<dn->digits; up++, d+=DECDPUN) hi+=*up*powers[d-1]; in decNumberToUInt32()
527 hi += *up * powers[d-1]; in decNumberIntegralToInt64()
534 hi *= (uint64_t)powers[dn->exponent]; in decNumberIntegralToInt64()
996 if (a&b&1) *uc=*uc+(Unit)powers[i]; /* effect AND */ in decNumberAnd()
1386 if ((~a)&1) *uc=*uc+(Unit)powers[i]; /* effect INVERT */ in decNumberInvert()
2002 if ((a|b)&1) *uc=*uc+(Unit)powers[i]; /* effect OR */ in decNumberOr()
2688 uInt save=res->lsu[0]%powers[shift]; /* save low digit(s) */ in decNumberRotate()
2691 uInt rem=save%powers[shift-msudigits];/* split save */ in decNumberRotate()
2692 *msumax=(Unit)(save/powers[shift-msudigits]); /* and insert */ in decNumberRotate()
2694 +(Unit)(rem*powers[DECDPUN-(shift-msudigits)]); /* .. */ in decNumberRotate()
2697 *msumax=*msumax+(Unit)(save*powers[msudigits-shift]); /* [maybe *1] */ in decNumberRotate()
2708 uInt save=res->lsu[0]%powers[shift]; /* save low digit(s) */ in decNumberRotate()
2710 *msumax=*msumax+(Unit)(save*powers[msudigits]); in decNumberRotate()
3416 if ((a^b)&1) *uc=*uc+(Unit)powers[i]; /* effect XOR */ in decNumberXor()
4100 partial<(Int)powers[lhs->digits])) { /* .. */ in decAddOp()
4168 mult=powers[padding-(rhsshift*DECDPUN)]; /* .. this by multiplication */ in decAddOp()
4619 for (pow=&powers[1]; *msu1>=*pow; pow++) exponent--; in decDivideOp()
4620 for (pow=&powers[1]; *msu2>=*pow; pow++) exponent++; in decDivideOp()
4724 for (pow=&powers[1]; thisunit>=*pow; pow++) accdigits++; in decDivideOp()
4780 *powers[drop+1])!=0) break; /* found non-0 digit */ in decDivideOp()
4782 if (lsu%powers[drop+1]!=0) break; /* found non-0 digit */ in decDivideOp()
4894 if (*up==powers[quotdigits]-1) allnines=1; in decDivideOp()
4913 expunits, accnext, -(Int)powers[exprem]); in decDivideOp()
5142 *lip+=*cup*powers[p]; in decMultiplyOp()
5147 *rip+=*cup*powers[p]; in decMultiplyOp()
5608 Int n=powers[h]; /* always positive */ in decExpOp()
6425 -(Int)powers[exprem]);
6764 if ((*up-quot*powers[cut])!=0) break; /* found non-0 digit */
6766 if (*up%powers[cut]!=0) break; /* found non-0 digit */
6839 *uar=(Unit)(*uar*powers[shift]);
6856 uInt rem=*source-quot*powers[cut];
6859 uInt rem=*source%powers[cut];
6860 next+=*source/powers[cut];
6863 next=rem*powers[DECDPUN-cut]; /* save remainder for next Unit */
6913 quot=*up/powers[cut];
6923 rem=*up-quot*powers[cut];
6925 rem=quot%powers[cut];
6926 quot=quot/powers[cut];
6928 *target=(Unit)(*target+rem*powers[DECDPUN-cut]);
7099 Unit half=(Unit)powers[DECDPUN]>>1;
7129 rem=*up-quot*powers[cut];
7131 rem=*up%powers[cut];
7132 quot=*up/powers[cut];
7169 rem=*up-quot*powers[cut];
7171 rem=quot%powers[cut];
7172 quot=quot/powers[cut];
7174 *target=(Unit)(*target+rem*powers[DECDPUN-cut]);
7309 if (*up!=powers[count]-1) break; /* not still 9s */
7311 *up=(Unit)powers[count-1]; /* here 999 -> 100 etc. */
7333 if (*up!=powers[count-1]) break; /* not 100.. */
7336 *up=(Unit)powers[count]-1; /* here 100 in msu -> 999 */
7338 for (up=up-1; up>=dn->lsu; up--) *up=(Unit)powers[DECDPUN]-1;
7349 *sup=(Unit)powers[count-1]-1; /* here 999.. in msu -> 99.. */
7549 *up=(Unit)(powers[count]-1);
7725 rem=*up-theInt*powers[count];
7727 rem=*up%powers[count]; /* slice off discards */
7728 theInt=*up/powers[count];
7745 theInt+=*up*powers[got];
7749 if (theInt/(Int)powers[got-DECDPUN]!=(Int)*(up-1)) ilength=11;
7793 if (cut!=DECDPUN) *msu%=powers[cut]; /* clear left digits */
7941 for (pow=&powers[4]; *up>=*pow; pow++) digits++;
7968 while (pow10 >= ARRAY_SIZE(powers)) {
7969 if (mulu128(plow, phigh, powers[ARRAY_SIZE(powers) - 1])) {
7973 pow10 -= ARRAY_SIZE(powers) - 1;
7977 return mulu128(plow, phigh, powers[pow10]);
8023 d=u/powers[cut];
8024 u-=d*powers[cut];
8188 maxuint=powers[d]-1;
8189 if (dn->digits>1 && *up<powers[d-1]) {