20#if defined(_WIN32) || defined(_WIN64)
21#define ORIGINAL_PLATFORM_WINDOWS 1
23#define ORIGINAL_PLATFORM_WINDOWS_64 1
25#define ORIGINAL_PLATFORM_WINDOWS_32 1
27 #define ORIGINAL_PLATFORM_WINDOWS 0
29#elif defined(__linux__)
30#define ORIGINAL_PLATFORM_LINUX 1
31#elif defined(__APPLE__) && defined(__MACH__)
32 #define ORIGINAL_PLATFORM_MACOS 1
33#elif defined(__unix__)
34 #define ORIGINAL_PLATFORM_UNIX 1
36 #define ORIGINAL_PLATFORM_UNKNOWN 1
46#define ORIGINAL_COMPILER_CLANG 1
47 #define ORIGINAL_COMPILER_VERSION __clang_major__.__clang_minor__.__clang_patchlevel__
48#elif defined(__GNUC__) || defined(__GNUG__)
49#define ORIGINAL_COMPILER_GCC 1
50#define ORIGINAL_COMPILER_VERSION __GNUC__.__GNUC_MINOR__.__GNUC_PATCHLEVEL__
51#elif defined(_MSC_VER)
52#define ORIGINAL_COMPILER_MSVC 1
53 #define ORIGINAL_COMPILER_VERSION _MSC_VER
55 #define ORIGINAL_COMPILER_UNKNOWN 1
80 #if ORIGINAL_PLATFORM_WINDOWS
93 #if ORIGINAL_PLATFORM_WINDOWS_32
106 #if ORIGINAL_PLATFORM_WINDOWS_64
119 #if ORIGINAL_PLATFORM_LINUX
132 #if ORIGINAL_PLATFORM_MACOS
145 #if ORIGINAL_PLATFORM_UNIX
158 #if ORIGINAL_PLATFORM_UNKNOWN
178 #if ORIGINAL_COMPILER_CLANG
191 #if ORIGINAL_COMPILER_GCC
204 #if ORIGINAL_COMPILER_MSVC
217 #if ORIGINAL_COMPILER_UNKNOWN
consteval bool USING_UNKNOWN_COMPLIER()
Checks if compiling with unknown compiler.
Definition config.h:216
consteval bool USING_MSVC()
Checks if compiling with MSVC.
Definition config.h:203
consteval bool USING_GCC()
Checks if compiling with GCC.
Definition config.h:190
consteval bool USING_CLANG()
Checks if compiling with Clang.
Definition config.h:177
std::uint32_t u_integer
32-bit unsigned integer type for sizes and indexes
Definition config.h:263
std::int8_t s_byte
Signed 8-bit integer type.
Definition config.h:245
std::uint8_t byte
Unsigned 8-bit integer type (byte)
Definition config.h:237
std::uint64_t ul_integer
64-bit unsigned integer type
Definition config.h:274
std::int64_t integer
64-bit signed integer type for arithmetic operations
Definition config.h:254
double floating
Double-precision floating-point type.
Definition config.h:283
long double l_floating
Extended precision floating-point type.
Definition config.h:292
Main namespace for the project Original.
Definition algorithms.h:21