Thanks for clearing up my confusion. I will try to implement this. I have added it as ticket #825.
Marshall On Oct 4, 11:48 am, "William Stein" <[EMAIL PROTECTED]> wrote: > On 10/4/07, Hamptonio <[EMAIL PROTECTED]> wrote: > > > > > I am porting some Mathematica code to sage and I ran into a minor > > issue. I was using the Mod command in mathematica with argument types > > Mod[float,integer] to create a periodic function. In sage, the mod > > command gives an error on that sort of input. So I made a simple > > function: > > > def float_mod(x,divisor): > > '''An extension of the mod command for floats.''' > > return x-floor(float(x)/divisor)*divisor > > > which does what I want. Is there something like this already in > > sage? > > Yes, %, e.g., > > sage: a = float(1.2393); b = int(5) > sage: a % b > 1.2393000000000001 > sage: a = float(1.2393); b = int(1) > sage: a % b > 0.23930000000000007 > > That this doesn't work on Sage types, i.e., Sage real numbers > and Sage integers is because we didn't think to implement it: > > sage: 1.2394 % 1 > > boom because we didn't think to implement. > > Should this be added to Sage? If somebody thinks so... > implement it and post a trac ticket. > > > I know the normal python % operation does something similar but > > that's taken out by the preparser. > > The Sage preparser doesn't touch %: > > sage: preparse('a % b') > 'a % b' > > William --~--~---------~--~----~------------~-------~--~----~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~----------~----~----~----~------~----~------~--~---