support larger int types

Victor Shoup shoup at cs.nyu.edu
Fri Oct 14 14:53:41 UTC 2016


I agree that this would be a nice feature but that it is also 
kind of a pain because of the unstable API.

However, it seems like one could just say that the API that GMP
supports is on exactly the same footing as the exact-width types
in stdint.h: the C/C++ standards do not guarantee that these types
are defined, so GMP client code that use them are at the whim of their
compiler -- but they are anyway.

So I guess configure could figure out which of these types are defined,
and then GMP could supply the appropriate conversion functions.

So what I'm saying is that the problem could perhaps be viewed as
one of *documentation* --- supply the functions if possible, but warn
users that this API instability parallels the C/C++ language instability, 
and that's that.


> On Oct 14, 2016, at 8:01 AM, Pedro Gimeno <gmpdiscuss at formauri.es> wrote:
> 
> Torbjörn Granlund wrote, On 2016-10-14 13:44:
>>  One reasoning contradicts the other, doesn't it?, given that the C standard doesn't guarantee some of those types to exist (especially for fixed-width types). Or is that too academic?
>> 
>> Which types?
> 
> 7.18.1.1 Exact-width integer types
> [...]
> 2 The following designate exact-width signed integer types:
>         int8_t               int16_t             int32_t     int64_t
>  The following designate exact-width unsigned integer types:
>         uint8_t              uint16_t            uint32_t    uint64_t
>  (These types need not exist in an implementation.)
> 
> This is from the draft, I imagine it hasn't changed in the final version. Apologies if it has.
> _______________________________________________
> gmp-discuss mailing list
> gmp-discuss at gmplib.org
> https://gmplib.org/mailman/listinfo/gmp-discuss



More information about the gmp-discuss mailing list