diff --git a/src/mlpack/methods/kde/kde_rules.hpp b/src/mlpack/methods/kde/kde_rules.hpp index 44934fb341..5243b4a4f3 100644 --- a/src/mlpack/methods/kde/kde_rules.hpp +++ b/src/mlpack/methods/kde/kde_rules.hpp @@ -158,6 +158,9 @@ class KDERules constexpr static bool kernelIsGaussian = std::is_same::value; + //! Absolute error tolerance available for each reference point. + const double absErrorTol; + //! The last query index. size_t lastQueryIndex; diff --git a/src/mlpack/methods/kde/kde_rules_impl.hpp b/src/mlpack/methods/kde/kde_rules_impl.hpp index 89c7a03af4..24ad7f58c6 100644 --- a/src/mlpack/methods/kde/kde_rules_impl.hpp +++ b/src/mlpack/methods/kde/kde_rules_impl.hpp @@ -50,6 +50,7 @@ KDERules::KDERules( kernel(kernel), monteCarlo(monteCarlo), sameSet(sameSet), + absErrorTol(absError / referenceSet.n_cols), lastQueryIndex(querySet.n_cols), lastReferenceIndex(referenceSet.n_cols), baseCases(0), @@ -146,7 +147,6 @@ Score(const size_t queryIndex, TreeType& referenceNode) const double bound = maxKernel - minKernel; // Error tolerance of the current query point and reference node. - const double absErrorTol = absError / referenceSet.n_cols; const double relErrorTol = relError * minKernel; const double errorTolerance = absErrorTol + relErrorTol; @@ -353,7 +353,6 @@ Score(TreeType& queryNode, TreeType& referenceNode) const double bound = maxKernel - minKernel; // Error tolerance of the current nodes combination. - const double absErrorTol = absError / referenceSet.n_cols; const double relErrorTol = relError * minKernel; const double errorTolerance = absErrorTol + relErrorTol;