diff --git a/include/LNIT/AdaptiveQuadratures/AdaptiveQuadratureBase_impl.hpp b/include/LNIT/AdaptiveQuadratures/AdaptiveQuadratureBase_impl.hpp index 8297c1f..6a60cb9 100644 --- a/include/LNIT/AdaptiveQuadratures/AdaptiveQuadratureBase_impl.hpp +++ b/include/LNIT/AdaptiveQuadratures/AdaptiveQuadratureBase_impl.hpp @@ -35,6 +35,9 @@ auto AdaptiveQuadratureBase::adaptQuadrature(const Function& f) -> Long using const_Iterator = typename std::vector::const_iterator; + LongScalar res; + LongScalar estimatedErr; + m_hasConverged = false; if (m_out) { fmt::print(m_out, "#Iteration integral estimated_error relative_tol absolute_tol\n"); } @@ -60,7 +63,7 @@ auto AdaptiveQuadratureBase::adaptQuadrature(const Function& f) -> Long m_intervals[maxErrIdx] = Interval(a, midPoint); std::tie(m_subIntergrals[maxErrIdx], m_subIntergralsErr[maxErrIdx]) = estimateIntegral(f, a, midPoint); // second interval - const auto [res, estimatedErr] = estimateIntegral(f, midPoint, b); + std::tie(res, estimatedErr) = estimateIntegral(f, midPoint, b); m_intervals.emplace_back(std::move(midPoint), b); m_subIntergrals.push_back(res); m_subIntergralsErr.push_back(estimatedErr); @@ -254,7 +257,7 @@ auto AdaptiveQuadratureBase::remapAndIntegrate(const Function& f) -> Lo : fx*dxdt; }; - return integrate(fref, -1 + eps, 1 - eps); + return integrate(fref, -1, 1); } template template