From 3a3220a049b9fef67ca0f85542654ab0a9de0914 Mon Sep 17 00:00:00 2001 From: Vladimir Azarov Date: Wed, 6 Aug 2025 05:14:27 +0200 Subject: Most of conversion to il --- dynarray.sml | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'dynarray.sml') diff --git a/dynarray.sml b/dynarray.sml index 371362e..d52f148 100644 --- a/dynarray.sml +++ b/dynarray.sml @@ -20,7 +20,7 @@ structure Dynarray: DYNARRAY = struct case Int.compare (len, Array.length arr) of EQUAL => let - val arr2 = Array.array (len * 2, NONE) + val arr2 = Array.array (len * 2 + 1, NONE) in Array.copy { src = arr, dst = arr2, di = 0 }; dynarr := (len, arr2); @@ -33,6 +33,14 @@ structure Dynarray: DYNARRAY = struct | GREATER => raise Unreachable end + fun pushAndGetId dynarr v = + let + val (len, _ ) = !dynarr + val () = push dynarr v + in + len + end + fun get dynarr n = let val (len, arr) = !dynarr -- cgit v1.2.3