From d74ed7fb65bf7ac245d2548ac13f3f3fdabadd16 Mon Sep 17 00:00:00 2001 From: lemon Date: Mon, 22 Aug 2022 17:47:02 +0200 Subject: llvm hello worlding --- src/set.hff | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'src/set.hff') diff --git a/src/set.hff b/src/set.hff index 431ef93..6a03e52 100644 --- a/src/set.hff +++ b/src/set.hff @@ -11,7 +11,6 @@ struct Set { N int, count int, - fn _nexthash(h *u32) u32 { // return *h = (*h * 1664525) + 1013904223u; // double hashing return ++*h; // linear probing @@ -76,3 +75,14 @@ struct Set { self->intern(x); } } + +defmacro set_each(v, Set, &body) [ + let $s = (Set); + for let $i = 0; $i < $s.N; ++$i { + let $idx = $s.set[$i]; + if $idx > 0 { + let v = $s.buf.dat[$idx - 1]; + body; + } + } +] -- cgit v1.2.3