Message210700
I worked out a slightly speedier version of decimal_to_ratio today (Stefan: that's when I duplicated your bug report):
from decimal import Context
def _decimal_to_ratio (x):
_, digits, exp = x.as_tuple()
if exp in _ExactRatio.decimal_infinite: # INF, NAN, sNAN
assert not d.is_finite()
raise ValueError
if exp < 0:
exp = -exp
return int(x.scaleb(exp, Context(prec=len(digits)))), 10**exp
return int(x), 1
makes the variance functions in my re-implementation about 20-30% faster for Decimal. It's not a big breakthrough, but still. |
|
Date |
User |
Action |
Args |
2014-02-08 22:59:51 | wolma | set | recipients:
+ wolma, steven.daprano, skrah, oscarbenjamin |
2014-02-08 22:59:51 | wolma | set | messageid: <1391900391.25.0.427197838622.issue20499@psf.upfronthosting.co.za> |
2014-02-08 22:59:51 | wolma | link | issue20499 messages |
2014-02-08 22:59:50 | wolma | create | |
|