summaryrefslogtreecommitdiffstats
path: root/omni/int.h
blob: ce27730d57085f1a22c33d8bd9dea6b269b4b198 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
#ifndef OMNI_INT_H
#define OMNI_INT_H

#include <stdint.h>

typedef uint8_t u8;
typedef uint16_t u16;
typedef uint32_t u32;
typedef uint64_t u64;

typedef int8_t i8;
typedef int16_t i16;
typedef int32_t i32;
typedef int64_t i64;

typedef float f32;
typedef double f64;

#define U8_MAX UINT8_MAX
#define U16_MAX UINT16_MAX
#define U32_MAX UINT32_MAX
#define U64_MAX UINT64_MAX

#define I8_MIN INT8_MIN
#define I16_MIN INT16_MIN
#define I32_MIN INT32_MIN
#define I64_MIN INT64_MIN

#define I8_MAX INT8_MAX
#define I16_MAX INT16_MAX
#define I32_MAX INT32_MAX
#define I64_MAX INT64_MAX

#if UINTPTR_MAX == UINT64_MAX
typedef u64 usize;
typedef i64 isize;

#define USIZE_MAX UINT64_MAX

#define ISIZE_MIN INT64_MIN
#define ISIZE_MAX INT64_MAX

#elif UINTPTR_MAX == UINT32_MAX
typedef u32 usize;
typedef i32 isize;

#define USIZE_MAX UINT32_MAX

#define ISIZE_MIN INT32_MIN
#define ISIZE_MAX INT32_MAX

#else
#error "target is not supported"
#endif

#endif