diff options
author | Aryadev Chavali <aryadev@aryadevchavali.com> | 2025-08-20 23:37:54 +0100 |
---|---|---|
committer | Aryadev Chavali <aryadev@aryadevchavali.com> | 2025-08-20 23:39:01 +0100 |
commit | d2bb8581445b0835c7ec751d72b6738262fc98cf (patch) | |
tree | 5a1465c8786b11d5fa34f6313f013d06c6991430 /main.c | |
parent | 847eb1a69b54da3a5d686922f0a2fcd8ab37f1e6 (diff) | |
download | alisp-d2bb8581445b0835c7ec751d72b6738262fc98cf.tar.gz alisp-d2bb8581445b0835c7ec751d72b6738262fc98cf.tar.bz2 alisp-d2bb8581445b0835c7ec751d72b6738262fc98cf.zip |
Made a little test case for vectors
Diffstat (limited to 'main.c')
-rw-r--r-- | main.c | 47 |
1 files changed, 44 insertions, 3 deletions
@@ -27,8 +27,49 @@ sv_t sv_copy(sv_t old) int main(void) { - sys_t sys; - sys_init(&sys); - sys_cleanup(&sys); + const char *words[] = { + "aliquam", "erat", "volutpat", "nunc", "eleifend", + "leo", "vitae", "magna", "in", "id", + "erat", "non", "orci", "commodo", "lobortis", + "proin", "neque", "massa", "cursus", "ut", + "gravida", "ut", "lobortis", "eget", "lacus", + "sed", "diam", "praesent", "fermentum", "tempor", + "tellus", "nullam", "tempus", "mauris", "ac", + "felis", "vel", "velit", "tristique", "imperdiet", + "donec", "at", "pede", "etiam", "vel", + "neque", "nec", "dui", "dignissim", "bibendum", + "vivamus", "id", "enim", "phasellus", "neque", + "orci", "porta", "a", "aliquet", "quis", + "semper", "a", "massa", "phasellus", "purus", + "pellentesque", "tristique", "imperdiet", "tortor", "nam", + "euismod", "tellus", "id", "erat", + }; + + vec_t vec = {0}; + vec_init(&vec, 0); + + for (u64 i = 0; i < ARRSIZE(words); ++i) + { + vec_append(&vec, words[i], strlen(words[i])); + vec_append(&vec, "\n", 1); + printf("%lu/%lu, inlined?: %s\n", vec.size, vec.capacity, + vec.is_inlined ? "yes" : "no"); + } + + printf("%lu/%lu: %.*s\n", vec.size, vec.capacity, (int)vec.size, + vec_data(&vec)); + + vec_free(&vec); + + // sym_table_t table = {0}; + // sym_table_init(&table); + // // Let's hash the words of lorem ipsum + // for (u64 i = 0; i < ARRSIZE(words); ++i) + // { + // char *ptr = sym_table_find(&table, SV(words[i], strlen(words[i]))); + // printf("%s => %p\n", words[i], ptr); + // } + + // sym_table_cleanup(&table); return 0; } |