@@ -185,18 +185,18 @@ struct
185185 let binary_op_with_norm op (ik :ikind ) (x : t ) (y : t ) : t*overflow_info = match x, y with
186186 | [] , _ -> ([] ,{overflow= false ; underflow= false })
187187 | _ , [] -> ([] ,{overflow= false ; underflow= false })
188- | _ , _ -> norm_intvs ik @@ List. map ( fun ( x , y ) -> op x y) ( BatList. cartesian_product x y)
188+ | _ , _ -> norm_intvs ik @@ GobList. cartesian_map op x y
189189
190190 let binary_op_concat_with_norm op (ik :ikind ) (x : t ) (y : t ) : t*overflow_info = match x, y with
191191 | [] , _ -> ([] ,{overflow= false ; underflow= false })
192192 | _ , [] -> ([] ,{overflow= false ; underflow= false })
193- | _ , _ -> norm_intvs ik @@ List. concat_map (fun (x ,y ) -> op x y) (BatList. cartesian_product x y)
193+ | _ , _ -> norm_intvs ik @@ List. concat_map (fun (x ,y ) -> op x y) (BatList. cartesian_product x y) (* TODO: GobList.cartesian_concat_map? *)
194194
195195 let binary_op_with_ovc (x : t ) (y : t ) op : t*overflow_info = match x, y with
196196 | [] , _ -> ([] ,{overflow= false ; underflow= false })
197197 | _ , [] -> ([] ,{overflow= false ; underflow= false })
198198 | _ , _ ->
199- let res = List. map op ( BatList. cartesian_product x y) in
199+ let res = GobList. cartesian_map ( Batteries. curry op) x y in
200200 let intvs = List. concat_map fst res in
201201 let underflow = List. exists (fun (_ ,{underflow; _} ) -> underflow) res in
202202 let overflow = List. exists (fun (_ ,{overflow; _} ) -> underflow) res in
0 commit comments