In previous releases of Quintus Prolog, integers were represented with 29 bits. Since most languages represent integers using 32 bits, errors could occur when passing very large positive or negative numbers between Prolog and foreign functions. In release 3 and later releases of Quintus Prolog the precision of integers has been raised to 32 bits; hence, these errors no longer occur.
Please note: Quintus Prolog Release 3 uses 32 bit integers and pointers internally. On 64 bit platforms, long integers and pointers are truncated to 32 bits when they are passed to Prolog, and sign-extended when passed in the other direction.