Ticket #5954: distance_pythagoras-sqrt-fix.patch
File distance_pythagoras-sqrt-fix.patch, 1021 bytes (added by , 11 years ago) |
---|
-
distance_pythagoras.hpp
43 43 { 44 44 static inline T apply(Point1 const& p1, Point2 const& p2) 45 45 { 46 T const c1 = boost::numeric_cast<T>(get<I-1>(p 2));47 T const c2 = boost::numeric_cast<T>(get<I-1>(p 1));46 T const c1 = boost::numeric_cast<T>(get<I-1>(p1)); 47 T const c2 = boost::numeric_cast<T>(get<I-1>(p2)); 48 48 T const d = c1 - c2; 49 49 return d * d + compute_pythagoras<Point1, Point2, I-1, T>::apply(p1, p2); 50 50 } … … 99 99 100 100 assert_dimension_equal<Point1, Point2>(); 101 101 102 returndetail::compute_pythagoras102 calculation_type const t = detail::compute_pythagoras 103 103 < 104 104 Point1, Point2, 105 105 dimension<Point1>::value, 106 106 calculation_type 107 107 >::apply(p1, p2); 108 109 return sqrt(t); 108 110 } 109 111 }; 110 112