diff --git a/sympy/core/numbers.py b/sympy/core/numbers.py
index 3380312..865bce9 100644
--- a/sympy/core/numbers.py
+++ b/sympy/core/numbers.py
@@ -409,6 +409,11 @@ class Real(Number):
def epsilon_eq(self, other, epsilon="10e-16"):
return abs(self - other) < Real(epsilon)
+ def _sage_(self):
+ import sage.all as sage
+ return sage.RealNumber(str(self))
+
+
# this is here to work nicely in Sage
RealNumber = Real
@@ -441,7 +446,6 @@ def _parse_rational(s):
else:
return p, 10**-expt
-
class Rational(Number):
"""Represents integers and rational numbers (p/q) of any size.
diff --git a/sympy/test_external/test_sage.py b/sympy/test_external/test_sage.py
index aac901b..693c5f1 100644
--- a/sympy/test_external/test_sage.py
+++ b/sympy/test_external/test_sage.py
@@ -93,6 +93,14 @@ def test_complex():
check_expression("23+I*4", "x")
check_expression("x+I*y", "x y")
+def test_integer():
+ check_expression("4*x", "x")
+ check_expression("-4*x", "x")
+
+def test_real():
+ check_expression("1.123*x", "x")
+ check_expression("-18.22*x", "x")
+
def test_E():
assert sympy.sympify(sage.e) == sympy.E
assert sage.e == sage.SR(sympy.E)
--
1.5.6.5
Please review this as well.
Ondrej