| 155 | */ |
| 156 | template<class Val, class View> |
| 157 | forceinline void |
| 158 | post_nary(Home home, |
| 159 | ViewArray<View>& x, ViewArray<View>& y, IntRelType irt, Val c) { |
| 160 | switch (irt) { |
| 161 | case IRT_EQ: |
| 162 | GECODE_ES_FAIL((Eq<Val,View,View >::post(home,x,y,c))); |
| 163 | break; |
| 164 | case IRT_NQ: |
| 165 | GECODE_ES_FAIL((Nq<Val,View,View >::post(home,x,y,c))); |
| 166 | break; |
| 167 | case IRT_LQ: |
| 168 | GECODE_ES_FAIL((Lq<Val,View,View >::post(home,x,y,c))); |
| 169 | break; |
| 170 | default: GECODE_NEVER; |
| 171 | } |
| 172 | } |
| 173 | |
| 174 | |
| 175 | /// Macro for posting binary special cases for linear constraints |