summaryrefslogtreecommitdiff
path: root/asl/base/integers.hpp
blob: 45805096ea929f372a217226fcf91d41059cac93 (plain)
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
// Copyright 2025 Steven Le Rouzic
//
// SPDX-License-Identifier: BSD-3-Clause

#pragma once

#include "asl/base/config.hpp"

using int8_t  = signed char;
using int16_t = signed short;
using int32_t = signed int;
#if ASL_OS_WINDOWS
    using int64_t = signed long long;
#elif ASL_OS_LINUX
    using int64_t = signed long;
#endif

using uint8_t  = unsigned char;
using uint16_t = unsigned short;
using uint32_t = unsigned int;
#if ASL_OS_WINDOWS
    using uint64_t = unsigned long long;
#elif ASL_OS_LINUX
    using uint64_t = unsigned long;
#endif

struct uint128_t
{
    uint64_t high;
    uint64_t low;
};

using size_t  = uint64_t;
using isize_t = int64_t;

using uintptr_t = size_t;

namespace asl
{

enum class byte : uint8_t {};

} // namespace asl