with Interfaces.C;
use Interfaces.C;

package MP_Arch is    --- see also mp.h, gmp.h, mpfr.h

  --  type IntMax_T  is new Long_Long_Integer; --- 32 bit x86
  type IntMax_T  is new Long;              --- 64 bit x86
  type MP_Limb_T is new Unsigned_Long;
  type MP_Size_T is new Long;
  type MP_Exp_T  is new Long;
  type MP_Sign_T is new Int;
  type MP_Prec_T is new Unsigned_Long range 2 .. Unsigned_Long'Last;

private

  pragma Convention (C, IntMax_T);
  pragma Convention (C, MP_Limb_T);
  pragma Convention (C, MP_Exp_T);
  pragma Convention (C, MP_Size_T);
  Pragma Convention (C, MP_Sign_T);
  pragma Convention (C, MP_Prec_T);

end MP_Arch;
