Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
godotengine
GitHub Repository: godotengine/godot
Path: blob/master/thirdparty/jolt_physics/Jolt/ConfigurationString.h
9903 views
1
// Jolt Physics Library (https://github.com/jrouwe/JoltPhysics)
2
// SPDX-FileCopyrightText: 2023 Jorrit Rouwe
3
// SPDX-License-Identifier: MIT
4
5
#pragma once
6
7
JPH_NAMESPACE_BEGIN
8
9
/// Construct a string that lists the most important configuration settings
10
inline const char *GetConfigurationString()
11
{
12
return JPH_IF_SINGLE_PRECISION_ELSE("Single", "Double") " precision "
13
#if defined(JPH_CPU_X86)
14
"x86 "
15
#elif defined(JPH_CPU_ARM)
16
"ARM "
17
#elif defined(JPH_CPU_RISCV)
18
"RISC-V "
19
#elif defined(JPH_CPU_PPC)
20
"PowerPC "
21
#ifdef JPH_CPU_BIG_ENDIAN
22
"(Big Endian) "
23
#else
24
"(Little Endian) "
25
#endif
26
#elif defined(JPH_CPU_LOONGARCH)
27
"LoongArch "
28
#elif defined(JPH_CPU_E2K)
29
"E2K "
30
#elif defined(JPH_CPU_WASM)
31
"WASM "
32
#else
33
#error Unknown CPU architecture
34
#endif
35
#if JPH_CPU_ADDRESS_BITS == 64
36
"64-bit "
37
#elif JPH_CPU_ADDRESS_BITS == 32
38
"32-bit "
39
#endif
40
"with instructions: "
41
#ifdef JPH_USE_NEON
42
"NEON "
43
#endif
44
#ifdef JPH_USE_SSE
45
"SSE2 "
46
#endif
47
#ifdef JPH_USE_SSE4_1
48
"SSE4.1 "
49
#endif
50
#ifdef JPH_USE_SSE4_2
51
"SSE4.2 "
52
#endif
53
#ifdef JPH_USE_AVX
54
"AVX "
55
#endif
56
#ifdef JPH_USE_AVX2
57
"AVX2 "
58
#endif
59
#ifdef JPH_USE_AVX512
60
"AVX512 "
61
#endif
62
#ifdef JPH_USE_F16C
63
"F16C "
64
#endif
65
#ifdef JPH_USE_LZCNT
66
"LZCNT "
67
#endif
68
#ifdef JPH_USE_TZCNT
69
"TZCNT "
70
#endif
71
#ifdef JPH_USE_FMADD
72
"FMADD "
73
#endif
74
#ifdef JPH_CROSS_PLATFORM_DETERMINISTIC
75
"(Cross Platform Deterministic) "
76
#endif
77
#ifdef JPH_FLOATING_POINT_EXCEPTIONS_ENABLED
78
"(FP Exceptions) "
79
#endif
80
#ifdef JPH_DEBUG_RENDERER
81
"(Debug Renderer) "
82
#endif
83
#ifdef JPH_PROFILE_ENABLED
84
"(Profile) "
85
#endif
86
#if defined(JPH_OBJECT_LAYER_BITS) && JPH_OBJECT_LAYER_BITS == 32
87
"(32-bit ObjectLayer) "
88
#else
89
"(16-bit ObjectLayer) "
90
#endif
91
#ifdef JPH_ENABLE_ASSERTS
92
"(Assertions) "
93
#endif
94
#ifdef JPH_OBJECT_STREAM
95
"(ObjectStream) "
96
#endif
97
#ifdef JPH_DEBUG
98
"(Debug) "
99
#endif
100
#if defined(__cpp_rtti) && __cpp_rtti
101
"(C++ RTTI) "
102
#endif
103
#if defined(__cpp_exceptions) && __cpp_exceptions
104
"(C++ Exceptions) "
105
#endif
106
;
107
}
108
109
JPH_NAMESPACE_END
110
111