aboutsummaryrefslogtreecommitdiff
path: root/examples/vec.ct
diff options
context:
space:
mode:
authorKimplul <kimi.h.kuparinen@gmail.com>2024-08-14 20:44:26 +0300
committerKimplul <kimi.h.kuparinen@gmail.com>2024-08-14 20:44:26 +0300
commit2023a7b2d9656f80b00de81453348c0a66f200f7 (patch)
tree06e4ea293318955cc4cf620428d04f1708c17364 /examples/vec.ct
parent1a56a881bc2c37614cfd074e7b986211c6d04809 (diff)
downloadek-2023a7b2d9656f80b00de81453348c0a66f200f7.tar.gz
ek-2023a7b2d9656f80b00de81453348c0a66f200f7.zip
test cleanup
+ Somewhat poor Git hygiene but I also fixed some bugs while I was at it.
Diffstat (limited to 'examples/vec.ct')
-rw-r--r--examples/vec.ct62
1 files changed, 0 insertions, 62 deletions
diff --git a/examples/vec.ct b/examples/vec.ct
deleted file mode 100644
index dee50ca..0000000
--- a/examples/vec.ct
+++ /dev/null
@@ -1,62 +0,0 @@
-type vectorable {
- std;
- /* this would be needed for comparisons like find() or something */
- comparable;
-}
-
-type vec {t: vectorable} {
- std_vector: void;
- len: usize;
- buf: 't;
-}
-
-pub define vec(t) { struct (vec{t}) }
-
-pub init(v: 'vector)
-{
- v.len = 0;
- v.buf = null;
-}
-
-pub length(v: *vec => usize) { return v.len; }
-
-pub index(v: *vec, i: usize => '#v.buf)
-{
- assert(i < v.len, "index %zu out of bounds\n", i);
- return &v.buf[i];
-}
-
-pub index(v: mut *vec, i: const isize => '#v.buf)
-{
- if i < 0 {
- assert(-i < v.len, "reverse index %zi out of bounds\n", i);
- return &v.buf[v.len + i];
- }
-
- assert(i < v.len, "index %zi out of bounds\n", i);
- return &v.buf[i];
-}
-
-pub prepend(v: mut 'vec, e: '#v.buf) { insert(v, e, 0); }
-pub append(v: mut 'vec, e: '#v.buf) { insert(v, e, v.len); }
-
-pub preplace(v: mut 'vec, e: '#v.buf) { place(v, e, 0); }
-pub applace(v: mut 'vec, e: '#v.buf) { place(v, e, v.len - 1); }
-
-pub place(v: mut *vec, e: '#v.buf, i: usize)
-{
-}
-
-pub insert(v: mut *vec, e^ '#v.buf, i: usize)
-{
-}
-
-pub deinit(mut v *vec)
-{
- for i usize : v {
- deinit(v[i]);
- v[i] = null;
- }
-
- dealloc(v.buf);
-}