vtkm::dot should widen results for UInt8/Int8/UInt16/Int16
When using vtkm::dot on narrow types ( which can occur when doing magnitude computations ) you easily rollover the values. Instead the result type of vtkm::dot should be no smaller than Float32
@kmorel Do you have any thoughts on this?