diff --git a/a.out b/a.out new file mode 100755 index 0000000..8d8a0f5 Binary files /dev/null and b/a.out differ diff --git a/libkeke_array.c b/libkeke_array.c index 7f814fe..30fda9b 100644 --- a/libkeke_array.c +++ b/libkeke_array.c @@ -9,6 +9,13 @@ #include "libkeke_utils.h" #include "libkeke_array.h" +typedef struct { + size_t type_size; + size_t len; + size_t max_len; + void *content; +} KekeArray; + #define ARRAY_GET(array, i) ((array)->content + (array)->type_size * (i)) KekeArray *keke_array_alloc(size_t initial_len, size_t type_size) { diff --git a/test_array.c b/test_array.c index 5ff0f89..dd3da74 100644 --- a/test_array.c +++ b/test_array.c @@ -7,19 +7,19 @@ #define ARRAY_LEN 10 -void set(void *, size_t index, struct KekeArray *array) { +void set(void *, size_t index, KekeArray *array) { keke_array_set(array, ARRAY_LEN - index - 1, &index); } -void output(void *i, size_t, struct KekeArray *) { +void output(void *i, size_t, KekeArray *) { printf("%d, ", *(int *)i); } -void sub4(void *i, size_t, struct KekeArray *) { +void sub4(void *i, size_t, KekeArray *) { *(int *)i -= 4; } -bool heart(void *i, size_t, struct KekeArray *) { +bool heart(void *i, size_t, KekeArray *) { return *(int *)i < 3; } @@ -30,7 +30,7 @@ void add(void *vx, void *vacc) { } int main(void) { - struct KekeArray *array = keke_array_alloc(ARRAY_LEN, sizeof(int)); + KekeArray *array = keke_array_alloc(ARRAY_LEN, sizeof(int)); puts("Expected value:\n0"); printf("%d", *(int *)keke_array_get(array, 0)); //initialized to 0 @@ -41,7 +41,7 @@ int main(void) { keke_array_foreach(array, output); puts("\n"); - struct KekeArray *array2 = keke_array_yoink(array, 2, 4); + KekeArray *array2 = keke_array_yoink(array, 2, 4); puts("Expected value:\n7, 6, 5, 4,"); keke_array_foreach(array2, output); puts("\n"); @@ -67,7 +67,7 @@ int main(void) { keke_array_foreach(array2, output); puts("\n"); - struct KekeArray *array3 = keke_array_clone(array2); + KekeArray *array3 = keke_array_clone(array2); keke_array_plop(array2, 1, array3); //array3 is freed puts("Expected value:\n7, 7, 6, 5, 6, 5,"); keke_array_foreach(array2, output); @@ -115,7 +115,7 @@ int main(void) { puts("Expected value:\nTrue, False"); printf("%s, %s\n\n", BOOL_PRETTY(h), BOOL_PRETTY(g)); - struct KekeArray *array4 = keke_array_filter(array2, heart); + KekeArray *array4 = keke_array_filter(array2, heart); puts("Expected value:\n2, 2, 1, 2,"); keke_array_foreach(array4, output); puts("\n");