This is precisely why we deprecated all the is_*() functions for end-user use:

----------------------------------------------------------------------
| Sage Version 3.4.1.rc4, Release Date: 2009-04-19                   |
| Type notebook() for the GUI, and license() for information.        |
----------------------------------------------------------------------

sage: is_Integer(3/2+1/2)
/home/masgaj/.sage/temp/host_56_150/29373/_home_masgaj__sage_init_sage_0.py:1:
DeprecationWarning:
Using is_Integer from the top level is deprecated since it was
designed to be used by developers rather than end users.
It most likely does not do what you would expect it to do.  If you
really need to use it, import it from the module that it is defined
in.
  # -*- coding: utf-8 -*-
False

sage: (3/2+1/2).is_integral()
True

The is_*() functions just test the type of an abject (in programming terms):

sage: type(3/2+1/2)
<type 'sage.rings.rational.Rational'>

and the result of 3/2+1/2 is of type Rational.  Mathematically, of
course, the same number can be an integer and a rational (and a real
and a complex and ...).

John

2009/4/22 Robert Bradshaw <rober...@math.washington.edu>:
>
> On Apr 21, 2009, at 10:54 PM, Craig Citro wrote:
>
>>> In module sage.rings.integer
>>>
>>> is_Integer(3/2+1/2)
>>>
>>> returns
>>>
>>> False   The expected output should be True as 3/2+1/2 = 2.
>>>
>>> I was planning to use this function to check if the result of
>>> division
>>> is a whole number.
>>>
>>
>> You could also use the is_integral method of rational numbers:
>>
>> sage: n = 3/2 + 1/2
>> sage: n.is_integral()
>> True
>>
>> (This function also exists on Integers, so you could even use it in
>> situations where you weren't sure if you had an honest Integer or an
>> integer masquerading as a Rational.)
>
> Another option is
>
> sage: 3/2 + 1/2 in ZZ
> True
> sage: 3/2 + 1/3 in ZZ
> False
>
> - Robert
>
>
>
> >
>

--~--~---------~--~----~------------~-------~--~----~
To post to this group, send email to sage-devel@googlegroups.com
To unsubscribe from this group, send email to 
sage-devel-unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://www.sagemath.org
-~----------~----~----~----~------~----~------~--~---

Reply via email to