LMCAS
Lamina Computer Algebra System
载入中...
搜索中...
未找到
numeric_evaluation_support.hpp
浏览该文件的文档.
1#pragma once
2
5#include <array>
6
7namespace LMCAS::detail {
8
9Result<ApproxReal> numeric_failure(CasErrc code, std::string message);
10Result<ApproxReal> numeric_approximation(double value);
11Result<ApproxReal> evaluate_unary_numeric(FunctionNode::FuncType type, double value);
12
36
37}
加法节点,表示多个操作数的求和。
函数节点,表示数学函数调用(三角函数、对数、特殊函数等)。
乘法节点,表示多个操作数的乘积。
幂运算节点,表示 base^exponent。
变量节点,表示一个符号变量。
Result< ApproxReal > variable(const VariableNode &node)
Result< ApproxReal > sum(const AddNode &node)
Result< ApproxReal > norm(const std::array< const PowerNode *, 2 > &squares)
Result< ApproxReal > number(const NumberNode &node)
Result< ApproxReal > function(const FunctionNode &node)
Result< ApproxReal > extremum(const FunctionNode &node)
Result< ApproxReal > root(const std::shared_ptr< const SymbolicNode > &node)
Result< ApproxReal > atan2(const FunctionNode &node)
Result< ApproxReal > square_root(const NumberNode &node)
Result< ApproxReal > evaluate(const std::shared_ptr< const SymbolicNode > &node)
Result< ApproxReal > power(const PowerNode &node)
Result< ApproxReal > product(const MultiplyNode &node)
NumericEvaluator(const NumericBindings &bindings, ComputationContext &context)
多元 Hensel 提升(单变量步)
const SymbolicNodePtr & node(const ::LMCAS::SymbolicExpr &expression) noexcept
Result< ApproxReal > numeric_failure(CasErrc code, std::string message)
Result< ApproxReal > evaluate_unary_numeric(FunctionNode::FuncType type, double value)
Result< ApproxReal > numeric_approximation(double value)
std::size_t std::size_t ComputationContext & context
const std::vector< Binding > & bindings
const std::string const ExprPtr & value
std::unordered_map< std::string, double > NumericBindings
内部 AST 定义。