diff options
author | Ori Bernstein <ori@eigenstate.org> | 2015-08-26 12:20:58 -0700 |
---|---|---|
committer | Ori Bernstein <ori@eigenstate.org> | 2015-08-26 12:20:58 -0700 |
commit | 2bc852bda98762d3bc01548bf972e3f1b137fbfb (patch) | |
tree | 74831deed3c9057c5fe0cbb8790d220e855bc792 /lib/std/slput.myr | |
parent | 3de952510eb2a23350d24ed926f19c0cf72a12f2 (diff) | |
download | mc-2bc852bda98762d3bc01548bf972e3f1b137fbfb.tar.gz |
Move Myrddin libs to lib/ subdirectory.
Diffstat (limited to 'lib/std/slput.myr')
-rw-r--r-- | lib/std/slput.myr | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/lib/std/slput.myr b/lib/std/slput.myr new file mode 100644 index 0000000..88dc875 --- /dev/null +++ b/lib/std/slput.myr @@ -0,0 +1,20 @@ +use "types.use" +use "alloc.use" +use "die.use" + +pkg std = + generic slput : (sl : @a[:], idx : size, elt : @a -> @a[:]) +;; + +generic slput = {sl, idx, elt + var i + var len + + len = sl.len + sl = slgrow(sl, sl.len + 1) + for i = len - 1; i >= idx; i-- + sl[i + 1] = sl[i] + ;; + sl[idx] = elt + -> sl +} |