On 6/29/07, David Harvey <[EMAIL PROTECTED]> wrote: > > > On Jun 28, 2007, at 5:04 PM, Martin Albrecht wrote: > > > Hi there, > > > > I often come across the situation where I have to construct an > > integer from > > its binary representation and vice versa. So far you do it in SAGE > > using > > strings. I have attached a preliminary patch which allows the > > following code > > to work, i.e. I _replaced_ the binary() method (which returned a > > string) with > > a method that returns a tuple of Python ints. > > > > sage: e = ZZ(10231252).binary(); e > > (1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, > > 0, 0) > > sage: ZZ(e,2) > > 10231252 > > > > I know that this patch has some issues: > > * it breaks doctests which rely on strings (fix by replace ZZ.binary > > () with > > ZZ.str(2)) > > * it returns a tuple of Python ints should return tuple (?) of GF > > (2) elements > > but I didn't want to mess with imports yet > > * it can be done faster > > * you loose the minus sign: ZZ(-1).binary() is (1,), shall it raise an > > exception then? > > > > I am not out for micromanagement but I hesitate to just submit a > > polished > > patch as the Integers are such a central building block of SAGE. > > So, does > > anybody actually like the current behavior of ZZ.binary() which > > returns a > > (signed) string? Any other objections against making the above work? > > Hmmm I don't know if I like this. Well, I don't have any objections > to such a method being available, but I prefer the name "binary" to > have the current behaviour. It's more pythonic, like the hex function.
+1 for keeping the method and but changing the name. didier --~--~---------~--~----~------------~-------~--~----~ 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/ -~----------~----~----~----~------~----~------~--~---