|
limes 3.1.0
Composable Calculus Expressions for C++20
|
Product of two independent integrals. More...
#include <product_integral.hpp>
Public Types | |
| using | value_type = typename I1::value_type |
Public Member Functions | |
| constexpr | ProductIntegral (I1 i1, I2 i2) noexcept |
| algorithms::integration_result< value_type > | eval () const |
| Evaluate the product integral (no outer arguments) | |
| template<typename... Args> | |
| algorithms::integration_result< value_type > | eval (Args &&... args) const |
| Evaluate with arguments (for integrals with free variables) | |
| std::string | to_string () const |
| String representation. | |
| template<typename I3 > | |
| constexpr auto | operator* (I3 const &other) const |
| Multiply with another integral (chaining) | |
Public Attributes | |
| I1 | left |
| I2 | right |
Product of two independent integrals.
For integrals over independent variables:
The product can be computed by evaluating each integral separately and multiplying the results, which is much faster than nested integration.
| I1 | First integral type |
| I2 | Second integral type |
variable_set analysis. If the integrals share variables, a static_assert fires with a descriptive error message.
Definition at line 138 of file product_integral.hpp.
| using limes::expr::ProductIntegral< I1, I2 >::value_type = typename I1::value_type |
Definition at line 139 of file product_integral.hpp.
|
inlineconstexprnoexcept |
Definition at line 152 of file product_integral.hpp.
|
inline |
Evaluate the product integral (no outer arguments)
Definition at line 157 of file product_integral.hpp.
References limes::expr::ProductIntegral< I1, I2 >::left, and limes::expr::ProductIntegral< I1, I2 >::right.
|
inline |
Evaluate with arguments (for integrals with free variables)
Definition at line 164 of file product_integral.hpp.
References limes::expr::ProductIntegral< I1, I2 >::left, and limes::expr::ProductIntegral< I1, I2 >::right.
|
inlineconstexpr |
Multiply with another integral (chaining)
Definition at line 193 of file product_integral.hpp.
|
inline |
String representation.
Definition at line 187 of file product_integral.hpp.
References limes::expr::ProductIntegral< I1, I2 >::left, and limes::expr::ProductIntegral< I1, I2 >::right.
| I1 limes::expr::ProductIntegral< I1, I2 >::left |
Definition at line 141 of file product_integral.hpp.
Referenced by limes::expr::ProductIntegral< I1, I2 >::eval(), limes::expr::ProductIntegral< I1, I2 >::eval(), and limes::expr::ProductIntegral< I1, I2 >::to_string().
| I2 limes::expr::ProductIntegral< I1, I2 >::right |
Definition at line 142 of file product_integral.hpp.
Referenced by limes::expr::ProductIntegral< I1, I2 >::eval(), limes::expr::ProductIntegral< I1, I2 >::eval(), and limes::expr::ProductIntegral< I1, I2 >::to_string().