Jolt Physics
A multi core friendly Game Physics Engine
Loading...
Searching...
No Matches
ConfigurationString.h
Go to the documentation of this file.
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
8
10inline 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
JPH_NAMESPACE_BEGIN const char * GetConfigurationString()
Construct a string that lists the most important configuration settings.
Definition ConfigurationString.h:10
#define JPH_NAMESPACE_END
Definition Core.h:414
#define JPH_IF_SINGLE_PRECISION_ELSE(s, d)
Definition Core.h:559
#define JPH_NAMESPACE_BEGIN
Definition Core.h:408