Q:

dot product ocaml

let rec safe_dot_product (vect1: int list) (vect2: int list) : int option = 
  match (vect1, vect2) with
    | [],[] -> Some 0
    | [],_ -> None
    | _,[] -> None
    | (x::xs, y::ys) ->
      match safe_dot_product xs ys with
        | None -> None
        | Some m -> Some ((x*y) + m)
0

New to Communities?

Join the community