61 ExpressionType
optimize(
const ExpressionType& expr)
const override
63 ExpressionType out(expr);
66 if (!(expr.template hasOperator<Operator::Type::Implicit>(
"DivOperator")
67 && expr.template hasOperator<Operator::Type::Implicit>(
"LaplacianOperator")))
72 using ValueType =
typename ExpressionType::ExpressionValueType;
86 expr.exec(), divOperator, lapOperator
88 out.addOperator(divLapOperator);
90 out.template dropOperator<Operator::Type::Implicit>(
"DivOperator");
91 out.template dropOperator<Operator::Type::Implicit>(
"LaplacianOperator");