From 9d1960f4cd0e1a78abfecce4d5bfa4d850955852 Mon Sep 17 00:00:00 2001 From: Leo Tenenbaum Date: Mon, 21 Oct 2019 11:09:07 -0400 Subject: compile time recursion --- out.c | 30 ++++++++++-------------------- 1 file changed, 10 insertions(+), 20 deletions(-) (limited to 'out.c') diff --git a/out.c b/out.c index 249b3e0..ba1a23a 100644 --- a/out.c +++ b/out.c @@ -18,7 +18,7 @@ typedef struct { void *data; u64 n; } slice_; /* declarations */ void puti(i64 x); -i64 foo(i64 x); +i64 factorial(i64 x); void main__(void); /* code */ int main() { @@ -34,31 +34,21 @@ void puti(i64 x) { } -i64 foo(i64 x) { +i64 factorial(i64 x) { - slice_ C; { - slice_ expr__; slice_ a0_; a0_.data = calloc(x, sizeof(i64)); a0_.n = x;expr__ = a0_;C = expr__;} - i64 i; { - i64 expr__; expr__ = 0;i = expr__;} - while ((i