[mlpack-git] master: Be sure to cast to ElemType because it is not always guaranteed that ElemType is returned from std::sqrt(). (a7794bd)
gitdub at mlpack.org
gitdub at mlpack.org
Mon Aug 15 12:09:05 EDT 2016
Repository : https://github.com/mlpack/mlpack
On branch : master
Link : https://github.com/mlpack/mlpack/compare/95da0dd57f73d7f102652a48d7c052b7e66532b5...a7794bde8082c691553152393e1e230098f5e920
>---------------------------------------------------------------
commit a7794bde8082c691553152393e1e230098f5e920
Author: Ryan Curtin <ryan at ratml.org>
Date: Mon Aug 15 12:09:05 2016 -0400
Be sure to cast to ElemType because it is not always guaranteed that ElemType is returned from std::sqrt().
>---------------------------------------------------------------
a7794bde8082c691553152393e1e230098f5e920
src/mlpack/core/tree/hrectbound_impl.hpp | 14 ++++++++------
1 file changed, 8 insertions(+), 6 deletions(-)
diff --git a/src/mlpack/core/tree/hrectbound_impl.hpp b/src/mlpack/core/tree/hrectbound_impl.hpp
index 196067f..41dd0de 100644
--- a/src/mlpack/core/tree/hrectbound_impl.hpp
+++ b/src/mlpack/core/tree/hrectbound_impl.hpp
@@ -196,7 +196,7 @@ inline ElemType HRectBound<MetricType, ElemType>::MinDistance(
else if (MetricType::Power == 2)
{
if (MetricType::TakeRoot)
- return std::sqrt(sum) * 0.5;
+ return (ElemType) std::sqrt(sum) * 0.5;
else
return sum * 0.25;
}
@@ -256,7 +256,7 @@ ElemType HRectBound<MetricType, ElemType>::MinDistance(const HRectBound& other)
else if (MetricType::Power == 2)
{
if (MetricType::TakeRoot)
- return std::sqrt(sum) * 0.5;
+ return (ElemType) std::sqrt(sum) * 0.5;
else
return sum * 0.25;
}
@@ -302,7 +302,7 @@ inline ElemType HRectBound<MetricType, ElemType>::MaxDistance(
if (MetricType::Power == 1)
return sum;
else if (MetricType::Power == 2)
- return std::sqrt(sum);
+ return (ElemType) std::sqrt(sum);
else
return (ElemType) pow((double) sum, 1.0 / (double) MetricType::Power);
}
@@ -343,7 +343,7 @@ inline ElemType HRectBound<MetricType, ElemType>::MaxDistance(
if (MetricType::Power == 1)
return sum;
else if (MetricType::Power == 2)
- return std::sqrt(sum);
+ return (ElemType) std::sqrt(sum);
else
return (ElemType) pow((double) sum, 1.0 / (double) MetricType::Power);
}
@@ -404,7 +404,8 @@ HRectBound<MetricType, ElemType>::RangeDistance(
if (MetricType::Power == 1)
return math::RangeType<ElemType>(loSum, hiSum);
else if (MetricType::Power == 2)
- return math::RangeType<ElemType>(std::sqrt(loSum), std::sqrt(hiSum));
+ return math::RangeType<ElemType>((ElemType) std::sqrt(loSum),
+ (ElemType) std::sqrt(hiSum));
else
{
return math::RangeType<ElemType>(
@@ -479,7 +480,8 @@ HRectBound<MetricType, ElemType>::RangeDistance(
if (MetricType::Power == 1)
return math::RangeType<ElemType>(loSum, hiSum);
else if (MetricType::Power == 2)
- return math::RangeType<ElemType>(std::sqrt(loSum), std::sqrt(hiSum));
+ return math::RangeType<ElemType>((ElemType) std::sqrt(loSum),
+ (ElemType) std::sqrt(hiSum));
else
{
return math::RangeType<ElemType>(
More information about the mlpack-git
mailing list