Ticket #5954: distance_pythagoras-sqrt-fix.patch

File distance_pythagoras-sqrt-fix.patch, 1021 bytes (added by Mateusz Loskot, 11 years ago)

Patch fixing missing sqrt() callin distance_pythagoras.hpp. Also fixes oordinates/points mismatch, trivial.

  • distance_pythagoras.hpp

     
    4343{
    4444    static inline T apply(Point1 const& p1, Point2 const& p2)
    4545    {
    46         T const c1 = boost::numeric_cast<T>(get<I-1>(p2));
    47         T const c2 = boost::numeric_cast<T>(get<I-1>(p1));
     46        T const c1 = boost::numeric_cast<T>(get<I-1>(p1));
     47        T const c2 = boost::numeric_cast<T>(get<I-1>(p2));
    4848        T const d = c1 - c2;
    4949        return d * d + compute_pythagoras<Point1, Point2, I-1, T>::apply(p1, p2);
    5050    }
     
    9999
    100100        assert_dimension_equal<Point1, Point2>();
    101101
    102         return detail::compute_pythagoras
     102        calculation_type const t = detail::compute_pythagoras
    103103            <
    104104                Point1, Point2,
    105105                dimension<Point1>::value,
    106106                calculation_type
    107107            >::apply(p1, p2);
     108
     109        return sqrt(t);
    108110    }
    109111};
    110112