From bd09b9547134340b47b99d12f786f59f692d409c Mon Sep 17 00:00:00 2001 From: Kirill Smelkov Date: Fri, 25 Jul 2008 22:03:07 +0400 Subject: [PATCH] [16/24] +-Infinity: correct assumptions finite: U -> F (not sure about this, but NegativeInfinity already was =F) integer: F -> U rational: T -> U infinitesimal: U -> F Also Infinity and NegativeInfinity lacked assumptions tests, so I wrote them. References ---------- http://en.wikipedia.org/wiki/Finite http://en.wikipedia.org/wiki/Infinitesimal http://en.wikipedia.org/wiki/Infinity Signed-off-by: Kirill Smelkov Signed-off-by: Ondrej Certik Signed-off-by: Mateusz Paprocki --- sympy/core/numbers.py | 8 +++++- sympy/core/tests/test_assumptions.py | 52 ++++++++++++++++++++++++++++++++++++ 2 files changed, 59 insertions(+), 1 deletion(-) diff --git a/sympy/core/numbers.py b/sympy/core/numbers.py index 1155396..28f1373 100644 --- a/sympy/core/numbers.py +++ b/sympy/core/numbers.py @@ -1066,7 +1066,10 @@ class Infinity(Singleton, Rational): is_commutative = True is_positive = True is_bounded = False - is_finite = None + is_finite = False + is_infinitesimal = False + is_integer = None + is_rational = None is_odd = None @staticmethod @@ -1118,6 +1121,9 @@ class NegativeInfinity(Singleton, Rational): is_positive = False is_bounded = False is_finite = False + is_infinitesimal = False + is_integer = None + is_rational = None precedence = 40 # same as Add diff --git a/sympy/core/tests/test_assumptions.py b/sympy/core/tests/test_assumptions.py index b6b2f1c..40d0968 100644 --- a/sympy/core/tests/test_assumptions.py +++ b/sympy/core/tests/test_assumptions.py @@ -84,6 +84,58 @@ def test_negativeone(): assert z.is_prime == False assert z.is_composite == True +def test_infinity(): + oo = S.Infinity + + assert oo.is_commutative == True + assert oo.is_integer == None + assert oo.is_rational == None + assert oo.is_real == True + assert oo.is_complex == True + assert oo.is_noninteger == None + assert oo.is_irrational == None + assert oo.is_imaginary == False + assert oo.is_noncomplex == False + assert oo.is_positive == True + assert oo.is_negative == False + assert oo.is_nonpositive == False + assert oo.is_nonnegative == True + assert oo.is_even == None + assert oo.is_odd == None + assert oo.is_bounded == False + assert oo.is_unbounded == True + assert oo.is_finite == False + assert oo.is_infinitesimal == False + assert oo.is_comparable == True + assert oo.is_prime == None + assert oo.is_composite == None + +def test_neg_infinity(): + mm = S.NegativeInfinity + + assert mm.is_commutative == True + assert mm.is_integer == None + assert mm.is_rational == None + assert mm.is_real == True + assert mm.is_complex == True + assert mm.is_noninteger == None + assert mm.is_irrational == None + assert mm.is_imaginary == False + assert mm.is_noncomplex == False + assert mm.is_positive == False + assert mm.is_negative == True + assert mm.is_nonpositive == True + assert mm.is_nonnegative == False + assert mm.is_even == None + assert mm.is_odd == None + assert mm.is_bounded == False + assert mm.is_unbounded == True + assert mm.is_finite == False + assert mm.is_infinitesimal == False + assert mm.is_comparable == True + assert mm.is_prime == False + assert mm.is_composite == False + def test_pos_rational(): r = Rational(3,4) assert r.is_commutative == True -- 2.11.4.GIT