let ( *| ) v1 v2 =
   let tmp = ref 0.0 in
   for i = 0 to (Array.length v1) -1 do
      tmp := !tmp +. Array.unsafe_get v1 i *. Array.unsafe_get v2 i
   done;
   !tmp +. 0.0