|
LMCAS
Lamina Computer Algebra System
|
#include </home/runner/work/docs/docs/LMCAS/src/internal/visitors/expand_visitor.hpp>
Public 成员函数 | |
| ExpandVisitor (detail::RewriteBudget &budget) | |
| std::shared_ptr< const SymbolicNode > | get_result () const |
| void | visit (const AddNode &node) override |
| void | visit (const ComplexNode &node) override |
| void | visit (const FiniteSetNode &node) override |
| void | visit (const FunctionNode &node) override |
| void | visit (const IntegralNode &node) override |
| void | visit (const IntervalNode &node) override |
| void | visit (const LimitNode &node) override |
| void | visit (const LogicalNode &node) override |
| void | visit (const MatrixNode &node) override |
| void | visit (const MembershipNode &node) override |
| void | visit (const MultiplyNode &node) override |
| void | visit (const NumberNode &node) override |
| void | visit (const PiecewiseNode &node) override |
| LMCAS_API void | visit (const PowerNode &node) override |
| void | visit (const ProductNode &node) override |
| void | visit (const QuantifierNode &node) override |
| void | visit (const QuantityNode &node) override |
| void | visit (const RelationalNode &node) override |
| void | visit (const RootOfNode &node) override |
| void | visit (const SetBuilderNode &node) override |
| void | visit (const SummationNode &node) override |
| void | visit (const TransformNode &node) override |
| void | visit (const UninterpretedFunctionNode &node) override |
| void | visit (const VariableNode &node) override |
Public 属性 | |
| std::shared_ptr< const SymbolicNode > | result |
| 展开结果节点。 | |
Protected 成员函数 | |
| RewriteBudget * | rewrite_budget () const noexcept |
Protected 属性 | |
| int | current_depth = 0 |
静态 Protected 属性 | |
| static constexpr int | MAX_DEPTH = 200 |
Private 成员函数 | |
| void | append_child (std::size_t &size, const std::shared_ptr< const SymbolicNode > &child) const |
| void | check_child_count (std::size_t count, std::size_t roots=1) const |
| std::shared_ptr< const SymbolicNode > | expand_child (const std::shared_ptr< const SymbolicNode > &child, std::size_t &size) |
| std::vector< std::shared_ptr< const SymbolicNode > > | expand_children (const std::vector< std::shared_ptr< const SymbolicNode > > &children, std::size_t &size) |
| void | set_result (std::shared_ptr< const SymbolicNode > candidate) |
| void | set_result (std::shared_ptr< const SymbolicNode > candidate, std::size_t size) |
Private 属性 | |
| RewriteBudget * | rewrite_budget_ = nullptr |
在文件 expand_visitor.hpp 第 12 行定义.
|
inlineexplicit |
在文件 expand_visitor.hpp 第 16 行定义.
引用了 LMCAS::detail::SymbolicVisitor::SymbolicVisitor() , 以及 result.
|
inlineprivate |
在文件 expand_visitor.hpp 第 236 行定义.
引用了 LMCAS::detail::RewriteBudget::append_size(), LMCAS::detail::RewriteBudget::measure() , 以及 LMCAS::detail::SymbolicVisitor::rewrite_budget().
被这些函数引用 expand_child() , 以及 visit().
|
inlineprivate |
在文件 expand_visitor.hpp 第 230 行定义.
引用了 LMCAS::detail::RewriteBudget::append_size(), LMCAS::detail::SymbolicVisitor::rewrite_budget() , 以及 LMCAS::roots().
被这些函数引用 expand_children(), visit(), visit(), visit() , 以及 visit().
|
inlineprivate |
在文件 expand_visitor.hpp 第 243 行定义.
引用了 append_child() , 以及 result.
被这些函数引用 expand_children(), visit(), visit(), visit(), visit(), visit(), visit(), visit(), visit(), visit(), visit(), visit(), visit(), visit(), visit() , 以及 visit().
|
inlineprivate |
在文件 expand_visitor.hpp 第 250 行定义.
引用了 check_child_count() , 以及 expand_child().
被这些函数引用 visit(), visit(), visit(), visit() , 以及 visit().
|
inline |
|
inlineprotectednoexceptinherited |
引用了 rewrite_budget_.
被这些函数引用 LMCAS::ExpandVisitor::append_child(), LMCAS::DifferentiationVisitor::append_result(), LMCAS::ExpandVisitor::check_child_count(), LMCAS::NormalizationVisitor::collect_expanded_product(), LMCAS::NormalizationVisitor::collect_product(), LMCAS::NormalizationVisitor::collect_sum(), LMCAS::DifferentiationVisitor::differentiate_atan2(), LMCAS::NormalizationVisitor::distribute_power(), LMCAS::NormalizationVisitor::distribute_product(), LMCAS::NormalizationVisitor::expand_complex_product(), LMCAS::NormalizationVisitor::expand_product(), LMCAS::NormalizationVisitor::extract_term_coefficient(), LMCAS::NormalizationVisitor::finish_squared_norm(), LMCAS::NormalizationVisitor::fuse_matrix_product(), LMCAS::NormalizationVisitor::matrix_product_element(), LMCAS::NormalizationVisitor::merge_complex_terms(), LMCAS::NormalizationVisitor::normalize_bound_body(), LMCAS::NormalizationVisitor::normalize_function_parity(), LMCAS::NormalizationVisitor::normalize_logarithm(), LMCAS::NormalizationVisitor::normalize_matrix_product(), LMCAS::NormalizationVisitor::normalize_matrix_sum(), LMCAS::NormalizationVisitor::normalize_natural_logarithm(), LMCAS::NormalizationVisitor::normalize_nested_imaginary_power(), LMCAS::NormalizationVisitor::normalize_nested_power(), LMCAS::NormalizationVisitor::normalize_power_identity(), LMCAS::NormalizationVisitor::normalize_unary_function(), LMCAS::anonymous_namespace{expression_analysis.cpp}::FreeSubstitution::rewrite_scoped(), LMCAS::NormalizationVisitor::scale_matrix(), LMCAS::DifferentiationVisitor::set_result(), LMCAS::ExpandVisitor::set_result(), LMCAS::ExpandVisitor::set_result(), LMCAS::NormalizationVisitor::set_result(), LMCAS::NormalizationVisitor::simplify_assumed_absolute(), LMCAS::NormalizationVisitor::simplify_assumed_square_root(), LMCAS::NormalizationVisitor::try_normalize_squared_norm(), LMCAS::groebner_detail::PolyBuilder::use_numeric_function(), LMCAS::detail::SymbolicRewriter::visit(), LMCAS::detail::SymbolicRewriter::visit(), LMCAS::DifferentiationVisitor::visit(), LMCAS::DifferentiationVisitor::visit(), LMCAS::DifferentiationVisitor::visit(), LMCAS::DifferentiationVisitor::visit(), LMCAS::DifferentiationVisitor::visit(), LMCAS::DifferentiationVisitor::visit(), LMCAS::DifferentiationVisitor::visit(), LMCAS::ExpandVisitor::visit(), LMCAS::ExpandVisitor::visit(), LMCAS::ExpandVisitor::visit(), LMCAS::ExpandVisitor::visit(), LMCAS::ExpandVisitor::visit(), LMCAS::groebner_detail::PolyBuilder::visit(), LMCAS::groebner_detail::PolyBuilder::visit(), LMCAS::groebner_detail::PolyBuilder::visit(), LMCAS::NormalizationVisitor::visit(), LMCAS::NormalizationVisitor::visit(), LMCAS::NormalizationVisitor::visit(), LMCAS::NormalizationVisitor::visit(), LMCAS::NormalizationVisitor::visit(), LMCAS::NormalizationVisitor::visit(), LMCAS::NormalizationVisitor::visit(), LMCAS::NormalizationVisitor::visit(), LMCAS::NormalizationVisitor::visit(), LMCAS::NormalizationVisitor::visit(), LMCAS::NormalizationVisitor::visit(), LMCAS::NormalizationVisitor::visit(), LMCAS::NormalizationVisitor::visit(), LMCAS::NormalizationVisitor::visit(), LMCAS::NormalizationVisitor::visit(), LMCAS::NormalizationVisitor::visit(), LMCAS::NormalizationVisitor::visit(), LMCAS::NormalizationVisitor::visit(), LMCAS::NormalizationVisitor::visit(), LMCAS::NormalizationVisitor::visit(), LMCAS::NormalizationVisitor::visit(), LMCAS::NormalizationVisitor::visit(), LMCAS::NormalizationVisitor::visit() , 以及 LMCAS::NormalizationVisitor::visit().
|
inlineprivate |
在文件 expand_visitor.hpp 第 269 行定义.
引用了 LMCAS::detail::RewriteBudget::measure_result(), LMCAS::detail::SymbolicVisitor::rewrite_budget() , 以及 set_result().
|
inlineprivate |
在文件 expand_visitor.hpp 第 262 行定义.
引用了 LMCAS::detail::RewriteBudget::require_nodes(), result , 以及 LMCAS::detail::SymbolicVisitor::rewrite_budget().
被这些函数引用 set_result(), visit(), visit(), visit(), visit(), visit(), visit(), visit(), visit(), visit(), visit(), visit(), visit(), visit(), visit(), visit(), visit(), visit(), visit(), visit(), visit(), visit(), visit(), visit() , 以及 visit().
|
inlineoverridevirtual |
实现了 LMCAS::detail::SymbolicVisitor.
在文件 expand_visitor.hpp 第 29 行定义.
引用了 expand_children(), LMCAS::detail::make_node(), LMCAS::normalization_check_arithmetic(), LMCAS::detail::SymbolicVisitor::rewrite_budget() , 以及 set_result().
|
inlineoverridevirtual |
实现了 LMCAS::detail::SymbolicVisitor.
在文件 expand_visitor.hpp 第 209 行定义.
引用了 LMCAS::SymbolicFactory::create_complex(), expand_child() , 以及 set_result().
|
inlineoverridevirtual |
实现了 LMCAS::detail::SymbolicVisitor.
在文件 expand_visitor.hpp 第 181 行定义.
引用了 expand_children(), LMCAS::detail::make_node() , 以及 set_result().
|
inlineoverridevirtual |
实现了 LMCAS::detail::SymbolicVisitor.
在文件 expand_visitor.hpp 第 53 行定义.
引用了 expand_children(), LMCAS::detail::make_node() , 以及 set_result().
|
inlineoverridevirtual |
实现了 LMCAS::detail::SymbolicVisitor.
在文件 expand_visitor.hpp 第 88 行定义.
引用了 expand_child(), LMCAS::lower, LMCAS::detail::make_node(), set_result() , 以及 LMCAS::upper.
|
inlineoverridevirtual |
实现了 LMCAS::detail::SymbolicVisitor.
在文件 expand_visitor.hpp 第 187 行定义.
引用了 expand_child(), LMCAS::lower, LMCAS::detail::make_node(), set_result() , 以及 LMCAS::upper.
|
inlineoverridevirtual |
实现了 LMCAS::detail::SymbolicVisitor.
在文件 expand_visitor.hpp 第 215 行定义.
引用了 expand_child(), LMCAS::detail::make_node(), LMCAS::point , 以及 set_result().
|
inlineoverridevirtual |
实现了 LMCAS::detail::SymbolicVisitor.
在文件 expand_visitor.hpp 第 108 行定义.
引用了 expand_child(), LMCAS::detail::make_node() , 以及 set_result().
|
inlineoverridevirtual |
实现了 LMCAS::detail::SymbolicVisitor.
在文件 expand_visitor.hpp 第 65 行定义.
引用了 append_child(), check_child_count(), LMCAS::element, LMCAS::detail::make_node(), LMCAS::detail::SymbolicVisitor::rewrite_budget() , 以及 set_result().
|
inlineoverridevirtual |
实现了 LMCAS::detail::SymbolicVisitor.
在文件 expand_visitor.hpp 第 195 行定义.
引用了 LMCAS::element, expand_child(), LMCAS::detail::make_node(), LMCAS::set , 以及 set_result().
|
inlineoverridevirtual |
实现了 LMCAS::detail::SymbolicVisitor.
在文件 expand_visitor.hpp 第 36 行定义.
引用了 expand_children(), LMCAS::NormalizationVisitor::expand_product(), LMCAS::detail::make_node(), LMCAS::detail::no_facts(), LMCAS::Real, result, LMCAS::detail::SymbolicVisitor::rewrite_budget() , 以及 set_result().
|
inlineoverridevirtual |
实现了 LMCAS::detail::SymbolicVisitor.
在文件 expand_visitor.hpp 第 20 行定义.
引用了 check_child_count() , 以及 set_result().
|
inlineoverridevirtual |
实现了 LMCAS::detail::SymbolicVisitor.
在文件 expand_visitor.hpp 第 118 行定义.
引用了 LMCAS::detail::RewriteBudget::append_size(), expand_child(), LMCAS::detail::make_node(), LMCAS::detail::SymbolicVisitor::rewrite_budget() , 以及 set_result().
|
overridevirtual |
实现了 LMCAS::detail::SymbolicVisitor.
在文件 expand_visitor.cpp 第 6 行定义.
引用了 LMCAS::Complex, LMCAS::context, LMCAS::detail::RewriteBudget::context(), expand_child(), LMCAS::NormalizationVisitor::expand_product(), LMCAS::exponent, LMCAS::detail::make_node(), LMCAS::detail::no_facts(), LMCAS::normalization_can_discard(), LMCAS::normalization_proved(), LMCAS::detail::query_nonzero_value(), LMCAS::Real, result, LMCAS::detail::SymbolicVisitor::rewrite_budget(), set_result() , 以及 LMCAS::try_get_integer_value().
|
inlineoverridevirtual |
实现了 LMCAS::detail::SymbolicVisitor.
在文件 expand_visitor.hpp 第 148 行定义.
引用了 expand_child(), LMCAS::lower, LMCAS::detail::make_node(), set_result() , 以及 LMCAS::upper.
|
inlineoverridevirtual |
实现了 LMCAS::detail::SymbolicVisitor.
在文件 expand_visitor.hpp 第 165 行定义.
引用了 LMCAS::domain, expand_child(), LMCAS::detail::make_node() , 以及 set_result().
|
inlineoverridevirtual |
实现了 LMCAS::detail::SymbolicVisitor.
在文件 expand_visitor.hpp 第 202 行定义.
引用了 expand_child(), LMCAS::detail::make_node(), set_result() , 以及 LMCAS::value.
|
inlineoverridevirtual |
实现了 LMCAS::detail::SymbolicVisitor.
在文件 expand_visitor.hpp 第 101 行定义.
引用了 expand_child(), LMCAS::detail::make_node() , 以及 set_result().
|
inlineoverridevirtual |
实现了 LMCAS::detail::SymbolicVisitor.
在文件 expand_visitor.hpp 第 223 行定义.
引用了 check_child_count() , 以及 set_result().
|
inlineoverridevirtual |
实现了 LMCAS::detail::SymbolicVisitor.
在文件 expand_visitor.hpp 第 173 行定义.
引用了 LMCAS::domain, expand_child(), LMCAS::detail::make_node() , 以及 set_result().
|
inlineoverridevirtual |
实现了 LMCAS::detail::SymbolicVisitor.
在文件 expand_visitor.hpp 第 139 行定义.
引用了 expand_child(), LMCAS::lower, LMCAS::detail::make_node(), set_result() , 以及 LMCAS::upper.
|
inlineoverridevirtual |
实现了 LMCAS::detail::SymbolicVisitor.
在文件 expand_visitor.hpp 第 157 行定义.
引用了 expand_child(), LMCAS::detail::make_node(), set_result() , 以及 LMCAS::target.
|
inlineoverridevirtual |
实现了 LMCAS::detail::SymbolicVisitor.
在文件 expand_visitor.hpp 第 58 行定义.
引用了 expand_children(), LMCAS::detail::make_node() , 以及 set_result().
|
inlineoverridevirtual |
实现了 LMCAS::detail::SymbolicVisitor.
在文件 expand_visitor.hpp 第 24 行定义.
引用了 check_child_count() , 以及 set_result().
|
protectedinherited |
|
staticconstexprprotectedinherited |
| std::shared_ptr<const SymbolicNode> LMCAS::ExpandVisitor::result |
展开结果节点。
在文件 expand_visitor.hpp 第 14 行定义.
被这些函数引用 ExpandVisitor(), expand_child(), get_result(), set_result(), visit() , 以及 visit().
|
privateinherited |