Linear relations
| 894 | |
| 895 | /// Linear relations |
| 896 | class LinFloatRel { |
| 897 | friend class BoolExpr; |
| 898 | private: |
| 899 | /// Linear float expression describing the entire relation |
| 900 | LinFloatExpr e; |
| 901 | /// Which relation |
| 902 | FloatRelType frt; |
| 903 | /// Negate relation type |
| 904 | static FloatRelType neg(FloatRelType frt); |
| 905 | /// Default constructor |
| 906 | LinFloatRel(void); |
| 907 | public: |
| 908 | /// Create linear float relation for expressions \a l and \a r |
| 909 | LinFloatRel(const LinFloatExpr& l, FloatRelType frt, const LinFloatExpr& r); |
| 910 | /// Create linear float relation for expression \a l and FloatVal \a r |
| 911 | LinFloatRel(const LinFloatExpr& l, FloatRelType frt, FloatVal r); |
| 912 | /// Create linear float relation for FloatVal \a l and expression \a r |
| 913 | LinFloatRel(FloatVal l, FloatRelType frt, const LinFloatExpr& r); |
| 914 | /// Post propagator for relation (if \a t is false for negated relation) |
| 915 | void post(Home home, bool t) const; |
| 916 | /// Post reified propagator for relation (if \a t is false for negated relation) |
| 917 | void post(Home home, const BoolVar& b, bool t) const; |
| 918 | }; |
| 919 | |
| 920 | /** |
| 921 | * \defgroup TaskModelMiniModelFloat Linear float expressions and relations |
no outgoing calls
no test coverage detected