[Ecls-list] Adding long long support to FFI.

Goffioul Michael goffioul at imec.be
Fri May 5 00:34:01 UTC 2006


> I probably just don't understand ECL well enough yet, but 
> isn't it odd that this is defined to take cl_fixnum, but yet 
> checks for fixnum bounds and creates a bignum if the number 
> falls outside them?

This is due to internal representation of integers in ECL. ECL
uses 2 bits in the object address to detect whether it's an immediate
object or not. This means that you have 30 bits left for immediate
signed integer representation. The rest is represented as bignums.

As cl_finum is typdef'ed to 32-bits integers, the check is required
in order to create the right ECL object. Indeed, you can't use fixnum
object to represent the whole space covered by cl_fixnum type.

Michael.




More information about the ecl-devel mailing list