@@ -1022,12 +1022,26 @@ namespace Gecode { namespace FlatZinc {
10221022
10231023 void p_minimum_arg (FlatZincSpace& s, const ConExpr& ce, AST::Node* ann) {
10241024 IntVarArgs iv = s.arg2intvarargs (ce[0 ]);
1025- argmin (s, iv, s.arg2IntVar (ce[1 ]), true , s.ann2ipl (ann));
1025+ int offset = ce[1 ]->getInt ();
1026+ argmin (s, iv, offset, s.arg2IntVar (ce[2 ]), true , s.ann2ipl (ann));
10261027 }
10271028
10281029 void p_maximum_arg (FlatZincSpace& s, const ConExpr& ce, AST::Node* ann) {
10291030 IntVarArgs iv = s.arg2intvarargs (ce[0 ]);
1030- argmax (s, iv, s.arg2IntVar (ce[1 ]), true , s.ann2ipl (ann));
1031+ int offset = ce[1 ]->getInt ();
1032+ argmax (s, iv, offset, s.arg2IntVar (ce[2 ]), true , s.ann2ipl (ann));
1033+ }
1034+
1035+ void p_minimum_arg_bool (FlatZincSpace& s, const ConExpr& ce, AST::Node* ann) {
1036+ BoolVarArgs bv = s.arg2boolvarargs (ce[0 ]);
1037+ int offset = ce[1 ]->getInt ();
1038+ argmin (s, bv, offset, s.arg2IntVar (ce[2 ]), true , s.ann2ipl (ann));
1039+ }
1040+
1041+ void p_maximum_arg_bool (FlatZincSpace& s, const ConExpr& ce, AST::Node* ann) {
1042+ BoolVarArgs bv = s.arg2boolvarargs (ce[0 ]);
1043+ int offset = ce[1 ]->getInt ();
1044+ argmax (s, bv, offset, s.arg2IntVar (ce[2 ]), true , s.ann2ipl (ann));
10311045 }
10321046
10331047 void p_regular (FlatZincSpace& s, const ConExpr& ce, AST::Node* ann) {
@@ -1562,8 +1576,10 @@ namespace Gecode { namespace FlatZinc {
15621576 &p_global_cardinality_low_up_closed);
15631577 registry ().add (" array_int_minimum" , &p_minimum);
15641578 registry ().add (" array_int_maximum" , &p_maximum);
1565- registry ().add (" gecode_minimum_arg_int" , &p_minimum_arg);
1566- registry ().add (" gecode_maximum_arg_int" , &p_maximum_arg);
1579+ registry ().add (" gecode_minimum_arg_int_offset" , &p_minimum_arg);
1580+ registry ().add (" gecode_maximum_arg_int_offset" , &p_maximum_arg);
1581+ registry ().add (" gecode_minimum_arg_bool_offset" , &p_minimum_arg_bool);
1582+ registry ().add (" gecode_maximum_arg_bool_offset" , &p_maximum_arg_bool);
15671583 registry ().add (" array_int_maximum" , &p_maximum);
15681584 registry ().add (" gecode_regular" , &p_regular);
15691585 registry ().add (" sort" , &p_sort);
0 commit comments