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

函数

Result< const RootOfNode * > parse_rootof_request (const std::shared_ptr< SymbolicExpr > &rootof_expr, ComputationContext &context, const std::string &operation)

函数说明

◆ parse_rootof_request()

Result< const RootOfNode * > LMCAS::anonymous_namespace{root_of_identity.cpp}::parse_rootof_request ( const std::shared_ptr< SymbolicExpr > & rootof_expr,
ComputationContext & context,
const std::string & operation )

在文件 root_of_identity.cpp 第 129 行定义.

132 {
133 if (!rootof_expr || !LMCAS::detail::node(rootof_expr)) {
135 CasErrc::InvalidArgument, "RootOf expression cannot be null", operation);
136 }
137 auto root = std::dynamic_pointer_cast<const RootOfNode>(
138 LMCAS::detail::node(rootof_expr));
139 if (!root) {
142 "expression is not a valid RootOf", operation);
143 }
144 auto access = context.consume_steps(1, operation);
145 if (!access) return Result<const RootOfNode*>::failure(access.error());
146 return Result<const RootOfNode*>::success(root.get());
147}
static Result failure(CasErrc code, std::string message, std::string operation={})
static Result success(T value)
const SymbolicNodePtr & node(const ::LMCAS::SymbolicExpr &expression) noexcept
const std::vector< Polynomial< BigInt > > const BigInt ComputationContext & context

引用了 LMCAS::context, LMCAS::Result< T >::failure(), LMCAS::InvalidArgument, LMCAS::detail::node(), parse_rootof_request() , 以及 LMCAS::Result< T >::success().

被这些函数引用 parse_rootof_request().

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