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.
This commit is contained in:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user