]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
Make Decimal a subclass of Real and Inexact.
authorGuido van Rossum <guido@python.org>
Mon, 10 Dec 2007 20:04:04 +0000 (20:04 +0000)
committerGuido van Rossum <guido@python.org>
Mon, 10 Dec 2007 20:04:04 +0000 (20:04 +0000)
Lib/decimal.py
Lib/test/output/test_cProfile
Lib/test/output/test_profile

index 7f957684afc09618988402e6010ae36ac471f6ec..ba335bba469370fce915a741db25595371cc213c 100644 (file)
@@ -134,6 +134,7 @@ __all__ = [
     'setcontext', 'getcontext', 'localcontext'
 ]
 
+import numbers as _numbers
 import copy as _copy
 
 # Rounding
@@ -509,7 +510,7 @@ def localcontext(ctx=None):
 
 ##### Decimal class #######################################################
 
-class Decimal(object):
+class Decimal(_numbers.Real, _numbers.Inexact):
     """Floating point class for decimal arithmetic."""
 
     __slots__ = ('_exp','_int','_sign', '_is_special')
index 0037924abb60f2af0152ba4196b178af7da79b52..7ac1433c26503f311b6991e57727f36c7fc462f9 100644 (file)
@@ -5,10 +5,10 @@ test_cProfile
 
    ncalls  tottime  percall  cumtime  percall filename:lineno(function)
         1    0.000    0.000    1.000    1.000 <string>:1(<module>)
-        2    0.000    0.000    0.000    0.000 io.py:1201(flush)
-        1    0.000    0.000    0.000    0.000 io.py:259(flush)
-        1    0.000    0.000    0.000    0.000 io.py:646(closed)
-        1    0.000    0.000    0.000    0.000 io.py:864(flush)
+        2    0.000    0.000    0.000    0.000 io.py:1211(flush)
+        1    0.000    0.000    0.000    0.000 io.py:269(flush)
+        1    0.000    0.000    0.000    0.000 io.py:656(closed)
+        1    0.000    0.000    0.000    0.000 io.py:874(flush)
         8    0.064    0.008    0.080    0.010 test_cProfile.py:103(subhelper)
        28    0.028    0.001    0.028    0.001 test_cProfile.py:115(__getattr__)
         1    0.270    0.270    1.000    1.000 test_cProfile.py:30(testfunc)
@@ -30,11 +30,11 @@ test_cProfile
 Function                                          called...
                                                       ncalls  tottime  cumtime
 <string>:1(<module>)                              ->       1    0.270    1.000  test_cProfile.py:30(testfunc)
-io.py:1201(flush)                                 ->       1    0.000    0.000  io.py:259(flush)
-                                                           1    0.000    0.000  io.py:864(flush)
-io.py:259(flush)                                  -> 
-io.py:646(closed)                                 -> 
-io.py:864(flush)                                  ->       1    0.000    0.000  io.py:646(closed)
+io.py:1211(flush)                                 ->       1    0.000    0.000  io.py:269(flush)
+                                                           1    0.000    0.000  io.py:874(flush)
+io.py:269(flush)                                  -> 
+io.py:656(closed)                                 -> 
+io.py:874(flush)                                  ->       1    0.000    0.000  io.py:656(closed)
 test_cProfile.py:103(subhelper)                   ->      16    0.016    0.016  test_cProfile.py:115(__getattr__)
 test_cProfile.py:115(__getattr__)                 -> 
 test_cProfile.py:30(testfunc)                     ->       1    0.014    0.130  test_cProfile.py:40(factorial)
@@ -53,7 +53,7 @@ test_cProfile.py:89(helper2_indirect)             ->       2    0.006    0.040
 test_cProfile.py:93(helper2)                      ->       8    0.064    0.080  test_cProfile.py:103(subhelper)
                                                            8    0.000    0.008  {hasattr}
 {exec}                                            ->       1    0.000    1.000  <string>:1(<module>)
-                                                           2    0.000    0.000  io.py:1201(flush)
+                                                           2    0.000    0.000  io.py:1211(flush)
 {hasattr}                                         ->      12    0.012    0.012  test_cProfile.py:115(__getattr__)
 {method 'append' of 'list' objects}               -> 
 {method 'disable' of '_lsprof.Profiler' objects}  -> 
@@ -65,10 +65,10 @@ test_cProfile.py:93(helper2)                      ->       8    0.064    0.080
 Function                                          was called by...
                                                       ncalls  tottime  cumtime
 <string>:1(<module>)                              <-       1    0.000    1.000  {exec}
-io.py:1201(flush)                                 <-       2    0.000    0.000  {exec}
-io.py:259(flush)                                  <-       1    0.000    0.000  io.py:1201(flush)
-io.py:646(closed)                                 <-       1    0.000    0.000  io.py:864(flush)
-io.py:864(flush)                                  <-       1    0.000    0.000  io.py:1201(flush)
+io.py:1211(flush)                                 <-       2    0.000    0.000  {exec}
+io.py:269(flush)                                  <-       1    0.000    0.000  io.py:1211(flush)
+io.py:656(closed)                                 <-       1    0.000    0.000  io.py:874(flush)
+io.py:874(flush)                                  <-       1    0.000    0.000  io.py:1211(flush)
 test_cProfile.py:103(subhelper)                   <-       8    0.064    0.080  test_cProfile.py:93(helper2)
 test_cProfile.py:115(__getattr__)                 <-      16    0.016    0.016  test_cProfile.py:103(subhelper)
                                                           12    0.012    0.012  {hasattr}
index 5ecdbae51eecc9252c0f49c31ad8d760da2c1162..95629783c9cb916d677c8dfba5e5c7bd5235178e 100644 (file)
@@ -10,10 +10,10 @@ test_profile
        12    0.000    0.000    0.012    0.001 :0(hasattr)
         1    0.000    0.000    0.000    0.000 :0(setprofile)
         1    0.000    0.000    1.000    1.000 <string>:1(<module>)
-        2    0.000    0.000    0.000    0.000 io.py:1201(flush)
-        1    0.000    0.000    0.000    0.000 io.py:259(flush)
-        1    0.000    0.000    0.000    0.000 io.py:646(closed)
-        1    0.000    0.000    0.000    0.000 io.py:864(flush)
+        2    0.000    0.000    0.000    0.000 io.py:1211(flush)
+        1    0.000    0.000    0.000    0.000 io.py:269(flush)
+        1    0.000    0.000    0.000    0.000 io.py:656(closed)
+        1    0.000    0.000    0.000    0.000 io.py:874(flush)
         0    0.000             0.000          profile:0(profiler)
         1    0.000    0.000    1.000    1.000 profile:0(testfunc())
         8    0.064    0.008    0.080    0.010 test_profile.py:103(subhelper)
@@ -33,15 +33,15 @@ Function                              called...
 :0(append)                            -> 
 :0(exc_info)                          -> 
 :0(exec)                              -> <string>:1(<module>)(1)    1.000
-                                         io.py:1201(flush)(2)    0.000
+                                         io.py:1211(flush)(2)    0.000
 :0(hasattr)                           -> test_profile.py:115(__getattr__)(12)    0.028
 :0(setprofile)                        -> 
 <string>:1(<module>)                  -> test_profile.py:30(testfunc)(1)    1.000
-io.py:1201(flush)                     -> io.py:259(flush)(1)    0.000
-                                         io.py:864(flush)(1)    0.000
-io.py:259(flush)                      -> 
-io.py:646(closed)                     -> 
-io.py:864(flush)                      -> io.py:646(closed)(1)    0.000
+io.py:1211(flush)                     -> io.py:269(flush)(1)    0.000
+                                         io.py:874(flush)(1)    0.000
+io.py:269(flush)                      -> 
+io.py:656(closed)                     -> 
+io.py:874(flush)                      -> io.py:656(closed)(1)    0.000
 profile:0(profiler)                   -> profile:0(testfunc())(1)    1.000
 profile:0(testfunc())                 -> :0(exec)(1)    1.000
                                          :0(setprofile)(1)    0.000
@@ -74,10 +74,10 @@ Function                              was called by...
                                          test_profile.py:93(helper2)(8)    0.400
 :0(setprofile)                        <- profile:0(testfunc())(1)    1.000
 <string>:1(<module>)                  <- :0(exec)(1)    1.000
-io.py:1201(flush)                     <- :0(exec)(2)    1.000
-io.py:259(flush)                      <- io.py:1201(flush)(1)    0.000
-io.py:646(closed)                     <- io.py:864(flush)(1)    0.000
-io.py:864(flush)                      <- io.py:1201(flush)(1)    0.000
+io.py:1211(flush)                     <- :0(exec)(2)    1.000
+io.py:269(flush)                      <- io.py:1211(flush)(1)    0.000
+io.py:656(closed)                     <- io.py:874(flush)(1)    0.000
+io.py:874(flush)                      <- io.py:1211(flush)(1)    0.000
 profile:0(profiler)                   <- 
 profile:0(testfunc())                 <- profile:0(profiler)(1)    0.000
 test_profile.py:103(subhelper)        <- test_profile.py:93(helper2)(8)    0.400