On UNIX System V, /usr/include/nan.h includes a definition of NaN(X) for testing whether X is a Not-a-Number, and KILLNaN(X) to generate a SIGFPE if X ditto. If you're going to invent macros, please follow this existing model rather than diverge.