LMCAS
Lamina Computer Algebra System
Toggle main menu visibility
载入中...
搜索中...
未找到
symbolic_set.hpp
浏览该文件的文档.
1
#pragma once
2
3
#include <memory>
4
#include <vector>
5
6
#include "
computation_context.hpp
"
7
#include "
symbolic.hpp
"
8
9
namespace
LMCAS
{
10
11
using
SymbolicSetResult
=
Result<std::shared_ptr<SymbolicExpr>
>;
12
13
/** Constructs an immutable finite set with structural deduplication. */
14
LMCAS_API
SymbolicSetResult
make_finite_set
(
15
std::vector<std::shared_ptr<SymbolicExpr>> elements,
16
ComputationContext
&
context
);
17
18
/** Constructs a real interval. Endpoint ordering is validated when decidable. */
19
LMCAS_API
SymbolicSetResult
make_interval
(
20
const
std::shared_ptr<SymbolicExpr>&
lower
,
21
const
std::shared_ptr<SymbolicExpr>&
upper
,
22
bool
lower_closed
,
23
bool
upper_closed
,
24
ComputationContext
&
context
);
25
26
/** Constructs and simplifies a membership proposition when membership is decidable. */
27
LMCAS_API
SymbolicSetResult
make_membership
(
28
const
std::shared_ptr<SymbolicExpr>&
element
,
29
const
std::shared_ptr<SymbolicExpr>&
set
,
30
ComputationContext
&
context
);
31
32
LMCAS_API
SymbolicSetResult
finite_set_union
(
33
const
SymbolicExpr& lhs,
const
SymbolicExpr&
rhs
,
34
ComputationContext
&
context
);
35
LMCAS_API
SymbolicSetResult
finite_set_intersection
(
36
const
SymbolicExpr& lhs,
const
SymbolicExpr&
rhs
,
37
ComputationContext
&
context
);
38
LMCAS_API
SymbolicSetResult
finite_set_difference
(
39
const
SymbolicExpr& lhs,
const
SymbolicExpr&
rhs
,
40
ComputationContext
&
context
);
41
LMCAS_API
SymbolicSetResult
finite_set_symmetric_difference
(
42
const
SymbolicExpr& lhs,
const
SymbolicExpr&
rhs
,
43
ComputationContext
&
context
);
44
45
}
// namespace LMCAS
LMCAS::ComputationContext
定义
computation_context.hpp:99
LMCAS::Result
定义
result.hpp:39
computation_context.hpp
LMCAS_API
#define LMCAS_API
定义
lmcas_export.hpp:13
LMCAS
定义
assumption.hpp:11
LMCAS::make_membership
SymbolicSetResult make_membership(const std::shared_ptr< SymbolicExpr > &element, const std::shared_ptr< SymbolicExpr > &set, ComputationContext &context)
定义
symbolic_set.cpp:121
LMCAS::element
const ExprPtr & element
定义
expr.hpp:368
LMCAS::upper
__attribute__((visibility("default"))) ExprResult function(const std __attribute__((visibility("default"))) ExprResult finite_set(std ExprPtr upper
定义
expr.hpp:148
LMCAS::make_interval
SymbolicSetResult make_interval(const std::shared_ptr< SymbolicExpr > &lower, const std::shared_ptr< SymbolicExpr > &upper, bool lower_closed, bool upper_closed, ComputationContext &context)
定义
symbolic_set.cpp:91
LMCAS::context
const std::vector< Polynomial< BigInt > > const BigInt ComputationContext & context
定义
exact_factorization.hpp:65
LMCAS::lower
const ExprPtr & lower
定义
expr.hpp:255
LMCAS::set
const ExprPtr & set
定义
expr.hpp:161
LMCAS::finite_set_difference
SymbolicSetResult finite_set_difference(const SymbolicExpr &lhs, const SymbolicExpr &rhs, ComputationContext &context)
定义
symbolic_set.cpp:175
LMCAS::lower_closed
__attribute__((visibility("default"))) ExprResult function(const std __attribute__((visibility("default"))) ExprResult finite_set(std ExprPtr bool lower_closed
定义
expr.hpp:149
LMCAS::make_finite_set
SymbolicSetResult make_finite_set(std::vector< std::shared_ptr< SymbolicExpr > > elements, ComputationContext &context)
定义
symbolic_set.cpp:74
LMCAS::finite_set_intersection
SymbolicSetResult finite_set_intersection(const SymbolicExpr &lhs, const SymbolicExpr &rhs, ComputationContext &context)
定义
symbolic_set.cpp:159
LMCAS::rhs
const ExprPtr & rhs
定义
expr.hpp:150
LMCAS::SymbolicSetResult
Result< std::shared_ptr< SymbolicExpr > > SymbolicSetResult
定义
symbolic_set.hpp:11
LMCAS::upper_closed
__attribute__((visibility("default"))) ExprResult function(const std __attribute__((visibility("default"))) ExprResult finite_set(std ExprPtr bool bool upper_closed
定义
expr.hpp:149
LMCAS::finite_set_symmetric_difference
SymbolicSetResult finite_set_symmetric_difference(const SymbolicExpr &lhs, const SymbolicExpr &rhs, ComputationContext &context)
定义
symbolic_set.cpp:191
LMCAS::finite_set_union
SymbolicSetResult finite_set_union(const SymbolicExpr &lhs, const SymbolicExpr &rhs, ComputationContext &context)
定义
symbolic_set.cpp:145
symbolic.hpp
符号表达式主类 SymbolicExpr 及其工厂方法,运算接口.
include
symbolic_set.hpp
生成于
, 为 LMCAS使用
1.18.0