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:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user