diff --git a/liba/include/math.h b/liba/include/math.h index a06b45113..74c48538e 100644 --- a/liba/include/math.h +++ b/liba/include/math.h @@ -5,8 +5,16 @@ LIBA_BEGIN_DECLS +/* The C99 standard requires isinf and isnan to be defined as macros that can + * handle arbitrary precision float numbers. The names of the functions called + * by those macros (depending on the argument size) are not standardized though. + * We're chosing isinff/isnanf for single-precision functions (which is the only + * case we're actually handling). */ + int isinff(float x); +#define isinf(x) isinff(x) int isnanf(float x); +#define isnan(x) isnanf(x) float copysignf(float x, float y); float cosf(float x);