fix some obscure header type size/alignment issues
[musl] / include / values.h
1 #ifndef _VALUES_H
2 #define _VALUES_H
3
4 #include <limits.h>
5
6 #define CHARBITS   (sizeof(char)   * 8)
7 #define SHORTBITS  (sizeof(short)  * 8)
8 #define INTBITS    (sizeof(int)    * 8)
9 #define LONGBITS   (sizeof(long)   * 8)
10 #define PTRBITS    (sizeof(char *) * 8)
11 #define DOUBLEBITS (sizeof(double) * 8)
12 #define FLOATBITS  (sizeof(float)  * 8)
13
14 #define MINSHORT SHRT_MIN
15 #define MININT   INT_MIN
16 #define MINLONG  LONG_MIN
17
18 #define MAXSHORT SHRT_MAX
19 #define MAXINT   INT_MAX
20 #define MAXLONG  LONG_MAX
21
22 #define HIBITS   MINSHORT
23 #define HIBITL   MINLONG
24
25 #include <float.h>
26
27 #define MAXDOUBLE DBL_MAX
28 #undef  MAXFLOAT
29 #define MAXFLOAT  FLT_MAX
30 #define MINDOUBLE DBL_MIN
31 #define MINFLOAT  FLT_MIN
32 #define DMINEXP   DBL_MIN_EXP
33 #define FMINEXP   FLT_MIN_EXP
34 #define DMAXEXP   DBL_MAX_EXP
35 #define FMAXEXP   FLT_MAX_EXP
36
37 #define BITSPERBYTE CHAR_BIT
38
39 #endif