diff --git a/algorithms/douglas_peucker.cpp b/algorithms/douglas_peucker.cpp index 3de89da4e..b3a01f440 100644 --- a/algorithms/douglas_peucker.cpp +++ b/algorithms/douglas_peucker.cpp @@ -63,12 +63,12 @@ struct CoordinatePairCalculator // compute distance (a,c) const float x_value_1 = (first_lon - float_lon1) * cos((float_lat1 + first_lat) / 2.f); const float y_value_1 = first_lat - float_lat1; - const float dist1 = sqrt(std::pow(x_value_1, 2) + std::pow(y_value_1, 2)) * earth_radius; + const float dist1 = std::hypot(x_value_1, y_value_1) * earth_radius; // compute distance (b,c) const float x_value_2 = (second_lon - float_lon1) * cos((float_lat1 + second_lat) / 2.f); const float y_value_2 = second_lat - float_lat1; - const float dist2 = sqrt(std::pow(x_value_2, 2) + std::pow(y_value_2, 2)) * earth_radius; + const float dist2 = std::hypot(x_value_2, y_value_2) * earth_radius; // return the minimum return static_cast(std::min(dist1, dist2)); diff --git a/data_structures/coordinate_calculation.cpp b/data_structures/coordinate_calculation.cpp index 326a87981..05dc08789 100644 --- a/data_structures/coordinate_calculation.cpp +++ b/data_structures/coordinate_calculation.cpp @@ -103,7 +103,7 @@ float coordinate_calculation::euclidean_distance(const int lat1, const float x_value = (float_lon2 - float_lon1) * cos((float_lat1 + float_lat2) / 2.f); const float y_value = float_lat2 - float_lat1; - return sqrt(x_value * x_value + y_value * y_value) * earth_radius; + return std::hypot(x_value, y_value) * earth_radius; } float coordinate_calculation::perpendicular_distance(const FixedPointCoordinate &source_coordinate,