DUNE-ACFEM (unstable)
TensorSumOptimizations
Perform the following substitutions: More...
Classes | |
struct | Dune::ACFem::Tensor::Optimization::Sums::IsDistributiveOperation< Operation > |
True for expressions which can be moved inside or outside of sums. More... | |
Functions | |
template<class T0 , class T1 , std::enable_if_t< AreRuntimeEqual< T0, T1 >::value, int > = 0> | |
constexpr auto | Dune::ACFem::Tensor::Optimization::Sums::operate (OptimizeNext< DefaultTag >, PlusFunctor, T0 &&t0, T1 &&t1) |
Optimize a+a to 2a. More... | |
template<class F , class T0 , class T1 , std::enable_if_t< isSumOfMergableScalars< F, T0, T1 >(), int > = 0> | |
constexpr auto | Dune::ACFem::Tensor::Optimization::Sums::operate (OptimizeTerminal1, F &&f, T0 &&t0, T1 &&t1) |
Detailed Description
Perform the following substitutions:
- A + A to 2A, see IsSumOfIdentical
- OP(A + B) to OP(A) + OP(B) if simplifying, see IsUnaryOperationOnSum
- OP(A, B+C) to OP(A, B) + OP(A, C) if simplifying, see IsBinaryOperationOnRightSum
- OP(A+B, C) to OP(A, C) + OP(B, C) if simplifying, see IsBinaryOperationOnLeftSum
Function Documentation
◆ operate() [1/2]
template<class T0 , class T1 , std::enable_if_t< AreRuntimeEqual< T0, T1 >::value, int > = 0>
|
constexpr |
Optimize a+a to 2a.
- Note
- This should be obsolete and covered by the general factorization code.
References Dune::ACFem::Tensor::Optimization::Sums::operate().
◆ operate() [2/2]
template<class F , class T0 , class T1 , std::enable_if_t< isSumOfMergableScalars< F, T0, T1 >(), int > = 0>
|
constexpr |
@@OptimizeFinal Candidate
Referenced by Dune::ACFem::Tensor::Optimization::Sums::operate().
|
Legal Statements / Impressum |
Hosted by TU Dresden |
generated with Hugo v0.80.0
(May 16, 22:29, 2024)