From e44dd3c9e6658d5b246811837e92f8a221f76561 Mon Sep 17 00:00:00 2001 From: Simon Forman Date: Wed, 1 Feb 2023 15:25:21 -0800 Subject: [PATCH] I think I'm doing this right? --- implementations/C/joy | Bin 297520 -> 297792 bytes implementations/C/joy.c | 24 +++++++++++++++++++++--- 2 files changed, 21 insertions(+), 3 deletions(-) diff --git a/implementations/C/joy b/implementations/C/joy index 1747eeb3882ba151059a73201efeabf0a49937a4..9e567ec366808b8401d9aa844eb212869ba73c18 100755 GIT binary patch delta 55071 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 diff --git a/implementations/C/joy.c b/implementations/C/joy.c index 15206c8..76be4d1 100644 --- a/implementations/C/joy.c +++ b/implementations/C/joy.c @@ -10,21 +10,21 @@ enum JoyTypeType { joyList }; -typedef struct list_node* JoyList; struct JoyType { enum JoyTypeType kind; union { int boolean; mpz_t i; - JoyList el; + struct list_node* el; } value; } name ; + struct list_node { struct JoyType head; struct list_node* tail; -}; +} JoyList; void* @@ -32,11 +32,13 @@ reallocate_function (void *ptr, __attribute__((unused)) size_t old_size, size_t return GC_REALLOC(ptr, new_size); } + void deallocate_function (void *ptr, __attribute__((unused)) size_t size) { GC_FREE(ptr); } + void my_callback(GC_PTR void_obj, __attribute__((unused)) GC_PTR void_environment) { /*MY_ENVIRONMENT *env = (MY_ENVIRONMENT)void_environment;*/ @@ -45,10 +47,25 @@ my_callback(GC_PTR void_obj, __attribute__((unused)) GC_PTR void_environment) { } +struct list_node* +push_integer_from_str(char *str, struct list_node* tail) +{ + struct list_node* el; + el = GC_malloc(sizeof(struct list_node)); + el->head.kind = joyInt; + mpz_init_set_str((mpz_ptr)&(el->head.value), str, 10); + GC_register_finalizer((mpz_ptr)&(el->head.value), my_callback, NULL, NULL, NULL); + el->tail = tail; + return el; +} + + int main(void) { mpz_t pi; + struct list_node* el; + mp_set_memory_functions( &GC_malloc, &reallocate_function, @@ -62,6 +79,7 @@ main(void) mpz_mul(pi, pi, pi); gmp_printf("%Zd = %Zx\n", pi, pi); + el = push_integer_from_str("3141592653589793238462643383279502884", 0); /*sexpr i = new_int();*/ /*mpz_add(i.i, pi, pi);*/