|
LMCAS
Lamina Computer Algebra System
|
类型定义 | |
| using | PiecewiseResult = Result<PiecewiseIntervalResult> |
函数 | |
| Result< void > | check_arguments (const std::shared_ptr< SymbolicExpr > &expr, const std::string &variable, const std::vector< std::string > ¶meters) |
| PiecewiseResult | checked_piecewise (PiecewiseResult result, detail::RewriteBudget &budget) |
| PiecewiseResult | constant_solution (const std::shared_ptr< SymbolicExpr > &coefficient, InequalityType type) |
| template<typename Node> | |
| Result< void > | exact_operands (const Node &node, const std::string &variable, const std::vector< std::string > ¶meters, ComputationContext &context, std::size_t depth) |
| Result< void > | exact_polynomial_nodes (const detail::SymbolicNodePtr &node, const std::string &variable, const std::vector< std::string > ¶meters, ComputationContext &context, std::size_t depth) |
| PiecewiseResult | inconclusive () |
| Result< Interval > | linear_interval (const std::vector< std::shared_ptr< SymbolicExpr > > &coeffs, InequalityType type, detail::RewriteBudget &budget) |
| PiecewiseResult | nonlinear_solution (const std::vector< std::shared_ptr< SymbolicExpr > > &coeffs, int degree, InequalityType type, ComputationContext &context) |
| PiecewiseResult | quadratic_solution (const std::shared_ptr< SymbolicExpr > &coefficient, InequalityType type, ComputationContext &context) |
| bool | satisfies (int sign, InequalityType type) |
| std::shared_ptr< SymbolicExpr > | sign_condition (const std::shared_ptr< SymbolicExpr > &coefficient, int sign) |
| Result< std::vector< std::shared_ptr< SymbolicExpr > > > | simplify_coefficients (const Polynomial< SymbolicPolyCoeff > &poly, bool &symbolic, detail::RewriteBudget &budget) |
| PiecewiseResult | solved_inequality (const std::shared_ptr< SymbolicExpr > &expr, InequalityType type, const std::string &variable, ComputationContext &context) |
| IntervalUnion | zero_polynomial_solution (InequalityType type) |
变量 | |
| constexpr const char * | kParametricOperation = "solve_parametric_inequality_checked" |
| using LMCAS::anonymous_namespace{inequality_solver_parametric.cpp}::PiecewiseResult = Result<PiecewiseIntervalResult> |
在文件 inequality_solver_parametric.cpp 第 16 行定义.
| Result< void > LMCAS::anonymous_namespace{inequality_solver_parametric.cpp}::check_arguments | ( | const std::shared_ptr< SymbolicExpr > & | expr, |
| const std::string & | variable, | ||
| const std::vector< std::string > & | parameters ) |
在文件 inequality_solver_parametric.cpp 第 181 行定义.
引用了 check_arguments(), LMCAS::Result< T >::failure(), LMCAS::InvalidArgument, kParametricOperation, LMCAS::detail::node(), LMCAS::Result< T >::success() , 以及 LMCAS::variable.
被这些函数引用 check_arguments().
| PiecewiseResult LMCAS::anonymous_namespace{inequality_solver_parametric.cpp}::checked_piecewise | ( | PiecewiseResult | result, |
| detail::RewriteBudget & | budget ) |
在文件 inequality_solver_parametric.cpp 第 18 行定义.
引用了 LMCAS::detail::RewriteBudget::append_size(), checked_piecewise(), LMCAS::detail::RewriteBudget::consume(), LMCAS::interval(), LMCAS::detail::RewriteBudget::measure(), LMCAS::detail::node() , 以及 LMCAS::Result< T >::value().
被这些函数引用 checked_piecewise().
| PiecewiseResult LMCAS::anonymous_namespace{inequality_solver_parametric.cpp}::constant_solution | ( | const std::shared_ptr< SymbolicExpr > & | coefficient, |
| InequalityType | type ) |
在文件 inequality_solver_parametric.cpp 第 150 行定义.
引用了 constant_solution(), satisfies() , 以及 sign_condition().
被这些函数引用 constant_solution() , 以及 nonlinear_solution().
| Result< void > LMCAS::anonymous_namespace{inequality_solver_parametric.cpp}::exact_operands | ( | const Node & | node, |
| const std::string & | variable, | ||
| const std::vector< std::string > & | parameters, | ||
| ComputationContext & | context, | ||
| std::size_t | depth ) |
在文件 inequality_solver_parametric.cpp 第 102 行定义.
引用了 LMCAS::context, LMCAS::depth, exact_operands(), exact_polynomial_nodes(), LMCAS::Result< T >::success() , 以及 LMCAS::variable.
被这些函数引用 exact_operands() , 以及 exact_polynomial_nodes().
| Result< void > LMCAS::anonymous_namespace{inequality_solver_parametric.cpp}::exact_polynomial_nodes | ( | const detail::SymbolicNodePtr & | node, |
| const std::string & | variable, | ||
| const std::vector< std::string > & | parameters, | ||
| ComputationContext & | context, | ||
| std::size_t | depth ) |
在文件 inequality_solver_parametric.cpp 第 68 行定义.
引用了 LMCAS::context, LMCAS::depth, exact_operands(), exact_polynomial_nodes(), LMCAS::detail::exact_rational_value(), LMCAS::exact_small_integer_node(), LMCAS::Result< T >::failure(), LMCAS::Inconclusive, kParametricOperation, LMCAS::ResourceLimit, LMCAS::Result< T >::success() , 以及 LMCAS::variable.
被这些函数引用 exact_operands() , 以及 exact_polynomial_nodes().
| PiecewiseResult LMCAS::anonymous_namespace{inequality_solver_parametric.cpp}::inconclusive | ( | ) |
在文件 inequality_solver_parametric.cpp 第 32 行定义.
引用了 LMCAS::Result< PiecewiseIntervalResult >::failure(), LMCAS::Inconclusive, inconclusive() , 以及 kParametricOperation.
被这些函数引用 inconclusive(), linear_interval() , 以及 nonlinear_solution().
| Result< Interval > LMCAS::anonymous_namespace{inequality_solver_parametric.cpp}::linear_interval | ( | const std::vector< std::shared_ptr< SymbolicExpr > > & | coeffs, |
| InequalityType | type, | ||
| detail::RewriteBudget & | budget ) |
在文件 inequality_solver_parametric.cpp 第 113 行定义.
引用了 LMCAS::ComputationContext::assumptions(), LMCAS::detail::RewriteBudget::context(), LMCAS::detail::exact_rational_value(), LMCAS::Result< T >::failure(), LMCAS::GreaterThan, inconclusive(), LMCAS::LessThan, linear_interval(), LMCAS::detail::make_expression_ptr(), LMCAS::detail::no_facts(), LMCAS::detail::node(), LMCAS::detail::normalize_node() , 以及 satisfies().
被这些函数引用 linear_interval().
| PiecewiseResult LMCAS::anonymous_namespace{inequality_solver_parametric.cpp}::nonlinear_solution | ( | const std::vector< std::shared_ptr< SymbolicExpr > > & | coeffs, |
| int | degree, | ||
| InequalityType | type, | ||
| ComputationContext & | context ) |
在文件 inequality_solver_parametric.cpp 第 173 行定义.
引用了 constant_solution(), LMCAS::context, inconclusive(), nonlinear_solution() , 以及 quadratic_solution().
被这些函数引用 nonlinear_solution().
| PiecewiseResult LMCAS::anonymous_namespace{inequality_solver_parametric.cpp}::quadratic_solution | ( | const std::shared_ptr< SymbolicExpr > & | coefficient, |
| InequalityType | type, | ||
| ComputationContext & | context ) |
在文件 inequality_solver_parametric.cpp 第 162 行定义.
引用了 LMCAS::detail::inequality_support::build_parametric_intervals(), LMCAS::context, quadratic_solution(), sign_condition() , 以及 zero_polynomial_solution().
被这些函数引用 nonlinear_solution() , 以及 quadratic_solution().
| bool LMCAS::anonymous_namespace{inequality_solver_parametric.cpp}::satisfies | ( | int | sign, |
| InequalityType | type ) |
在文件 inequality_solver_parametric.cpp 第 45 行定义.
引用了 LMCAS::GreaterEqual, LMCAS::GreaterThan, LMCAS::LessEqual, LMCAS::LessThan , 以及 satisfies().
被这些函数引用 constant_solution(), linear_interval() , 以及 satisfies().
| std::shared_ptr< SymbolicExpr > LMCAS::anonymous_namespace{inequality_solver_parametric.cpp}::sign_condition | ( | const std::shared_ptr< SymbolicExpr > & | coefficient, |
| int | sign ) |
在文件 inequality_solver_parametric.cpp 第 55 行定义.
引用了 LMCAS::detail::make_expression_ptr(), LMCAS::detail::make_node(), LMCAS::detail::node(), LMCAS::op , 以及 sign_condition().
被这些函数引用 constant_solution(), quadratic_solution() , 以及 sign_condition().
| Result< std::vector< std::shared_ptr< SymbolicExpr > > > LMCAS::anonymous_namespace{inequality_solver_parametric.cpp}::simplify_coefficients | ( | const Polynomial< SymbolicPolyCoeff > & | poly, |
| bool & | symbolic, | ||
| detail::RewriteBudget & | budget ) |
在文件 inequality_solver_parametric.cpp 第 198 行定义.
引用了 LMCAS::detail::RewriteBudget::append_size(), LMCAS::ComputationContext::assumptions(), LMCAS::Polynomial< CoeffType >::coeffs, LMCAS::detail::RewriteBudget::context(), LMCAS::detail::exact_rational_value(), LMCAS::detail::make_expression_ptr(), LMCAS::detail::RewriteBudget::measure(), LMCAS::detail::no_facts(), LMCAS::detail::node(), LMCAS::detail::normalize_node(), simplify_coefficients() , 以及 LMCAS::value.
被这些函数引用 simplify_coefficients().
| PiecewiseResult LMCAS::anonymous_namespace{inequality_solver_parametric.cpp}::solved_inequality | ( | const std::shared_ptr< SymbolicExpr > & | expr, |
| InequalityType | type, | ||
| const std::string & | variable, | ||
| ComputationContext & | context ) |
在文件 inequality_solver_parametric.cpp 第 140 行定义.
引用了 LMCAS::context, LMCAS::Result< PiecewiseIntervalResult >::failure(), solved_inequality() , 以及 LMCAS::variable.
被这些函数引用 solved_inequality().
| IntervalUnion LMCAS::anonymous_namespace{inequality_solver_parametric.cpp}::zero_polynomial_solution | ( | InequalityType | type | ) |
在文件 inequality_solver_parametric.cpp 第 39 行定义.
引用了 LMCAS::GreaterEqual, LMCAS::LessEqual , 以及 zero_polynomial_solution().
被这些函数引用 quadratic_solution() , 以及 zero_polynomial_solution().
|
constexpr |
在文件 inequality_solver_parametric.cpp 第 14 行定义.
被这些函数引用 check_arguments(), exact_polynomial_nodes() , 以及 inconclusive().