File indexing completed on 2026-05-19 08:08:33
0001
0002
0003 #ifndef _CL_TYPES_H
0004 #define _CL_TYPES_H
0005
0006
0007 #include "cln/config.h"
0008
0009
0010 #include "cln/intparam.h"
0011
0012
0013 #include <stdint.h>
0014
0015
0016
0017 #if (char_bitsize==8)
0018 typedef signed char sint8;
0019 typedef unsigned char uint8;
0020 #else
0021 #error "No 8 bit integer type?"
0022 #endif
0023
0024 #if (short_bitsize==16)
0025 typedef short sint16;
0026 typedef unsigned short uint16;
0027 #else
0028 #error "No 16 bit integer type?"
0029 #endif
0030
0031 #if (long_bitsize==32)
0032 typedef long sint32;
0033 typedef unsigned long uint32;
0034 #elif (int_bitsize==32)
0035 typedef int sint32;
0036 typedef unsigned int uint32;
0037 #else
0038 #error "No 32 bit integer type?"
0039 #endif
0040
0041 #if (long_bitsize==64)
0042 typedef long sint64;
0043 typedef unsigned long uint64;
0044 #elif (long_long_bitsize==64)
0045 typedef long long sint64;
0046 typedef unsigned long long uint64;
0047 #else
0048 #error "No 64 bit integer type?"
0049 #endif
0050 #if (defined(__alpha__) || defined(__ia64__) || defined(__mips64__) || defined(__powerpc64__) || defined(__s390x__) || (defined(__sparc__) && defined(__arch64__)) || (defined(__x86_64__) || defined(_M_AMD64)) || defined(__aarch64__) || (defined(__riscv) && __riscv_xlen == 64) || defined(__e2k__) || defined(__loongarch_lp64))
0051
0052 #define HAVE_FAST_LONGLONG
0053 #endif
0054
0055 #define intBsize 8
0056 typedef sint8 sintB;
0057 typedef uint8 uintB;
0058 #define intWsize 16
0059 typedef sint16 sintW;
0060 typedef uint16 uintW;
0061 #define intLsize 32
0062 typedef sint32 sintL;
0063 typedef uint32 uintL;
0064 #define intQsize 64
0065 typedef sint64 sintQ;
0066 typedef uint64 uintQ;
0067
0068
0069 typedef int cl_signean;
0070 #define signean_plus 1
0071 #define signean_null 0
0072 #define signean_minus -1
0073
0074
0075
0076 #if (defined(HAVE_FAST_LONGLONG) && (defined(__alpha__) || defined(__ia64__) || defined(__powerpc64__) || defined(__s390x__) || (defined(__sparc__) && defined(__arch64__)) || defined(__x86_64__) || defined(__aarch64__) || defined(__mips64__) || (defined(__riscv) && __riscv_xlen == 64) || defined(__e2k__) || defined(__loongarch_lp64)))
0077 #define intCsize long_bitsize
0078 typedef long sintC;
0079 typedef unsigned long uintC;
0080 #else
0081 #define intCsize int_bitsize
0082 typedef int sintC;
0083 typedef unsigned int uintC;
0084 #endif
0085
0086
0087
0088 #if (defined(__alpha__) || defined(__ia64__) || defined(__powerpc64__) || defined(__s390x__) || (defined(__sparc__) && defined(__arch64__)) || defined(__x86_64__) || defined(__i386__) || defined(__mips__) || defined(__rs6000__) || defined(__aarch64__) || (defined(__riscv) && __riscv_xlen == 64) || defined(__e2k__) || defined(__loongarch_lp64))
0089 #define intEsize 64
0090 typedef sint64 sintE;
0091 typedef uint64 uintE;
0092 #else
0093 #define intEsize 32
0094 typedef sint32 sintE;
0095 typedef uint32 uintE;
0096 #endif
0097
0098
0099
0100 #define intPsize pointer_bitsize
0101 typedef intptr_t sintP;
0102 typedef uintptr_t uintP;
0103
0104
0105
0106
0107 #define intVsize intPsize
0108 typedef sintP sintV;
0109 typedef uintP uintV;
0110
0111
0112
0113
0114
0115 #if defined(GMP_DEMANDS_UINTD_LONG_LONG)
0116 #define HAVE_FAST_LONGLONG
0117 #define intDsize long_long_bitsize
0118 typedef long long sintD;
0119 typedef unsigned long long uintD;
0120 #elif defined(GMP_DEMANDS_UINTD_LONG)
0121 #define intDsize long_bitsize
0122 typedef long sintD;
0123 typedef unsigned long uintD;
0124 #elif defined(GMP_DEMANDS_UINTD_INT)
0125 #define intDsize int_bitsize
0126 typedef int sintD;
0127 typedef unsigned int uintD;
0128 #else
0129 #if (defined(HAVE_FAST_LONGLONG) && (defined(__alpha__) || defined(__ia64__) || defined(__powerpc64__) || (defined(__sparc__) && defined(__arch64__)) || defined(__s390x__) || defined(__x86_64__) || defined(__aarch64__) || defined(__mips64__) || (defined(__riscv) && __riscv_xlen == 64) || defined(__e2k__) || defined(__loongarch_lp64)))
0130 #define intDsize 64
0131 typedef sint64 sintD;
0132 typedef uint64 uintD;
0133 #else
0134 #define intDsize 32
0135 typedef sint32 sintD;
0136 typedef uint32 uintD;
0137 #endif
0138 #endif
0139 #if (intDsize==64)
0140 #define intDDsize 128
0141 #define log2_intDsize 6
0142 #elif (intDsize==32)
0143 #define intDDsize 64
0144 #define log2_intDsize 5
0145 #elif (intDsize==16)
0146 #define intDDsize 32
0147 #define log2_intDsize 4
0148 #elif (intDsize==8)
0149 #define intDDsize 16
0150 #define log2_intDsize 3
0151 #else
0152 #error "What is intDsize again?"
0153 #endif
0154
0155 #if (intDDsize <= (defined(HAVE_FAST_LONGLONG) ? 64 : 32))
0156 #define HAVE_DD 1
0157 #if (intDDsize==16)
0158 typedef sint16 sintDD;
0159 typedef uint16 uintDD;
0160 #endif
0161 #if (intDDsize==32)
0162 typedef sint32 sintDD;
0163 typedef uint32 uintDD;
0164 #endif
0165 #if (intDDsize==64)
0166 typedef sint64 sintDD;
0167 typedef uint64 uintDD;
0168 #endif
0169 #else
0170 #define HAVE_DD 0
0171 #endif
0172
0173
0174
0175
0176 #ifdef HAVE_FAST_LONGLONG
0177 #define cl_word_size 64
0178 #else
0179 #define cl_word_size 32
0180 #endif
0181
0182 #endif