LMCAS
Lamina Computer Algebra System
载入中...
搜索中...
未找到
normalization_utils.hpp 文件参考
#include "internal/symbolic_ast.hpp"
#include "internal/expression_analysis.hpp"
#include "internal/facts_query.hpp"
#include <vector>
#include <map>
#include <algorithm>
normalization_utils.hpp 的引用(Include)关系图:
此图展示该文件被哪些文件直接或间接地引用了:

浏览该文件的源代码.

类

struct  LMCAS::NodeCompare

命名空间

namespace  LMCAS

函数

std::shared_ptr< const NumberNode > LMCAS::add_numbers (const std::shared_ptr< const NumberNode > &a, const std::shared_ptr< const NumberNode > &b)
 两个数值节点相加
bool LMCAS::check_negative_arg (const std::shared_ptr< const SymbolicNode > &argument, std::shared_ptr< const SymbolicNode > &positive, detail::RewriteBudget *budget=nullptr)
Rational LMCAS::exact_number_as_rational (const NumberNode &node)
BigInt LMCAS::get_node_degree_helper (const std::shared_ptr< const SymbolicNode > &node)
 计算 AST 节点的多项式次数
bool LMCAS::get_pi_coeff (const std::shared_ptr< const SymbolicNode > &node, Rational &coefficient)
std::shared_ptr< const SymbolicNode > LMCAS::make_normalized_multiply_node (const std::vector< std::shared_ptr< const SymbolicNode > > &operands, detail::RewriteBudget *budget=nullptr)
std::shared_ptr< const NumberNode > LMCAS::multiply_numbers (const std::shared_ptr< const NumberNode > &a, const std::shared_ptr< const NumberNode > &b)
 两个数值节点相乘
std::shared_ptr< const SymbolicNode > LMCAS::norm_subst_index (const std::shared_ptr< const SymbolicNode > &node, const std::string &index_var, const std::shared_ptr< const SymbolicNode > &value, detail::RewriteBudget *budget=nullptr)
void LMCAS::normalization_append (detail::RewriteBudget *budget, std::size_t &nodes, std::vector< std::shared_ptr< const SymbolicNode > > &children, std::shared_ptr< const SymbolicNode > child)
bool LMCAS::normalization_can_discard (const std::shared_ptr< const SymbolicNode > &node, const FactsQuery &facts, Domain domain, ComputationContext &context)
template<class Parent>
std::size_t LMCAS::normalization_check_arithmetic (detail::RewriteBudget *budget, const std::vector< std::shared_ptr< const SymbolicNode > > &children, std::size_t nodes, bool wrapped=true)
template<class Parent, class... Nodes>
std::size_t LMCAS::normalization_check_arithmetic (detail::RewriteBudget *budget, std::size_t extra_nodes, const std::shared_ptr< const Nodes > &... children)
template<class... Nodes>
void LMCAS::normalization_check_children (detail::RewriteBudget *budget, std::size_t roots, const std::shared_ptr< const Nodes > &... children)
void LMCAS::normalization_check_children (detail::RewriteBudget *budget, std::size_t roots, const std::vector< std::shared_ptr< const SymbolicNode > > &children)
std::size_t LMCAS::normalization_check_count (detail::RewriteBudget *budget, std::size_t rows, std::size_t cols=1, bool wrapped=true)
std::shared_ptr< const NumberNode > LMCAS::normalization_exact_square_root (const NumberNode &number)
bool LMCAS::normalization_factor_less (const std::shared_ptr< const SymbolicNode > &left, const std::shared_ptr< const SymbolicNode > &right)
std::shared_ptr< const SymbolicNode > LMCAS::normalization_imaginary_power (const BigInt &exponent, detail::RewriteBudget *budget=nullptr)
std::shared_ptr< const SymbolicNode > LMCAS::normalization_numeric_function (FunctionNode::FuncType type, const std::shared_ptr< const NumberNode > &number, detail::RewriteBudget *budget=nullptr)
std::shared_ptr< const SymbolicNode > LMCAS::normalization_numeric_power (const std::shared_ptr< const NumberNode > &base, const std::shared_ptr< const NumberNode > &exponent, detail::RewriteBudget *budget=nullptr)
std::shared_ptr< const SymbolicNode > LMCAS::normalization_pi_function (FunctionNode::FuncType type, const Rational &coefficient, detail::RewriteBudget *budget=nullptr)
bool LMCAS::normalization_proved (const Result< Tribool > &result)
bool LMCAS::try_get_integer_value (const std::shared_ptr< const NumberNode > &node, BigInt &value)