X-Git-Url: https://ginac.de/CLN/cln.git//cln.git?a=blobdiff_plain;f=include%2Fcln%2Ftypes.h;h=8bb8f92fde5ab418a793834031d0156a3c169701;hb=eefd94b485ccd7effb744c497b04a83cfe1213e5;hp=1ed0c0a6385014e3e621d6d9a6b995e7fe8766c1;hpb=a130a4bad5fb752ff232a0a98f0c78ecef0a429b;p=cln.git diff --git a/include/cln/types.h b/include/cln/types.h index 1ed0c0a..8bb8f92 100644 --- a/include/cln/types.h +++ b/include/cln/types.h @@ -68,16 +68,6 @@ typedef uint64 uintQ; #endif -// Boolean type. -#if 1 - typedef enum { cl_false = 0, cl_true = 1 } - cl_boolean; -#else - typedef bool cl_boolean; - #define cl_false 0 - #define cl_true 1 -#endif - // Type for three values (0, +1, -1). typedef int cl_signean; #define signean_plus 1 @@ -85,6 +75,7 @@ #define signean_minus -1 // Integer type used for counters. +// Constraint: sizeof(uintC) >= sizeof(uintL) #if (defined(HAVE_FAST_LONGLONG) && (defined(__alpha__) || defined(__ia64__) || defined(__powerpc64__) || defined(__x86_64__))) #define intCsize long_bitsize typedef long sintC; @@ -95,12 +86,29 @@ typedef unsigned int uintC; #endif +// Integer type used for lfloat exponents. +// Constraint: sizeof(uintE) >= sizeof(uintC) +#if (defined(HAVE_LONGLONG) && (defined(__alpha__) || defined(__ia64__) || defined(__powerpc64__) || defined(__x86_64__) || defined(__i386__) || defined(__mips__) || defined(__rs6000__))) + #define intEsize 64 + typedef sint64 sintE; + typedef uint64 uintE; + #else + #define intEsize 32 + typedef sint32 sintE; + typedef uint32 uintE; + #endif + // Integer type as large as a pointer. // Assumption: sizeof(long) == sizeof(void*) #define intPsize long_bitsize typedef long sintP; typedef unsigned long uintP; +// Integer type used for the value of a fixnum. + #define intVsize long_bitsize + typedef long sintV; + typedef unsigned long uintV; + // Numbers in the heap are stored as "digit" sequences. // A digit is an unsigned int with intDsize bits. // intDsize should be 8 or 16 or 32 or 64 and it should match mp_limb_t,