7using Node = std::shared_ptr<const SymbolicNode>;
10inline constexpr const char*
operation =
"integrate.definite";
23 "interval certificate is unavailable",
operation);
29 "ordinary improper integral does not exist",
30 "integrate.definite.convergence");
54 const std::string& var,
const SymbolicExpr&
lower,
const SymbolicExpr&
upper,
57 const std::string& var,
const SymbolicExpr&
lower,
const SymbolicExpr&
upper,
60 const std::string& var,
const SymbolicExpr&
lower,
const SymbolicExpr&
upper,
63 const SymbolicExpr& primitive,
const std::string& var,
static Result failure(CasErrc code, std::string message, std::string operation={})
Result< SymbolicExpr > segment_expression_checked(const SymbolicExpr &expression, const std::string &var, const SymbolicExpr &lower, const SymbolicExpr &upper, ComputationContext &context)
Result< SymbolicExpr > definite_segment_checked(const SymbolicExpr &original, const SymbolicExpr &primitive, const std::string &var, const SymbolicExpr &a, const SymbolicExpr &b, ComputationContext &context)
Result< int > rational_divergence_checked(RationalFunction &rational, const Boundary &a, const Boundary &b, ComputationContext &context)
Result< std::optional< RationalFunction > > RationalResult
Result< Poly > product_checked(const Poly &a, const Poly &b, ComputationContext &context)
Result< Tribool > certify_continuity_checked(const SymbolicExpr &expression, const std::string &var, const SymbolicExpr &lower, const SymbolicExpr &upper, ComputationContext &context)
std::optional< Rational > exact_number(const Node &node)
Result< std::vector< SymbolicExpr > > definite_partition_checked(const SymbolicExpr &original, const std::string &var, const SymbolicExpr &lower, const SymbolicExpr &upper, ComputationContext &context)
Result< int > compare_boundaries(const Boundary &a, const Boundary &b, ComputationContext &context)
std::shared_ptr< const SymbolicNode > Node
Polynomial< Rational > Poly
ExactRealAlgebraic Algebraic
bool is_undecided(const CasError &error)
Result< std::optional< int > > polynomial_sign_checked(const Poly &polynomial, const Boundary &a, const Boundary &b, ComputationContext &context)
Result< Boundary > boundary_checked(const SymbolicExpr &expression, ComputationContext &context)
RationalResult rational_checked(const Node &node, const std::string &var, ComputationContext &context)
bool needs_segment_expression(const Node &node)
Node absolute_argument(const SymbolicNode &node)
识别绝对值节点及公共接口的平方开根表示。
Result< std::vector< Algebraic > > roots_checked(const Poly &polynomial, ComputationContext &context)
constexpr const char * operation
Result< AssumptionContext > real_assumptions(const std::string &var, ComputationContext &context)
const SymbolicNodePtr & node(const ::LMCAS::SymbolicExpr &expression) noexcept
std::shared_ptr< const SymbolicNode > Node
std::size_t std::size_t ComputationContext & context
__attribute__((visibility("default"))) ExprResult function(const std __attribute__((visibility("default"))) ExprResult finite_set(std ExprPtr upper
__attribute__((visibility("default"))) VectorCalculusExprResult curve_integral_scalar_checked(const std __attribute__((visibility("default"))) VectorCalculusExprResult curve_integral_scalar_checked(const std __attribute__((visibility("default"))) std const VectorField const std::string const std::shared_ptr< SymbolicExpr > & a
int infinity_sign(const SymbolicExpr &expression, ComputationContext &context)
ExprResult rational(const Rational &value)