codac
codac_Set.h
Go to the documentation of this file.
1 
12 #ifndef __CODAC_SET_H__
13 #define __CODAC_SET_H__
14 
15 #include "codac_IntervalVector.h"
16 
17 namespace codac
18 {
26  enum class SetValue
27  {
28  DEFAULT = 0x00,
29 
30  UNKNOWN = 0x01,
31  OUT = 0x02,
32  IN = 0x04,
33  PENUMBRA = 0x08
34  };
35 
45  inline int operator&(SetValue a, SetValue b)
46  { return static_cast<int>(static_cast<int>(a) & static_cast<int>(b)); }
47 
58  { return static_cast<SetValue>(static_cast<int>(a) | static_cast<int>(b)); }
59 
66  class Set
67  {
68  public:
69 
76  Set(const IntervalVector& box, SetValue value = SetValue::UNKNOWN);
77 
81  ~Set();
82 
88  SetValue value() const;
89 
95  int size() const;
96 
102  const IntervalVector& box() const;
103 
109  void set_value(SetValue value);
110 
111  protected:
112 
114  IntervalVector m_box;
115  };
116 }
117 
118 #endif
FixPoint of a separator The fixpoint of a separator is computed by calling the "::"separate function ...
Definition: codac_capd_helpers.h:9
IntervalVector m_box
box representing this set
Definition: codac_Set.h:114
unable to conclude
SetValue
Defines a set of feasible values of a set.
Definition: codac_Set.h:26
Multi-dimensional interval-based representation of a set.
Definition: codac_Set.h:66
inside the penumbra set
SetValue m_value
integer value of this set
Definition: codac_Set.h:113
const IntervalMatrix operator|(const IntervalMatrix &x, const IntervalMatrix &y)
inside the solution set
const IntervalMatrix operator &(const IntervalMatrix &x, const IntervalMatrix &y)
outside the solution set
does not have a meaning, only used for default values of arguments