<div class="gmail_quote">On Fri, Aug 13, 2010 at 11:35 AM, Gabriel Dos Reis <span dir="ltr"><<a href="mailto:gdr@cs.tamu.edu">gdr@cs.tamu.edu</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">

<div id=":v6">So, I am wondering why ECL is making that distinction?  That is, why does<br>
ECL need to distinguish 'long' from ECL_FIXNUM_TYPE?  Should not<br>
the distinction between GMP_LIMB_BITS vs. FIXNUM_BITS be sufficient?<br>
</div></blockquote></div><br>Gabriel, I think you have found a major problem. GMP only exports routines to convert from gmp to long and int, not to long long. Since I did not want to tinker with GMP's internals, I almost never manipulated limbs myself. I have not the faintest idea of what choices GMP takes when facing an LLP platform. I believe the Sage group switched from GMP to MPIR for this precise reason, but it also poses a significant problem for ECL because we will have to have a look at the cl_fixnum -> gmp conversions scattered throughout the code, which currently rely on GMP's mpz_set_si function and this is taking LONG not LONG LONG!!!<br>

<br><br>Juanjo<br clear="all"><br>-- <br>Instituto de Física Fundamental, CSIC<br>c/ Serrano, 113b, Madrid 28006 (Spain) <br><a href="http://juanjose.garciaripoll.googlepages.com">http://juanjose.garciaripoll.googlepages.com</a><br>