LMCAS
Lamina Computer Algebra System
载入中...
搜索中...
未找到
symbolic_set.hpp
浏览该文件的文档.
1#pragma once
2
3#include <memory>
4#include <vector>
5
7#include "symbolic.hpp"
8
9namespace LMCAS {
10
12
13/** Constructs an immutable finite set with structural deduplication. */
15 std::vector<std::shared_ptr<SymbolicExpr>> elements,
17
18/** Constructs a real interval. Endpoint ordering is validated when decidable. */
20 const std::shared_ptr<SymbolicExpr>& lower,
21 const std::shared_ptr<SymbolicExpr>& upper,
22 bool lower_closed,
23 bool upper_closed,
25
26/** Constructs and simplifies a membership proposition when membership is decidable. */
28 const std::shared_ptr<SymbolicExpr>& element,
29 const std::shared_ptr<SymbolicExpr>& set,
31
33 const SymbolicExpr& lhs, const SymbolicExpr& rhs,
36 const SymbolicExpr& lhs, const SymbolicExpr& rhs,
39 const SymbolicExpr& lhs, const SymbolicExpr& rhs,
42 const SymbolicExpr& lhs, const SymbolicExpr& rhs,
44
45} // namespace LMCAS
#define LMCAS_API
SymbolicSetResult make_membership(const std::shared_ptr< SymbolicExpr > &element, const std::shared_ptr< SymbolicExpr > &set, ComputationContext &context)
const ExprPtr & element
__attribute__((visibility("default"))) ExprResult function(const std __attribute__((visibility("default"))) ExprResult finite_set(std ExprPtr upper
SymbolicSetResult make_interval(const std::shared_ptr< SymbolicExpr > &lower, const std::shared_ptr< SymbolicExpr > &upper, bool lower_closed, bool upper_closed, ComputationContext &context)
const std::vector< Polynomial< BigInt > > const BigInt ComputationContext & context
const ExprPtr & lower
const ExprPtr & set
SymbolicSetResult finite_set_difference(const SymbolicExpr &lhs, const SymbolicExpr &rhs, ComputationContext &context)
__attribute__((visibility("default"))) ExprResult function(const std __attribute__((visibility("default"))) ExprResult finite_set(std ExprPtr bool lower_closed
SymbolicSetResult make_finite_set(std::vector< std::shared_ptr< SymbolicExpr > > elements, ComputationContext &context)
SymbolicSetResult finite_set_intersection(const SymbolicExpr &lhs, const SymbolicExpr &rhs, ComputationContext &context)
const ExprPtr & rhs
Result< std::shared_ptr< SymbolicExpr > > SymbolicSetResult
__attribute__((visibility("default"))) ExprResult function(const std __attribute__((visibility("default"))) ExprResult finite_set(std ExprPtr bool bool upper_closed
SymbolicSetResult finite_set_symmetric_difference(const SymbolicExpr &lhs, const SymbolicExpr &rhs, ComputationContext &context)
SymbolicSetResult finite_set_union(const SymbolicExpr &lhs, const SymbolicExpr &rhs, ComputationContext &context)
符号表达式主类 SymbolicExpr 及其工厂方法,运算接口.