|
|
@@ -45,6 +45,21 @@ |
|
|
|
# define FP_USE(x) (void)(x) |
|
|
|
#endif |
|
|
|
|
|
|
|
/* Ensure isnan() is present even on systems that don't define it, or |
|
|
|
* when -ffast-math is being used. */ |
|
|
|
#if defined __FAST_MATH__ |
|
|
|
# undef isnan |
|
|
|
#endif |
|
|
|
#if !defined isnan |
|
|
|
# define isnan isnan |
|
|
|
# include <stdint.h> |
|
|
|
static inline int isnan(float f) |
|
|
|
{ |
|
|
|
union { float f; uint32_t x; } u = { f }; |
|
|
|
return (u.x << 1) > 0xff000000u; |
|
|
|
} |
|
|
|
#endif |
|
|
|
|
|
|
|
// Base types |
|
|
|
#include "trig.h" |
|
|
|
#include "half.h" |
|
|
|