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