LMCAS
Lamina Computer Algebra System
载入中...
搜索中...
未找到
LMCAS::detail::SymbolicVisitor类 参考abstract

#include </home/runner/work/docs/docs/LMCAS/src/internal/symbolic_ast/base.hpp>

类 LMCAS::detail::SymbolicVisitor 继承关系图:
LMCAS::detail::SymbolicVisitor 的协作图:

类

struct  DepthGuard

Public 成员函数

 SymbolicVisitor ()=default
 SymbolicVisitor (RewriteBudget *budget) noexcept
virtual ~SymbolicVisitor ()=default
virtual void visit (const AddNode &node)=0
virtual void visit (const ComplexNode &node)=0
virtual void visit (const FiniteSetNode &node)=0
virtual void visit (const FunctionNode &node)=0
virtual void visit (const IntegralNode &node)=0
virtual void visit (const IntervalNode &node)=0
virtual void visit (const LimitNode &node)=0
virtual void visit (const LogicalNode &node)=0
virtual void visit (const MatrixNode &node)=0
virtual void visit (const MembershipNode &node)=0
virtual void visit (const MultiplyNode &node)=0
virtual void visit (const NumberNode &node)=0
virtual void visit (const PiecewiseNode &node)=0
virtual void visit (const PowerNode &node)=0
virtual void visit (const ProductNode &node)=0
virtual void visit (const QuantifierNode &node)=0
virtual void visit (const QuantityNode &node)=0
virtual void visit (const RelationalNode &node)=0
virtual void visit (const RootOfNode &node)=0
virtual void visit (const SetBuilderNode &node)=0
virtual void visit (const SummationNode &node)=0
virtual void visit (const TransformNode &node)=0
virtual void visit (const UninterpretedFunctionNode &node)=0
virtual void visit (const VariableNode &node)=0

Protected 成员函数

RewriteBudget * rewrite_budget () const noexcept

Protected 属性

int current_depth = 0

静态 Protected 属性

static constexpr int MAX_DEPTH = 200

Private 属性

RewriteBudget * rewrite_budget_ = nullptr

详细描述

在文件 base.hpp 第 216 行定义.

构造及析构函数说明

◆ SymbolicVisitor() [1/2]

LMCAS::detail::SymbolicVisitor::SymbolicVisitor ( )
default

◆ SymbolicVisitor() [2/2]

LMCAS::detail::SymbolicVisitor::SymbolicVisitor ( RewriteBudget * budget)
inlineexplicitnoexcept

在文件 base.hpp 第 226 行定义.

引用了 LMCAS::detail::budget , 以及 rewrite_budget_.

◆ ~SymbolicVisitor()

virtual LMCAS::detail::SymbolicVisitor::~SymbolicVisitor ( )
virtualdefault

成员函数说明

◆ rewrite_budget()

RewriteBudget * LMCAS::detail::SymbolicVisitor::rewrite_budget ( ) const
inlineprotectednoexcept

在文件 base.hpp 第 220 行定义.

220{ return rewrite_budget_; }

引用了 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().

这是这个函数的调用关系图:

◆ visit() [1/24]

◆ visit() [2/24]

◆ visit() [3/24]

◆ visit() [4/24]

◆ visit() [5/24]

◆ visit() [6/24]

◆ visit() [7/24]

◆ visit() [8/24]

◆ visit() [9/24]

◆ visit() [10/24]

◆ visit() [11/24]

◆ visit() [12/24]

virtual void LMCAS::detail::SymbolicVisitor::visit ( const NumberNode & node)
pure virtual

在 LMCAS::anonymous_namespace{expr_serialization.cpp}::Writer, LMCAS::anonymous_namespace{mixed_transcendental_classification.cpp}::TranscendentalDetector, LMCAS::detail::RecursiveSymbolicVisitor, LMCAS::detail::RewriteBudget::Measurement, LMCAS::detail::SymbolicRewriter, LMCAS::DifferentiationVisitor, LMCAS::ExpandVisitor, LMCAS::groebner_detail::PolyBuilder, LMCAS::NormalizationVisitor, LMCAS::RewriteVisitor , 以及 LMCAS::solver_detail::anonymous_namespace{solver_imaginary.cpp}::ContainsImaginaryVisitor 内被实现.

引用了 LMCAS::detail::node().

被这些函数引用 LMCAS::AddNode::accept(), LMCAS::ComplexNode::accept(), LMCAS::FiniteSetNode::accept(), LMCAS::FunctionNode::accept(), LMCAS::IntegralNode::accept(), LMCAS::IntervalNode::accept(), LMCAS::LimitNode::accept(), LMCAS::LogicalNode::accept(), LMCAS::MatrixNode::accept(), LMCAS::MembershipNode::accept(), LMCAS::MultiplyNode::accept(), LMCAS::NumberNode::accept(), LMCAS::PiecewiseNode::accept(), LMCAS::PowerNode::accept(), LMCAS::ProductNode::accept(), LMCAS::QuantifierNode::accept(), LMCAS::QuantityNode::accept(), LMCAS::RelationalNode::accept(), LMCAS::RootOfNode::accept(), LMCAS::SetBuilderNode::accept(), LMCAS::SummationNode::accept(), LMCAS::TransformNode::accept(), LMCAS::UninterpretedFunctionNode::accept() , 以及 LMCAS::VariableNode::accept().

函数调用图:
这是这个函数的调用关系图:

◆ visit() [13/24]

◆ visit() [14/24]

◆ visit() [15/24]

◆ visit() [16/24]

◆ visit() [17/24]

◆ visit() [18/24]

◆ visit() [19/24]

◆ visit() [20/24]

◆ visit() [21/24]

◆ visit() [22/24]

◆ visit() [23/24]

◆ visit() [24/24]

类成员变量说明

◆ current_depth

int LMCAS::detail::SymbolicVisitor::current_depth = 0
protected

◆ MAX_DEPTH

int LMCAS::detail::SymbolicVisitor::MAX_DEPTH = 200
staticconstexprprotected

在文件 base.hpp 第 219 行定义.

被这些函数引用 LMCAS::detail::SymbolicVisitor::DepthGuard::DepthGuard().

◆ rewrite_budget_

RewriteBudget* LMCAS::detail::SymbolicVisitor::rewrite_budget_ = nullptr
private

该类的文档由以下文件生成: