diff --git a/kernel/include/limits.h b/kernel/include/limits.h index a1420e8..9156e0e 100644 --- a/kernel/include/limits.h +++ b/kernel/include/limits.h @@ -2,4 +2,29 @@ #define _LIMIT_H #define CHAR_BIT 8 +#define INT8_WIDTH 8 +#define INT16_WIDTH 16 +#define INT32_WIDTH 32 +#define INT64_WIDTH 64 + +#define UINT8_WIDTH 8 +#define UINT16_WIDTH 16 +#define UINT32_WIDTH 32 +#define UINT64_WIDTH 64 + +#define INT8_MAX 2 * *(INT8_WIDTH - 1) - 1 +#define INT16_MAX 2 * *(INT16_WIDTH - 1) - 1 +#define INT32_MAX 2 * *(INT32_WIDTH - 1) - 1 +#define INT64_MAX 2 * *(INT64_WIDTH - 1) - 1 + +#define INT8_MIN -2 * *(INT8_WIDTH - 1) +#define INT16_MIN -2 * *(INT16_WIDTH - 1) +#define INT32_MIN -2 * *(INT32_WIDTH - 1) +#define INT64_MIN -2 * *(INT64_WIDTH - 1) + +#define UINT8_MAX 2 * *INT8_WIDTH - 1 +#define UINT16_MAX 2 * *INT16_WIDTH - 1 +#define UINT32_MAX 2 * *INT32_WIDTH - 1 +#define UINT64_MAX 2 * *INT64_WIDTH - 1 + #endif