23 #ifndef CRYPTO_BIGNUMBERUTIL_h
24 #define CRYPTO_BIGNUMBERUTIL_h
30 #define BIGNUMBER_LIMB_8BIT 0
31 #define BIGNUMBER_LIMB_16BIT 1
32 #define BIGNUMBER_LIMB_32BIT 0
35 #if BIGNUMBER_LIMB_8BIT
36 typedef uint8_t limb_t;
37 typedef int8_t slimb_t;
38 typedef uint16_t dlimb_t;
39 #elif BIGNUMBER_LIMB_16BIT
40 typedef uint16_t limb_t;
41 typedef int16_t slimb_t;
42 typedef uint32_t dlimb_t;
43 #elif BIGNUMBER_LIMB_32BIT
44 typedef uint32_t limb_t;
45 typedef int32_t slimb_t;
46 typedef uint64_t dlimb_t;
48 #error "limb_t must be 8, 16, or 32 bits in size"