#if defined(__x86_64__) || defined(__aarch64__) #define __WORDSIZE 64 #elif defined(__mips__) #define __WORDSIZE 32 #endif typedef unsigned char uint8_t; typedef unsigned short uint16_t; typedef unsigned int uint32_t; typedef unsigned long long uint64_t; typedef char int8_t; typedef short int16_t; typedef int int32_t; typedef long long int64_t; #if __WORDSIZE == 64 typedef int64_t intptr_t; typedef uint64_t uintptr_t; #elif __WORDSIZE == 32 typedef int32_t intptr_t; typedef uint32_t uintptr_t; #endif