aboutsummaryrefslogtreecommitdiff
path: root/libk/types/test.cc
blob: b3f29d9efb3245e269e2cdd4b175ad460e53d7cd (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
45
46
47
48
49
50
51
#include <stdint.h>

namespace libk {
#include "types.h"
}

// types
static_assert(sizeof(libk::size_t) >= 2);

static_assert(sizeof(libk::uint8_t) == 1);
static_assert(libk::uint8_t_max == UINT8_MAX);

static_assert(sizeof(libk::uint16_t) == 2);
static_assert(libk::uint16_t_max == UINT16_MAX);

static_assert(sizeof(libk::uint32_t) == 4);
static_assert(libk::uint32_t_max == UINT32_MAX);

static_assert(sizeof(libk::uint64_t) == 8);
static_assert(libk::uint64_t_max == UINT64_MAX);

static_assert(sizeof(libk::int8_t) == 1);
static_assert(libk::int8_t_min == INT8_MIN);
static_assert(libk::int8_t_max == INT8_MAX);

static_assert(sizeof(libk::int16_t) == 2);
static_assert(libk::int16_t_min == INT16_MIN);
static_assert(libk::int16_t_max == INT16_MAX);

static_assert(sizeof(libk::int32_t) == 4);
static_assert(libk::int32_t_min == INT32_MIN);
static_assert(libk::int32_t_max == INT32_MAX);

static_assert(sizeof(libk::int64_t) == 8);
static_assert(libk::int64_t_min == INT64_MIN);
static_assert(libk::int64_t_max == INT64_MAX);

// is_same
static_assert(libk::is_same<int, int>() == true);
static_assert(libk::is_same<int, unsigned int>() == false);

// is_unsigned
static_assert(libk::is_unsigned<uint8_t>() == true);
static_assert(libk::is_unsigned<uint16_t>() == true);
static_assert(libk::is_unsigned<uint32_t>() == true);
static_assert(libk::is_unsigned<uint64_t>() == true);

static_assert(libk::is_unsigned<int8_t>() == false);
static_assert(libk::is_unsigned<int16_t>() == false);
static_assert(libk::is_unsigned<int32_t>() == false);
static_assert(libk::is_unsigned<int64_t>() == false);