diff --git a/src/bigarray/CCArray1.ml b/src/bigarray/CCArray1.ml index 2463c917..140e2792 100644 --- a/src/bigarray/CCArray1.ml +++ b/src/bigarray/CCArray1.ml @@ -81,6 +81,11 @@ let init ~kind ~f n = done; a +(*$T + let a = init ~kind:Bigarray.int 10 ~f:(fun x->x) in \ + CCList.(0 -- 9) |> List.for_all (fun i -> get a i = i) +*) + let of_bigarray a = a let to_bigarray a = a @@ -96,6 +101,10 @@ let copy a = let length a = A.dim a +(*$T + length (make_int 42) = 42 +*) + let set = A.set let get = A.get @@ -127,6 +136,11 @@ let exists ~f a = false with LocalExit -> true +(*$T + init ~kind:Bigarray.int 10 ~f:(fun x->x) |> for_all ~f:(fun x -> x<10) + init ~kind:Bigarray.int 10 ~f:(fun x->x) |> exists ~f:(fun x -> x=5) +*) + let iteri ~f a = for i = 0 to A.dim a - 1 do f i (A.unsafe_get a i)