Do not redefine math functions for floats if compiler complies with C99 or POSIX.1-2001

This is useful for gcc which does not define sqrtf/powf/... functions with preprocessor and therefore always used sqrt/pow/...
Float functions are generally 20-50% faster than their equivalents for double type.
This commit is contained in:
Sv. Lockal
2013-01-24 20:54:12 +00:00
parent ca7b277c12
commit 7539009d5b

View File

@@ -80,6 +80,9 @@
#define MAXFLOAT ((float)3.40282347e+38)
#endif
/* do not redefine functions from C99 or POSIX.1-2001 */
#if !(defined(_ISOC99_SOURCE) || _POSIX_C_SOURCE >= 200112L)
#ifndef sqrtf
#define sqrtf(a) ((float)sqrt(a))
#endif
@@ -129,6 +132,8 @@
#define hypotf(a, b) ((float)hypot(a, b))
#endif
#endif
#ifdef WIN32
# ifndef FREE_WINDOWS
# define isnan(n) _isnan(n)