|
LMCAS
Lamina Computer Algebra System
|
#include </home/runner/work/docs/docs/LMCAS/src/internal/symbolic_ast/traversal.hpp>
Public 成员函数 | |
| SymbolicNodePtr | rewrite (const SymbolicNodePtr &node) |
| SymbolicVisitor ()=default | |
| SymbolicVisitor (RewriteBudget *budget) noexcept | |
| 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 &) override |
| void | visit (const PiecewiseNode &node) override |
| 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 &) 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 &) override |
Protected 成员函数 | |
| SymbolicNodePtr | current () const noexcept |
| RewriteBudget * | rewrite_budget () const noexcept |
| SymbolicNodePtr | rewrite_child (const SymbolicNodePtr &child, bool &changed) |
| template<class Range> | |
| std::vector< SymbolicNodePtr > | rewrite_children (const Range &children, bool &changed) |
| void | set_result (SymbolicNodePtr result) |
Protected 属性 | |
| int | current_depth = 0 |
静态 Protected 属性 | |
| static constexpr int | MAX_DEPTH = 200 |
Private 属性 | |
| SymbolicNodePtr | current_ |
| SymbolicNodePtr | result_ |
| RewriteBudget * | rewrite_budget_ = nullptr |
在文件 traversal.hpp 第 165 行定义.
|
inlineprotectednoexcept |
在文件 traversal.hpp 第 183 行定义.
引用了 current_.
被这些函数引用 LMCAS::detail::definite::anonymous_namespace{integration_definite_segments.cpp}::SegmentExpression::specialize_absolute(), LMCAS::anonymous_namespace{expression_analysis.cpp}::FreeSubstitution::visit(), LMCAS::anonymous_namespace{expression_analysis.cpp}::FreeSubstitution::visit(), LMCAS::anonymous_namespace{expression_analysis.cpp}::FreeSubstitution::visit(), LMCAS::anonymous_namespace{expression_analysis.cpp}::FreeSubstitution::visit(), LMCAS::anonymous_namespace{expression_analysis.cpp}::FreeSubstitution::visit(), LMCAS::anonymous_namespace{expression_analysis.cpp}::FreeSubstitution::visit(), LMCAS::anonymous_namespace{expression_analysis.cpp}::FreeSubstitution::visit(), LMCAS::anonymous_namespace{expression_analysis.cpp}::FreeSubstitution::visit(), LMCAS::anonymous_namespace{expression_analysis.cpp}::FreeSubstitution::visit(), LMCAS::anonymous_namespace{limit_result.cpp}::SideBranchRewriter::visit(), LMCAS::anonymous_namespace{limit_result.cpp}::SideBranchRewriter::visit(), LMCAS::anonymous_namespace{limit_result.cpp}::SideBranchRewriter::visit(), LMCAS::anonymous_namespace{residual_verification.cpp}::ResidualBranch::visit(), LMCAS::detail::definite::anonymous_namespace{integration_definite_segments.cpp}::RealPrimitiveCandidate::visit(), LMCAS::detail::definite::anonymous_namespace{integration_definite_segments.cpp}::SegmentExpression::visit(), LMCAS::detail::definite::anonymous_namespace{integration_definite_segments.cpp}::SegmentExpression::visit(), LMCAS::detail::definite::anonymous_namespace{integration_definite_segments.cpp}::SegmentExpression::visit(), visit(), visit(), visit(), visit(), visit(), visit(), visit(), visit(), visit(), visit(), visit(), visit(), visit(), visit(), visit(), visit(), visit(), visit(), visit(), visit(), visit(), visit(), visit() , 以及 visit().
|
inline |
在文件 traversal.hpp 第 168 行定义.
引用了 current_, LMCAS::detail::node() , 以及 result_.
被这些函数引用 LMCAS::anonymous_namespace{limit_result.cpp}::limit_one_sided_checked(), LMCAS::anonymous_namespace{residual_verification.cpp}::prove_piecewise_residual(), rewrite_child(), LMCAS::anonymous_namespace{limit_result.cpp}::SideBranchRewriter::visit() , 以及 LMCAS::detail::definite::anonymous_namespace{integration_definite_segments.cpp}::SegmentExpression::visit().
|
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().
|
inlineprotected |
在文件 traversal.hpp 第 186 行定义.
引用了 rewrite().
被这些函数引用 rewrite_children(), LMCAS::anonymous_namespace{expression_analysis.cpp}::FreeSubstitution::rewrite_scoped(), LMCAS::anonymous_namespace{expression_analysis.cpp}::FreeSubstitution::visit(), LMCAS::anonymous_namespace{expression_analysis.cpp}::FreeSubstitution::visit(), LMCAS::anonymous_namespace{expression_analysis.cpp}::FreeSubstitution::visit(), LMCAS::anonymous_namespace{expression_analysis.cpp}::FreeSubstitution::visit(), LMCAS::anonymous_namespace{expression_analysis.cpp}::FreeSubstitution::visit(), LMCAS::anonymous_namespace{expression_analysis.cpp}::FreeSubstitution::visit(), LMCAS::anonymous_namespace{expression_analysis.cpp}::FreeSubstitution::visit(), LMCAS::anonymous_namespace{limit_result.cpp}::SideBranchRewriter::visit(), LMCAS::detail::definite::anonymous_namespace{integration_definite_segments.cpp}::SegmentExpression::visit(), visit(), visit(), visit(), visit(), visit(), visit(), visit(), visit(), visit(), visit(), visit(), visit(), visit(), visit(), visit() , 以及 visit().
|
inlineprotected |
在文件 traversal.hpp 第 193 行定义.
引用了 rewrite_child().
被这些函数引用 LMCAS::anonymous_namespace{limit_result.cpp}::SideBranchRewriter::visit(), LMCAS::detail::definite::anonymous_namespace{integration_definite_segments.cpp}::RealPrimitiveCandidate::visit(), LMCAS::detail::definite::anonymous_namespace{integration_definite_segments.cpp}::SegmentExpression::visit(), visit(), visit(), visit(), visit(), visit() , 以及 visit().
|
inlineprotected |
在文件 traversal.hpp 第 184 行定义.
引用了 result_.
被这些函数引用 LMCAS::anonymous_namespace{limit_result.cpp}::SideBranchRewriter::rewrite_absolute(), LMCAS::detail::definite::anonymous_namespace{integration_definite_segments.cpp}::SegmentExpression::specialize_absolute(), LMCAS::anonymous_namespace{expression_analysis.cpp}::FreeSubstitution::visit(), LMCAS::anonymous_namespace{expression_analysis.cpp}::FreeSubstitution::visit(), LMCAS::anonymous_namespace{expression_analysis.cpp}::FreeSubstitution::visit(), LMCAS::anonymous_namespace{expression_analysis.cpp}::FreeSubstitution::visit(), LMCAS::anonymous_namespace{expression_analysis.cpp}::FreeSubstitution::visit(), LMCAS::anonymous_namespace{expression_analysis.cpp}::FreeSubstitution::visit(), LMCAS::anonymous_namespace{expression_analysis.cpp}::FreeSubstitution::visit(), LMCAS::anonymous_namespace{expression_analysis.cpp}::FreeSubstitution::visit(), LMCAS::anonymous_namespace{expression_analysis.cpp}::FreeSubstitution::visit(), LMCAS::anonymous_namespace{limit_result.cpp}::SideBranchRewriter::visit(), LMCAS::anonymous_namespace{limit_result.cpp}::SideBranchRewriter::visit(), LMCAS::anonymous_namespace{limit_result.cpp}::SideBranchRewriter::visit(), LMCAS::anonymous_namespace{residual_verification.cpp}::ResidualBranch::visit(), LMCAS::detail::definite::anonymous_namespace{integration_definite_segments.cpp}::RealPrimitiveCandidate::visit(), LMCAS::detail::definite::anonymous_namespace{integration_definite_segments.cpp}::SegmentExpression::visit(), LMCAS::detail::definite::anonymous_namespace{integration_definite_segments.cpp}::SegmentExpression::visit(), LMCAS::detail::definite::anonymous_namespace{integration_definite_segments.cpp}::SegmentExpression::visit(), visit(), visit(), visit(), visit(), visit(), visit(), visit(), visit(), visit(), visit(), visit(), visit(), visit(), visit(), visit(), visit(), visit(), visit(), visit(), visit(), visit(), visit(), visit() , 以及 visit().
|
default |
|
inlineexplicitnoexcept |
|
inlineoverridevirtual |
实现了 LMCAS::detail::SymbolicVisitor.
在文件 traversal.hpp 第 205 行定义.
引用了 LMCAS::SymbolicFactory::create_add(), current(), LMCAS::detail::node(), LMCAS::detail::SymbolicVisitor::rewrite_budget(), rewrite_children() , 以及 set_result().
|
inlineoverridevirtual |
实现了 LMCAS::detail::SymbolicVisitor.
在文件 traversal.hpp 第 337 行定义.
引用了 LMCAS::SymbolicFactory::create_complex(), current(), LMCAS::imag, LMCAS::detail::node(), LMCAS::real(), rewrite_child() , 以及 set_result().
|
inlineoverridevirtual |
实现了 LMCAS::detail::SymbolicVisitor.
在文件 traversal.hpp 第 311 行定义.
引用了 current(), LMCAS::detail::make_node(), LMCAS::detail::node(), rewrite_children() , 以及 set_result().
|
inlineoverridevirtual |
实现了 LMCAS::detail::SymbolicVisitor.
在文件 traversal.hpp 第 221 行定义.
引用了 current(), LMCAS::detail::make_node(), LMCAS::detail::node(), rewrite_children() , 以及 set_result().
|
inlineoverridevirtual |
实现了 LMCAS::detail::SymbolicVisitor.
在文件 traversal.hpp 第 343 行定义.
引用了 current(), LMCAS::lower, LMCAS::detail::make_node(), LMCAS::detail::node(), rewrite_child(), set_result() , 以及 LMCAS::upper.
|
inlineoverridevirtual |
实现了 LMCAS::detail::SymbolicVisitor.
在文件 traversal.hpp 第 316 行定义.
引用了 current(), LMCAS::lower, LMCAS::detail::make_node(), LMCAS::detail::node(), rewrite_child(), set_result() , 以及 LMCAS::upper.
|
inlineoverridevirtual |
实现了 LMCAS::detail::SymbolicVisitor.
在文件 traversal.hpp 第 351 行定义.
引用了 current(), LMCAS::detail::make_node(), LMCAS::detail::node(), LMCAS::point, rewrite_child() , 以及 set_result().
|
inlineoverridevirtual |
实现了 LMCAS::detail::SymbolicVisitor.
在文件 traversal.hpp 第 254 行定义.
引用了 current(), LMCAS::detail::make_node(), LMCAS::detail::node(), rewrite_child(), LMCAS::right , 以及 set_result().
|
inlineoverridevirtual |
实现了 LMCAS::detail::SymbolicVisitor.
在文件 traversal.hpp 第 232 行定义.
引用了 current(), LMCAS::detail::make_node(), LMCAS::detail::node(), rewrite_child(), rewrite_children(), set_result() , 以及 LMCAS::value.
|
inlineoverridevirtual |
实现了 LMCAS::detail::SymbolicVisitor.
在文件 traversal.hpp 第 324 行定义.
引用了 current(), LMCAS::element, LMCAS::detail::make_node(), LMCAS::detail::node(), rewrite_child(), LMCAS::set , 以及 set_result().
|
inlineoverridevirtual |
实现了 LMCAS::detail::SymbolicVisitor.
在文件 traversal.hpp 第 210 行定义.
引用了 LMCAS::SymbolicFactory::create_multiply(), current(), LMCAS::detail::node(), LMCAS::detail::SymbolicVisitor::rewrite_budget(), rewrite_children() , 以及 set_result().
|
inlineoverridevirtual |
实现了 LMCAS::detail::SymbolicVisitor.
在文件 traversal.hpp 第 203 行定义.
引用了 current() , 以及 set_result().
|
inlineoverridevirtual |
实现了 LMCAS::detail::SymbolicVisitor.
在文件 traversal.hpp 第 260 行定义.
引用了 current(), LMCAS::detail::make_node(), LMCAS::detail::node(), rewrite_child() , 以及 set_result().
|
inlineoverridevirtual |
实现了 LMCAS::detail::SymbolicVisitor.
在文件 traversal.hpp 第 215 行定义.
引用了 LMCAS::SymbolicFactory::create_power(), current(), LMCAS::exponent, LMCAS::detail::node(), rewrite_child() , 以及 set_result().
|
inlineoverridevirtual |
实现了 LMCAS::detail::SymbolicVisitor.
在文件 traversal.hpp 第 280 行定义.
引用了 current(), LMCAS::lower, LMCAS::detail::make_node(), LMCAS::detail::node(), rewrite_child(), set_result() , 以及 LMCAS::upper.
|
inlineoverridevirtual |
实现了 LMCAS::detail::SymbolicVisitor.
在文件 traversal.hpp 第 296 行定义.
引用了 current(), LMCAS::detail::domain, LMCAS::detail::make_node(), LMCAS::detail::node(), rewrite_child() , 以及 set_result().
|
inlineoverridevirtual |
实现了 LMCAS::detail::SymbolicVisitor.
在文件 traversal.hpp 第 330 行定义.
引用了 current(), LMCAS::detail::make_node(), LMCAS::detail::node(), rewrite_child(), set_result() , 以及 LMCAS::value.
|
inlineoverridevirtual |
实现了 LMCAS::detail::SymbolicVisitor.
在文件 traversal.hpp 第 248 行定义.
引用了 current(), LMCAS::detail::make_node(), LMCAS::detail::node(), rewrite_child(), LMCAS::right , 以及 set_result().
|
inlineoverridevirtual |
实现了 LMCAS::detail::SymbolicVisitor.
在文件 traversal.hpp 第 359 行定义.
引用了 current() , 以及 set_result().
|
inlineoverridevirtual |
实现了 LMCAS::detail::SymbolicVisitor.
在文件 traversal.hpp 第 304 行定义.
引用了 current(), LMCAS::detail::domain, LMCAS::detail::make_node(), LMCAS::detail::node(), rewrite_child() , 以及 set_result().
|
inlineoverridevirtual |
实现了 LMCAS::detail::SymbolicVisitor.
在文件 traversal.hpp 第 272 行定义.
引用了 current(), LMCAS::lower, LMCAS::detail::make_node(), LMCAS::detail::node(), rewrite_child(), set_result() , 以及 LMCAS::upper.
|
inlineoverridevirtual |
实现了 LMCAS::detail::SymbolicVisitor.
在文件 traversal.hpp 第 288 行定义.
引用了 current(), LMCAS::detail::make_node(), LMCAS::detail::node(), rewrite_child(), set_result() , 以及 LMCAS::target.
|
inlineoverridevirtual |
实现了 LMCAS::detail::SymbolicVisitor.
在文件 traversal.hpp 第 226 行定义.
引用了 current(), LMCAS::detail::make_node(), LMCAS::detail::node(), rewrite_children() , 以及 set_result().
|
inlineoverridevirtual |
实现了 LMCAS::detail::SymbolicVisitor.
在文件 traversal.hpp 第 204 行定义.
引用了 current() , 以及 set_result().
|
private |
在文件 traversal.hpp 第 362 行定义.
|
protectedinherited |
|
staticconstexprprotectedinherited |
|
private |
在文件 traversal.hpp 第 363 行定义.
被这些函数引用 rewrite() , 以及 set_result().
|
privateinherited |