mirror of
https://github.com/c-cube/iter.git
synced 2025-12-06 11:15:32 -05:00
removed many warnings
This commit is contained in:
parent
0226a4cef5
commit
cdae072e5e
3 changed files with 30 additions and 31 deletions
2
_tags
2
_tags
|
|
@ -28,4 +28,4 @@
|
||||||
<bench/*.ml{,i}>: use_sequence
|
<bench/*.ml{,i}>: use_sequence
|
||||||
# OASIS_STOP
|
# OASIS_STOP
|
||||||
true: bin_annot
|
true: bin_annot
|
||||||
<**/*.ml>: warn_K, warn_Y, warn_X
|
<**/*.ml>: warn_A, warn(-4)
|
||||||
|
|
|
||||||
12
sequence.ml
12
sequence.ml
|
|
@ -40,7 +40,7 @@ let rec from_fun f k = match f () with
|
||||||
| None -> ()
|
| None -> ()
|
||||||
| Some x -> k x; from_fun f k
|
| Some x -> k x; from_fun f k
|
||||||
|
|
||||||
let empty k = ()
|
let empty _ = ()
|
||||||
|
|
||||||
let singleton x k = k x
|
let singleton x k = k x
|
||||||
let return x k = k x
|
let return x k = k x
|
||||||
|
|
@ -195,7 +195,7 @@ module MList = struct
|
||||||
cur := !tl;
|
cur := !tl;
|
||||||
i := 0;
|
i := 0;
|
||||||
get_next arg
|
get_next arg
|
||||||
| Cons (a, n, _) ->
|
| Cons (a, _, _) ->
|
||||||
let x = a.(!i) in
|
let x = a.(!i) in
|
||||||
incr i;
|
incr i;
|
||||||
Some x
|
Some x
|
||||||
|
|
@ -210,7 +210,7 @@ module MList = struct
|
||||||
let rec make (l,i) () = match l with
|
let rec make (l,i) () = match l with
|
||||||
| Nil -> `Nil
|
| Nil -> `Nil
|
||||||
| Cons (_, n, tl) when i = !n -> make (!tl,0) ()
|
| Cons (_, n, tl) when i = !n -> make (!tl,0) ()
|
||||||
| Cons (a, n, _) -> `Cons (a.(i), make (l,i+1))
|
| Cons (a, _, _) -> `Cons (a.(i), make (l,i+1))
|
||||||
in make (l,0)
|
in make (l,0)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
@ -407,7 +407,7 @@ let is_empty seq =
|
||||||
|
|
||||||
(** {2 Transform a sequence} *)
|
(** {2 Transform a sequence} *)
|
||||||
|
|
||||||
let empty2 k = ()
|
let empty2 _ = ()
|
||||||
|
|
||||||
let is_empty2 seq2 =
|
let is_empty2 seq2 =
|
||||||
try ignore (seq2 (fun _ _ -> raise ExitIsEmpty)); true
|
try ignore (seq2 (fun _ _ -> raise ExitIsEmpty)); true
|
||||||
|
|
@ -521,9 +521,9 @@ let of_hashtbl h k = Hashtbl.iter (fun a b -> k (a, b)) h
|
||||||
|
|
||||||
let of_hashtbl2 h k = Hashtbl.iter k h
|
let of_hashtbl2 h k = Hashtbl.iter k h
|
||||||
|
|
||||||
let hashtbl_keys h k = Hashtbl.iter (fun a b -> k a) h
|
let hashtbl_keys h k = Hashtbl.iter (fun a _ -> k a) h
|
||||||
|
|
||||||
let hashtbl_values h k = Hashtbl.iter (fun a b -> k b) h
|
let hashtbl_values h k = Hashtbl.iter (fun _ b -> k b) h
|
||||||
|
|
||||||
let of_str s k = String.iter k s
|
let of_str s k = String.iter k s
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,6 @@
|
||||||
open OUnit
|
open OUnit
|
||||||
|
|
||||||
module S = Sequence
|
module S = Sequence
|
||||||
open Sequence.Infix
|
|
||||||
|
|
||||||
let pp_ilist l =
|
let pp_ilist l =
|
||||||
let b = Buffer.create 15 in
|
let b = Buffer.create 15 in
|
||||||
|
|
@ -24,14 +23,14 @@ let test_repeat () =
|
||||||
()
|
()
|
||||||
|
|
||||||
let test_concat () =
|
let test_concat () =
|
||||||
let s1 = (1 -- 5) in
|
let s1 = S.(1 -- 5) in
|
||||||
let s2 = (6 -- 10) in
|
let s2 = S.(6 -- 10) in
|
||||||
let l = [1;2;3;4;5;6;7;8;9;10] in
|
let l = [1;2;3;4;5;6;7;8;9;10] in
|
||||||
OUnit.assert_equal l (S.to_list (S.append s1 s2));
|
OUnit.assert_equal l (S.to_list (S.append s1 s2));
|
||||||
()
|
()
|
||||||
|
|
||||||
let test_fold () =
|
let test_fold () =
|
||||||
let n = (1 -- 10)
|
let n = S.(1 -- 10)
|
||||||
|> S.fold (+) 0 in
|
|> S.fold (+) 0 in
|
||||||
OUnit.assert_equal 55 n;
|
OUnit.assert_equal 55 n;
|
||||||
()
|
()
|
||||||
|
|
@ -44,33 +43,33 @@ let test_foldi () =
|
||||||
()
|
()
|
||||||
|
|
||||||
let test_exists () =
|
let test_exists () =
|
||||||
(1 -- 100)
|
S.(1 -- 100)
|
||||||
|> S.exists (fun x -> x = 59)
|
|> S.exists (fun x -> x = 59)
|
||||||
|> OUnit.assert_bool "exists";
|
|> OUnit.assert_bool "exists";
|
||||||
(1 -- 100)
|
S.(1 -- 100)
|
||||||
|> S.exists (fun x -> x < 0)
|
|> S.exists (fun x -> x < 0)
|
||||||
|> (fun x -> not x)
|
|> (fun x -> not x)
|
||||||
|> OUnit.assert_bool "not exists";
|
|> OUnit.assert_bool "not exists";
|
||||||
()
|
()
|
||||||
|
|
||||||
let test_length () =
|
let test_length () =
|
||||||
(1 -- 1000) |> S.length |> OUnit.assert_equal 1000
|
S.(1 -- 1000) |> S.length |> OUnit.assert_equal 1000
|
||||||
|
|
||||||
let test_concat2 () =
|
let test_concat2 () =
|
||||||
1 -- 1000
|
S.(1 -- 1000)
|
||||||
|> S.map (fun i -> (i -- (i+1)))
|
|> S.map (fun i -> S.(i -- (i+1)))
|
||||||
|> S.concat
|
|> S.concat
|
||||||
|> S.length
|
|> S.length
|
||||||
|> OUnit.assert_equal 2000
|
|> OUnit.assert_equal 2000
|
||||||
|
|
||||||
let test_flatMap () =
|
let test_flatMap () =
|
||||||
1 -- 1000
|
S.(1 -- 1000)
|
||||||
|> S.flatMap (fun i -> (i -- (i+1)))
|
|> S.flatMap (fun i -> S.(i -- (i+1)))
|
||||||
|> S.length
|
|> S.length
|
||||||
|> OUnit.assert_equal 2000
|
|> OUnit.assert_equal 2000
|
||||||
|
|
||||||
let test_intersperse () =
|
let test_intersperse () =
|
||||||
1 -- 100
|
S.(1 -- 100)
|
||||||
|> (fun seq -> S.intersperse 0 seq)
|
|> (fun seq -> S.intersperse 0 seq)
|
||||||
|> S.take 10
|
|> S.take 10
|
||||||
|> S.to_list
|
|> S.to_list
|
||||||
|
|
@ -98,7 +97,7 @@ let test_persistent () =
|
||||||
|
|
||||||
let test_big_persistent () =
|
let test_big_persistent () =
|
||||||
let printer = pp_ilist in
|
let printer = pp_ilist in
|
||||||
let seq = 0 -- 10_000 in
|
let seq = S.(0 -- 10_000) in
|
||||||
let seq' = S.persistent seq in
|
let seq' = S.persistent seq in
|
||||||
OUnit.assert_equal 10_001 (S.length seq');
|
OUnit.assert_equal 10_001 (S.length seq');
|
||||||
OUnit.assert_equal 10_001 (S.length seq');
|
OUnit.assert_equal 10_001 (S.length seq');
|
||||||
|
|
@ -106,7 +105,7 @@ let test_big_persistent () =
|
||||||
()
|
()
|
||||||
|
|
||||||
let test_sort () =
|
let test_sort () =
|
||||||
1 -- 100
|
S.(1 -- 100)
|
||||||
|> S.sort ~cmp:(fun i j -> j - i)
|
|> S.sort ~cmp:(fun i j -> j - i)
|
||||||
|> S.take 4
|
|> S.take 4
|
||||||
|> S.to_list
|
|> S.to_list
|
||||||
|
|
@ -115,18 +114,18 @@ let test_sort () =
|
||||||
let test_sort_uniq () =
|
let test_sort_uniq () =
|
||||||
[42;1;2;3;4;5;4;3;2;1]
|
[42;1;2;3;4;5;4;3;2;1]
|
||||||
|> S.of_list
|
|> S.of_list
|
||||||
|> S.sort_uniq
|
|> S.sort_uniq ?cmp:None
|
||||||
|> S.to_list
|
|> S.to_list
|
||||||
|> OUnit.assert_equal [1;2;3;4;5;42]
|
|> OUnit.assert_equal [1;2;3;4;5;42]
|
||||||
|
|
||||||
let test_group () =
|
let test_group () =
|
||||||
[1;2;3;3;2;2;3;4]
|
[1;2;3;3;2;2;3;4]
|
||||||
|> S.of_list |> S.group |> S.to_list
|
|> S.of_list |> S.group ?eq:None |> S.to_list
|
||||||
|> OUnit.assert_equal [[1];[2];[3;3];[2;2];[3];[4]]
|
|> OUnit.assert_equal [[1];[2];[3;3];[2;2];[3];[4]]
|
||||||
|
|
||||||
let test_uniq () =
|
let test_uniq () =
|
||||||
[1;2;2;3;4;4;4;3;3]
|
[1;2;2;3;4;4;4;3;3]
|
||||||
|> S.of_list |> S.uniq |> S.to_list
|
|> S.of_list |> S.uniq ?eq:None |> S.to_list
|
||||||
|> OUnit.assert_equal [1;2;3;4;3]
|
|> OUnit.assert_equal [1;2;3;4;3]
|
||||||
|
|
||||||
let test_product () =
|
let test_product () =
|
||||||
|
|
@ -140,7 +139,7 @@ let test_product () =
|
||||||
"c",0; "c", 1; "c", 2;] s
|
"c",0; "c", 1; "c", 2;] s
|
||||||
|
|
||||||
let test_join () =
|
let test_join () =
|
||||||
let s1 = (1 -- 3) in
|
let s1 = S.(1 -- 3) in
|
||||||
let s2 = S.of_list ["1"; "2"] in
|
let s2 = S.of_list ["1"; "2"] in
|
||||||
let join_row i j =
|
let join_row i j =
|
||||||
if string_of_int i = j then Some (string_of_int i ^ " = " ^ j) else None
|
if string_of_int i = j then Some (string_of_int i ^ " = " ^ j) else None
|
||||||
|
|
@ -150,16 +149,16 @@ let test_join () =
|
||||||
()
|
()
|
||||||
|
|
||||||
let test_scan () =
|
let test_scan () =
|
||||||
1 -- 5
|
S.(1 -- 5)
|
||||||
|> S.scan (+) 0
|
|> S.scan (+) 0
|
||||||
|> S.to_list
|
|> S.to_list
|
||||||
|> OUnit.assert_equal ~printer:pp_ilist [0;1;3;6;10;15]
|
|> OUnit.assert_equal ~printer:pp_ilist [0;1;3;6;10;15]
|
||||||
|
|
||||||
let test_drop () =
|
let test_drop () =
|
||||||
1 -- 5 |> S.drop 2 |> S.to_list |> OUnit.assert_equal [3;4;5]
|
S.(1 -- 5) |> S.drop 2 |> S.to_list |> OUnit.assert_equal [3;4;5]
|
||||||
|
|
||||||
let test_rev () =
|
let test_rev () =
|
||||||
1 -- 5 |> S.rev |> S.to_list |> OUnit.assert_equal [5;4;3;2;1]
|
S.(1 -- 5) |> S.rev |> S.to_list |> OUnit.assert_equal [5;4;3;2;1]
|
||||||
|
|
||||||
let test_unfoldr () =
|
let test_unfoldr () =
|
||||||
let f x = if x < 5 then Some (string_of_int x,x+1) else None in
|
let f x = if x < 5 then Some (string_of_int x,x+1) else None in
|
||||||
|
|
@ -168,12 +167,12 @@ let test_unfoldr () =
|
||||||
|> OUnit.assert_equal ["0"; "1"; "2"; "3"; "4"]
|
|> OUnit.assert_equal ["0"; "1"; "2"; "3"; "4"]
|
||||||
|
|
||||||
let test_hashtbl () =
|
let test_hashtbl () =
|
||||||
let h = 1 -- 5
|
let h = S.(1 -- 5)
|
||||||
|> S.zip_i
|
|> S.zip_i
|
||||||
|> S.to_hashtbl2 in
|
|> S.to_hashtbl2 in
|
||||||
0 -- 4
|
S.(0 -- 4)
|
||||||
|> S.iter (fun i -> OUnit.assert_equal (i+1) (Hashtbl.find h i));
|
|> S.iter (fun i -> OUnit.assert_equal (i+1) (Hashtbl.find h i));
|
||||||
OUnit.assert_equal [0;1;2;3;4] (S.hashtbl_keys h |> S.sort |> S.to_list);
|
OUnit.assert_equal [0;1;2;3;4] (S.hashtbl_keys h |> S.sort ?cmp:None |> S.to_list);
|
||||||
()
|
()
|
||||||
|
|
||||||
let test_buff () =
|
let test_buff () =
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue