pub fn dot<T: Float + FromPrimitive, const K: usize>( left: &[T; K], right: &[T; K]) -> T
calculate the dot product of two nvecs