|
LMCAS
Lamina Computer Algebra System
|
#include "matcher.hpp"#include "internal/symbolic_ast.hpp"#include "internal/expression_analysis.hpp"#include <algorithm>#include <type_traits>命名空间 | |
| 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) |