+9
-9
software/minizinc/.gitlab-ci.yml
+9
-9
software/minizinc/.gitlab-ci.yml
···- curl -o download.sh --location --header "PRIVATE-TOKEN:%ACCESS_TOKEN%" --silent https://gitlab.com/api/v4/snippets/1796163/raw···- curl -o download.sh --location --header "PRIVATE-TOKEN:%ACCESS_TOKEN%" --silent https://gitlab.com/api/v4/snippets/1796163/raw·········- cmake -S . -B build -GNinja -DCLANG_FORMAT_EXECUTABLE="run-clang-format" -DCLANG_FORMAT_FLAGS="--color always"······-- 'echo ''{"id":"org.gecode.gecode","name":"Gecode","description":"Gecode FlatZinc executable","version":"6.1.1","mznlib":"share/gecode/mznlib","executable":"bin/fzn-gecode","tags":["cp","int","float","set","restart"],"stdFlags":["-a","-f","-n","-p","-r","-s","-t"],"extraFlags":[["-c-d","Recomputation commit distance","int","8"],["-a-d","Recomputation adaption distance","int","2"],["-decay","Decay factor","float","0.99"],["-node","Node cutoff","int","0"],["-fail","Failure cutoff","int","0"],["-restart","Restart sequence type","opt:none:constant:linear:luby:geometric","none"],["-restart-base","Base for geometric restart sequence","float","1.5"],["-restart-scale","Scale factor for restart sequence","int","250"],["-nogoods","Use no-goods from restarts","bool","false"],["-nogoods-limit","Depth limit for no-good extraction","int","128"]],"supportsMzn":false,"supportsFzn":true,"needsSolns2Out":true,"needsMznExecutable":false,"needsStdlibDir":false,"isGUIApplication":false}'' > vendor/gecode/gecode.msc'+- "echo '{\"id\":\"org.gecode.gecode\",\"name\":\"Gecode\",\"description\":\"Gecode FlatZinc executable\",\"version\":\"6.1.1\",\"mznlib\":\"share/gecode/mznlib\",\"executable\":\"bin/fzn-gecode\",\"tags\":[\"cp\",\"int\",\"float\",\"set\",\"restart\"],\"stdFlags\":[\"-a\",\"-f\",\"-n\",\"-p\",\"-r\",\"-s\",\"-t\"],\"extraFlags\":[[\"-c-d\",\"Recomputation commit distance\",\"int\",\"8\"],[\"-a-d\",\"Recomputation adaption distance\",\"int\",\"2\"],[\"-decay\",\"Decay factor\",\"float\",\"0.99\"],[\"-node\",\"Node cutoff\",\"int\",\"0\"],[\"-fail\",\"Failure cutoff\",\"int\",\"0\"],[\"-restart\",\"Restart sequence type\",\"opt:none:constant:linear:luby:geometric\",\"none\"],[\"-restart-base\",\"Base for geometric restart sequence\",\"float\",\"1.5\"],[\"-restart-scale\",\"Scale factor for restart sequence\",\"int\",\"250\"],[\"-nogoods\",\"Use no-goods from restarts\",\"bool\",\"false\"],[\"-nogoods-limit\",\"Depth limit for no-good extraction\",\"int\",\"128\"]],\"supportsMzn\":false,\"supportsFzn\":true,\"needsSolns2Out\":true,\"needsMznExecutable\":false,\"needsStdlibDir\":false,\"isGUIApplication\":false}' > vendor/gecode/gecode.msc"······-- "echo Test results at https://minizinc.gitlab.io/-/minizinc/-/jobs/%CI_JOB_ID%/artifacts/tests/output/report.html"+- 'echo Test results at https://minizinc.gitlab.io/-/minizinc/-/jobs/%CI_JOB_ID%/artifacts/tests/output/report.html'
+1
-1
software/minizinc/CMakeLists.txt
+1
-1
software/minizinc/CMakeLists.txt
-104
software/minizinc/changes.rst
-104
software/minizinc/changes.rst
···
+1
-1
software/minizinc/cmake/modules/FindCPlex.cmake
+1
-1
software/minizinc/cmake/modules/FindCPlex.cmake
···
+1
-1
software/minizinc/cmake/modules/FindGurobi.cmake
+1
-1
software/minizinc/cmake/modules/FindGurobi.cmake
···
-3
software/minizinc/cmake/targets/libminizinc_osicbc.cmake
-3
software/minizinc/cmake/targets/libminizinc_osicbc.cmake
···
+1
-1
software/minizinc/docs/chi/conf.py
+1
-1
software/minizinc/docs/chi/conf.py
+2
-2
software/minizinc/docs/en/command_line.rst
+2
-2
software/minizinc/docs/en/command_line.rst
···-"tagDefaults": [["cp","org.choco-solver.choco"],["mip","org.minizinc.mip.cplex"],["","org.gecode.gecode"]],-"solverDefaults": [["org.minizinc.mip.cplex","--cplex-dll","/opt/CPLEX_Studio128/cplex/bin/x86-64_sles10_4.1/libcplex128.so"]]+"tagDefaults": [["cp","org.choco-solver.choco"],["mip","org.minizinc.cplex"],["","org.gecode.gecode"]],+"solverDefaults": [["org.minizinc.cplex","--cplex-dll","/opt/CPLEX_Studio128/cplex/bin/x86-64_sles10_4.1/libcplex128.so"]]
+1
-1
software/minizinc/docs/en/conf.py
+1
-1
software/minizinc/docs/en/conf.py
+2
-2
software/minizinc/docs/en/grammar.mzn
+2
-2
software/minizinc/docs/en/grammar.mzn
······
+2
-4
software/minizinc/docs/en/installation_detailed_linux.rst
+2
-4
software/minizinc/docs/en/installation_detailed_linux.rst
···You can install the OR-Tools FlatZinc module as binary or obtain the source code from GitHub (https://github.com/google/or-tools).You can find detailed compilation instructions for OR-Tools on https://developers.google.com/optimization/.-Since version 8, `cmake` is supported, see the instructions. Previously, to compile the FlatZinc module from source,+To compile the FlatZinc module from source, run the following in a terminal (from within the OR-Tools source code directory):-Since version 8, `cmake --build . --target install` puts a solver configuration file in `/usr/share/minizinc`, so the MiniZinc finds-OR-Tools automatically. With earlier versions, in order to use OR-Tools with MiniZinc, you have to create an appropriate solver configuration file.+In order to use OR-Tools with MiniZinc, you have to create an appropriate solver configuration file.Add a file ``ortools.msc`` in an appropriate location (see :ref:`sec-cmdline-conffiles`) containing the following,where you replace ``<INSTALLATION_PREFIX>`` with the actual installation path and update the version number if necessary:
+1
-5
software/minizinc/docs/en/solvers.rst
+1
-5
software/minizinc/docs/en/solvers.rst
···-DQuadrFloat=false -DQuadrInt=false %% Not forward float/integer multiplications for MIQCP backends, see below--DOrbisackAlwaysModelConstraint=true %% lex_lesseq ignores being in symmetry_breaking_constraint() (SCIP only)-%% Required for SCIP 7.0.2, or use patch: http://listserv.zib.de/pipermail/scip/2021-February/004213.html
+11
-11
software/minizinc/include/minizinc/MIPdomains.hh
+11
-11
software/minizinc/include/minizinc/MIPdomains.hh
···
-2
software/minizinc/include/minizinc/ast.hh
-2
software/minizinc/include/minizinc/ast.hh
···
+6
-12
software/minizinc/include/minizinc/eval_par.hh
+6
-12
software/minizinc/include/minizinc/eval_par.hh
···············
-1
software/minizinc/include/minizinc/flatten_internal.hh
-1
software/minizinc/include/minizinc/flatten_internal.hh
+2
-2
software/minizinc/include/minizinc/output.hh
+2
-2
software/minizinc/include/minizinc/output.hh
···
+4
-1
software/minizinc/include/minizinc/param_config.hh
+4
-1
software/minizinc/include/minizinc/param_config.hh
······
+3
-7
software/minizinc/include/minizinc/parser.hh
+3
-7
software/minizinc/include/minizinc/parser.hh
············
+1
software/minizinc/include/minizinc/process.hh
+1
software/minizinc/include/minizinc/process.hh
+1
-1
software/minizinc/include/minizinc/solns2out.hh
+1
-1
software/minizinc/include/minizinc/solns2out.hh
···
+1
-1
software/minizinc/include/minizinc/solver_instance.hh
+1
-1
software/minizinc/include/minizinc/solver_instance.hh
···
-27
software/minizinc/include/minizinc/solvers/MIP/MIP_scip_wrap.hh
-27
software/minizinc/include/minizinc/solvers/MIP/MIP_scip_wrap.hh
······(SCIP* scip, SCIP_CONS** cons, const char* name, int nvars, SCIP_VAR** vars, int* durations,-(SCIP* scip, SCIP_CONS** cons, const char* name, SCIP_VAR** vars1, SCIP_VAR** vars2, int nrows,···
+3
-43
software/minizinc/include/minizinc/solvers/MIP/MIP_solverinstance.hpp
+3
-43
software/minizinc/include/minizinc/solvers/MIP/MIP_solverinstance.hpp
············_constraintRegistry.add("fzn_cumulative_fixed_d_r", SCIPConstraints::p_cumulative<MIPWrapper>);
+2
-15
software/minizinc/include/minizinc/solvers/MIP/MIP_wrap.hh
+2
-15
software/minizinc/include/minizinc/solvers/MIP/MIP_wrap.hh
·········-virtual void addLexChainLesseq(int m, int n, int* rmatind, int nOrbitopeType, bool resolveprop,
+14
-14
software/minizinc/include/minizinc/solvers/MIP/MIP_xpress_wrap.hh
+14
-14
software/minizinc/include/minizinc/solvers/MIP/MIP_xpress_wrap.hh
·········
+11
-11
software/minizinc/include/minizinc/utils.hh
+11
-11
software/minizinc/include/minizinc/utils.hh
···
+297
-295
software/minizinc/lib/MIPdomains.cpp
+297
-295
software/minizinc/lib/MIPdomains.cpp
························float_lin_eq = env.model->matchFn(env, constants().ids.float_.lin_eq, float_lin_eq_t, false);············_aCT.emplace_back("float_le_reif__POST", t_VFFVIF, RIT_Reif, CT_Comparison, CMPT_LE, VT_Float,_aCT.emplace_back("float_ge_reif__POST", t_VFFVIF, RIT_Reif, CT_Comparison, CMPT_GE, VT_Float,_aCT.emplace_back("aux_float_lt_zero_iff_1__POST", t_VFVIF, RIT_Reif, CT_Comparison, CMPT_LT,_aCT.emplace_back("float_eq_reif__POST", t_VFFVIF, RIT_Reif, CT_Comparison, CMPT_EQ, VT_Float,_aCT.emplace_back("aux_int_le_zero_if_1__POST", t_VIVI, RIT_Halfreif, CT_Comparison, CMPT_LE_0,_aCT.emplace_back("equality_encoding__POST", t_VIAVI, RIT_Static, CT_Encode, CMPT_None, VT_Int,-_aCT.emplace_back("set_in__POST", t_VISI, RIT_Static, CT_SetIn, CMPT_None, VT_Int, set_in_POST);FunctionI* fi = env.model->matchFn(env, ASTString(_aCT[i].sFuncName), _aCT[i].aParams, false);···············································································································DBGOUT_MIPD(" Clique domain after proj of " << A << " * " << vd->id()->str() << " + " << B·············································void relateReifFlag(Expression* expFlag, const SetOfIntvReal& SS, EnumReifType nRT = RIT_Reif) {·····················void convertIntSet(Expression* e, SetOfIntvReal& s, VarDecl* varTarget, double A, double B) {············-MZN_MIPD_assert_hard_msg(0, "unexpected expression instead of an int/float/bool literal: eid="+MZN_MIPD__assert_hard_msg(0, "unexpected expression instead of an int/float/bool literal: eid="························
-2
software/minizinc/lib/ast.cpp
-2
software/minizinc/lib/ast.cpp
······
+1
-9
software/minizinc/lib/builtins.cpp
+1
-9
software/minizinc/lib/builtins.cpp
···bool b_in_redundant_constraint(EnvI& env, Call* /*call*/) { return env.inRedundantConstraint > 0; }······
+1
-1
software/minizinc/lib/cached/md5_cached.cmake
+1
-1
software/minizinc/lib/cached/md5_cached.cmake
···
+4
-4
software/minizinc/lib/cached/minizinc/parser.tab.hh
+4
-4
software/minizinc/lib/cached/minizinc/parser.tab.hh
······-#ifndef YY_MZN_YY_USERS_TACK_PROGRAMMING_MINIZINC_LIBMZN_BUILD_XCODE_INCLUDE_MINIZINC_PARSER_TAB_HH_INCLUDED-# define YY_MZN_YY_USERS_TACK_PROGRAMMING_MINIZINC_LIBMZN_BUILD_XCODE_INCLUDE_MINIZINC_PARSER_TAB_HH_INCLUDED+#ifndef YY_MZN_YY_USERS_TACK_PROGRAMMING_MINIZINC_LIBMZN_DEVELOP_BUILD_INCLUDE_MINIZINC_PARSER_TAB_HH_INCLUDED+# define YY_MZN_YY_USERS_TACK_PROGRAMMING_MINIZINC_LIBMZN_DEVELOP_BUILD_INCLUDE_MINIZINC_PARSER_TAB_HH_INCLUDED···-#endif /* !YY_MZN_YY_USERS_TACK_PROGRAMMING_MINIZINC_LIBMZN_BUILD_XCODE_INCLUDE_MINIZINC_PARSER_TAB_HH_INCLUDED */+#endif /* !YY_MZN_YY_USERS_TACK_PROGRAMMING_MINIZINC_LIBMZN_DEVELOP_BUILD_INCLUDE_MINIZINC_PARSER_TAB_HH_INCLUDED */
+361
-347
software/minizinc/lib/cached/parser.tab.cpp
+361
-347
software/minizinc/lib/cached/parser.tab.cpp
··········································{ (yyval.item)=notInDatafile(&(yyloc),parm,"variable declaration") ? (yyvsp[0].item) : nullptr; }···{ if ((yyvsp[-1].vardeclexpr) && (yyvsp[0].expressions1d)) (yyvsp[-1].vardeclexpr)->addAnnotations(*(yyvsp[0].expressions1d));···if ((yyvsp[-3].vardeclexpr) && (yyvsp[-2].expressions1d)) (yyvsp[-3].vardeclexpr)->addAnnotations(*(yyvsp[-2].expressions1d));··················(yyval.expressions1d)->push_back(new StringLit((yyloc), (yyvsp[0].sValue))); free((yyvsp[0].sValue));if ((yyval.expressions1d)) (yyval.expressions1d)->push_back(new StringLit((yyloc), (yyvsp[0].sValue)));(yyval.expressions1d)->push_back(new Id((yyloc),(yyvsp[0].sValue),nullptr)); free((yyvsp[0].sValue));{ (yyval.expressions1d) = (yyvsp[-2].expressions1d); if ((yyval.expressions1d)) (yyval.expressions1d)->push_back(new Id((yyloc),(yyvsp[0].sValue),nullptr)); free((yyvsp[0].sValue)); }(yyval.item)->cast<ConstraintI>()->e()->ann().add(new Call((yylsp[-2]), ASTString("mzn_constraint_name"), {(yyvsp[-1].expression)}));if ((yyval.item) && (yyvsp[-1].expressions1d)) (yyval.item)->cast<SolveI>()->ann().add(*(yyvsp[-1].expressions1d));if ((yyval.item) && (yyvsp[-2].expressions1d)) (yyval.item)->cast<SolveI>()->ann().add(*(yyvsp[-2].expressions1d));if ((yyval.item) && (yyvsp[-2].expressions1d)) (yyval.item)->cast<SolveI>()->ann().add(*(yyvsp[-2].expressions1d));-case 58: /* predicate_item: "predicate" "identifier" params annotations operation_item_tail */if ((yyvsp[-2].vardeclexprs)) (yyval.item) = new FunctionI((yyloc),(yyvsp[-3].sValue),new TypeInst((yyloc),···if ((yyvsp[-2].vardeclexprs)) (yyval.item) = new FunctionI((yyloc),(yyvsp[-3].sValue),new TypeInst((yyloc),···-case 60: /* predicate_item: "predicate" "identifier" "^-1" params annotations operation_item_tail */{ if ((yyvsp[-2].vardeclexprs)) (yyval.item) = new FunctionI((yyloc),std::string((yyvsp[-4].sValue))+"⁻¹",new TypeInst((yyloc),if ((yyval.item) && (yyvsp[-1].expressions1d)) (yyval.item)->cast<FunctionI>()->ann().add(*(yyvsp[-1].expressions1d));···-case 61: /* predicate_item: "test" "identifier" "^-1" params annotations operation_item_tail */{ if ((yyvsp[-2].vardeclexprs)) (yyval.item) = new FunctionI((yyloc),std::string((yyvsp[-4].sValue))+"⁻¹",new TypeInst((yyloc),if ((yyval.item) && (yyvsp[-1].expressions1d)) (yyval.item)->cast<FunctionI>()->ann().add(*(yyvsp[-1].expressions1d));···-case 62: /* function_item: "function" ti_expr ':' id_or_quoted_op params annotations operation_item_tail */if ((yyvsp[-2].vardeclexprs)) (yyval.item) = new FunctionI((yyloc),(yyvsp[-3].sValue),(yyvsp[-5].tiexpr),*(yyvsp[-2].vardeclexprs),(yyvsp[0].expression),pp->isSTDLib);···-case 63: /* function_item: ti_expr ':' "identifier" '(' params_list ')' annotations operation_item_tail */if ((yyvsp[-3].vardeclexprs)) (yyval.item) = new FunctionI((yyloc),(yyvsp[-5].sValue),(yyvsp[-7].tiexpr),*(yyvsp[-3].vardeclexprs),(yyvsp[0].expression),pp->isSTDLib);·········if ((yyvsp[-2].vardeclexprs) && (yyvsp[0].vardeclexpr)) (yyvsp[-2].vardeclexprs)->push_back((yyvsp[0].vardeclexpr)); }{ if ((yyvsp[0].tiexpr)) (yyval.vardeclexpr)=new VarDecl((yyloc), (yyvsp[0].tiexpr), ""); }···{ (yyval.tiexprs)=new vector<TypeInst*>(); (yyval.tiexprs)->push_back((yyvsp[0].tiexpr)); }{ (yyval.tiexprs)=(yyvsp[-2].tiexprs); if ((yyvsp[-2].tiexprs) && (yyvsp[0].tiexpr)) (yyvsp[-2].tiexprs)->push_back((yyvsp[0].tiexpr)); }if ((yyval.tiexpr) && (yyvsp[-3].tiexprs)) (yyval.tiexpr)->setRanges(*(yyvsp[-3].tiexprs));···························{ if ((yyvsp[0].expression)) (yyval.tiexpr) = new TypeInst((yyloc),Type(),(yyvsp[0].expression)); }{ (yyval.expressions1d)=new std::vector<MiniZinc::Expression*>; (yyval.expressions1d)->push_back((yyvsp[0].expression)); }-case 106: /* array_access_expr_list_head: array_access_expr_list_head ',' array_access_expr */{ (yyval.expressions1d)=(yyvsp[-2].expressions1d); if ((yyval.expressions1d) && (yyvsp[0].expression)) (yyval.expressions1d)->push_back((yyvsp[0].expression)); }{ (yyval.expression)=new SetLit((yyloc), IntSetVal::a(-IntVal::infinity(),IntVal::infinity())); }······{ (yyval.expressions1d)=new std::vector<MiniZinc::Expression*>; (yyval.expressions1d)->push_back((yyvsp[0].expression)); }{ (yyval.expressions1d)=(yyvsp[-2].expressions1d); if ((yyval.expressions1d) && (yyvsp[0].expression)) (yyval.expressions1d)->push_back((yyvsp[0].expression)); }{ if ((yyvsp[-2].expression) && (yyvsp[0].expression)) (yyvsp[-2].expression)->addAnnotation((yyvsp[0].expression)); (yyval.expression)=(yyvsp[-2].expression); }{ (yyval.expression)=new BinOp((yyloc), (yyvsp[-2].expression), BOT_UNION, (yyvsp[0].expression)); }{ (yyval.expression)=new BinOp((yyloc), (yyvsp[-2].expression), BOT_DIFF, (yyvsp[0].expression)); }{ (yyval.expression)=new BinOp((yyloc), (yyvsp[-2].expression), BOT_SYMDIFF, (yyvsp[0].expression)); }} else if ((yyvsp[-2].expression)->isa<IntLit>() && (yyvsp[0].expression)->isa<IntLit>()) {···} else if ((yyvsp[-3].expression)->isa<IntLit>() && (yyvsp[-1].expression)->isa<IntLit>()) {···{ (yyval.expression)=new BinOp((yyloc), (yyvsp[-2].expression), BOT_INTERSECT, (yyvsp[0].expression)); }{ (yyval.expression)=new BinOp((yyloc), (yyvsp[-2].expression), BOT_PLUSPLUS, (yyvsp[0].expression)); }{ (yyval.expression)=new BinOp((yyloc), (yyvsp[-2].expression), BOT_PLUS, (yyvsp[0].expression)); }{ (yyval.expression)=new BinOp((yyloc), (yyvsp[-2].expression), BOT_MINUS, (yyvsp[0].expression)); }{ (yyval.expression)=new BinOp((yyloc), (yyvsp[-2].expression), BOT_MULT, (yyvsp[0].expression)); }{ (yyval.expression)=new BinOp((yyloc), (yyvsp[-2].expression), BOT_DIV, (yyvsp[0].expression)); }{ (yyval.expression)=new BinOp((yyloc), (yyvsp[-2].expression), BOT_IDIV, (yyvsp[0].expression)); }{ (yyval.expression)=new BinOp((yyloc), (yyvsp[-2].expression), BOT_MOD, (yyvsp[0].expression)); }{ (yyval.expression)=new BinOp((yyloc), (yyvsp[-2].expression), BOT_POW, (yyvsp[0].expression)); }······{ if ((yyvsp[-2].expression) && (yyvsp[0].expression)) (yyvsp[-2].expression)->addAnnotation((yyvsp[0].expression)); (yyval.expression)=(yyvsp[-2].expression); }{ (yyval.expression)=new BinOp((yyloc), (yyvsp[-2].expression), BOT_EQUIV, (yyvsp[0].expression)); }{ (yyval.expression)=new BinOp((yyloc), (yyvsp[-2].expression), BOT_IMPL, (yyvsp[0].expression)); }{ (yyval.expression)=new BinOp((yyloc), (yyvsp[-2].expression), BOT_RIMPL, (yyvsp[0].expression)); }{ (yyval.expression)=new BinOp((yyloc), (yyvsp[-2].expression), BOT_OR, (yyvsp[0].expression)); }{ (yyval.expression)=new BinOp((yyloc), (yyvsp[-2].expression), BOT_XOR, (yyvsp[0].expression)); }{ (yyval.expression)=new BinOp((yyloc), (yyvsp[-2].expression), BOT_AND, (yyvsp[0].expression)); }{ (yyval.expression)=new BinOp((yyloc), (yyvsp[-2].expression), BOT_LE, (yyvsp[0].expression)); }{ (yyval.expression)=new BinOp((yyloc), (yyvsp[-2].expression), BOT_GR, (yyvsp[0].expression)); }{ (yyval.expression)=new BinOp((yyloc), (yyvsp[-2].expression), BOT_LQ, (yyvsp[0].expression)); }{ (yyval.expression)=new BinOp((yyloc), (yyvsp[-2].expression), BOT_GQ, (yyvsp[0].expression)); }{ (yyval.expression)=new BinOp((yyloc), (yyvsp[-2].expression), BOT_EQ, (yyvsp[0].expression)); }{ (yyval.expression)=new BinOp((yyloc), (yyvsp[-2].expression), BOT_NQ, (yyvsp[0].expression)); }{ (yyval.expression)=new BinOp((yyloc), (yyvsp[-2].expression), BOT_IN, (yyvsp[0].expression)); }{ (yyval.expression)=new BinOp((yyloc), (yyvsp[-2].expression), BOT_SUBSET, (yyvsp[0].expression)); }{ (yyval.expression)=new BinOp((yyloc), (yyvsp[-2].expression), BOT_SUPERSET, (yyvsp[0].expression)); }{ (yyval.expression)=new BinOp((yyloc), (yyvsp[-2].expression), BOT_UNION, (yyvsp[0].expression)); }{ (yyval.expression)=new BinOp((yyloc), (yyvsp[-2].expression), BOT_DIFF, (yyvsp[0].expression)); }{ (yyval.expression)=new BinOp((yyloc), (yyvsp[-2].expression), BOT_SYMDIFF, (yyvsp[0].expression)); }} else if ((yyvsp[-2].expression)->isa<IntLit>() && (yyvsp[0].expression)->isa<IntLit>()) {···} else if ((yyvsp[-3].expression)->isa<IntLit>() && (yyvsp[-1].expression)->isa<IntLit>()) {···{ (yyval.expression)=new BinOp((yyloc), (yyvsp[-2].expression), BOT_INTERSECT, (yyvsp[0].expression)); }{ (yyval.expression)=new BinOp((yyloc), (yyvsp[-2].expression), BOT_PLUSPLUS, (yyvsp[0].expression)); }{ (yyval.expression)=new BinOp((yyloc), (yyvsp[-2].expression), BOT_PLUS, (yyvsp[0].expression)); }{ (yyval.expression)=new BinOp((yyloc), (yyvsp[-2].expression), BOT_MINUS, (yyvsp[0].expression)); }{ (yyval.expression)=new BinOp((yyloc), (yyvsp[-2].expression), BOT_MULT, (yyvsp[0].expression)); }{ (yyval.expression)=new BinOp((yyloc), (yyvsp[-2].expression), BOT_DIV, (yyvsp[0].expression)); }{ (yyval.expression)=new BinOp((yyloc), (yyvsp[-2].expression), BOT_IDIV, (yyvsp[0].expression)); }{ (yyval.expression)=new BinOp((yyloc), (yyvsp[-2].expression), BOT_MOD, (yyvsp[0].expression)); }{ (yyval.expression)=new BinOp((yyloc), (yyvsp[-2].expression), BOT_POW, (yyvsp[0].expression)); }···{ if (((yyvsp[0].expression) && (yyvsp[0].expression)->isa<IntLit>()) || ((yyvsp[0].expression) && (yyvsp[0].expression)->isa<FloatLit>())) {······{ if ((yyvsp[0].expressions2d)) (yyval.expression)=createArrayAccess((yyloc), (yyvsp[-2].expression), *(yyvsp[0].expressions2d)); delete (yyvsp[0].expressions2d); }{ (yyval.expression)=new BinOp((yyloc), (yyvsp[-2].expression), BOT_POW, IntLit::a(-1)); }{ if ((yyvsp[-1].expressions2d)) (yyval.expression)=new BinOp((yyloc),createArrayAccess((yyloc), (yyvsp[-3].expression), *(yyvsp[-1].expressions2d)), BOT_POW, IntLit::a(-1)); delete (yyvsp[-1].expressions2d); }{ (yyval.expression)=new Id((yyloc), (yyvsp[0].sValue), nullptr); free((yyvsp[0].sValue)); }{ if ((yyvsp[0].expressions2d)) (yyval.expression)=createArrayAccess((yyloc), new Id((yylsp[-1]),(yyvsp[-1].sValue),nullptr), *(yyvsp[0].expressions2d));{ (yyval.expression)=new BinOp((yyloc),new Id((yyloc), (yyvsp[-1].sValue), nullptr), BOT_POW, IntLit::a(-1)); free((yyvsp[-1].sValue)); }{ if ((yyvsp[-1].expressions2d)) (yyval.expression)=new BinOp((yyloc),createArrayAccess((yyloc), new Id((yylsp[-2]),(yyvsp[-2].sValue),nullptr), *(yyvsp[-1].expressions2d)), BOT_POW, IntLit::a(-1));{ if ((yyvsp[0].expressions2d)) (yyval.expression)=createArrayAccess((yyloc), new AnonVar((yyloc)), *(yyvsp[0].expressions2d));{ if ((yyvsp[-1].expressions2d)) (yyval.expression)=new BinOp((yyloc),createArrayAccess((yyloc), new AnonVar((yyloc)), *(yyvsp[-1].expressions2d)), BOT_POW, IntLit::a(-1));{ (yyval.expression)=new BinOp((yyloc),constants().boollit(((yyvsp[-1].iValue)!=0)), BOT_POW, IntLit::a(-1)); }{ (yyval.expression)=new BinOp((yyloc),IntLit::a((yyvsp[-1].iValue)), BOT_POW, IntLit::a(-1)); }{ (yyval.expression)=new BinOp((yyloc),IntLit::a(IntVal::infinity()), BOT_POW, IntLit::a(-1)); }{ (yyval.expression)=new BinOp((yyloc),FloatLit::a((yyvsp[-1].dValue)), BOT_POW, IntLit::a(-1)); }{ if ((yyvsp[0].expressions2d)) (yyval.expression)=createArrayAccess((yyloc), (yyvsp[-1].expression), *(yyvsp[0].expressions2d));{ (yyval.expression) = new BinOp((yyloc),(yyvsp[-1].expression), BOT_POW, IntLit::a(-1)); }{ if ((yyvsp[-1].expressions2d)) (yyval.expression)=new BinOp((yyloc),createArrayAccess((yyloc), (yyvsp[-2].expression), *(yyvsp[-1].expressions2d)), BOT_POW, IntLit::a(-1));{ if ((yyvsp[0].expressions2d)) (yyval.expression)=createArrayAccess((yyloc), (yyvsp[-1].expression), *(yyvsp[0].expressions2d));{ (yyval.expression) = new BinOp((yyloc),(yyvsp[-1].expression), BOT_POW, IntLit::a(-1)); }{ if ((yyvsp[-1].expressions2d)) (yyval.expression)=new BinOp((yyloc),createArrayAccess((yyloc), (yyvsp[-2].expression), *(yyvsp[-1].expressions2d)), BOT_POW, IntLit::a(-1));{ if ((yyvsp[0].expressions2d)) (yyval.expression)=createArrayAccess((yyloc), (yyvsp[-1].expression), *(yyvsp[0].expressions2d));{ (yyval.expression) = new BinOp((yyloc),(yyvsp[-1].expression), BOT_POW, IntLit::a(-1)); }{ if ((yyvsp[-1].expressions2d)) (yyval.expression)=new BinOp((yyloc),createArrayAccess((yyloc), (yyvsp[-2].expression), *(yyvsp[-1].expressions2d)), BOT_POW, IntLit::a(-1));{ if ((yyvsp[0].expressions2d)) (yyval.expression)=createArrayAccess((yyloc), (yyvsp[-1].expression), *(yyvsp[0].expressions2d));{ (yyval.expression) = new BinOp((yyloc),(yyvsp[-1].expression), BOT_POW, IntLit::a(-1)); }{ if ((yyvsp[-1].expressions2d)) (yyval.expression)=new BinOp((yyloc),createArrayAccess((yyloc), (yyvsp[-2].expression), *(yyvsp[-1].expressions2d)), BOT_POW, IntLit::a(-1));{ if ((yyvsp[0].expressions2d)) (yyval.expression)=createArrayAccess((yyloc), (yyvsp[-1].expression), *(yyvsp[0].expressions2d));{ (yyval.expression) = new BinOp((yyloc),(yyvsp[-1].expression), BOT_POW, IntLit::a(-1)); }{ if ((yyvsp[-1].expressions2d)) (yyval.expression)=new BinOp((yyloc),createArrayAccess((yyloc), (yyvsp[-2].expression), *(yyvsp[-1].expressions2d)), BOT_POW, IntLit::a(-1));{ if ((yyvsp[0].expressions2d)) (yyval.expression)=createArrayAccess((yyloc), (yyvsp[-1].expression), *(yyvsp[0].expressions2d));{ (yyval.expression) = new BinOp((yyloc),(yyvsp[-1].expression), BOT_POW, IntLit::a(-1)); }{ if ((yyvsp[-1].expressions2d)) (yyval.expression)=new BinOp((yyloc),createArrayAccess((yyloc), (yyvsp[-2].expression), *(yyvsp[-1].expressions2d)), BOT_POW, IntLit::a(-1));{ if ((yyvsp[0].expressions2d)) (yyval.expression)=createArrayAccess((yyloc), (yyvsp[-1].expression), *(yyvsp[0].expressions2d));{ if ((yyvsp[-1].expressions2d)) (yyval.expression)=createArrayAccess((yyloc), (yyvsp[-2].expression), *(yyvsp[-1].expressions2d));{ (yyval.expression)=new StringLit((yyloc), (yyvsp[0].sValue)); free((yyvsp[0].sValue)); }{ (yyval.expression)=new BinOp((yyloc), new StringLit((yyloc), (yyvsp[-1].sValue)), BOT_PLUSPLUS, (yyvsp[0].expression));{ if ((yyvsp[-1].expressions1d)) (yyval.expression)=new BinOp((yyloc), new Call((yyloc), ASTString("format"), *(yyvsp[-1].expressions1d)), BOT_PLUSPLUS, new StringLit((yyloc),(yyvsp[0].sValue)));-case 232: /* string_quote_rest: expr_list_head "interpolated string middle" string_quote_rest */{ if ((yyvsp[-2].expressions1d)) (yyval.expression)=new BinOp((yyloc), new Call((yyloc), ASTString("format"), *(yyvsp[-2].expressions1d)), BOT_PLUSPLUS,new BinOp((yyloc), new StringLit((yyloc),(yyvsp[-1].sValue)), BOT_PLUSPLUS, (yyvsp[0].expression)));·········{ if ((yyvsp[-1].expressions1d)) (yyval.expression) = new SetLit((yyloc), *(yyvsp[-1].expressions1d));{ if ((yyvsp[-1].generatorsPointer)) (yyval.expression) = new Comprehension((yyloc), (yyvsp[-3].expression), *(yyvsp[-1].generatorsPointer), true);{ if ((yyvsp[0].generators)) (yyval.generatorsPointer)=new Generators; (yyval.generatorsPointer)->g = *(yyvsp[0].generators); delete (yyvsp[0].generators); }{ (yyval.generators)=new std::vector<Generator>; if ((yyvsp[0].generator)) (yyval.generators)->push_back(*(yyvsp[0].generator)); delete (yyvsp[0].generator); }{ (yyval.generators)=new std::vector<Generator>; if ((yyvsp[0].generator)) (yyval.generators)->push_back(*(yyvsp[0].generator)); delete (yyvsp[0].generator); }if ((yyvsp[-2].generator) && (yyvsp[0].expression)) (yyval.generators)->push_back(Generator((yyval.generators)->size(),(yyvsp[0].expression)));···{ (yyval.generators)=(yyvsp[-2].generators); if ((yyval.generators) && (yyvsp[0].generator)) (yyval.generators)->push_back(*(yyvsp[0].generator)); delete (yyvsp[0].generator); }{ (yyval.generators)=(yyvsp[-2].generators); if ((yyval.generators) && (yyvsp[0].generator)) (yyval.generators)->push_back(*(yyvsp[0].generator)); delete (yyvsp[0].generator); }if ((yyval.generators) && (yyvsp[-2].generator)) (yyval.generators)->push_back(*(yyvsp[-2].generator));if ((yyval.generators) && (yyvsp[-2].generator) && (yyvsp[0].expression)) (yyval.generators)->push_back(Generator((yyval.generators)->size(),(yyvsp[0].expression)));···{ if ((yyvsp[-2].strings) && (yyvsp[0].expression)) (yyval.generator)=new Generator(*(yyvsp[-2].strings),(yyvsp[0].expression),nullptr); else (yyval.generator)=nullptr; delete (yyvsp[-2].strings); }{ if ((yyvsp[-4].strings) && (yyvsp[-2].expression)) (yyval.generator)=new Generator(*(yyvsp[-4].strings),(yyvsp[-2].expression),(yyvsp[0].expression)); else (yyval.generator)=nullptr; delete (yyvsp[-4].strings); }{ if ((yyvsp[0].expression)) (yyval.generator)=new Generator({(yyvsp[-2].sValue)},nullptr,(yyvsp[0].expression)); else (yyval.generator)=nullptr; free((yyvsp[-2].sValue)); }{ (yyval.strings)=new std::vector<std::string>; (yyval.strings)->push_back((yyvsp[0].sValue)); free((yyvsp[0].sValue)); }{ (yyval.strings)=(yyvsp[-2].strings); if ((yyval.strings) && (yyvsp[0].sValue)) (yyval.strings)->push_back((yyvsp[0].sValue)); free((yyvsp[0].sValue)); }{ if ((yyvsp[-1].expressions1d)) (yyval.expression)=new ArrayLit((yyloc), *(yyvsp[-1].expressions1d)); delete (yyvsp[-1].expressions1d); }·········{ (yyval.expressions3d)=new std::vector<std::vector<std::vector<MiniZinc::Expression*> > >;{ (yyval.expressions3d)=new std::vector<std::vector<std::vector<MiniZinc::Expression*> > >;if ((yyvsp[-1].expressions2d)) (yyval.expressions3d)->push_back(*(yyvsp[-1].expressions2d));-case 260: /* simple_array_literal_3d_list: simple_array_literal_3d_list ',' '|' simple_array_literal_2d_list '|' */if ((yyval.expressions3d) && (yyvsp[-1].expressions2d)) (yyval.expressions3d)->push_back(*(yyvsp[-1].expressions2d));if ((yyvsp[0].expressions1d)) (yyval.expressions2d)->push_back(*(yyvsp[0].expressions1d));{ (yyval.expressions2d)=(yyvsp[-2].expressions2d); if ((yyval.expressions2d) && (yyvsp[0].expressions1d)) (yyval.expressions2d)->push_back(*(yyvsp[0].expressions1d)); delete (yyvsp[0].expressions1d); }{ if ((yyvsp[-1].generatorsPointer)) (yyval.expression)=new Comprehension((yyloc), (yyvsp[-3].expression), *(yyvsp[-1].generatorsPointer), false);······{ (yyval.expressions1d)=(yyvsp[-4].expressions1d); if ((yyval.expressions1d) && (yyvsp[-2].expression) && (yyvsp[0].expression)) { (yyval.expressions1d)->push_back((yyvsp[-2].expression)); (yyval.expressions1d)->push_back((yyvsp[0].expression)); } }······{ (yyval.expression)=new Call((yyloc), (yyvsp[-2].sValue), std::vector<Expression*>()); free((yyvsp[-2].sValue)); }{ (yyval.expression)=new Call((yyloc), std::string((yyvsp[-3].sValue))+"⁻¹", std::vector<Expression*>()); free((yyvsp[-3].sValue)); }············(yyval.expressionPairs)->push_back(pair<Expression*,Expression*>((yyvsp[0].expression),nullptr));···(yyval.expressionPairs)->push_back(pair<Expression*,Expression*>((yyvsp[-2].expression),(yyvsp[0].expression)));···{ (yyval.expressionPairs)=(yyvsp[-2].expressionPairs); if ((yyval.expressionPairs) && (yyvsp[0].expression)) (yyval.expressionPairs)->push_back(pair<Expression*,Expression*>((yyvsp[0].expression),nullptr)); }{ (yyval.expressionPairs)=(yyvsp[-4].expressionPairs); if ((yyval.expressionPairs) && (yyvsp[-2].expression) && (yyvsp[0].expression)) (yyval.expressionPairs)->push_back(pair<Expression*,Expression*>((yyvsp[-2].expression),(yyvsp[0].expression))); }(yyval.expression)=new Let((yyloc), *(yyvsp[-3].expressions1d), (yyvsp[0].expression)); delete (yyvsp[-3].expressions1d);···(yyval.expression)=new Let((yyloc), *(yyvsp[-4].expressions1d), (yyvsp[0].expression)); delete (yyvsp[-4].expressions1d);···{ (yyval.expressions1d)=new vector<Expression*>; (yyval.expressions1d)->push_back((yyvsp[0].vardeclexpr)); }···{ (yyval.expressions1d)=(yyvsp[-2].expressions1d); if ((yyval.expressions1d) && (yyvsp[0].vardeclexpr)) (yyval.expressions1d)->push_back((yyvsp[0].vardeclexpr)); }···if ((yyval.vardeclexpr) && (yyvsp[0].expressions1d)) (yyval.vardeclexpr)->addAnnotations(*(yyvsp[0].expressions1d));······{ (yyval.expression) = new Call((yylsp[0]), ASTString("mzn_expression_name"), {(yyvsp[0].expression)}); }{ (yyval.expressions1d)=(yyvsp[-2].expressions1d); if ((yyval.expressions1d)) (yyval.expressions1d)->push_back((yyvsp[0].expression)); }···
+41
-50
software/minizinc/lib/chain_compressor.cpp
+41
-50
software/minizinc/lib/chain_compressor.cpp
··················
+55
-12
software/minizinc/lib/eval_par.cpp
+55
-12
software/minizinc/lib/eval_par.cpp
···+throw InternalError("evaluating var assignment generator inside par expression not supported");···+throw InternalError("evaluating var assignment generator inside par expression not supported");···+throw InternalError("evaluating var assignment generator inside par expression not supported");···+throw InternalError("evaluating var assignment generator inside par expression not supported");···+throw InternalError("evaluating var assignment generator inside par expression not supported");···+throw InternalError("evaluating var assignment generator inside par expression not supported");···static BoolLit* e(EnvI& env, Expression* e) { return constants().boollit(eval_bool(env, e)); }+throw InternalError("evaluating var assignment generator inside par expression not supported");···+throw InternalError("evaluating var assignment generator inside par expression not supported");···+throw InternalError("evaluating var assignment generator inside par expression not supported");···+throw InternalError("evaluating var assignment generator inside par expression not supported");···+throw InternalError("evaluating var assignment generator inside par expression not supported");···+throw InternalError("evaluating var assignment generator inside par expression not supported");···+throw InternalError("evaluating var assignment generator inside par expression not supported");···+throw InternalError("evaluating var assignment generator inside par expression not supported");···static SetLit* e(EnvI& env, Expression* e) { return new SetLit(e->loc(), eval_floatset(env, e)); }+throw InternalError("evaluating var assignment generator inside par expression not supported");···+throw InternalError("evaluating var assignment generator inside par expression not supported");···+throw InternalError("evaluating var assignment generator inside par expression not supported");···+throw InternalError("evaluating var assignment generator inside par expression not supported");···
+7
-29
software/minizinc/lib/flatten.cpp
+7
-29
software/minizinc/lib/flatten.cpp
···························
+3
software/minizinc/lib/flatten/flatten_comp.cpp
+3
software/minizinc/lib/flatten/flatten_comp.cpp
···
+17
-26
software/minizinc/lib/flatten/flatten_par.cpp
+17
-26
software/minizinc/lib/flatten/flatten_par.cpp
···
+1
-5
software/minizinc/lib/flatten/flatten_setlit.cpp
+1
-5
software/minizinc/lib/flatten/flatten_setlit.cpp
···
-7
software/minizinc/lib/flatten/flatten_vardecl.cpp
-7
software/minizinc/lib/flatten/flatten_vardecl.cpp
···
+2
-3
software/minizinc/lib/flattener.cpp
+2
-3
software/minizinc/lib/flattener.cpp
···
+2
-3
software/minizinc/lib/json_parser.cpp
+2
-3
software/minizinc/lib/json_parser.cpp
······
+10
-36
software/minizinc/lib/output.cpp
+10
-36
software/minizinc/lib/output.cpp
···············
+43
-64
software/minizinc/lib/parser.cpp
+43
-64
software/minizinc/lib/parser.cpp
························
+5
-5
software/minizinc/lib/parser.yxx
+5
-5
software/minizinc/lib/parser.yxx
···
+1
-19
software/minizinc/lib/passes/compile_pass.cpp
+1
-19
software/minizinc/lib/passes/compile_pass.cpp
······
+2
-2
software/minizinc/lib/prettyprinter.cpp
+2
-2
software/minizinc/lib/prettyprinter.cpp
······
+1
-1
software/minizinc/lib/solver_instance_base.cpp
+1
-1
software/minizinc/lib/solver_instance_base.cpp
+11
-82
software/minizinc/lib/typecheck.cpp
+11
-82
software/minizinc/lib/typecheck.cpp
···void create_enum_mapper(EnvI& env, Model* m, unsigned int enumId, VarDecl* vd, Model* enumItems) {······························
-4
software/minizinc/share/minizinc/linear/fzn_lex_chain_lesseq_bool.mzn
-4
software/minizinc/share/minizinc/linear/fzn_lex_chain_lesseq_bool.mzn
-23
software/minizinc/share/minizinc/linear/fzn_lex_chain_lesseq_int.mzn
-23
software/minizinc/share/minizinc/linear/fzn_lex_chain_lesseq_int.mzn
···
-40
software/minizinc/share/minizinc/linear/fzn_lex_chain_lesseq_orbitope.mzn
-40
software/minizinc/share/minizinc/linear/fzn_lex_chain_lesseq_orbitope.mzn
···
-12
software/minizinc/share/minizinc/linear/fzn_lex_less_bool.mzn
-12
software/minizinc/share/minizinc/linear/fzn_lex_less_bool.mzn
···
-38
software/minizinc/share/minizinc/linear/fzn_lex_less_float.mzn
-38
software/minizinc/share/minizinc/linear/fzn_lex_less_float.mzn
···
-39
software/minizinc/share/minizinc/linear/fzn_lex_less_int.mzn
-39
software/minizinc/share/minizinc/linear/fzn_lex_less_int.mzn
···
-38
software/minizinc/share/minizinc/linear/fzn_lex_lesseq_float.mzn
-38
software/minizinc/share/minizinc/linear/fzn_lex_lesseq_float.mzn
···
-77
software/minizinc/share/minizinc/linear/fzn_lex_lesseq_int.mzn
-77
software/minizinc/share/minizinc/linear/fzn_lex_lesseq_int.mzn
···
-11
software/minizinc/share/minizinc/std/fzn_lex_chain_less_bool.mzn
-11
software/minizinc/share/minizinc/std/fzn_lex_chain_less_bool.mzn
-12
software/minizinc/share/minizinc/std/fzn_lex_chain_less_bool_reif.mzn
-12
software/minizinc/share/minizinc/std/fzn_lex_chain_less_bool_reif.mzn
···
-11
software/minizinc/share/minizinc/std/fzn_lex_chain_less_int.mzn
-11
software/minizinc/share/minizinc/std/fzn_lex_chain_less_int.mzn
-12
software/minizinc/share/minizinc/std/fzn_lex_chain_less_int_reif.mzn
-12
software/minizinc/share/minizinc/std/fzn_lex_chain_less_int_reif.mzn
···
-11
software/minizinc/share/minizinc/std/fzn_lex_chain_lesseq_bool.mzn
-11
software/minizinc/share/minizinc/std/fzn_lex_chain_lesseq_bool.mzn
-12
software/minizinc/share/minizinc/std/fzn_lex_chain_lesseq_bool_reif.mzn
-12
software/minizinc/share/minizinc/std/fzn_lex_chain_lesseq_bool_reif.mzn
···
-11
software/minizinc/share/minizinc/std/fzn_lex_chain_lesseq_int.mzn
-11
software/minizinc/share/minizinc/std/fzn_lex_chain_lesseq_int.mzn
-12
software/minizinc/share/minizinc/std/fzn_lex_chain_lesseq_int_reif.mzn
-12
software/minizinc/share/minizinc/std/fzn_lex_chain_lesseq_int_reif.mzn
···
-23
software/minizinc/share/minizinc/std/fzn_lex_chain_lesseq_orbitope.mzn
-23
software/minizinc/share/minizinc/std/fzn_lex_chain_lesseq_orbitope.mzn
···
-23
software/minizinc/share/minizinc/std/fzn_lex_chain_lesseq_orbitope_reif.mzn
-23
software/minizinc/share/minizinc/std/fzn_lex_chain_lesseq_orbitope_reif.mzn
···
-37
software/minizinc/share/minizinc/std/fzn_piecewise_linear_non_continuous.mzn
-37
software/minizinc/share/minizinc/std/fzn_piecewise_linear_non_continuous.mzn
···
-7
software/minizinc/share/minizinc/std/fzn_piecewise_linear_non_continuous_reif.mzn
-7
software/minizinc/share/minizinc/std/fzn_piecewise_linear_non_continuous_reif.mzn
···
-8
software/minizinc/share/minizinc/std/fzn_strictly_decreasing_int_opt.mzn
-8
software/minizinc/share/minizinc/std/fzn_strictly_decreasing_int_opt.mzn
···
-8
software/minizinc/share/minizinc/std/lex2_strict.mzn
-8
software/minizinc/share/minizinc/std/lex2_strict.mzn
···
-28
software/minizinc/share/minizinc/std/lex_chain_greater.mzn
-28
software/minizinc/share/minizinc/std/lex_chain_greater.mzn
···
-28
software/minizinc/share/minizinc/std/lex_chain_greatereq.mzn
-28
software/minizinc/share/minizinc/std/lex_chain_greatereq.mzn
···
-19
software/minizinc/share/minizinc/std/lex_chain_greatereq_orbitope.mzn
-19
software/minizinc/share/minizinc/std/lex_chain_greatereq_orbitope.mzn
···
-19
software/minizinc/share/minizinc/std/lex_chain_less.mzn
-19
software/minizinc/share/minizinc/std/lex_chain_less.mzn
···
-12
software/minizinc/share/minizinc/std/lex_chain_less_bool.mzn
-12
software/minizinc/share/minizinc/std/lex_chain_less_bool.mzn
···
-12
software/minizinc/share/minizinc/std/lex_chain_less_int.mzn
-12
software/minizinc/share/minizinc/std/lex_chain_less_int.mzn
···
-33
software/minizinc/share/minizinc/std/lex_chain_lesseq.mzn
-33
software/minizinc/share/minizinc/std/lex_chain_lesseq.mzn
···
-12
software/minizinc/share/minizinc/std/lex_chain_lesseq_bool.mzn
-12
software/minizinc/share/minizinc/std/lex_chain_lesseq_bool.mzn
···
-12
software/minizinc/share/minizinc/std/lex_chain_lesseq_int.mzn
-12
software/minizinc/share/minizinc/std/lex_chain_lesseq_int.mzn
···
-18
software/minizinc/share/minizinc/std/lex_chain_lesseq_orbitope.mzn
-18
software/minizinc/share/minizinc/std/lex_chain_lesseq_orbitope.mzn
···
-29
software/minizinc/share/minizinc/std/piecewise_linear_non_continuous.mzn
-29
software/minizinc/share/minizinc/std/piecewise_linear_non_continuous.mzn
···
+1
-1
software/minizinc/solvers/MIP/MIP_cplex_wrap.cpp
+1
-1
software/minizinc/solvers/MIP/MIP_cplex_wrap.cpp
+1
-4
software/minizinc/solvers/MIP/MIP_gurobi_wrap.cpp
+1
-4
software/minizinc/solvers/MIP/MIP_gurobi_wrap.cpp
···
+7
-7
software/minizinc/solvers/MIP/MIP_osicbc_wrap.cpp
+7
-7
software/minizinc/solvers/MIP/MIP_osicbc_wrap.cpp
············
+5
-55
software/minizinc/solvers/MIP/MIP_scip_wrap.cpp
+5
-55
software/minizinc/solvers/MIP/MIP_scip_wrap.cpp
···············-cbuiPtr->pOutput->dWallTime = std::chrono::duration<double>(std::chrono::steady_clock::now() -
+1
-1
software/minizinc/solvers/MIP/MIP_xpress_wrap.cpp
+1
-1
software/minizinc/solvers/MIP/MIP_xpress_wrap.cpp
+3
-3
software/minizinc/tests/benchmarking/cmp_result_logs.py
+3
-3
software/minizinc/tests/benchmarking/cmp_result_logs.py
······
+14
-14
software/minizinc/tests/benchmarking/mzn-test.py
+14
-14
software/minizinc/tests/benchmarking/mzn-test.py
······sDZNOutputAgrs = "--output-mode dzn --output-objective" ## The flattener arguments to produce DZN-compatible output facilitating solution checking-sFlatOptChecker = "--allow-multiple-assignments -Dmzn_ignore_symmetry_breaking_constraints=true"···"n_FailedSaveMax": [ 3, "/// After that many failed solutions, stop checking the instance" ],·········### The %%%mzn-stat values appear in stdout (as of May 2019) but leave them here just in case"Time_Flt": [ "%%%mzn-stat: flatTime", "[:=]", 3, "/// E.g., 'Flattening done, 3s' produces 3."-"ObjVal_Solver": [ "%%%mzn-stat: objective=", "[,:/=]", 3, ## Need = to avoid mixup with the bound+"ObjVal_Solver": [ "%%%mzn-stat objective=", "[,:/=]", 3, ## Need = to avoid mixup witht the bound···"Time_Flt": [ "%%%mzn-stat: flatTime", "[:=]", 3, "/// E.g., 'Flattening done, 3s' produces 3."-"ObjVal_Solver": [ "%%%mzn-stat: objective=", "[,:/=]", 3, ## Need = to avoid mixup with the bound+"ObjVal_Solver": [ "%%%mzn-stat objective=", "[,:/=]", 3, ## Need = to avoid mixup witht the bound······
-9
software/minizinc/tests/spec/unit/general/test_empty_enum.mzn
-9
software/minizinc/tests/spec/unit/general/test_empty_enum.mzn
software/minizinc/tests/spec/unit/general/test_undefined_enum.fzn
software/minizinc/tests/spec/unit/general/test_undefined_enum.fzn
This is a binary file and will not be displayed.
-19
software/minizinc/tests/spec/unit/general/test_undefined_enum.mzn
-19
software/minizinc/tests/spec/unit/general/test_undefined_enum.mzn
···
-53
software/minizinc/tests/spec/unit/globals/lex_chain/globals_lex_chain.mzn
-53
software/minizinc/tests/spec/unit/globals/lex_chain/globals_lex_chain.mzn
···
-48
software/minizinc/tests/spec/unit/globals/lex_chain/globals_lex_chain__orbitope.mzn
-48
software/minizinc/tests/spec/unit/globals/lex_chain/globals_lex_chain__orbitope.mzn
···
-6
software/minizinc/tests/spec/unit/json/json_enum_def.json
-6
software/minizinc/tests/spec/unit/json/json_enum_def.json
-24
software/minizinc/tests/spec/unit/json/json_enum_def.mzn
-24
software/minizinc/tests/spec/unit/json/json_enum_def.mzn
···
-4
software/minizinc/tests/spec/unit/optional/test_bug_456.fzn
-4
software/minizinc/tests/spec/unit/optional/test_bug_456.fzn
-15
software/minizinc/tests/spec/unit/optional/test_bug_456.mzn
-15
software/minizinc/tests/spec/unit/optional/test_bug_456.mzn
-20
software/minizinc/tests/spec/unit/output/dzn_output_array.mzn
-20
software/minizinc/tests/spec/unit/output/dzn_output_array.mzn
···-array [Foo] of bool: d :: output_only :: add_to_output = array1d(Foo, [fix(x), fix(x), fix(x)]);-array [1..2, int] of bool: h :: output_only :: add_to_output = array2d(1..2, 2..3, [fix(x) | i in 1..4]);
-11
software/minizinc/tests/spec/unit/output/dzn_output_array.ozn
-11
software/minizinc/tests/spec/unit/output/dzn_output_array.ozn
···-output ["a = array1d(Foo, ",show(a),");\n","b = array1d(1..3, ",show(b),");\n","c = array1d(1..1, ",show(c),");\n","d = array1d(Foo, ",show(d),");\n","e = array1d(",show(index_set(e)),", ",show(e),");\n","f = array1d(2..3, ",show(f),");\n","g = array1d(",show(index_set(g)),", ",show(g),");\n","h = array2d(1..2, ",show(index_set_2of2(h)),", ",show(h),");\n"];
-15
software/minizinc/tests/spec/unit/regression/coercion_par.mzn
-15
software/minizinc/tests/spec/unit/regression/coercion_par.mzn
···
-5
software/minizinc/tests/spec/unit/regression/cse_array_lit.fzn
-5
software/minizinc/tests/spec/unit/regression/cse_array_lit.fzn
-17
software/minizinc/tests/spec/unit/regression/cse_array_lit.mzn
-17
software/minizinc/tests/spec/unit/regression/cse_array_lit.mzn
···
+2
-2
software/minizinc/tests/spec/unit/regression/flatten_comp_in.mzn
+2
-2
software/minizinc/tests/spec/unit/regression/flatten_comp_in.mzn
···
+3
-3
software/minizinc/tests/spec/unit/regression/flatten_comp_in2.mzn
+3
-3
software/minizinc/tests/spec/unit/regression/flatten_comp_in2.mzn
···
-19
software/minizinc/tests/spec/unit/regression/test_equality_of_indirect_annotations.mzn
-19
software/minizinc/tests/spec/unit/regression/test_equality_of_indirect_annotations.mzn
···-% Equality of annotation expression was failing if the annotation was an input argument (behind some indirection)