| 332 | linear(s, ia, iv, irt, ce[2]->getInt(), s.ann2ipl(ann)); |
| 333 | } |
| 334 | void p_bool_lin_CMP_reif(FlatZincSpace& s, IntRelType irt, ReifyMode rm, |
| 335 | const ConExpr& ce, AST::Node* ann) { |
| 336 | if (rm == RM_EQV && ce[2]->isBool()) { |
| 337 | if (ce[2]->getBool()) { |
| 338 | p_bool_lin_CMP(s, irt, ce, ann); |
| 339 | } else { |
| 340 | p_bool_lin_CMP(s, neg(irt), ce, ann); |
| 341 | } |
| 342 | return; |
| 343 | } |
| 344 | IntArgs ia = s.arg2intargs(ce[0]); |
| 345 | BoolVarArgs iv = s.arg2boolvarargs(ce[1]); |
| 346 | if (ce[2]->isIntVar()) |
| 347 | linear(s, ia, iv, irt, s.iv[ce[2]->getIntVar()], |
| 348 | Reify(s.arg2BoolVar(ce[3]), rm), |
| 349 | s.ann2ipl(ann)); |
| 350 | else |
| 351 | linear(s, ia, iv, irt, ce[2]->getInt(), |
| 352 | Reify(s.arg2BoolVar(ce[3]), rm), |
| 353 | s.ann2ipl(ann)); |
| 354 | } |
| 355 | void p_bool_lin_eq(FlatZincSpace& s, const ConExpr& ce, AST::Node* ann) { |
| 356 | p_bool_lin_CMP(s, IRT_EQ, ce, ann); |
| 357 | } |
no test coverage detected