#use "boolean.ml";; #use "testUtils.ml";; let prt_f f = print_endline (f_to_str f) ;; let prt_vec x = prt_str_list (List.map f_to_str x) ;; (* Test add *) let n2 = [False;True] ;; let n3 = [True ;True] ;; prt_int (int_of_vec (subst [] (add n2 n2))) ;; prt_int (int_of_vec (subst [] (add n2 n3))) ;; prt_int (int_of_vec (subst [] (add n3 n2))) ;; prt_int (int_of_vec (subst [] (add n3 n3))) ;; prt_int (int_of_vec (subst [] (add (vec_of_int 6) (vec_of_int 5)))) ;; prt_int (int_of_vec (subst [] (add (vec_of_int 5) (vec_of_int 7)))) ;; (* Test pad *) let n0 = [] ;; let n1 = [True] ;; let n2 = [False;True] ;; let n3 = [True ;True] ;; prt_vec (pad n0 2) ;; prt_vec (pad n0 3) ;; prt_vec (pad n1 2) ;; prt_vec (pad n1 3) ;; prt_vec (pad n2 4) ;; prt_vec (pad n3 5) ;; (* Test mul *) prt_int (int_of_vec (subst [] (mul n2 2))) ;; prt_int (int_of_vec (subst [] (mul n2 5))) ;; prt_int (int_of_vec (subst [] (mul (vec_of_int 6) 2))) ;; prt_int (int_of_vec (subst [] (mul (vec_of_int 6) 3))) ;;