4 let n = Random.int (List.length l) in
9 let n1 = List.length l1 in
10 let n = Random.int (n1 + List.length l2) in
11 if n >= n1 then List.nth l2 (n - n1) else List.nth l1 n
18 | x::xs -> x :: (take xs (n-1))
24 then take (Util.sort_uniq l) 3
25 else aux (n-1) (("(" ^ (acaso l) ^ " " ^ (acaso l) ^ ")") :: l)
30 let rec aux n ins lams =
31 if n = 0 then take (Util.sort_uniq ins) 5
32 else let ins, lams = if Random.int 2 = 0
33 then ins, ("(" ^ acaso vars ^ ". " ^ acaso2 ins lams ^ ")") :: lams
34 else ("(" ^ acaso ins ^ " " ^ acaso2 ins lams^ ")") :: ins, lams
40 let rec repeat f n = f () ; if n > 0 then repeat f (n-1);;
44 prerr_endline "\n*************************** NEW TEST ***************************";
45 List.iter prerr_endline tms; prerr_endline "";
46 ) in Lambda3.main [Lambda3.magic tms ["*"]]
54 let vars = ["x"; "y"; "z"; "v" ; "w"; "a"; "b"; "c"] in
61 let tms = test1 complex vars in
68 call_main (test2 complex vars)
72 prerr_endline "\n---- ALL TESTS COMPLETED ----"