2 mutable data : int array;
4 mutable capacity : int;
8 let length a = a.length
11 { data = Array.create 512 0;
17 let ncap = a.capacity lsl 1 in
18 let b = Array.create ncap 0 in
19 for i = 0 to a.capacity - 1 do
26 if i >= 0 && i < a.length then a.data.(i)
27 else failwith "Invalid array access"
30 if i >= 0 && i < a.length then a.data.(i) <- v
31 else failwith "Invalid array access"
33 let unsafe_get a i = a.data.(i)
34 let unsafe_set a i v = a.data.(i) <- v
38 if a.length >= a.capacity then resize a;
39 a.data.(a.length) <- v;
40 a.length <- a.length + 1
43 let b = Array.create a.length 0 in
44 Array.blit a.data 0 b 0 a.length;