1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 #pragma once19 20 21 #define MATH_ENABLE_NAMESPACE22 23 24 25 #define MATH_NAMESPACE_NAME math26 27 28 29 30 #define MATH_AUTO_USE_NAMESPACE31 32 33 #if defined(WINVER) && !defined(WIN8)34 #if WINVER >= 0x060235 #define WIN836 #endif37 #endif38 39 40 #if !defined(WIN8) 41 #define MATH_ENABLE_WINXP_SUPPORT42 #endif43 44 45 46 47 48 49 #ifndef _DEBUG50 51 52 #ifndef MATH_SILENT_ASSUME53 #define MATH_SILENT_ASSUME54 #endif55 56 57 58 59 60 61 #endif62 63 #ifdef _DEBUG64 65 66 #define MATH_ASSERT_CORRECTNESS67 #endif68 69 70 71 72 #ifndef FAIL_USING_EXCEPTIONS73 74 #endif75 76 77 78 #ifndef MATH_ENABLE_STL_SUPPORT79 #define MATH_ENABLE_STL_SUPPORT80 #endif81 82 83 84 #ifndef MATH_TINYXML_INTEROP85 86 #endif87 88 89 90 #ifndef MATH_CONTAINERLIB_SUPPORT91 92 #endif93 94 95 96 #ifndef MATH_GRAPHICSENGINE_INTEROP97 98 #endif99 100 101 102 #ifndef KNET_LOGGING_SUPPORT_ENABLED103 104 #endif105 106 107 #ifndef MATH_USE_DIRECT3D108 109 #endif110 111 #ifndef MATH_USE_OPENGL112 113 #endif114 115 116 #ifndef MATH_LEFTHANDED_CAMERA117 118 #endif119 120 #ifndef MATH_RIGHTHANDED_CAMERA121 122 #endif123 124 #if defined(MATH_USE_DIRECT3D) && defined(MATH_USE_OPENGL)125 #error Defines MATH_USE_DIRECT3D and MATH_USE_OPENGL are mutually exclusive!126 #endif127 128 #if defined(MATH_LEFTHANDED_CAMERA) && defined(MATH_RIGHTHANDED_CAMERA)129 #error Defines MATH_LEFTHANDED_CAMERA and MATH_RIGHTHANDED_CAMERA are mutually exclusive!130 #endif131 132 133 134 135 136 137 138 139 140 141 142 143 #ifdef MATH_NEON144 #include <arm_neon.h>145 #endif146 147 148 #ifdef MATH_AVX149 #if defined(__GNUC__) || defined(__clang__)150 #include <immintrin.h>151 #endif152 #ifndef MATH_SSE41153 #define MATH_SSE41154 #endif155 #ifndef MATH_SSE3156 #define MATH_SSE3157 #endif158 #ifndef MATH_SSE2159 #define MATH_SSE2160 #endif161 #ifndef MATH_SSE162 #define MATH_SSE163 #endif164 #endif165 166 #ifdef MATH_SSE41167 #ifndef MATH_SSE3168 #define MATH_SSE3169 #endif170 #ifndef MATH_SSE2171 #define MATH_SSE2172 #endif173 #ifndef MATH_SSE174 #define MATH_SSE175 #endif176 #endif177 178 #ifdef MATH_SSE3179 #ifdef _MSC_VER180 #include <intrin.h>181 #else182 #include <pmmintrin.h>183 #endif184 #ifndef MATH_SSE2185 #define MATH_SSE2186 #endif187 #ifndef MATH_SSE188 #define MATH_SSE189 #endif190 #endif191 192 #ifdef MATH_SSE2193 #ifndef MATH_SSE194 #define MATH_SSE195 #endif196 #include <emmintrin.h>197 #endif198 199 #ifdef MATH_SSE200 #include <xmmintrin.h>201 #endif202 203 #if defined(MATH_SSE) || defined(MATH_NEON)204 #define MATH_SIMD // A common #define to signal the simd4f type is available.205 206 #ifdef MATH_NEON207 typedef float32x4_t simd4f;208 #elif defined(MATH_SSE)209 typedef __m128 simd4f;210 #endif211 212 #endif213 214 #if defined(MATH_SIMD) && !defined(MATH_AUTOMATIC_SSE)215 216 217 #define MATH_AUTOMATIC_SSE218 #endif219 220 #include "[Math/MathTypes.h]" Go back to previous page