Can you submit it as a pull request? Don't worry about isinstance. We might as well create a deprecated .is_Real property, since that will be trivial. And the function idea sounds good too (just don't forget to put deprecation warnings in there).
Aaron Meurer On May 17, 8:34 pm, Ronan Lamy <ronan.l...@gmail.com> wrote: > Le mardi 17 mai 2011 à 19:12 -0700, asmeurer a écrit : > > > > > > > > > > > > > On May 12, 11:13 pm, Aaron Meurer <asmeu...@gmail.com> wrote: > > > On Thu, May 12, 2011 at 10:19 PM, Ondrej Certik <ond...@certik.cz> wrote: > > > > On Thu, May 12, 2011 at 7:40 PM, Ronan Lamy <ronan.l...@gmail.com> > > > > wrote: > > > >> Le jeudi 12 mai 2011 à 19:22 -0700, Ondrej Certik a écrit : > > > >>> On Thu, May 12, 2011 at 5:28 PM, Ronan Lamy <ronan.l...@gmail.com> > > > >>> wrote: > > > >>> > Le jeudi 12 mai 2011 à 16:06 -0700, Ondrej Certik a écrit : > > > >>> >> On Thu, May 12, 2011 at 3:49 PM, Aaron Meurer <asmeu...@gmail.com> > > > >>> >> wrote: > > > >>> >> > Hi. > > > > >>> >> > There was a discussion over at > > > >>> >> >http://code.google.com/p/sympy/issues/detail?id=1721torename the > > > >>> >> > Real class to Float, because the name fits the class better. The > > > >>> >> > reasoning is that Real represents floating point numbers, not > > > >>> >> > any real > > > >>> >> > number like sin(1) or 2*pi, and it is confusing to have the > > > >>> >> > subtle > > > >>> >> > difference between Real and real in the docs. See the > > > >>> >> > discussion over > > > >>> >> > at that issue page for more info. > > > > >>> >> > How do people feel about this? If it were to happen, it would > > > >>> >> > happen > > > >>> >> > in the next release, which also breaks some other things in > > > >>> >> > terms of > > > >>> >> > backwards compatibly. > > > > >>> >> It seems that most code uses some variation of Real already: > > > > >>> >> Sage: uses RealField and RealLiteral: > > > > >>> >> sage: a = 1.345 > > > >>> >> sage: type(a) > > > >>> >> <type 'sage.rings.real_mpfr.RealLiteral'> > > > > >>> >> Mathematica uses > > > >>> >> "Real":http://reference.wolfram.com/mathematica/ref/Real.html > > > > >>> > And their "Possible issues" section can be summed up with "Reals > > > >>> > aren't > > > >>> > reals, reals aren't Reals". Do we need to repeat others' mistakes? > > > > >>> > Anyway, both Python and numpy call floats "float" which, I think, > > > >>> > trumps > > > >>> > compatibility with Sage and Mathematica. Maple and Maxima use > > > >>> > "float" as > > > >>> > well. > > > > >>> If Maple + Maxima both use float, I am ok with that. Do you have some > > > >>> reference for that? I didn't manage to find one for Maple. > > > > >> For Maple: > > > >>http://www.maplesoft.com/support/help/Maple/view.aspx?path=float > > > > >> For Maxima: > > > >>http://maxima.sourceforge.net/docs/manual/en/maxima_10.html > > > > > Thanks. This looks good. I am ok with Float too. If it is not too > > > > hard, we can deprecate Real(), e.g. something like: > > > > > class Real(Basic) > > > > > def __eval__ /or __new__/ () > > > > deprecated > > > > return Float(*args) > > > > > Ondrej > > > > Yeah, let's do that. > > > > Aaron Meurer > > > This would still break things like isinstance(expr, Real) and > > expr.is_Real (I suppose we could also create a deprecated property for > > the last one). > > > Ronan, do you have time to update your patch for this? > > Yes, I can do it. The commit renaming Real to Float is ready, but I'm > not sure how to handle the deprecation. For isinstance(expr, Real), the > only thing we could do is to play tricks with ABCs and__subclasshook__ > in 2.6+. For Real(...), it's probably easier to make it a just a > function: > def Real(*args, **kwargs): > return Float(*args, kwargs) -- You received this message because you are subscribed to the Google Groups "sympy" group. To post to this group, send email to sympy@googlegroups.com. To unsubscribe from this group, send email to sympy+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/sympy?hl=en.