From ab4eaabe940c1593ac060d91c652fcdb587786c0 Mon Sep 17 00:00:00 2001 From: Preston Pan Date: Mon, 22 Jan 2024 13:38:32 -0800 Subject: fix curry --- src/stem.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'src/stem.c') diff --git a/src/stem.c b/src/stem.c index 57905cb..5c2e379 100644 --- a/src/stem.c +++ b/src/stem.c @@ -39,6 +39,18 @@ void array_append(array_t *a, value_t *v) { a->size++; } +void array_curry(array_t *a, value_t *v) { + if (a->size >= a->capacity - 3) { + a->capacity = a->capacity * 2; + a->items = realloc(a->items, a->capacity * sizeof(value_t *)); + } + for (int i = a->size - 1; i >= 0; i--) { + a->items[i + 1] = a->items[i]; + } + a->items[0] = v; + a->size++; +} + value_t *array_pop(array_t *a) { if (a->size > 0) { value_t *v = a->items[a->size - 1]; -- cgit