2021-10-11 18:20:23 -03:00

20 lines
451 B
C

/* @(#)nan.h 1.1 92/07/30 SMI; from S5R2 1.3 */
/* Handling of Not_a_Number's (only in IEEE floating-point standard) */
#ifndef _nan_h
#define _nan_h
#include <signal.h>
#define KILLFPE() (void) kill(getpid(), SIGFPE)
#if u3b || u3b5 || sun
#define NaN(X) (((union { double d; struct { unsigned :1, e:11; } s; } \
*)&X)->s.e == 0x7ff)
#define KILLNaN(X) if (NaN(X)) KILLFPE()
#else
#define Nan(X) 0
#define KILLNaN(X)
#endif
#endif /*!_nan_h*/