5#ifndef OASIS_INTEGRATE_HPP
6#define OASIS_INTEGRATE_HPP
16class Integral<Expression, Expression> :
public BinaryExpression<Integral> {
21 Integral(
const Integral<Expression, Expression>& other) =
default;
23 Integral(
const Expression& integrand,
const Expression& differential);
24 auto operator=(
const Integral& integral)
const -> Integral<Expression, Expression>;
61template <
typename IntegrandT = Expression,
typename DifferentialT = IntegrandT>
70 Integral(
const IntegrandT& integrand,
const DifferentialT& differential)
#define EXPRESSION_CATEGORY(category)
Definition Expression.hpp:237
#define EXPRESSION_TYPE(type)
Definition Expression.hpp:226
A binary expression.
Definition BinaryExpression.hpp:83
virtual auto IntegrateWithBounds(const Expression &, const Expression &, const Expression &) -> std::unique_ptr< Expression >
Attempts to integrate this expression using integration rules Then plugs in the bounds of the integra...
Definition Expression.cpp:253
The Integral expression integrates the two expressions together.
Definition Integral.hpp:62
Integral(const Integral< IntegrandT, DifferentialT > &other)
Definition Integral.hpp:65
Integral(const IntegrandT &integrand, const DifferentialT &differential)
Definition Integral.hpp:70
auto operator=(const Integral &other) -> Integral &=default
@ Commutative
Definition Expression.hpp:51
@ Associative
Definition Expression.hpp:50