19 QX_PUSH_SUPPRESS_ALL_WARNINGS();
20 #include <glm/glm.hpp>
21 QX_POP_SUPPRESS_WARNINGS();
37 template<
class function_2d_t>
39 const function_2d_t& func,
42 size_t nIntervalsPer1 = 10) noexcept(noexcept(static_cast<
double>(func(0.0))));
55 template<class function_2d_t>
56 inline
double integrate_trapezoid_rule(
57 const function_2d_t& func,
60 size_t nIntervalsPer1 = 10) noexcept(noexcept(static_cast<
double>(func(0.0))));
75 template<class function_2d_t>
76 inline
double integrate_adaptive_midpoint(
77 const function_2d_t& func,
80 double fMaxSliceError,
81 size_t nIntervalsPer1 = 10,
82 size_t nMaxRecursion = 300) noexcept(noexcept(static_cast<
double>(func(0.0))));
98 template<class function_2d_t>
99 inline
double integrate_monte_carlo(
100 const function_2d_t& funcIsInside,
103 size_t nPointsPerOneSquare = 1000) noexcept(noexcept(static_cast<
int>(funcIsInside(0.0, 0.0))));
107 #include <qx/math/integration.inl>
double integrate_rectangle_rule(const function_2d_t &func, double x0, double x1, size_t nIntervalsPer1=10) noexcept(noexcept(static_cast< double >(func(0.0))))
Integrate using rectangle rule.