On Oct 23, 2007, at 6:37 PM, cwitty wrote: > On Oct 23, 6:24 pm, Robert Bradshaw <[EMAIL PROTECTED]> > wrote: >> Is there a way to get the size of an integer (really fast, like a >> macro getting the number of words)? One could perhaps override >> _strassen_default_cutoff (though I don't know how much overhead this >> would be for matrices with smallish entries). > > There seem to be two (documented) ways to do this: > > 1) mpz_sizeinbase(..., 2) gives the number of bits in the number. > This will be O(1), but has to count how many bits are used in the > highest-order word. mpz_sizeinbase(..., 16) or mpz_sizeinbase(..., > 32) may or may not be faster. > > 2) mpz_size(...) counts the number of words, but then you may have to > care about the difference between 32-bit and 64-bit machines. > (However, I could imagine that in this case just counting the size in > words is the right thing... maybe the cutoff should be twice as many > bits on a 64-bit processor.)
Yes, both of these are functions. It would be nice to at least get the number of limbs via a macro (without using undocumented API or accessing the internals of the mpz_t struct directly (I know how to do that)). - Robert --~--~---------~--~----~------------~-------~--~----~ 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/ -~----------~----~----~----~------~----~------~--~---