LMCAS
Lamina Computer Algebra System
载入中...
搜索中...
未找到
matcher.cpp 文件参考
#include "matcher.hpp"
#include "internal/symbolic_ast.hpp"
#include "internal/expression_analysis.hpp"
#include <algorithm>
#include <type_traits>
matcher.cpp 的引用(Include)关系图:

浏览该文件的源代码.

命名空间

namespace  LMCAS

函数

template<typename Operation>
static std::shared_ptr< const SymbolicNode > LMCAS::combine_operands (std::vector< std::shared_ptr< const SymbolicNode > > operands)
static bool LMCAS::is_wildcard (const std::shared_ptr< const SymbolicNode > &node, const std::unordered_set< std::string > &wildcards, std::string &name_out)
static bool LMCAS::match_commutative_recursive (const std::vector< std::shared_ptr< const SymbolicNode > > &p_ops, const std::vector< std::shared_ptr< const SymbolicNode > > &t_ops, std::vector< bool > &used_t, size_t p_index, const std::unordered_set< std::string > &wildcards, MatchMap &results)
static bool LMCAS::match_function (const FunctionNode &pattern, const FunctionNode &target, const std::unordered_set< std::string > &wildcards, MatchMap &results)
template<typename Operation>
static bool LMCAS::match_operation (const Operation &pattern, const Operation &target, const std::unordered_set< std::string > &wildcards, const char *rest_key, MatchMap &results)
static bool LMCAS::match_recursive (const std::shared_ptr< const SymbolicNode > &p_node, const std::shared_ptr< const SymbolicNode > &t_node, const std::unordered_set< std::string > &wildcards, MatchMap &results)
template<typename Operation>
static void LMCAS::record_remainder (const Operation &target, const std::vector< bool > &used, const char *key, MatchMap &results)
SymbolicExpr LMCAS::wildcard (const std::string &name)