LMCAS
Lamina Computer Algebra System
载入中...
搜索中...
未找到
LMCAS::anonymous_namespace{symbolic_ode.cpp} 命名空间参考

函数

std::shared_ptr< const SymbolicNode > reciprocal_on_regular_region (const std::shared_ptr< const SymbolicNode > &node)

变量

constexpr const char * kSolveLinear2OdeOperation = "solve_linear2_ode"

函数说明

◆ reciprocal_on_regular_region()

std::shared_ptr< const SymbolicNode > LMCAS::anonymous_namespace{symbolic_ode.cpp}::reciprocal_on_regular_region ( const std::shared_ptr< const SymbolicNode > & node)

在文件 symbolic_ode.cpp 第 28 行定义.

29 {
30 if (const auto product = std::dynamic_pointer_cast<const MultiplyNode>(node)) {
31 std::vector<std::shared_ptr<const SymbolicNode>> factors;
32 factors.reserve(product->operands().size());
33 for (const auto& factor : product->operands()) {
34 factors.push_back(reciprocal_on_regular_region(factor));
35 }
36 return detail::make_node<MultiplyNode>(std::move(factors));
37 }
38 if (const auto power = std::dynamic_pointer_cast<const PowerNode>(node)) {
39 BigInt exponent;
41 std::dynamic_pointer_cast<const NumberNode>(power->exponent()), exponent)) {
44 }
45 }
47}
std::shared_ptr< const SymbolicNode > reciprocal_on_regular_region(const std::shared_ptr< const SymbolicNode > &node)
std::shared_ptr< const Node > make_node(Args &&... args)
bool try_get_integer_value(const std::shared_ptr< const NumberNode > &node, BigInt &value)
const ExprPtr & exponent

引用了 LMCAS::exponent, LMCAS::detail::make_node(), reciprocal_on_regular_region() , 以及 LMCAS::try_get_integer_value().

被这些函数引用 reciprocal_on_regular_region().

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

变量说明

◆ kSolveLinear2OdeOperation

const char* LMCAS::anonymous_namespace{symbolic_ode.cpp}::kSolveLinear2OdeOperation = "solve_linear2_ode"
constexpr

在文件 symbolic_ode.cpp 第 23 行定义.