#include /* ================================================================================================================== */ /* Cross-Platform OS Handle Interceptions */ #if defined(_WIN32) || defined(_WIN64) #ifndef WIN32_LEAN_AND_MEAN #define WIN32_LEAN_AND_MEAN #endif #include #elif defined(__linux__) || defined(__ANDROID__) || defined(__hpux) || defined(_AIX) #include #elif defined(__APPLE__) || defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__DragonFly__) #include #include #include #endif c_size_t c_HardwareConcurrency(void) { #if defined(_WIN32) || defined(_WIN64) SYSTEM_INFO sys_info; GetSystemInfo(&sys_info); return (c_size_t)sys_info.dwNumberOfProcessors > 0 ? (c_size_t)sys_info.dwNumberOfProcessors : 1; #elif defined(__linux__) || defined(__ANDROID__) || defined(__hpux) || defined(_AIX) long cores = sysconf(_SC_NPROCESSORS_ONLN); return (cores > 0) ? (c_size_t)cores : 1; #elif defined(__APPLE__) || defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__DragonFly__) int mib[2]; mib[0] = CTL_HW; mib[1] = HW_NCPU; /* Fallback baseline key token selector */ #ifdef HW_AVAILCPU mib[1] = HW_AVAILCPU; /* Preferred choice: online/available logical cores count query */ #endif int num_cores = 0; size_t len = sizeof(num_cores); if (sysctl(mib, 2, &num_cores, &len, NULL, 0) == 0 && num_cores > 0) { return (c_size_t)num_cores; } return 1; #else /* Safe fallback anchor primitive for completely unknown or specialized bare-metal setups */ return 1; #endif }