12#include "../macros.hpp"
19#include <TargetConditionals.h>
21#if HI_OPERATING_SYSTEM == HI_OS_LINUX || HI_OPERATING_SYSTEM == HI_OS_MACOS
25hi_export_module(hikogui.utility.architecture);
27hi_export
namespace hi::inline
v1 {
30#if (HI_COMPILER == HI_CC_GCC || HI_COMPILER == HI_CC_CLANG)
31#if (HI_PROCESSOR == HI_CPU_X86_64 || HI_PROCESSOR == HI_CPU_ARM64)
32#if (HI_STD_LIBRARY == HI_STL_GCC || HI_STD_LIBRARY == HI_STL_LLVM)
33#define HI_HAS_INT128 1
47#if HI_OPERATING_SYSTEM == HI_OS_WINDOWS
48using os_handle =
void *;
50using thread_id = uint32_t;
53#elif HI_OPERATING_SYSTEM == HI_OS_MACOS
56using thread_id = uint32_t;
57constexpr std::size_t maximum_num_cpus = CPU_SETSIZE;
59#elif HI_OPERATING_SYSTEM == HI_OS_LINUX
62using thread_id = uint32_t;
63constexpr std::size_t maximum_num_cpus = CPU_SETSIZE;
66#error "Not implemented."
76#if defined(__clang__) and defined(_CPPLIB_VER)
77inline void _Literal_zero_is_expected(
void)
DOXYGEN BUG.
Definition algorithm_misc.hpp:20
__int128 int128_t
Signed 128 bit integer.
Definition architecture.hpp:37
unsigned __int128 uint128_t
Unsigned 128 bit integer.
Definition architecture.hpp:41