91 decltype(std::declval<const B&>().NumFunctions()),
92 decltype(std::declval<const B&>().DependsOnPathVariable()),
93 decltype(std::declval<const B&>().Precision()),
94 decltype(std::declval<const B&>().Precision(0u)),
95 decltype(std::declval<const B&>().Degrees()),
96 decltype(std::declval<const B&>().Degrees(std::declval<VariableGroup const&>())),
97 decltype(std::declval<const B&>().IsHomogeneous(std::declval<VariableGroup const&>())),
98 decltype(std::declval<const B&>().IsPolynomial(std::declval<VariableGroup const&>())),
101 decltype(std::declval<B&>().Homogenize(
102 std::declval<VariableGroup const&>(), std::declval<std::shared_ptr<node::Variable> const&>())),
103 decltype(std::declval<const B&>().template EvalInPlace<complex_dbl>(
104 std::declval<Eigen::Ref<Vec<complex_dbl>>>(), std::declval<Vec<complex_dbl> const&>(), std::declval<complex_dbl const&>())),
105 decltype(std::declval<const B&>().template JacobianInPlace<complex_dbl>(
106 std::declval<Eigen::Ref<Mat<complex_dbl>>>(), std::declval<Vec<complex_dbl> const&>(), std::declval<complex_dbl const&>())),
107 decltype(std::declval<const B&>().template TimeDerivInPlace<complex_dbl>(
108 std::declval<Eigen::Ref<Vec<complex_dbl>>>(), std::declval<Vec<complex_dbl> const&>(), std::declval<complex_dbl const&>()))
109>> : std::true_type {};
std::variant< blocks::PolynomialBlock, blocks::ProductsOfLinearsBlock, blocks::LinearFormsBlock, blocks::BlendBlock< System >, blocks::RandomizationBlock< System > > Block
The closed set of evaluation blocks a System can be composed of.
Definition block.hpp:135