summaryrefslogtreecommitdiff
path: root/tests/std/arr.toc
diff options
context:
space:
mode:
Diffstat (limited to 'tests/std/arr.toc')
-rw-r--r--tests/std/arr.toc29
1 files changed, 0 insertions, 29 deletions
diff --git a/tests/std/arr.toc b/tests/std/arr.toc
deleted file mode 100644
index a2d202b..0000000
--- a/tests/std/arr.toc
+++ /dev/null
@@ -1,29 +0,0 @@
-// this could be made quite a bit faster with realloc
-
-Arr ::= struct (t :: Type) {
- data : []t;
- cap : int;
-};
-
-resv ::= fn(t ::=, a : &Arr(t), n: int) {
- if a.cap >= n {
- return;
- }
- a.cap = n;
- new_data := new(t, a.cap);
- new_data.len = a.data.len;
- for x, i := &new_data {
- *x = a.data[i];
- }
- a.data = new_data;
-};
-
-add ::= fn(t ::=, a : &Arr(t), x : t) {
- if a.data.len >= a.cap {
- resv(a, a.cap * 2 + 2);
- }
- a.data.len += 1;
- a.data[a.data.len-1] = x;
-};
-
-len ::= fn(t ::=, a : Arr(t)) int { a.data.len };