From 8f718bfdadf73f041bf2fc8edfec8d1578cfd737 Mon Sep 17 00:00:00 2001 From: Roberto Hueso Gomez Date: Mon, 26 Aug 2019 06:03:56 +0200 Subject: [PATCH] Precompute KDE absErrorTol --- src/mlpack/methods/kde/kde_rules.hpp | 3 +++ src/mlpack/methods/kde/kde_rules_impl.hpp | 3 +-- 2 files changed, 4 insertions(+), 2 deletions(-) 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;