Author: Amaury Forgeot d'Arc <[email protected]>
Branch:
Changeset: r60625:83989cc371b2
Date: 2013-01-28 19:53 +0100
http://bitbucket.org/pypy/pypy/changeset/83989cc371b2/
Log: Add rcomplex.isfinite()
diff --git a/rpython/rlib/rcomplex.py b/rpython/rlib/rcomplex.py
--- a/rpython/rlib/rcomplex.py
+++ b/rpython/rlib/rcomplex.py
@@ -566,3 +566,6 @@
def c_isnan(r, i):
return isnan(r) or isnan(i)
+
+def c_isfinite(r, i):
+ return isfinite(r) and isfinite(i)
diff --git a/rpython/rlib/test/test_rcomplex.py
b/rpython/rlib/test/test_rcomplex.py
--- a/rpython/rlib/test/test_rcomplex.py
+++ b/rpython/rlib/test/test_rcomplex.py
@@ -260,3 +260,24 @@
rAssertAlmostEqual(expected[1], actual[1],
abs_err=real_abs_err,
msg=error_message)
+
+def test_isnan():
+ assert not c.c_isnan(0, 0)
+ assert c.c_isnan(float('nan'), 0)
+ assert c.c_isnan(1, float('nan'))
+ assert not c.c_isnan(float('inf'), 0)
+
+def test_isinf():
+ assert not c.c_isinf(0, 0)
+ assert c.c_isinf(float('inf'), 0)
+ assert c.c_isinf(float('-inf'), 0)
+ assert c.c_isinf(1, float('inf'))
+ assert not c.c_isinf(float('nan'), 0)
+
+def test_isfinite():
+ assert c.c_isfinite(0, 0)
+ assert not c.c_isfinite(float('nan'), 0)
+ assert not c.c_isfinite(float('-inf'), 0)
+ assert not c.c_isfinite(0, float('nan'))
+ assert not c.c_isfinite(0, float('-inf'))
+
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit