|
LMCAS
Lamina Computer Algebra System
|
Public 成员函数 | |
| RewriteVisitor (const RewriteEngine &e, ComputationContext &ctx) | |
| void | finish_rewrite (std::shared_ptr< const SymbolicNode > node, bool child_changed, bool original_changed) |
| std::shared_ptr< const SymbolicNode > | get_result () const |
| std::shared_ptr< const SymbolicNode > | try_match (std::shared_ptr< const SymbolicNode > node) |
| 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 |
| 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 |
| std::shared_ptr< const SymbolicNode > | visit_child (const std::shared_ptr< const SymbolicNode > &child, bool &child_changed) |
Public 属性 | |
| bool | changed = false |
| ComputationContext & | context |
| const RewriteEngine & | engine |
| 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 属性 | |
| RewriteBudget * | rewrite_budget_ = nullptr |
在文件 rewrite_engine.cpp 第 10 行定义.
|
inline |
|
inline |
在文件 rewrite_engine.cpp 第 61 行定义.
引用了 changed, result , 以及 try_match().
被这些函数引用 visit(), visit(), visit(), visit(), visit(), visit(), visit(), visit(), visit(), visit(), visit(), visit(), visit(), 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().
|
inline |
在文件 rewrite_engine.cpp 第 22 行定义.
引用了 LMCAS::bindings, changed, context, engine, LMCAS::detail::expression_from_node() , 以及 LMCAS::detail::node().
被这些函数引用 finish_rewrite(), visit(), visit(), visit(), visit(), visit() , 以及 visit().
|
inlineoverridevirtual |
实现了 LMCAS::detail::SymbolicVisitor.
在文件 rewrite_engine.cpp 第 81 行定义.
引用了 changed, LMCAS::SymbolicFactory::create_add(), LMCAS::detail::make_node(), LMCAS::op, result , 以及 try_match().
|
inlineoverridevirtual |
实现了 LMCAS::detail::SymbolicVisitor.
在文件 rewrite_engine.cpp 第 306 行定义.
引用了 changed, LMCAS::SymbolicFactory::create_complex(), finish_rewrite(), LMCAS::imag, LMCAS::real() , 以及 visit_child().
|
inlineoverridevirtual |
实现了 LMCAS::detail::SymbolicVisitor.
在文件 rewrite_engine.cpp 第 314 行定义.
引用了 changed, LMCAS::element, finish_rewrite(), LMCAS::detail::make_node() , 以及 visit_child().
|
inlineoverridevirtual |
实现了 LMCAS::detail::SymbolicVisitor.
在文件 rewrite_engine.cpp 第 170 行定义.
引用了 changed, LMCAS::detail::make_node(), result , 以及 try_match().
|
inlineoverridevirtual |
实现了 LMCAS::detail::SymbolicVisitor.
在文件 rewrite_engine.cpp 第 361 行定义.
引用了 changed, finish_rewrite(), LMCAS::lower, LMCAS::detail::make_node(), LMCAS::upper , 以及 visit_child().
|
inlineoverridevirtual |
实现了 LMCAS::detail::SymbolicVisitor.
在文件 rewrite_engine.cpp 第 324 行定义.
引用了 changed, finish_rewrite(), LMCAS::lower, LMCAS::detail::make_node(), LMCAS::upper , 以及 visit_child().
|
inlineoverridevirtual |
实现了 LMCAS::detail::SymbolicVisitor.
在文件 rewrite_engine.cpp 第 373 行定义.
引用了 changed, finish_rewrite(), LMCAS::detail::make_node(), LMCAS::point , 以及 visit_child().
|
inlineoverridevirtual |
实现了 LMCAS::detail::SymbolicVisitor.
在文件 rewrite_engine.cpp 第 230 行定义.
引用了 changed, finish_rewrite(), LMCAS::detail::make_node(), LMCAS::right , 以及 visit_child().
|
inlineoverridevirtual |
实现了 LMCAS::detail::SymbolicVisitor.
在文件 rewrite_engine.cpp 第 196 行定义.
引用了 changed, finish_rewrite(), LMCAS::detail::make_node() , 以及 visit_child().
|
inlineoverridevirtual |
实现了 LMCAS::detail::SymbolicVisitor.
在文件 rewrite_engine.cpp 第 333 行定义.
引用了 changed, LMCAS::element, finish_rewrite(), LMCAS::detail::make_node(), LMCAS::set , 以及 visit_child().
|
inlineoverridevirtual |
实现了 LMCAS::detail::SymbolicVisitor.
在文件 rewrite_engine.cpp 第 114 行定义.
引用了 changed, LMCAS::SymbolicFactory::create_multiply(), LMCAS::detail::make_node(), LMCAS::op, result , 以及 try_match().
|
inlineoverridevirtual |
实现了 LMCAS::detail::SymbolicVisitor.
在文件 rewrite_engine.cpp 第 72 行定义.
引用了 result , 以及 try_match().
|
inlineoverridevirtual |
实现了 LMCAS::detail::SymbolicVisitor.
在文件 rewrite_engine.cpp 第 240 行定义.
引用了 changed, finish_rewrite(), LMCAS::detail::make_node() , 以及 visit_child().
|
inlineoverridevirtual |
实现了 LMCAS::detail::SymbolicVisitor.
在文件 rewrite_engine.cpp 第 145 行定义.
引用了 changed, LMCAS::detail::make_node(), result , 以及 try_match().
|
inlineoverridevirtual |
实现了 LMCAS::detail::SymbolicVisitor.
在文件 rewrite_engine.cpp 第 266 行定义.
引用了 changed, finish_rewrite(), LMCAS::lower, LMCAS::detail::make_node(), LMCAS::upper , 以及 visit_child().
|
inlineoverridevirtual |
实现了 LMCAS::detail::SymbolicVisitor.
在文件 rewrite_engine.cpp 第 286 行定义.
引用了 changed, LMCAS::domain, finish_rewrite(), LMCAS::detail::make_node() , 以及 visit_child().
|
inlineoverridevirtual |
实现了 LMCAS::detail::SymbolicVisitor.
在文件 rewrite_engine.cpp 第 353 行定义.
引用了 changed, finish_rewrite(), LMCAS::detail::make_node(), LMCAS::value , 以及 visit_child().
|
inlineoverridevirtual |
实现了 LMCAS::detail::SymbolicVisitor.
在文件 rewrite_engine.cpp 第 221 行定义.
引用了 changed, finish_rewrite(), LMCAS::detail::make_node(), LMCAS::right , 以及 visit_child().
|
inlineoverridevirtual |
实现了 LMCAS::detail::SymbolicVisitor.
在文件 rewrite_engine.cpp 第 382 行定义.
引用了 changed , 以及 finish_rewrite().
|
inlineoverridevirtual |
实现了 LMCAS::detail::SymbolicVisitor.
在文件 rewrite_engine.cpp 第 296 行定义.
引用了 changed, LMCAS::domain, finish_rewrite(), LMCAS::detail::make_node() , 以及 visit_child().
|
inlineoverridevirtual |
实现了 LMCAS::detail::SymbolicVisitor.
在文件 rewrite_engine.cpp 第 256 行定义.
引用了 changed, finish_rewrite(), LMCAS::lower, LMCAS::detail::make_node(), LMCAS::upper , 以及 visit_child().
|
inlineoverridevirtual |
实现了 LMCAS::detail::SymbolicVisitor.
在文件 rewrite_engine.cpp 第 276 行定义.
引用了 changed, finish_rewrite(), LMCAS::detail::make_node(), LMCAS::target , 以及 visit_child().
|
inlineoverridevirtual |
实现了 LMCAS::detail::SymbolicVisitor.
在文件 rewrite_engine.cpp 第 341 行定义.
引用了 changed, finish_rewrite(), LMCAS::detail::make_node() , 以及 visit_child().
|
inlineoverridevirtual |
实现了 LMCAS::detail::SymbolicVisitor.
在文件 rewrite_engine.cpp 第 77 行定义.
引用了 result , 以及 try_match().
|
inline |
在文件 rewrite_engine.cpp 第 48 行定义.
被这些函数引用 visit(), visit(), visit(), visit(), visit(), visit(), visit(), visit(), visit(), visit(), visit(), visit(), visit(), visit(), visit(), visit() , 以及 visit().
| bool LMCAS::RewriteVisitor::changed = false |
| ComputationContext& LMCAS::RewriteVisitor::context |
在文件 rewrite_engine.cpp 第 13 行定义.
被这些函数引用 RewriteVisitor() , 以及 try_match().
|
protectedinherited |
| const RewriteEngine& LMCAS::RewriteVisitor::engine |
在文件 rewrite_engine.cpp 第 12 行定义.
被这些函数引用 RewriteVisitor() , 以及 try_match().
|
staticconstexprprotectedinherited |
| std::shared_ptr<const SymbolicNode> LMCAS::RewriteVisitor::result |
在文件 rewrite_engine.cpp 第 14 行定义.
被这些函数引用 finish_rewrite(), get_result(), visit(), visit(), visit(), visit(), visit(), visit() , 以及 visit_child().
|
privateinherited |