+#if !defined(HAVE_ISINF) && defined(HAVE_IEEEFP_H) +#include <ieeefp.h> +#define isinf(x) (!(finite(x) || isnand(x))) +#endif
The problem with macros is that something like isinf(*x++) won't do what you intend. That's why even for such a simple case a function would be better imho.