|
LMCAS
Lamina Computer Algebra System
|
#include "solver.hpp"#include "internal/solver_support.hpp"#include "internal/exact_root.hpp"#include "internal/normalization_utils.hpp"#include "solve_strategies.hpp"#include "internal/symbolic_ast.hpp"#include "poly_utils.hpp"#include "internal/expression_analysis.hpp"#include "assumption_context.hpp"#include <iostream>#include <vector>#include <string>#include <map>#include <algorithm>#include <numeric>#include <cmath>#include <set>#include <queue>#include <unordered_map>#include <optional>#include <limits>命名空间 | |
| namespace | LMCAS |
| namespace | LMCAS::anonymous_namespace{solver_assumptions.cpp} |
函数 | |
| static bool | LMCAS::collect_scalar_radical (const SymbolicNode *node, Rational &coefficient, const NumberNode *&radicand) |
| static bool | LMCAS::domain_requires_real (Domain domain) |
| static bool | LMCAS::exact_radical_domain_excludes (const SymbolicNode *node, Domain domain) |
| static bool | LMCAS::exact_rational_domain_excludes (const Rational &value, Domain domain) |
| static const NumberNode * | LMCAS::exact_scalar_number (const SymbolicNode *node) |
| static const NumberNode * | LMCAS::exact_scalar_radicand (const SymbolicNode *node) |
| static bool | LMCAS::anonymous_namespace{solver_assumptions.cpp}::is_integer_value (double v) |
| static bool | LMCAS::numeric_domain_excludes (double value, Domain domain) |
| static bool | LMCAS::numeric_sign_excludes (double value, const AssumptionContext &ctx, const std::string &variable) |
| static Result< bool > | LMCAS::solution_is_excluded (const std::shared_ptr< SymbolicExpr > &solution, Domain domain, const AssumptionContext &ctx, const std::string &variable, ComputationContext &context) |
| AssumptionSolveResult | LMCAS::solve_with_assumptions_checked (const std::shared_ptr< SymbolicExpr > &equation, const std::string &variable, const AssumptionContext *assumptions) |
| AssumptionSolveResult | LMCAS::solve_with_assumptions_checked (const std::shared_ptr< SymbolicExpr > &equation, const std::string &variable, const AssumptionContext *assumptions, ComputationContext &context) |
| static AssumptionSolveResult | LMCAS::solve_with_assumptions_impl (const std::shared_ptr< SymbolicExpr > &equation, const std::string &variable, const AssumptionContext *ctx, ComputationContext &context) |
| static bool | LMCAS::anonymous_namespace{solver_assumptions.cpp}::try_get_numeric_value (const std::shared_ptr< SymbolicExpr > &expr, double &out_value) |
| 从解表达式提取 double 数值。 | |