add legacy header values.h
authorrofl0r <retnyg@gmx.net>
Fri, 4 Jan 2013 12:05:42 +0000 (13:05 +0100)
committerrofl0r <retnyg@gmx.net>
Fri, 4 Jan 2013 19:36:34 +0000 (20:36 +0100)
some programs (procps, babl) expect it, and it doesn't seem to
cause any harm to just add it.
it's small and straightforward.

since math.h also defines MAXFLOAT, we undef it in both places,
before defining it.

include/math.h
include/values.h [new file with mode: 0644]

index 1910879507a4ff0e4066fd636bc05fb793a28275..c4da4116c595f757d9264b591b9f5adf0b38c57c 100644 (file)
@@ -346,6 +346,7 @@ long double truncl(long double);
 
 
 #if defined(_XOPEN_SOURCE) || defined(_BSD_SOURCE)
+#undef  MAXFLOAT
 #define MAXFLOAT        3.40282347e+38F
 #endif
 
diff --git a/include/values.h b/include/values.h
new file mode 100644 (file)
index 0000000..fe4949f
--- /dev/null
@@ -0,0 +1,39 @@
+#ifndef _VALUES_H
+#define _VALUES_H
+
+#include <limits.h>
+
+#define CHARBITS   (sizeof(char)   * 8)
+#define SHORTBITS  (sizeof(short)  * 8)
+#define INTBITS    (sizeof(int)    * 8)
+#define LONGBITS   (sizeof(long)   * 8)
+#define PTRBITS    (sizeof(char *) * 8)
+#define DOUBLEBITS (sizeof(double) * 8)
+#define FLOATBITS  (sizeof(float)  * 8)
+
+#define MINSHORT SHRT_MIN
+#define MININT   INT_MIN
+#define MINLONG  LONG_MIN
+
+#define MAXSHORT SHRT_MAX
+#define MAXINT   INT_MAX
+#define MAXLONG  LONG_MAX
+
+#define HIBITS   MINSHORT
+#define HIBITL   MINLONG
+
+#include <float.h>
+
+#define MAXDOUBLE DBL_MAX
+#undef  MAXFLOAT
+#define MAXFLOAT  FLT_MAX
+#define MINDOUBLE DBL_MIN
+#define MINFLOAT  FLT_MIN
+#define DMINEXP   DBL_MIN_EXP
+#define FMINEXP   FLT_MIN_EXP
+#define DMAXEXP   DBL_MAX_EXP
+#define FMAXEXP   FLT_MAX_EXP
+
+#define BITSPERBYTE CHAR_BIT
+
+#endif