[pypy-svn] r75973 - pypy/branch/fast-forward/pypy/module/math
benjamin at codespeak.net
benjamin at codespeak.net
Wed Jul 7 16:49:29 CEST 2010
Author: benjamin
Date: Wed Jul 7 16:49:28 2010
New Revision: 75973
Modified:
pypy/branch/fast-forward/pypy/module/math/interp_math.py
Log:
fix silly error function bugs
Modified: pypy/branch/fast-forward/pypy/module/math/interp_math.py
==============================================================================
--- pypy/branch/fast-forward/pypy/module/math/interp_math.py (original)
+++ pypy/branch/fast-forward/pypy/module/math/interp_math.py Wed Jul 7 16:49:28 2010
@@ -440,14 +440,14 @@
ERF_SERIES_TERMS = 25
ERFC_CONTFRAC_CUTOFF = 30.
ERFC_CONTFRAC_TERMS = 50
-_sqrtpi = 1.772453850905516027298167483341145182798;
+_sqrtpi = 1.772453850905516027298167483341145182798
def _erf_series(x):
x2 = x * x
acc = 0.
- fk = ERF_SERIES_TERMS * + .5
+ fk = ERF_SERIES_TERMS + .5
for i in range(ERF_SERIES_TERMS):
- acc = 2.0 * x2 * acc / fk
+ acc = 2.0 + x2 * acc / fk
fk -= 1.
return acc * x * math.exp(-x2) / _sqrtpi
@@ -456,7 +456,7 @@
return 0.
x2 = x * x
a = 0.
- da = 0.
+ da = .5
p = 1.
p_last = 0.
q = da + x2
@@ -465,12 +465,8 @@
a += da
da += 2.
b = da + x2
- temp = p
- p = b * p - a * p_last
- p_last = temp
- temp = q
- q = b * q - a * q_last
- q_last = temp
+ p_last, p = p, b * p - a * p_last
+ q_last, q = q, b * q - a * q_last
return p / q * x * math.exp(-x2) / _sqrtpi
def _erf(x):
More information about the Pypy-commit
mailing list