1#ifndef SYMENGINE_SET_FUNCS_H
2#define SYMENGINE_SET_FUNCS_H
13 RCP<const Basic> sup_;
18 void bvisit(
const Basic &x){};
20 void bvisit(
const Set &x)
22 throw SymEngineException(
23 "Set not partially ordered: supremum undefined");
26 void bvisit(
const Reals &x)
63 void bvisit(
const Union &x)
66 for (
auto &a : x.get_container()) {
83 RCP<const Basic> apply(
const Set &s)
93 RCP<const Basic> inf_;
98 void bvisit(
const Basic &x){};
100 void bvisit(
const Set &x)
102 throw SymEngineException(
103 "Set not partially ordered: infimum undefined");
106 void bvisit(
const Reals &x)
133 inf_ = x.get_start();
143 void bvisit(
const Union &x)
146 for (
auto &a : x.get_container()) {
163 RCP<const Basic> apply(
const Set &s)
170RCP<const Basic> sup(
const Set &s)
176RCP<const Basic> inf(
const Set &s)
185 RCP<const Set> boundary_;
190 void bvisit(
const Basic &x){};
207 void bvisit(
const Reals &x)
234 boundary_ =
finiteset({x.get_start(), x.get_end()});
242 void bvisit(
const Union &x)
270 RCP<const Set> apply(
const Set &s)
277RCP<const Set> boundary(
const Set &s)
283RCP<const Set> interior(
const Set &s)
289RCP<const Set> closure(
const Set &s)
291 return s.set_union(boundary(s));
The lowest unit of symbolic representation.
RCP< T > rcp_from_this()
Get RCP<T> pointer to self (it will cast the pointer to T)
Main namespace for SymEngine package.
RCP< const Reals > reals()
RCP< const EmptySet > emptyset()
RCP< const Set > finiteset(const set_basic &container)
RCP< const Basic > max(const vec_basic &arg)
Canonicalize Max:
RCP< const Naturals0 > naturals0()
RCP< const Integers > integers()
void hash_combine(hash_t &seed, const T &v)
RCP< const Naturals > naturals()
RCP< const Basic > min(const vec_basic &arg)
Canonicalize Min:
std::enable_if< std::is_integral< T >::value, RCP< constInteger > >::type integer(T i)