diff options
author | Sv. Lockal <lockalsash@gmail.com> | 2014-09-30 13:27:56 +0400 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2014-10-03 17:09:28 +0400 |
commit | 7ad9b13b54d18026a9d0aa09bfb31ed70e5e934d (patch) | |
tree | 7eafba43a55eed5b091b54729ea21708dff49fc6 | |
parent | 89c834143e0fabf21957dc0201761b0331c60d07 (diff) |
Use native float math functions for MSVC12
`double` surrogates are slow (e.g. pow is 2x slower than powf), and MSVC12
supports fp-math functions from C99.
-rw-r--r-- | source/blender/blenlib/BLI_math_base.h | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/source/blender/blenlib/BLI_math_base.h b/source/blender/blenlib/BLI_math_base.h index 5f94f04e0a8..494bc4083ba 100644 --- a/source/blender/blenlib/BLI_math_base.h +++ b/source/blender/blenlib/BLI_math_base.h @@ -83,8 +83,8 @@ static const int NAN_INT = 0x7FC00000; # define NAN_FLT (*((float *)(&NAN_INT))) #endif -/* do not redefine functions from C99 or POSIX.1-2001 */ -#if !(defined(_ISOC99_SOURCE) || (defined(_POSIX_C_SOURCE) && _POSIX_C_SOURCE >= 200112L)) +/* do not redefine functions from C99, POSIX.1-2001 or MSVC12 (partial C99) */ +#if !(defined(_ISOC99_SOURCE) || (defined(_POSIX_C_SOURCE) && _POSIX_C_SOURCE >= 200112L) || (defined(_MSC_VER) && _MSC_VER >= 1800)) #ifndef sqrtf #define sqrtf(a) ((float)sqrt(a)) @@ -138,7 +138,7 @@ static const int NAN_INT = 0x7FC00000; #define copysignf(a, b) ((float)copysign(a, b)) #endif -#endif /* C99 or POSIX.1-2001 */ +#endif /* C99, POSIX.1-2001 or MSVC12 (partial C99) */ #ifdef WIN32 # if defined(_MSC_VER) |