diff options
| author | Jonathan Bradley <jcb@pikum.xyz> | 2024-10-11 18:41:47 -0400 |
|---|---|---|
| committer | Jonathan Bradley <jcb@pikum.xyz> | 2024-10-11 18:41:47 -0400 |
| commit | 887a9f559e71d8a788fbfe210f126eda5ba7969b (patch) | |
| tree | 23a282241115abad7f62f0c7b4f0973cab0c4952 /test/pkmem-types.cpp | |
initial commit: macros, memory, tests
Diffstat (limited to 'test/pkmem-types.cpp')
| -rw-r--r-- | test/pkmem-types.cpp | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/test/pkmem-types.cpp b/test/pkmem-types.cpp new file mode 100644 index 0000000..b8e19ef --- /dev/null +++ b/test/pkmem-types.cpp @@ -0,0 +1,65 @@ + +#include "../pkmem-types.h" +#include "../pkmacros.h" + +#include <cstdio> + +int main(int argc, char *argv[]) +{ + (void)argc; + (void)argv; + (void)stdout; + + // pk_handle operator== + { + struct pk_handle h, bh; + bool res; + + constexpr struct pk_handle ch1 { .bucketIndex = 0xAAAAAAAA, .itemIndex = 0x55555555 }; + constexpr struct pk_handle cbh1 { .bucketIndex = 0xAAAAAAAA, .itemIndex = 0x55555555 }; + constexpr bool ret1 = (ch1 == cbh1); + PK_LOGV_INF("pk_handle constexpr operator== 000: %b\n", ret1); + + constexpr struct pk_handle ch2 { .bucketIndex = 0x00000000, .itemIndex = 0x00000000 }; + constexpr struct pk_handle cbh2 { .bucketIndex = 0xFFFFFFFF, .itemIndex = 0xFFFFFFFF }; + constexpr bool ret2 = (ch2 == cbh2); + PK_LOGV_INF("pk_handle constexpr operator== 001: %b\n", ret2); + + h.bucketIndex = 0xCAFE; + h.itemIndex = 0xBABE; + bh.bucketIndex = 0xCAFE; + bh.itemIndex = 0xBABE; + res = h == bh; + PK_LOGV_INF("pk_handle operator== 000: %b\n", res); + + h.bucketIndex = 0x00000000; + h.itemIndex = 0x00000000; + bh.bucketIndex = 0xFFFFFFFF; + bh.itemIndex = 0xFFFFFFFF; + res = h == bh; + PK_LOGV_INF("pk_handle operator== 001: %b\n", res); + } + + // pk_handle_validate_constexpr + { + constexpr struct pk_handle cbh { .bucketIndex = 2, .itemIndex = 2 }; + + constexpr struct pk_handle ch1 { .bucketIndex = 0, .itemIndex = 0 }; + constexpr enum PK_HANDLE_VALIDATION ret1 = pk_handle_validate_constexpr<ch1, cbh, 1024ULL>(); + PK_LOGV_INF("pk_handle_validate_constexpr: 000: %i\n", ret1); + + constexpr struct pk_handle ch2 { .bucketIndex = 3, .itemIndex = 0 }; + constexpr enum PK_HANDLE_VALIDATION ret2 = pk_handle_validate_constexpr<ch2, cbh, 1024ULL>(); + PK_LOGV_INF("pk_handle_validate_constexpr: 000: %i\n", ret2); + + constexpr struct pk_handle ch3 { .bucketIndex = 2, .itemIndex = 3 }; + constexpr enum PK_HANDLE_VALIDATION ret3 = pk_handle_validate_constexpr<ch3, cbh, 1024ULL>(); + PK_LOGV_INF("pk_handle_validate_constexpr: 000: %i\n", ret3); + + constexpr struct pk_handle ch4 = pk_handle_MAX_constexpr; + constexpr enum PK_HANDLE_VALIDATION ret4 = pk_handle_validate_constexpr<ch4, cbh, 1024ULL>(); + PK_LOGV_INF("pk_handle_validate_constexpr: 000: %i\n", ret4); + } + + return 0; +} |
