unsigned long long conversion

Torbjorn Granlund tege at swox.com
Thu Apr 7 18:51:42 CEST 2005

I'd write an assignment function something like this:

if (sizeof (xx) != sizeof (unsigned long))
    unsigned long h = xx >> 32;
    mpz_set_ui (foo, h);
    mpz_mul_2exp (foo, foo, 32);
    mpz_add_ui (foo, foo, (unsigned long) xx);
    mpz_set_ui (foo, xx);

(The hard-wired 32 isn't too pretty.  The "if (sizeof ...)" test
should make things work for 64-bit machines in spite of that.)

I have not tested the above code.


More information about the gmp-discuss mailing list