#ifndef _CONFIG_AUX_H #define _CONFIG_AUX_H #if STDC_HEADERS # include #else # ifndef HAVE_STRCHR # define strchr index # define strrchr rindex # endif char *strchr (), *strrchr (); # ifndef HAVE_MEMMOVE # define memcpy(d, s, n) bcopy ((s), (d), (n)) # define memmove(d, s, n) bcopy ((s), (d), (n)) # endif #endif #if NO_NULL_REALLOC # define rrd_realloc(a,b) ( (a) == NULL ? malloc( (b) ) : realloc( (a) , (b) )) #else # define rrd_realloc(a,b) realloc((a), (b)) #endif #if HAVE_MATH_H # include #endif #if HAVE_FLOAT_H # include #endif #if HAVE_IEEEFP_H # include #endif #if HAVE_FP_CLASS_H # include #endif /* for Solaris */ #if (! defined(HAVE_ISINF) && defined(HAVE_FPCLASS)) # define HAVE_ISINF 1 # define isinf(a) (fpclass(a) == FP_NINF || fpclass(a) == FP_PINF) #endif /* for OSF1 Digital Unix */ #if (! defined(HAVE_ISINF) && defined(HAVE_FP_CLASS) && defined(HAVE_FP_CLASS_H)) # define HAVE_ISINF 1 # define isinf(a) (fp_class(a) == FP_NEG_INF || fp_class(a) == FP_POS_INF) #endif #if (! defined(HAVE_ISINF) && defined(HAVE_FPCLASSIFY) && defined(FP_PLUS_INF) && defined(FP_MINUS_INF)) # define HAVE_ISINF 1 # define isinf(a) (fpclassify(a) == FP_MINUS_INF || fpclassify(a) == FP_PLUS_INF) #endif #if (! defined(HAVE_ISINF) && defined(HAVE_FPCLASSIFY) && defined(FP_INFINITE)) # define HAVE_ISINF 1 # define isinf(a) (fpclassify(a) == FP_INFINITE) #endif /* for AIX */ #if (! defined(HAVE_ISINF) && defined(HAVE_CLASS)) # define HAVE_ISINF 1 # define isinf(a) (class(a) == FP_MINUS_INF || class(a) == FP_PLUS_INF) #endif #if (! defined (HAVE_FINITE) && defined (HAVE_ISFINITE)) # define HAVE_FINITE 1 # define finite(a) isfinite(a) #endif #if (! defined(HAVE_FINITE) && defined(HAVE_ISNAN) && defined(HAVE_ISINF)) # define HAVE_FINITE 1 # define finite(a) (! isnan(a) && ! isinf(a)) #endif #ifndef HAVE_FINITE #error "Can't compile without finite function" #endif #ifndef HAVE_ISINF #error "Can't compile without isinf function" #endif #endif /* CONFIG_AUX_H */