diff options
author | RĂ©mi Verschelde <remi@verschelde.fr> | 2021-05-21 00:35:48 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-05-21 00:35:48 +0200 |
commit | d5f9f58b61c2430ee5fae59a0366581482a3b636 (patch) | |
tree | aabd1c69160374816472cb0c3971b026213516ec | |
parent | 37a417e83878927d725fe8b244ac1c486468a8a9 (diff) | |
parent | b57d9c8005067d149fe34392b19a0520352cd5c6 (diff) |
Merge pull request #48903 from Calinou/math-funcs-remove-old-msvc-ifdef
-rw-r--r-- | core/math/math_funcs.h | 24 |
1 files changed, 3 insertions, 21 deletions
diff --git a/core/math/math_funcs.h b/core/math/math_funcs.h index 0a3b6ae9da..3389407e72 100644 --- a/core/math/math_funcs.h +++ b/core/math/math_funcs.h @@ -384,28 +384,10 @@ public: return u.d; } - //this function should be as fast as possible and rounding mode should not matter + // This function should be as fast as possible and rounding mode should not matter. static _ALWAYS_INLINE_ int fast_ftoi(float a) { - static int b; - -#if (defined(_WIN32_WINNT) && _WIN32_WINNT >= 0x0603) || WINAPI_FAMILY == WINAPI_FAMILY_PHONE_APP // windows 8 phone? - b = (int)((a > 0.0) ? (a + 0.5) : (a - 0.5)); - -#elif defined(_MSC_VER) && _MSC_VER < 1800 - __asm fld a __asm fistp b - /*#elif defined( __GNUC__ ) && ( defined( __i386__ ) || defined( __x86_64__ ) ) - // use AT&T inline assembly style, document that - // we use memory as output (=m) and input (m) - __asm__ __volatile__ ( - "flds %1 \n\t" - "fistpl %0 \n\t" - : "=m" (b) - : "m" (a));*/ - -#else - b = lrintf(a); //assuming everything but msvc 2012 or earlier has lrint -#endif - return b; + // Assuming every supported compiler has `lrint()`. + return lrintf(a); } static _ALWAYS_INLINE_ uint32_t halfbits_to_floatbits(uint16_t h) { |