19 using SetExpr_ptr = std::shared_ptr<SetExpr>;
22 operator&(
const SetExpr_ptr& x1,
const SetExpr_ptr& x2)
24 return std::make_shared<SetOperationExpr<InterSetOp,SetExpr,SetExpr>>(x1,x2);
30 return std::make_shared<SetOperationExpr<InterSetOp,SetExpr,SetExpr>>(const_set(x1),x2);
36 return std::make_shared<SetOperationExpr<InterSetOp,SetExpr,SetExpr>>(x1,const_set(x2));
40 operator|(
const SetExpr_ptr& x1,
const SetExpr_ptr& x2)
42 return std::make_shared<SetOperationExpr<UnionSetOp,SetExpr,SetExpr>>(x1,x2);
48 return std::make_shared<SetOperationExpr<UnionSetOp,SetExpr,SetExpr>>(const_set(x1),x2);
54 return std::make_shared<SetOperationExpr<UnionSetOp,SetExpr,SetExpr>>(x1,const_set(x2));
58 proj(
const SetExpr_ptr& x1,
const std::vector<Index>& proj_indices,
double eps = 0.01)
60 return std::make_shared<SetOperationExpr<ProjSetOp,SetExpr>>(x1,proj_indices,eps);
64 proj(
const SetExpr_ptr& x1,
const std::vector<Index>& proj_indices,
const IntervalVector& y,
double eps = 0.01)
66 return std::make_shared<SetOperationExpr<ProjSetOp,SetExpr>>(x1,proj_indices,y,eps);
70 cart_prod(
const SetExpr_ptr& x1,
const SetExpr_ptr& x2)
72 return std::make_shared<SetOperationExpr<CartProdSetOp,SetExpr,SetExpr>>(x1,x2);
78 return std::make_shared<SetOperationExpr<CartProdSetOp,SetExpr,SetExpr>>(x1,const_set(x2));
84 return std::make_shared<SetOperationExpr<CartProdSetOp,SetExpr,SetExpr>>(const_set(x1),x2);
88 inverse(
const AnalyticFunction<VectorType>& f,
const SetExpr_ptr& x1)
90 return std::make_shared<SetOperationExpr<InverseSetOp,SetExpr>>(f,x1);
94 inverse(
const AnalyticFunction<VectorType>& f,
const IntervalVector& x1)
96 return std::make_shared<SetOperationExpr<InverseSetOp,SetExpr>>(f,const_set(x1));
102 return std::make_shared<SetOperationExpr<NotSetOp,SetExpr>>(const_set(x1));
106 operator!(
const SetExpr_ptr& x1)
108 return std::make_shared<SetOperationExpr<NotSetOp,SetExpr>>(x1);
111 inline std::shared_ptr<SetExpr>
112 OctaSym::operator()(
const std::shared_ptr<SetExpr>& x1)
const
114 return std::make_shared<SetOperationExpr<ActionSetOp,SetExpr>>(*
this,x1);
Eigen::Matrix< Interval,-1, 1 > IntervalVector
Alias for a dynamic-size column vector of intervals.
Definition codac2_IntervalVector.h:25