summaryrefslogtreecommitdiff
path: root/test/pkmacros.c
blob: 9702eee1bf11cef35d1b125508d0c1eebd8e9785 (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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70

#include "../pkmacros.h"

#include <stdint.h>
#include <stdio.h>
#include <string.h>

int main(int argc, char *argv[])
{
	(void)argc;
	(void)argv;
	(void)stdout;
	uint8_t  u8;
	uint16_t u16;
	uint32_t u32;
	uint64_t u64;
	// MISC
	{
		PK_LOGV_INF("PK_HAS_FLAG 000: %s\n", PK_HAS_FLAG(0xFF, 5) ? "true" : "false");
		PK_LOGV_INF("PK_HAS_FLAG 001: %s\n", PK_HAS_FLAG(0x0F, 5) ? "true" : "false");
		PK_LOGV_INF("PK_CLAMP 000: %i\n", PK_CLAMP(0, -10, 10));
		PK_LOGV_INF("PK_CLAMP 001: %i\n", PK_CLAMP(-20, -10, 10));
		PK_LOGV_INF("PK_CLAMP 002: %i\n", PK_CLAMP(20, -10, 10));
		PK_LOGV_INF("PK_MIN 000: %i\n", PK_MIN(0, 10));
		PK_LOGV_INF("PK_MIN 001: %i\n", PK_MIN(0, -10));
		PK_LOGV_INF("PK_MAX 000: %i\n", PK_MAX(0, -10));
		PK_LOGV_INF("PK_MAX 001: %i\n", PK_MAX(0, 10));
		PK_LOGV_INF("CAFEBABE 000: %p\n", CAFE_BABE(void));
		NULL_CHAR_ARR(c, 16);
		PK_LOGV_INF("NULL_CHAR_ARR 000: '%s' '%lu'\n", c, strlen(c));
	}

	// PK_TO_BIN printing
	{
		for (uint64_t i = 0; i < 64; ++i) {
			u64 = 1llu << i;
			PK_LOGV_INF(PK_TO_BIN_PAT_64"\n", PK_TO_BIN_64(u64));
		}
		u8  = 1;
		u16 = 1;
		u32 = 1;
		u64 = 1;
		PK_LOGV_INF(PK_TO_BIN_PAT_8 "\n", PK_TO_BIN_8(u8));
		PK_LOGV_INF(PK_TO_BIN_PAT_16"\n", PK_TO_BIN_16(u16));
		PK_LOGV_INF(PK_TO_BIN_PAT_32"\n", PK_TO_BIN_32(u32));
		PK_LOGV_INF(PK_TO_BIN_PAT_64"\n", PK_TO_BIN_64(u64));
		u8  = 0x55; // 01010101
		u16 = 0x5555;
		u32 = 0x55555555;
		u64 = 0x5555555555555555;
		PK_LOGV_INF(PK_TO_BIN_PAT_8 "\n", PK_TO_BIN_8(u8));
		PK_LOGV_INF(PK_TO_BIN_PAT_16"\n", PK_TO_BIN_16(u16));
		PK_LOGV_INF(PK_TO_BIN_PAT_32"\n", PK_TO_BIN_32(u32));
		PK_LOGV_INF(PK_TO_BIN_PAT_64"\n", PK_TO_BIN_64(u64));
		u8  = 0xAA; // 10101010
		u16 = 0xAAAA;
		u32 = 0xAAAAAAAA;
		u64 = 0xAAAAAAAAAAAAAAAA;
		PK_LOGV_INF(PK_TO_BIN_PAT_8 "\n", PK_TO_BIN_8(u8));
		PK_LOGV_INF(PK_TO_BIN_PAT_16"\n", PK_TO_BIN_16(u16));
		PK_LOGV_INF(PK_TO_BIN_PAT_32"\n", PK_TO_BIN_32(u32));
		PK_LOGV_INF(PK_TO_BIN_PAT_64"\n", PK_TO_BIN_64(u64));
		u64          = 0xFFFFFFFF00000000;
		PK_LOGV_INF(PK_TO_BIN_PAT_64"\n", PK_TO_BIN_64(u64));
		u64          = 0x00000000FFFFFFFF;
		PK_LOGV_INF(PK_TO_BIN_PAT_64"\n", PK_TO_BIN_64(u64));
	}

	return 0;
}