Add slice.stable_sort* procedures

This commit is contained in:
gingerBill
2022-01-31 15:55:52 +00:00
parent 1a9ec776cb
commit 14a17fb36f
3 changed files with 61 additions and 12 deletions
+12 -12
View File
@@ -305,21 +305,21 @@ filter :: proc(s: $S/[]$U, f: proc(U) -> bool, allocator := context.allocator) -
}
scanner :: proc (s: $S/[]$U, initializer: $V, f: proc(V, U)->V, allocator := context.allocator) -> []V {
if len(s) == 0 { return {} }
if len(s) == 0 { return {} }
res := make([]V, len(s), allocator)
p := as_ptr(s)
q := as_ptr(res)
r := initializer
res := make([]V, len(s), allocator)
p := as_ptr(s)
q := as_ptr(res)
r := initializer
for l := len(s); l > 0; l -= 1 {
r = f(r, p[0])
q[0] = r
p = p[1:]
q = q[1:]
}
for l := len(s); l > 0; l -= 1 {
r = f(r, p[0])
q[0] = r
p = p[1:]
q = q[1:]
}
return res
return res
}