Thanks for all the helpful suggestions. I did not realize that
is_Integer() was deprecated.

On Apr 22, 2:00 am, John Cremona <john.crem...@gmail.com> wrote:
> 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