]> www.ginac.de Git - cln.git/blobdiff - include/cln/types.h
[bugfix] Public headers need GMP_DEMANDS_UINTD_* macros.
[cln.git] / include / cln / types.h
index d23fcc7f1726aa246d544089d24ffb012e02c7c0..8bb8f92fde5ab418a793834031d0156a3c169701 100644 (file)
     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
     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