Files
newspark110/main/emu_c99.h
Chenwenxuan edac2715f0 init
2024-03-06 14:54:30 +08:00

37 lines
915 B
C

/*
* Workaround: Emulate some C99 <math.h> functions.
*/
#ifdef EMU_C99
#include <cassert>
long int lrint(double x);
double round(double x);
double remainder(double x, double y);
#define isfinite(x) \
((sizeof (x) == sizeof (float)) ? _finite((double)(x)) : \
(sizeof (x) == sizeof (double)) ? _finite(x) : \
(assert(0),-1))
#define isinf(x) \
((sizeof (x) == sizeof (float)) ? __isinfd((double)(x)) : \
(sizeof (x) == sizeof (double)) ? __isinfd(x) : \
(assert(0),-1))
#define isnan(x) \
((sizeof (x) == sizeof (float)) ? __isnand((double)(x)) : \
(sizeof (x) == sizeof (double)) ? __isnand(x) : \
(assert(0),-1))
#define isnormal(x) \
((sizeof (x) == sizeof (float)) ? __isnormald((double)(x)) : \
(sizeof (x) == sizeof (double)) ? __isnormald(x) : \
(assert(0),-1))
int __isinfd(double);
int __isnand(double);
int __isnormald(double);
#endif