[Python-checkins] python/dist/src/Lib decimal.py,1.4,1.5

rhettinger at users.sourceforge.net rhettinger at users.sourceforge.net
Sat Jul 3 09:49:05 EDT 2004


Update of /cvsroot/python/python/dist/src/Lib
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv13623
Modified Files:
	decimal.py 
Log Message:
Namespace cleanups:
* delete temporary globals immediately after use
* move a global into a class variable
* Rename BasicDefaultContext and ExtendedDefaultContext
 to BasicContext and ExtendedContext.
Index: decimal.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/decimal.py,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** decimal.py	3 Jul 2004 12:26:21 -0000	1.4
--- decimal.py	3 Jul 2004 13:48:56 -0000	1.5
***************
*** 121,125 ****
 
 # Contexts
! 'DefaultContext', 'BasicDefaultContext', 'ExtendedDefaultContext',
 
 # Exceptions
--- 121,125 ----
 
 # Contexts
! 'DefaultContext', 'BasicContext', 'ExtendedContext',
 
 # Exceptions
***************
*** 148,152 ****
 import math
 import operator
- xor = operator.xor
 
 #Exponent Range
--- 148,151 ----
***************
*** 163,167 ****
 ROUND_HALF_DOWN = 'half_down'
 
! #Rounding decision
 NEVER_ROUND = 'never' # Round in division (non-divmod), sqrt ONLY
 ALWAYS_ROUND = 'always' # Every operation rounds at end.
--- 162,166 ----
 ROUND_HALF_DOWN = 'half_down'
 
! #Rounding decision (not part of the public API)
 NEVER_ROUND = 'never' # Round in division (non-divmod), sqrt ONLY
 ALWAYS_ROUND = 'always' # Every operation rounds at end.
***************
*** 1051,1055 ****
 return ans
 
! resultsign = xor(self._sign, other._sign)
 if self._isinfinity():
 if not other:
--- 1050,1054 ----
 return ans
 
! resultsign = operator.xor(self._sign, other._sign)
 if self._isinfinity():
 if not other:
***************
*** 1145,1149 ****
 return ans
 
! sign = xor(self._sign, other._sign)
 if not self and not other:
 if divmod:
--- 1144,1148 ----
 return ans
 
! sign = operator.xor(self._sign, other._sign)
 if not self and not other:
 if divmod:
***************
*** 2114,2118 ****
 Decimal._pick_rounding_function[val] = name
 
! DefaultLock = threading.Lock()
 
 class Context(object):
--- 2113,2117 ----
 Decimal._pick_rounding_function[val] = name
 
! del name, val, globalname, rounding_functions
 
 class Context(object):
***************
*** 2136,2139 ****
--- 2135,2141 ----
 clamp - If 1, change exponents if too high (Default 0)
 """
+ 
+ DefaultLock = threading.Lock()
+ 
 def __init__(self, prec=None, rounding=None,
 trap_enablers=None, flags=None,
***************
*** 2144,2148 ****
 if flags is None:
 flags = dict.fromkeys(Signals, 0)
! DefaultLock.acquire()
 for name, val in locals().items():
 if val is None:
--- 2146,2150 ----
 if flags is None:
 flags = dict.fromkeys(Signals, 0)
! self.DefaultLock.acquire()
 for name, val in locals().items():
 if val is None:
***************
*** 2150,2154 ****
 else:
 setattr(self, name, val)
! DefaultLock.release()
 del self.self
 
--- 2152,2156 ----
 else:
 setattr(self, name, val)
! self.DefaultLock.release()
 del self.self
 
***************
*** 2164,2167 ****
--- 2166,2170 ----
 self.capitals, self._clamp, self._ignored_flags)
 return nc
+ __copy__ = copy
 
 def _raise_error(self, error, explanation = None, *args):
***************
*** 2265,2275 ****
 the plus operation on the operand.
 
! >>> ExtendedDefaultContext.abs(Decimal('2.1'))
 Decimal("2.1")
! >>> ExtendedDefaultContext.abs(Decimal('-100'))
 Decimal("100")
! >>> ExtendedDefaultContext.abs(Decimal('101.5'))
 Decimal("101.5")
! >>> ExtendedDefaultContext.abs(Decimal('-101.5'))
 Decimal("101.5")
 """
--- 2268,2278 ----
 the plus operation on the operand.
 
! >>> ExtendedContext.abs(Decimal('2.1'))
 Decimal("2.1")
! >>> ExtendedContext.abs(Decimal('-100'))
 Decimal("100")
! >>> ExtendedContext.abs(Decimal('101.5'))
 Decimal("101.5")
! >>> ExtendedContext.abs(Decimal('-101.5'))
 Decimal("101.5")
 """
***************
*** 2279,2285 ****
 """Return the sum of the two operands.
 
! >>> ExtendedDefaultContext.add(Decimal('12'), Decimal('7.00'))
 Decimal("19.00")
! >>> ExtendedDefaultContext.add(Decimal('1E+2'), Decimal('1.01E+4'))
 Decimal("1.02E+4")
 """
--- 2282,2288 ----
 """Return the sum of the two operands.
 
! >>> ExtendedContext.add(Decimal('12'), Decimal('7.00'))
 Decimal("19.00")
! >>> ExtendedContext.add(Decimal('1E+2'), Decimal('1.01E+4'))
 Decimal("1.02E+4")
 """
***************
*** 2303,2317 ****
 zero or negative zero, or '1' if the result is greater than zero.
 
! >>> ExtendedDefaultContext.compare(Decimal('2.1'), Decimal('3'))
 Decimal("-1")
! >>> ExtendedDefaultContext.compare(Decimal('2.1'), Decimal('2.1'))
 Decimal("0")
! >>> ExtendedDefaultContext.compare(Decimal('2.1'), Decimal('2.10'))
 Decimal("0")
! >>> ExtendedDefaultContext.compare(Decimal('3'), Decimal('2.1'))
 Decimal("1")
! >>> ExtendedDefaultContext.compare(Decimal('2.1'), Decimal('-3'))
 Decimal("1")
! >>> ExtendedDefaultContext.compare(Decimal('-3'), Decimal('2.1'))
 Decimal("-1")
 """
--- 2306,2320 ----
 zero or negative zero, or '1' if the result is greater than zero.
 
! >>> ExtendedContext.compare(Decimal('2.1'), Decimal('3'))
 Decimal("-1")
! >>> ExtendedContext.compare(Decimal('2.1'), Decimal('2.1'))
 Decimal("0")
! >>> ExtendedContext.compare(Decimal('2.1'), Decimal('2.10'))
 Decimal("0")
! >>> ExtendedContext.compare(Decimal('3'), Decimal('2.1'))
 Decimal("1")
! >>> ExtendedContext.compare(Decimal('2.1'), Decimal('-3'))
 Decimal("1")
! >>> ExtendedContext.compare(Decimal('-3'), Decimal('2.1'))
 Decimal("-1")
 """
***************
*** 2321,2343 ****
 """Decimal division in a specified context.
 
! >>> ExtendedDefaultContext.divide(Decimal('1'), Decimal('3'))
 Decimal("0.333333333")
! >>> ExtendedDefaultContext.divide(Decimal('2'), Decimal('3'))
 Decimal("0.666666667")
! >>> ExtendedDefaultContext.divide(Decimal('5'), Decimal('2'))
 Decimal("2.5")
! >>> ExtendedDefaultContext.divide(Decimal('1'), Decimal('10'))
 Decimal("0.1")
! >>> ExtendedDefaultContext.divide(Decimal('12'), Decimal('12'))
 Decimal("1")
! >>> ExtendedDefaultContext.divide(Decimal('8.00'), Decimal('2'))
 Decimal("4.00")
! >>> ExtendedDefaultContext.divide(Decimal('2.400'), Decimal('2.0'))
 Decimal("1.20")
! >>> ExtendedDefaultContext.divide(Decimal('1000'), Decimal('100'))
 Decimal("10")
! >>> ExtendedDefaultContext.divide(Decimal('1000'), Decimal('1'))
 Decimal("1000")
! >>> ExtendedDefaultContext.divide(Decimal('2.40E+6'), Decimal('2'))
 Decimal("1.20E+6")
 """
--- 2324,2346 ----
 """Decimal division in a specified context.
 
! >>> ExtendedContext.divide(Decimal('1'), Decimal('3'))
 Decimal("0.333333333")
! >>> ExtendedContext.divide(Decimal('2'), Decimal('3'))
 Decimal("0.666666667")
! >>> ExtendedContext.divide(Decimal('5'), Decimal('2'))
 Decimal("2.5")
! >>> ExtendedContext.divide(Decimal('1'), Decimal('10'))
 Decimal("0.1")
! >>> ExtendedContext.divide(Decimal('12'), Decimal('12'))
 Decimal("1")
! >>> ExtendedContext.divide(Decimal('8.00'), Decimal('2'))
 Decimal("4.00")
! >>> ExtendedContext.divide(Decimal('2.400'), Decimal('2.0'))
 Decimal("1.20")
! >>> ExtendedContext.divide(Decimal('1000'), Decimal('100'))
 Decimal("10")
! >>> ExtendedContext.divide(Decimal('1000'), Decimal('1'))
 Decimal("1000")
! >>> ExtendedContext.divide(Decimal('2.40E+6'), Decimal('2'))
 Decimal("1.20E+6")
 """
***************
*** 2347,2355 ****
 """Divides two numbers and returns the integer part of the result.
 
! >>> ExtendedDefaultContext.divide_int(Decimal('2'), Decimal('3'))
 Decimal("0")
! >>> ExtendedDefaultContext.divide_int(Decimal('10'), Decimal('3'))
 Decimal("3")
! >>> ExtendedDefaultContext.divide_int(Decimal('1'), Decimal('0.3'))
 Decimal("3")
 """
--- 2350,2358 ----
 """Divides two numbers and returns the integer part of the result.
 
! >>> ExtendedContext.divide_int(Decimal('2'), Decimal('3'))
 Decimal("0")
! >>> ExtendedContext.divide_int(Decimal('10'), Decimal('3'))
 Decimal("3")
! >>> ExtendedContext.divide_int(Decimal('1'), Decimal('0.3'))
 Decimal("3")
 """
***************
*** 2368,2376 ****
 infinity) of the two operands is chosen as the result.
 
! >>> ExtendedDefaultContext.max(Decimal('3'), Decimal('2'))
 Decimal("3")
! >>> ExtendedDefaultContext.max(Decimal('-10'), Decimal('3'))
 Decimal("3")
! >>> ExtendedDefaultContext.max(Decimal('1.0'), Decimal('1'))
 Decimal("1.0")
 """
--- 2371,2379 ----
 infinity) of the two operands is chosen as the result.
 
! >>> ExtendedContext.max(Decimal('3'), Decimal('2'))
 Decimal("3")
! >>> ExtendedContext.max(Decimal('-10'), Decimal('3'))
 Decimal("3")
! >>> ExtendedContext.max(Decimal('1.0'), Decimal('1'))
 Decimal("1.0")
 """
***************
*** 2386,2394 ****
 infinity) of the two operands is chosen as the result.
 
! >>> ExtendedDefaultContext.min(Decimal('3'), Decimal('2'))
 Decimal("2")
! >>> ExtendedDefaultContext.min(Decimal('-10'), Decimal('3'))
 Decimal("-10")
! >>> ExtendedDefaultContext.min(Decimal('1.0'), Decimal('1'))
 Decimal("1.0")
 """
--- 2389,2397 ----
 infinity) of the two operands is chosen as the result.
 
! >>> ExtendedContext.min(Decimal('3'), Decimal('2'))
 Decimal("2")
! >>> ExtendedContext.min(Decimal('-10'), Decimal('3'))
 Decimal("-10")
! >>> ExtendedContext.min(Decimal('1.0'), Decimal('1'))
 Decimal("1.0")
 """
***************
*** 2402,2408 ****
 has the same exponent as the operand.
 
! >>> ExtendedDefaultContext.minus(Decimal('1.3'))
 Decimal("-1.3")
! >>> ExtendedDefaultContext.minus(Decimal('-1.3'))
 Decimal("1.3")
 """
--- 2405,2411 ----
 has the same exponent as the operand.
 
! >>> ExtendedContext.minus(Decimal('1.3'))
 Decimal("-1.3")
! >>> ExtendedContext.minus(Decimal('-1.3'))
 Decimal("1.3")
 """
***************
*** 2417,2429 ****
 of the two operands.
 
! >>> ExtendedDefaultContext.multiply(Decimal('1.20'), Decimal('3'))
 Decimal("3.60")
! >>> ExtendedDefaultContext.multiply(Decimal('7'), Decimal('3'))
 Decimal("21")
! >>> ExtendedDefaultContext.multiply(Decimal('0.9'), Decimal('0.8'))
 Decimal("0.72")
! >>> ExtendedDefaultContext.multiply(Decimal('0.9'), Decimal('-0'))
 Decimal("-0.0")
! >>> ExtendedDefaultContext.multiply(Decimal('654321'), Decimal('654321'))
 Decimal("4.28135971E+11")
 """
--- 2420,2432 ----
 of the two operands.
 
! >>> ExtendedContext.multiply(Decimal('1.20'), Decimal('3'))
 Decimal("3.60")
! >>> ExtendedContext.multiply(Decimal('7'), Decimal('3'))
 Decimal("21")
! >>> ExtendedContext.multiply(Decimal('0.9'), Decimal('0.8'))
 Decimal("0.72")
! >>> ExtendedContext.multiply(Decimal('0.9'), Decimal('-0'))
 Decimal("-0.0")
! >>> ExtendedContext.multiply(Decimal('654321'), Decimal('654321'))
 Decimal("4.28135971E+11")
 """
***************
*** 2436,2450 ****
 result.
 
! >>> ExtendedDefaultContext.normalize(Decimal('2.1'))
 Decimal("2.1")
! >>> ExtendedDefaultContext.normalize(Decimal('-2.0'))
 Decimal("-2")
! >>> ExtendedDefaultContext.normalize(Decimal('1.200'))
 Decimal("1.2")
! >>> ExtendedDefaultContext.normalize(Decimal('-120'))
 Decimal("-1.2E+2")
! >>> ExtendedDefaultContext.normalize(Decimal('120.00'))
 Decimal("1.2E+2")
! >>> ExtendedDefaultContext.normalize(Decimal('0.00'))
 Decimal("0")
 """
--- 2439,2453 ----
 result.
 
! >>> ExtendedContext.normalize(Decimal('2.1'))
 Decimal("2.1")
! >>> ExtendedContext.normalize(Decimal('-2.0'))
 Decimal("-2")
! >>> ExtendedContext.normalize(Decimal('1.200'))
 Decimal("1.2")
! >>> ExtendedContext.normalize(Decimal('-120'))
 Decimal("-1.2E+2")
! >>> ExtendedContext.normalize(Decimal('120.00'))
 Decimal("1.2E+2")
! >>> ExtendedContext.normalize(Decimal('0.00'))
 Decimal("0")
 """
***************
*** 2458,2464 ****
 has the same exponent as the operand.
 
! >>> ExtendedDefaultContext.plus(Decimal('1.3'))
 Decimal("1.3")
! >>> ExtendedDefaultContext.plus(Decimal('-1.3'))
 Decimal("-1.3")
 """
--- 2461,2467 ----
 has the same exponent as the operand.
 
! >>> ExtendedContext.plus(Decimal('1.3'))
 Decimal("1.3")
! >>> ExtendedContext.plus(Decimal('-1.3'))
 Decimal("-1.3")
 """
***************
*** 2483,2513 ****
 continues.
 
! >>> ExtendedDefaultContext.power(Decimal('2'), Decimal('3'))
 Decimal("8")
! >>> ExtendedDefaultContext.power(Decimal('2'), Decimal('-3'))
 Decimal("0.125")
! >>> ExtendedDefaultContext.power(Decimal('1.7'), Decimal('8'))
 Decimal("69.7575744")
! >>> ExtendedDefaultContext.power(Decimal('Infinity'), Decimal('-2'))
 Decimal("0")
! >>> ExtendedDefaultContext.power(Decimal('Infinity'), Decimal('-1'))
 Decimal("0")
! >>> ExtendedDefaultContext.power(Decimal('Infinity'), Decimal('0'))
 Decimal("1")
! >>> ExtendedDefaultContext.power(Decimal('Infinity'), Decimal('1'))
 Decimal("Infinity")
! >>> ExtendedDefaultContext.power(Decimal('Infinity'), Decimal('2'))
 Decimal("Infinity")
! >>> ExtendedDefaultContext.power(Decimal('-Infinity'), Decimal('-2'))
 Decimal("0")
! >>> ExtendedDefaultContext.power(Decimal('-Infinity'), Decimal('-1'))
 Decimal("-0")
! >>> ExtendedDefaultContext.power(Decimal('-Infinity'), Decimal('0'))
 Decimal("1")
! >>> ExtendedDefaultContext.power(Decimal('-Infinity'), Decimal('1'))
 Decimal("-Infinity")
! >>> ExtendedDefaultContext.power(Decimal('-Infinity'), Decimal('2'))
 Decimal("Infinity")
! >>> ExtendedDefaultContext.power(Decimal('0'), Decimal('0'))
 Decimal("NaN")
 """
--- 2486,2516 ----
 continues.
 
! >>> ExtendedContext.power(Decimal('2'), Decimal('3'))
 Decimal("8")
! >>> ExtendedContext.power(Decimal('2'), Decimal('-3'))
 Decimal("0.125")
! >>> ExtendedContext.power(Decimal('1.7'), Decimal('8'))
 Decimal("69.7575744")
! >>> ExtendedContext.power(Decimal('Infinity'), Decimal('-2'))
 Decimal("0")
! >>> ExtendedContext.power(Decimal('Infinity'), Decimal('-1'))
 Decimal("0")
! >>> ExtendedContext.power(Decimal('Infinity'), Decimal('0'))
 Decimal("1")
! >>> ExtendedContext.power(Decimal('Infinity'), Decimal('1'))
 Decimal("Infinity")
! >>> ExtendedContext.power(Decimal('Infinity'), Decimal('2'))
 Decimal("Infinity")
! >>> ExtendedContext.power(Decimal('-Infinity'), Decimal('-2'))
 Decimal("0")
! >>> ExtendedContext.power(Decimal('-Infinity'), Decimal('-1'))
 Decimal("-0")
! >>> ExtendedContext.power(Decimal('-Infinity'), Decimal('0'))
 Decimal("1")
! >>> ExtendedContext.power(Decimal('-Infinity'), Decimal('1'))
 Decimal("-Infinity")
! >>> ExtendedContext.power(Decimal('-Infinity'), Decimal('2'))
 Decimal("Infinity")
! >>> ExtendedContext.power(Decimal('0'), Decimal('0'))
 Decimal("NaN")
 """
***************
*** 2532,2564 ****
 if the result is subnormal and inexact.
 
! >>> ExtendedDefaultContext.quantize(Decimal('2.17'), Decimal('0.001'))
 Decimal("2.170")
! >>> ExtendedDefaultContext.quantize(Decimal('2.17'), Decimal('0.01'))
 Decimal("2.17")
! >>> ExtendedDefaultContext.quantize(Decimal('2.17'), Decimal('0.1'))
 Decimal("2.2")
! >>> ExtendedDefaultContext.quantize(Decimal('2.17'), Decimal('1e+0'))
 Decimal("2")
! >>> ExtendedDefaultContext.quantize(Decimal('2.17'), Decimal('1e+1'))
 Decimal("0E+1")
! >>> ExtendedDefaultContext.quantize(Decimal('-Inf'), Decimal('Infinity'))
 Decimal("-Infinity")
! >>> ExtendedDefaultContext.quantize(Decimal('2'), Decimal('Infinity'))
 Decimal("NaN")
! >>> ExtendedDefaultContext.quantize(Decimal('-0.1'), Decimal('1'))
 Decimal("-0")
! >>> ExtendedDefaultContext.quantize(Decimal('-0'), Decimal('1e+5'))
 Decimal("-0E+5")
! >>> ExtendedDefaultContext.quantize(Decimal('+35236450.6'), Decimal('1e-2'))
 Decimal("NaN")
! >>> ExtendedDefaultContext.quantize(Decimal('-35236450.6'), Decimal('1e-2'))
 Decimal("NaN")
! >>> ExtendedDefaultContext.quantize(Decimal('217'), Decimal('1e-1'))
 Decimal("217.0")
! >>> ExtendedDefaultContext.quantize(Decimal('217'), Decimal('1e-0'))
 Decimal("217")
! >>> ExtendedDefaultContext.quantize(Decimal('217'), Decimal('1e+1'))
 Decimal("2.2E+2")
! >>> ExtendedDefaultContext.quantize(Decimal('217'), Decimal('1e+2'))
 Decimal("2E+2")
 """
--- 2535,2567 ----
 if the result is subnormal and inexact.
 
! >>> ExtendedContext.quantize(Decimal('2.17'), Decimal('0.001'))
 Decimal("2.170")
! >>> ExtendedContext.quantize(Decimal('2.17'), Decimal('0.01'))
 Decimal("2.17")
! >>> ExtendedContext.quantize(Decimal('2.17'), Decimal('0.1'))
 Decimal("2.2")
! >>> ExtendedContext.quantize(Decimal('2.17'), Decimal('1e+0'))
 Decimal("2")
! >>> ExtendedContext.quantize(Decimal('2.17'), Decimal('1e+1'))
 Decimal("0E+1")
! >>> ExtendedContext.quantize(Decimal('-Inf'), Decimal('Infinity'))
 Decimal("-Infinity")
! >>> ExtendedContext.quantize(Decimal('2'), Decimal('Infinity'))
 Decimal("NaN")
! >>> ExtendedContext.quantize(Decimal('-0.1'), Decimal('1'))
 Decimal("-0")
! >>> ExtendedContext.quantize(Decimal('-0'), Decimal('1e+5'))
 Decimal("-0E+5")
! >>> ExtendedContext.quantize(Decimal('+35236450.6'), Decimal('1e-2'))
 Decimal("NaN")
! >>> ExtendedContext.quantize(Decimal('-35236450.6'), Decimal('1e-2'))
 Decimal("NaN")
! >>> ExtendedContext.quantize(Decimal('217'), Decimal('1e-1'))
 Decimal("217.0")
! >>> ExtendedContext.quantize(Decimal('217'), Decimal('1e-0'))
 Decimal("217")
! >>> ExtendedContext.quantize(Decimal('217'), Decimal('1e+1'))
 Decimal("2.2E+2")
! >>> ExtendedContext.quantize(Decimal('217'), Decimal('1e+2'))
 Decimal("2E+2")
 """
***************
*** 2577,2591 ****
 remainder cannot be calculated).
 
! >>> ExtendedDefaultContext.remainder(Decimal('2.1'), Decimal('3'))
 Decimal("2.1")
! >>> ExtendedDefaultContext.remainder(Decimal('10'), Decimal('3'))
 Decimal("1")
! >>> ExtendedDefaultContext.remainder(Decimal('-10'), Decimal('3'))
 Decimal("-1")
! >>> ExtendedDefaultContext.remainder(Decimal('10.2'), Decimal('1'))
 Decimal("0.2")
! >>> ExtendedDefaultContext.remainder(Decimal('10'), Decimal('0.3'))
 Decimal("0.1")
! >>> ExtendedDefaultContext.remainder(Decimal('3.6'), Decimal('1.3'))
 Decimal("1.0")
 """
--- 2580,2594 ----
 remainder cannot be calculated).
 
! >>> ExtendedContext.remainder(Decimal('2.1'), Decimal('3'))
 Decimal("2.1")
! >>> ExtendedContext.remainder(Decimal('10'), Decimal('3'))
 Decimal("1")
! >>> ExtendedContext.remainder(Decimal('-10'), Decimal('3'))
 Decimal("-1")
! >>> ExtendedContext.remainder(Decimal('10.2'), Decimal('1'))
 Decimal("0.2")
! >>> ExtendedContext.remainder(Decimal('10'), Decimal('0.3'))
 Decimal("0.1")
! >>> ExtendedContext.remainder(Decimal('3.6'), Decimal('1.3'))
 Decimal("1.0")
 """
***************
*** 2602,2618 ****
 remainder cannot be calculated).
 
! >>> ExtendedDefaultContext.remainder_near(Decimal('2.1'), Decimal('3'))
 Decimal("-0.9")
! >>> ExtendedDefaultContext.remainder_near(Decimal('10'), Decimal('6'))
 Decimal("-2")
! >>> ExtendedDefaultContext.remainder_near(Decimal('10'), Decimal('3'))
 Decimal("1")
! >>> ExtendedDefaultContext.remainder_near(Decimal('-10'), Decimal('3'))
 Decimal("-1")
! >>> ExtendedDefaultContext.remainder_near(Decimal('10.2'), Decimal('1'))
 Decimal("0.2")
! >>> ExtendedDefaultContext.remainder_near(Decimal('10'), Decimal('0.3'))
 Decimal("0.1")
! >>> ExtendedDefaultContext.remainder_near(Decimal('3.6'), Decimal('1.3'))
 Decimal("-0.3")
 """
--- 2605,2621 ----
 remainder cannot be calculated).
 
! >>> ExtendedContext.remainder_near(Decimal('2.1'), Decimal('3'))
 Decimal("-0.9")
! >>> ExtendedContext.remainder_near(Decimal('10'), Decimal('6'))
 Decimal("-2")
! >>> ExtendedContext.remainder_near(Decimal('10'), Decimal('3'))
 Decimal("1")
! >>> ExtendedContext.remainder_near(Decimal('-10'), Decimal('3'))
 Decimal("-1")
! >>> ExtendedContext.remainder_near(Decimal('10.2'), Decimal('1'))
 Decimal("0.2")
! >>> ExtendedContext.remainder_near(Decimal('10'), Decimal('0.3'))
 Decimal("0.1")
! >>> ExtendedContext.remainder_near(Decimal('3.6'), Decimal('1.3'))
 Decimal("-0.3")
 """
***************
*** 2625,2635 ****
 either operand.
 
! >>> ExtendedDefaultContext.same_quantum(Decimal('2.17'), Decimal('0.001'))
 False
! >>> ExtendedDefaultContext.same_quantum(Decimal('2.17'), Decimal('0.01'))
 True
! >>> ExtendedDefaultContext.same_quantum(Decimal('2.17'), Decimal('1'))
 False
! >>> ExtendedDefaultContext.same_quantum(Decimal('Inf'), Decimal('-Inf'))
 True
 """
--- 2628,2638 ----
 either operand.
 
! >>> ExtendedContext.same_quantum(Decimal('2.17'), Decimal('0.001'))
 False
! >>> ExtendedContext.same_quantum(Decimal('2.17'), Decimal('0.01'))
 True
! >>> ExtendedContext.same_quantum(Decimal('2.17'), Decimal('1'))
 False
! >>> ExtendedContext.same_quantum(Decimal('Inf'), Decimal('-Inf'))
 True
 """
***************
*** 2642,2664 ****
 algorithm.
 
! >>> ExtendedDefaultContext.sqrt(Decimal('0'))
 Decimal("0")
! >>> ExtendedDefaultContext.sqrt(Decimal('-0'))
 Decimal("-0")
! >>> ExtendedDefaultContext.sqrt(Decimal('0.39'))
 Decimal("0.624499800")
! >>> ExtendedDefaultContext.sqrt(Decimal('100'))
 Decimal("10")
! >>> ExtendedDefaultContext.sqrt(Decimal('1'))
 Decimal("1")
! >>> ExtendedDefaultContext.sqrt(Decimal('1.0'))
 Decimal("1.0")
! >>> ExtendedDefaultContext.sqrt(Decimal('1.00'))
 Decimal("1.0")
! >>> ExtendedDefaultContext.sqrt(Decimal('7'))
 Decimal("2.64575131")
! >>> ExtendedDefaultContext.sqrt(Decimal('10'))
 Decimal("3.16227766")
! >>> ExtendedDefaultContext.prec
 9
 """
--- 2645,2667 ----
 algorithm.
 
! >>> ExtendedContext.sqrt(Decimal('0'))
 Decimal("0")
! >>> ExtendedContext.sqrt(Decimal('-0'))
 Decimal("-0")
! >>> ExtendedContext.sqrt(Decimal('0.39'))
 Decimal("0.624499800")
! >>> ExtendedContext.sqrt(Decimal('100'))
 Decimal("10")
! >>> ExtendedContext.sqrt(Decimal('1'))
 Decimal("1")
! >>> ExtendedContext.sqrt(Decimal('1.0'))
 Decimal("1.0")
! >>> ExtendedContext.sqrt(Decimal('1.00'))
 Decimal("1.0")
! >>> ExtendedContext.sqrt(Decimal('7'))
 Decimal("2.64575131")
! >>> ExtendedContext.sqrt(Decimal('10'))
 Decimal("3.16227766")
! >>> ExtendedContext.prec
 9
 """
***************
*** 2668,2676 ****
 """Return the sum of the two operands.
 
! >>> ExtendedDefaultContext.subtract(Decimal('1.3'), Decimal('1.07'))
 Decimal("0.23")
! >>> ExtendedDefaultContext.subtract(Decimal('1.3'), Decimal('1.30'))
 Decimal("0.00")
! >>> ExtendedDefaultContext.subtract(Decimal('1.3'), Decimal('2.07'))
 Decimal("-0.77")
 """
--- 2671,2679 ----
 """Return the sum of the two operands.
 
! >>> ExtendedContext.subtract(Decimal('1.3'), Decimal('1.07'))
 Decimal("0.23")
! >>> ExtendedContext.subtract(Decimal('1.3'), Decimal('1.30'))
 Decimal("0.00")
! >>> ExtendedContext.subtract(Decimal('1.3'), Decimal('2.07'))
 Decimal("-0.77")
 """
***************
*** 2700,2718 ****
 be set. The rounding mode is taken from the context.
 
! >>> ExtendedDefaultContext.to_integral(Decimal('2.1'))
 Decimal("2")
! >>> ExtendedDefaultContext.to_integral(Decimal('100'))
 Decimal("100")
! >>> ExtendedDefaultContext.to_integral(Decimal('100.0'))
 Decimal("100")
! >>> ExtendedDefaultContext.to_integral(Decimal('101.5'))
 Decimal("102")
! >>> ExtendedDefaultContext.to_integral(Decimal('-101.5'))
 Decimal("-102")
! >>> ExtendedDefaultContext.to_integral(Decimal('10E+5'))
 Decimal("1.0E+6")
! >>> ExtendedDefaultContext.to_integral(Decimal('7.89E+77'))
 Decimal("7.89E+77")
! >>> ExtendedDefaultContext.to_integral(Decimal('-Inf'))
 Decimal("-Infinity")
 """
--- 2703,2721 ----
 be set. The rounding mode is taken from the context.
 
! >>> ExtendedContext.to_integral(Decimal('2.1'))
 Decimal("2")
! >>> ExtendedContext.to_integral(Decimal('100'))
 Decimal("100")
! >>> ExtendedContext.to_integral(Decimal('100.0'))
 Decimal("100")
! >>> ExtendedContext.to_integral(Decimal('101.5'))
 Decimal("102")
! >>> ExtendedContext.to_integral(Decimal('-101.5'))
 Decimal("-102")
! >>> ExtendedContext.to_integral(Decimal('10E+5'))
 Decimal("1.0E+6")
! >>> ExtendedContext.to_integral(Decimal('7.89E+77'))
 Decimal("7.89E+77")
! >>> ExtendedContext.to_integral(Decimal('-Inf'))
 Decimal("-Infinity")
 """
***************
*** 2975,2979 ****
 # of the spec.
 
! BasicDefaultContext = Context(
 prec=9, rounding=ROUND_HALF_UP,
 trap_enablers=_basic_traps,
--- 2978,2982 ----
 # of the spec.
 
! BasicContext = Context(
 prec=9, rounding=ROUND_HALF_UP,
 trap_enablers=_basic_traps,
***************
*** 2982,2986 ****
 )
 
! ExtendedDefaultContext = Context(
 prec=9, rounding=ROUND_HALF_EVEN,
 trap_enablers=dict.fromkeys(Signals, 0),
--- 2985,2989 ----
 )
 
! ExtendedContext = Context(
 prec=9, rounding=ROUND_HALF_EVEN,
 trap_enablers=dict.fromkeys(Signals, 0),


More information about the Python-checkins mailing list

AltStyle によって変換されたページ (->オリジナル) /