Iros
 
Loading...
Searching...
No Matches
integers.h
Go to the documentation of this file.
1#pragma once
2
4#include "di/types/size_t.h"
5#include "di/types/ssize_t.h"
7
8namespace di::types {
9using u8 = __UINT8_TYPE__;
10using u16 = __UINT16_TYPE__;
11using u32 = __UINT32_TYPE__;
12using u64 = __UINT64_TYPE__;
13
14using i8 = __INT8_TYPE__;
15using i16 = __INT16_TYPE__;
16using i32 = __INT32_TYPE__;
17using i64 = __INT64_TYPE__;
18
19#ifdef __x86_64__
20#define DI_HAVE_128_BIT_INTEGERS
21using u128 = __uint128_t;
22using i128 = __int128_t;
23#endif
24
25#ifdef DI_HAVE_128_BIT_INTEGERS
26using intmax_t = i128;
27using uintmax_t = u128;
28#else
29using intmax_t = i64;
30using uintmax_t = u64;
31#endif
32
33using usize = size_t;
34using isize = ssize_t;
35
38
40using imax = intmax_t;
41}
42
43namespace di {
44#ifdef DI_HAVE_128_BIT_INTEGERS
45using types::i128;
46using types::u128;
47#endif
48
49using types::i16;
50using types::i32;
51using types::i64;
52using types::i8;
53using types::u16;
54using types::u32;
55using types::u64;
56using types::u8;
57
58using types::imax;
59using types::iptr;
60using types::isize;
61using types::umax;
62using types::uptr;
63using types::usize;
64}
65
66#if !defined(DI_NO_GLOBALS) && !defined(DI_NO_GLOBAL_TYPES)
67using di::i16;
68using di::i32;
69using di::i64;
70using di::i8;
71using di::imax;
72using di::iptr;
73using di::isize;
74using di::u16;
75using di::u32;
76using di::u64;
77using di::u8;
78using di::umax;
79using di::uptr;
80using di::usize;
81
82#ifdef DI_HAVE_128_BIT_INTEGERS
83using di::i128;
84using di::u128;
85#endif
86#endif
Definition method.h:5
__UINTPTR_TYPE__ uintptr_t
Definition uintptr_t.h:4
ssize_t isize
Definition integers.h:34
__INT16_TYPE__ i16
Definition integers.h:15
size_t usize
Definition integers.h:33
uintptr_t uptr
Definition integers.h:36
__UINT64_TYPE__ u64
Definition integers.h:12
__INT8_TYPE__ i8
Definition integers.h:14
ptrdiff_t ssize_t
Definition ssize_t.h:6
uintmax_t umax
Definition integers.h:39
i64 intmax_t
Definition integers.h:29
u64 uintmax_t
Definition integers.h:30
intmax_t imax
Definition integers.h:40
__UINT8_TYPE__ u8
Definition integers.h:9
std::size_t size_t
Definition size_t.h:12
__INT32_TYPE__ i32
Definition integers.h:16
__UINT32_TYPE__ u32
Definition integers.h:11
ptrdiff_t iptr
Definition integers.h:37
std::ptrdiff_t ptrdiff_t
Definition ptrdiff_t.h:12
__INT64_TYPE__ i64
Definition integers.h:17
__UINT16_TYPE__ u16
Definition integers.h:10
Definition zstring_parser.h:9