Lines Matching refs:_exp

526     __slots__ = ('_exp','_int','_sign', '_is_special')
528 # (-1)**_sign * _int * 10**_exp
577 self._exp = exp - len(fracpart)
585 self._exp = 'N'
587 self._exp = 'n'
591 self._exp = 'F'
601 self._exp = 0
608 self._exp = value._exp
618 self._exp = int(value.exp)
637 self._exp = value[2]
654 self._exp = value[2]
659 self._exp = value[2]
674 self._exp = value._exp
735 exp = self._exp
749 if self._exp == 'F':
861 self_padded = self._int + '0'*(self._exp - other._exp)
862 other_padded = other._int + '0'*(other._exp - self._exp)
971 if self._exp >= 0:
972 exp_hash = pow(10, self._exp, _PyHASH_MODULUS)
974 exp_hash = pow(_PyHASH_10INV, -self._exp, _PyHASH_MODULUS)
984 return DecimalTuple(self._sign, tuple(map(int, self._int)), self._exp)
1012 if self._exp >= 0:
1014 n, d = n * 10**self._exp, 1
1017 d5 = -self._exp
1024 d2 = -self._exp
1049 if self._exp == 'F':
1051 elif self._exp == 'n':
1053 else: # self._exp == 'N'
1057 leftdigits = self._exp + len(self._int)
1062 if self._exp <= 0 and leftdigits > -6:
1192 exp = min(self._exp, other._exp)
1206 exp = max(exp, other._exp - context.prec-1)
1211 exp = max(exp, self._exp - context.prec-1)
1306 resultexp = self._exp + other._exp
1367 exp = self._exp - other._exp
1372 exp = self._exp - other._exp - shift
1385 ideal_exp = self._exp - other._exp
1401 ideal_exp = self._exp
1403 ideal_exp = min(self._exp, other._exp)
1543 ideal_exponent = min(self._exp, other._exp)
1638 if self._exp >= 0:
1639 return s*int(self._int)*10**self._exp
1641 return s*int(self._int[:self._exp] or '0')
1668 return _dec_from_triple(self._sign, payload, self._exp, True)
1695 new_exp = min(max(self._exp, Etiny), exp_max)
1696 if new_exp != self._exp:
1704 exp_min = len(self._int) + self._exp - context.prec
1717 if self._exp < exp_min:
1718 digits = len(self._int) + self._exp - exp_min
1755 if context.clamp == 1 and self._exp > Etop:
1757 self_padded = self._int + '0'*(self._exp - Etop)
1951 if self._exp == 'N':
1953 if other._exp == 'N':
1955 if self._exp == 'n':
1957 elif other._exp == 'n':
1959 elif self._exp == 'F':
1964 elif other._exp == 'F':
1972 self._exp + other._exp)
2072 nonzero. For efficiency, other._exp should not be too large,
2073 so that 10**abs(other._exp) is a feasible calculation."""
2146 ideal_exponent = self._exp*int(other)
2292 ideal_exponent = self._exp*int(other)
2378 # exp = max(self._exp*max(int(other), 0),
2389 exp = self._exp * multiplier
2439 ans = _dec_from_triple(1, ans._int, ans._exp)
2482 ans._exp-expdiff)
2540 exp = dup._exp
2549 Similar to self._rescale(exp._exp) but with error checking.
2569 # exp._exp should be between Etiny and Emax
2570 if not (context.Etiny() <= exp._exp <= context.Emax):
2575 ans = _dec_from_triple(self._sign, '0', exp._exp)
2582 if self_adjusted - exp._exp + 1 > context.prec:
2586 ans = self._rescale(exp._exp, rounding)
2597 if ans._exp > self._exp:
2620 return self._exp == other._exp
2638 if self._exp >= exp:
2641 self._int + '0'*(self._exp - exp), exp)
2645 digits = len(self._int) + self._exp - exp
2694 if self._exp >= 0:
2719 if self._exp >= 0:
2741 # exponent = self._exp // 2. sqrt(-0) = -0
2742 ans = _dec_from_triple(self._sign, '0', self._exp // 2)
2770 # write argument in the form c*100**e where e = self._exp//2
2906 if self._exp >= 0:
2908 rest = self._int[self._exp:]
2913 if not self or self._exp > 0:
2915 return self._int[-1+self._exp] in '02468'
2920 return self._exp + len(self._int) - 1
2921 # If NaN or Infinity, self._exp is string
3005 if self._exp < other._exp:
3010 if self._exp > other._exp:
3031 return _dec_from_triple(0, self._int, self._exp, self._is_special)
3036 return _dec_from_triple(0, self._int, self._exp, self._is_special)
3038 return _dec_from_triple(1, self._int, self._exp, self._is_special)
3044 self._exp, self._is_special)
3139 return self._exp == 'F'
3143 return self._exp in ('n', 'N')
3155 return self._exp == 'n'
3163 return self._exp == 'N'
3184 adj = self._exp + len(self._int) - 1
3264 adj = self._exp + len(self._int) - 1
3309 ans = Decimal(self._exp + len(self._int) - 1)
3370 if self._sign != 0 or self._exp != 0:
3657 if other._exp != 0:
3677 rotated.lstrip('0') or '0', self._exp)
3690 if other._exp != 0:
3700 d = _dec_from_triple(self._sign, self._int, self._exp + int(other))
3715 if other._exp != 0:
3740 shifted.lstrip('0') or '0', self._exp)
3792 self = _dec_from_triple(self._sign, self._int, self._exp+2)
3806 if not self and self._exp > 0 and spec['type'] in 'fF%':
3814 leftdigits = self._exp + len(self._int)
3823 if self._exp <= 0 and leftdigits > -6:
3855 self._exp = exponent
5642 self.exp = value._exp
6064 self._exp)