Backlog/lib/zphysics/libs/Jolt/ConfigurationString.h

72 lines
1.2 KiB
C

// Jolt Physics Library (https://github.com/jrouwe/JoltPhysics)
// SPDX-FileCopyrightText: 2023 Jorrit Rouwe
// SPDX-License-Identifier: MIT
#pragma once
JPH_NAMESPACE_BEGIN
/// Construct a string that lists the most important configuration settings
inline const char *GetConfigurationString()
{
return JPH_IF_SINGLE_PRECISION_ELSE("Single", "Double") " precision "
#if defined(JPH_CPU_X86)
"x86 "
#elif defined(JPH_CPU_ARM)
"ARM "
#elif defined(JPH_PLATFORM_WASM)
"WASM "
#endif
#if JPH_CPU_ADDRESS_BITS == 64
"64-bit "
#elif JPH_CPU_ADDRESS_BITS == 32
"32-bit "
#endif
"with instructions: "
#ifdef JPH_USE_NEON
"NEON "
#endif
#ifdef JPH_USE_SSE
"SSE2 "
#endif
#ifdef JPH_USE_SSE4_1
"SSE4.1 "
#endif
#ifdef JPH_USE_SSE4_2
"SSE4.2 "
#endif
#ifdef JPH_USE_AVX
"AVX "
#endif
#ifdef JPH_USE_AVX2
"AVX2 "
#endif
#ifdef JPH_USE_AVX512
"AVX512 "
#endif
#ifdef JPH_USE_F16C
"F16C "
#endif
#ifdef JPH_USE_LZCNT
"LZCNT "
#endif
#ifdef JPH_USE_TZCNT
"TZCNT "
#endif
#ifdef JPH_USE_FMADD
"FMADD "
#endif
#ifdef JPH_CROSS_PLATFORM_DETERMINISTIC
"(Cross Platform Deterministic) "
#endif
#ifdef JPH_FLOATING_POINT_EXCEPTIONS_ENABLED
"(FP Exceptions) "
#endif
#ifdef _DEBUG
"(Debug) "
#endif
;
}
JPH_NAMESPACE_END