casadi 3.6.5__cp39-none-win_amd64.whl → 3.6.6__cp39-none-win_amd64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (502) hide show
  1. casadi/_casadi.pyd +0 -0
  2. casadi/bin/libtinyxml2.dll +0 -0
  3. casadi/blasfeo.lib +0 -0
  4. casadi/casadi-cli.exe +0 -0
  5. casadi/casadi.lib +0 -0
  6. casadi/casadi.py +663 -257
  7. casadi/cbc.exe +0 -0
  8. casadi/clp.exe +0 -0
  9. casadi/cmake/casadi-config-version.cmake +1 -1
  10. casadi/cmake/highs/highs-config.cmake +7 -14
  11. casadi/cmake/highs/highs-targets-release.cmake +13 -13
  12. casadi/cmake/highs/highs-targets.cmake +11 -9
  13. casadi/daqp.lib +0 -0
  14. casadi/fatrop.lib +0 -0
  15. casadi/highs.exe +0 -0
  16. casadi/highs.lib +0 -0
  17. casadi/hpipm.lib +0 -0
  18. casadi/include/casadi/casadi.i +3 -0
  19. casadi/include/casadi/casadi_c.h +2 -0
  20. casadi/include/casadi/config.h +8 -8
  21. casadi/include/casadi/core/casadi_common.hpp +1 -0
  22. casadi/include/casadi/core/casadi_misc.hpp +13 -0
  23. casadi/include/casadi/core/casadi_types.hpp +3 -2
  24. casadi/include/casadi/core/code_generator.hpp +30 -1
  25. casadi/include/casadi/core/global_options.hpp +2 -0
  26. casadi/include/casadi/core/mx.hpp +13 -3
  27. casadi/include/casadi/core/optistack.hpp +23 -0
  28. casadi/include/casadi/core/runtime/casadi_nlp.hpp +2 -0
  29. casadi/include/casadi/core/runtime/casadi_ocp_block.hpp +55 -0
  30. casadi/include/casadi/core/runtime/casadi_oracle.hpp +44 -0
  31. casadi/include/casadi/core/runtime/casadi_oracle_callback.hpp +39 -0
  32. casadi/include/casadi/core/runtime/casadi_runtime.hpp +4 -1
  33. casadi/include/casadi/core/runtime/casadi_scaled_copy.hpp +31 -0
  34. casadi/include/casadi/core/serializing_stream.hpp +2 -2
  35. casadi/include/casadi/core/sparsity.hpp +7 -0
  36. casadi/include/casadi/doc.i +1397 -955
  37. casadi/include/casadi/doc_merged.i +867 -675
  38. casadi/include/casadi/mem.h +1 -0
  39. casadi/include/daqp/api.h +46 -0
  40. casadi/include/daqp/auxiliary.h +29 -0
  41. casadi/include/daqp/bnb.h +32 -0
  42. casadi/include/daqp/codegen.h +18 -0
  43. casadi/include/daqp/constants.h +92 -0
  44. casadi/include/daqp/daqp.h +22 -0
  45. casadi/include/daqp/daqp_prox.h +18 -0
  46. casadi/include/daqp/factorization.h +18 -0
  47. casadi/include/daqp/types.h +161 -0
  48. casadi/include/daqp/utils.h +44 -0
  49. casadi/include/dlfcn.h +94 -0
  50. casadi/include/fatrop/auxiliary/Common.hpp +33 -0
  51. casadi/include/fatrop/auxiliary/DynamicLib.hpp +34 -0
  52. casadi/include/fatrop/auxiliary/FatropOptions.hpp +68 -0
  53. casadi/include/fatrop/auxiliary/FatropVector.hpp +143 -0
  54. casadi/include/fatrop/auxiliary/LinearAlgebra.hpp +88 -0
  55. casadi/include/fatrop/auxiliary/VectorUtils.hpp +54 -0
  56. casadi/include/fatrop/blasfeo_wrapper/LinearAlgebraBlasfeo.hpp +492 -0
  57. casadi/include/fatrop/function_evaluation/CasadiCodegen.hpp +104 -0
  58. casadi/include/fatrop/function_evaluation/FunctionEvaluation.hpp +60 -0
  59. casadi/include/fatrop/json/json.h +946 -0
  60. casadi/include/fatrop/ocp/CasadiCApiUserdataWrap.hpp +87 -0
  61. casadi/include/fatrop/ocp/DuInfEvaluator.hpp +38 -0
  62. casadi/include/fatrop/ocp/FatropOCP.hpp +161 -0
  63. casadi/include/fatrop/ocp/FatropOCPBuilder.hpp +52 -0
  64. casadi/include/fatrop/ocp/OCP.hpp +82 -0
  65. casadi/include/fatrop/ocp/OCPAbstract.hpp +254 -0
  66. casadi/include/fatrop/ocp/OCPAdapter.hpp +197 -0
  67. casadi/include/fatrop/ocp/OCPCInterface.h +289 -0
  68. casadi/include/fatrop/ocp/OCPDims.hpp +60 -0
  69. casadi/include/fatrop/ocp/OCPInitializer.hpp +41 -0
  70. casadi/include/fatrop/ocp/OCPKKT.hpp +69 -0
  71. casadi/include/fatrop/ocp/OCPLSRiccati.hpp +191 -0
  72. casadi/include/fatrop/ocp/OCPLSScaler.hpp +66 -0
  73. casadi/include/fatrop/ocp/OCPLinearSolver.hpp +75 -0
  74. casadi/include/fatrop/ocp/OCPNoScaling.hpp +42 -0
  75. casadi/include/fatrop/ocp/OCPScalingMethod.hpp +42 -0
  76. casadi/include/fatrop/ocp/StageOCP.hpp +592 -0
  77. casadi/include/fatrop/ocp/StageOCPApplication.hpp +242 -0
  78. casadi/include/fatrop/ocp/StageOCPExpressions.hpp +182 -0
  79. casadi/include/fatrop/ocp/UStageEvalAbstract.hpp +168 -0
  80. casadi/include/fatrop/ocp/UStageOCPImpl.hpp +152 -0
  81. casadi/include/fatrop/quasi_newton/bfgs.hpp +159 -0
  82. casadi/include/fatrop/solver/AlgBuilder.hpp +66 -0
  83. casadi/include/fatrop/solver/AlgStrategy.hpp +33 -0
  84. casadi/include/fatrop/solver/FatropAlg.hpp +108 -0
  85. casadi/include/fatrop/solver/FatropData.hpp +188 -0
  86. casadi/include/fatrop/solver/FatropOptions.hpp +94 -0
  87. casadi/include/fatrop/solver/FatropPrinter.hpp +65 -0
  88. casadi/include/fatrop/solver/FatropStats.hpp +63 -0
  89. casadi/include/fatrop/solver/Filter.hpp +54 -0
  90. casadi/include/fatrop/solver/IterationData.hpp +55 -0
  91. casadi/include/fatrop/solver/LineSearch.hpp +86 -0
  92. casadi/include/fatrop/solver/NLPL1.hpp +263 -0
  93. casadi/include/fatrop/templates/NLPAlg.hpp +102 -0
  94. casadi/include/highs/HConfig.h +6 -5
  95. casadi/include/highs/Highs.h +93 -23
  96. casadi/include/highs/filereaderlp/def.hpp +19 -0
  97. casadi/include/highs/interfaces/highs_c_api.h +200 -24
  98. casadi/include/highs/io/Filereader.h +1 -1
  99. casadi/include/highs/io/FilereaderEms.h +1 -1
  100. casadi/include/highs/io/FilereaderLp.h +1 -1
  101. casadi/include/highs/io/FilereaderMps.h +1 -1
  102. casadi/include/highs/io/HMPSIO.h +1 -1
  103. casadi/include/highs/io/HMpsFF.h +5 -3
  104. casadi/include/highs/io/HighsIO.h +18 -8
  105. casadi/include/highs/io/LoadOptions.h +1 -1
  106. casadi/include/highs/ipm/IpxSolution.h +35 -0
  107. casadi/include/highs/ipm/IpxWrapper.h +1 -1
  108. casadi/include/highs/ipm/basiclu/basiclu.h +161 -0
  109. casadi/include/highs/ipm/basiclu/basiclu_factorize.h +247 -0
  110. casadi/include/highs/ipm/basiclu/basiclu_get_factors.h +108 -0
  111. casadi/include/highs/ipm/basiclu/basiclu_initialize.h +119 -0
  112. casadi/include/highs/ipm/basiclu/basiclu_obj_factorize.h +34 -0
  113. casadi/include/highs/ipm/basiclu/basiclu_obj_free.h +19 -0
  114. casadi/include/highs/ipm/basiclu/basiclu_obj_get_factors.h +34 -0
  115. casadi/include/highs/ipm/basiclu/basiclu_obj_initialize.h +46 -0
  116. casadi/include/highs/ipm/basiclu/basiclu_obj_solve_dense.h +29 -0
  117. casadi/include/highs/ipm/basiclu/basiclu_obj_solve_for_update.h +42 -0
  118. casadi/include/highs/ipm/basiclu/basiclu_obj_solve_sparse.h +32 -0
  119. casadi/include/highs/ipm/basiclu/basiclu_obj_update.h +31 -0
  120. casadi/include/highs/ipm/basiclu/basiclu_object.h +30 -0
  121. casadi/include/highs/ipm/basiclu/basiclu_solve_dense.h +75 -0
  122. casadi/include/highs/ipm/basiclu/basiclu_solve_for_update.h +169 -0
  123. casadi/include/highs/ipm/basiclu/basiclu_solve_sparse.h +112 -0
  124. casadi/include/highs/ipm/basiclu/basiclu_update.h +125 -0
  125. casadi/include/highs/ipm/basiclu/lu_def.h +39 -0
  126. casadi/include/highs/ipm/basiclu/lu_file.h +21 -0
  127. casadi/include/highs/ipm/basiclu/lu_internal.h +220 -0
  128. casadi/include/highs/ipm/basiclu/lu_list.h +168 -0
  129. casadi/include/highs/ipm/ipx/basiclu_kernel.h +20 -0
  130. casadi/include/highs/ipm/ipx/basiclu_wrapper.h +47 -0
  131. casadi/include/highs/ipm/ipx/basis.h +351 -0
  132. casadi/include/highs/ipm/ipx/conjugate_residuals.h +74 -0
  133. casadi/include/highs/ipm/ipx/control.h +163 -0
  134. casadi/include/highs/ipm/ipx/crossover.h +157 -0
  135. casadi/include/highs/ipm/ipx/diagonal_precond.h +45 -0
  136. casadi/include/highs/ipm/ipx/forrest_tomlin.h +102 -0
  137. casadi/include/highs/ipm/ipx/guess_basis.h +21 -0
  138. casadi/include/highs/ipm/ipx/indexed_vector.h +113 -0
  139. casadi/include/highs/ipm/ipx/info.h +27 -0
  140. casadi/include/highs/ipm/ipx/ipm.h +94 -0
  141. casadi/include/highs/ipm/ipx/ipx_c.h +47 -0
  142. casadi/include/highs/ipm/ipx/ipx_config.h +9 -0
  143. casadi/include/highs/ipm/ipx/ipx_info.h +111 -0
  144. casadi/include/highs/ipm/ipx/ipx_internal.h +88 -0
  145. casadi/include/highs/ipm/ipx/ipx_parameters.h +75 -0
  146. casadi/include/highs/ipm/ipx/ipx_status.h +57 -0
  147. casadi/include/highs/ipm/ipx/iterate.h +328 -0
  148. casadi/include/highs/ipm/ipx/kkt_solver.h +70 -0
  149. casadi/include/highs/ipm/ipx/kkt_solver_basis.h +66 -0
  150. casadi/include/highs/ipm/ipx/kkt_solver_diag.h +48 -0
  151. casadi/include/highs/ipm/ipx/linear_operator.h +26 -0
  152. casadi/include/highs/ipm/ipx/lp_solver.h +201 -0
  153. casadi/include/highs/ipm/ipx/lu_factorization.h +79 -0
  154. casadi/include/highs/ipm/ipx/lu_update.h +129 -0
  155. casadi/include/highs/ipm/ipx/maxvolume.h +54 -0
  156. casadi/include/highs/ipm/ipx/model.h +409 -0
  157. casadi/include/highs/ipm/ipx/multistream.h +52 -0
  158. casadi/include/highs/ipm/ipx/normal_matrix.h +44 -0
  159. casadi/include/highs/ipm/ipx/power_method.h +44 -0
  160. casadi/include/highs/ipm/ipx/sparse_matrix.h +195 -0
  161. casadi/include/highs/ipm/ipx/sparse_utils.h +58 -0
  162. casadi/include/highs/ipm/ipx/splitted_normal_matrix.h +63 -0
  163. casadi/include/highs/ipm/ipx/starting_basis.h +39 -0
  164. casadi/include/highs/ipm/ipx/symbolic_invert.h +29 -0
  165. casadi/include/highs/ipm/ipx/timer.h +24 -0
  166. casadi/include/highs/ipm/ipx/utils.h +39 -0
  167. casadi/include/highs/lp_data/HConst.h +20 -10
  168. casadi/include/highs/lp_data/HStruct.h +23 -1
  169. casadi/include/highs/lp_data/HighsAnalysis.h +1 -1
  170. casadi/include/highs/lp_data/HighsCallback.h +10 -3
  171. casadi/include/highs/lp_data/HighsCallbackStruct.h +31 -5
  172. casadi/include/highs/lp_data/HighsDebug.h +1 -1
  173. casadi/include/highs/lp_data/HighsInfo.h +20 -2
  174. casadi/include/highs/lp_data/HighsInfoDebug.h +1 -1
  175. casadi/include/highs/lp_data/HighsLp.h +17 -1
  176. casadi/include/highs/lp_data/HighsLpSolverObject.h +1 -1
  177. casadi/include/highs/lp_data/HighsLpUtils.h +19 -19
  178. casadi/include/highs/lp_data/HighsModelUtils.h +1 -1
  179. casadi/include/highs/lp_data/HighsOptions.h +237 -10
  180. casadi/include/highs/lp_data/HighsRanging.h +1 -1
  181. casadi/include/highs/lp_data/HighsRuntimeOptions.h +2 -2
  182. casadi/include/highs/lp_data/HighsSolution.h +2 -2
  183. casadi/include/highs/lp_data/HighsSolutionDebug.h +1 -1
  184. casadi/include/highs/lp_data/HighsSolve.h +3 -1
  185. casadi/include/highs/lp_data/HighsStatus.h +1 -1
  186. casadi/include/highs/mip/HighsCliqueTable.h +4 -4
  187. casadi/include/highs/mip/HighsConflictPool.h +1 -1
  188. casadi/include/highs/mip/HighsCutGeneration.h +1 -1
  189. casadi/include/highs/mip/HighsCutPool.h +2 -2
  190. casadi/include/highs/mip/HighsDebugSol.h +22 -29
  191. casadi/include/highs/mip/HighsDomain.h +10 -2
  192. casadi/include/highs/mip/HighsDomainChange.h +1 -1
  193. casadi/include/highs/mip/HighsDynamicRowMatrix.h +5 -3
  194. casadi/include/highs/mip/HighsGFkSolve.h +3 -3
  195. casadi/include/highs/mip/HighsImplications.h +3 -3
  196. casadi/include/highs/mip/HighsLpAggregator.h +1 -1
  197. casadi/include/highs/mip/HighsLpRelaxation.h +6 -1
  198. casadi/include/highs/mip/HighsMipSolver.h +4 -2
  199. casadi/include/highs/mip/HighsMipSolverData.h +47 -4
  200. casadi/include/highs/mip/HighsModkSeparator.h +2 -2
  201. casadi/include/highs/mip/HighsNodeQueue.h +5 -3
  202. casadi/include/highs/mip/HighsObjectiveFunction.h +1 -1
  203. casadi/include/highs/mip/HighsPathSeparator.h +2 -2
  204. casadi/include/highs/mip/HighsPrimalHeuristics.h +1 -1
  205. casadi/include/highs/mip/HighsPseudocost.h +35 -23
  206. casadi/include/highs/mip/HighsRedcostFixing.h +1 -1
  207. casadi/include/highs/mip/HighsSearch.h +2 -1
  208. casadi/include/highs/mip/HighsSeparation.h +1 -1
  209. casadi/include/highs/mip/HighsSeparator.h +1 -1
  210. casadi/include/highs/mip/HighsTableauSeparator.h +1 -1
  211. casadi/include/highs/mip/HighsTransformedLp.h +1 -1
  212. casadi/include/highs/model/HighsHessian.h +5 -0
  213. casadi/include/highs/model/HighsHessianUtils.h +2 -0
  214. casadi/include/highs/model/HighsModel.h +10 -1
  215. casadi/include/highs/parallel/HighsMutex.h +2 -1
  216. casadi/include/highs/parallel/HighsParallel.h +7 -2
  217. casadi/include/highs/parallel/HighsTask.h +1 -2
  218. casadi/include/highs/pdlp/CupdlpWrapper.h +93 -0
  219. casadi/include/highs/pdlp/cupdlp/cupdlp_cs.h +41 -0
  220. casadi/include/highs/pdlp/cupdlp/cupdlp_defs.h +423 -0
  221. casadi/include/highs/pdlp/cupdlp/cupdlp_linalg.h +183 -0
  222. casadi/include/highs/pdlp/cupdlp/cupdlp_proj.h +19 -0
  223. casadi/include/highs/pdlp/cupdlp/cupdlp_restart.h +31 -0
  224. casadi/include/highs/pdlp/cupdlp/cupdlp_scaling_cuda.h +28 -0
  225. casadi/include/highs/pdlp/cupdlp/cupdlp_solver.h +98 -0
  226. casadi/include/highs/pdlp/cupdlp/cupdlp_step.h +33 -0
  227. casadi/include/highs/pdlp/cupdlp/cupdlp_utils.c +1726 -0
  228. casadi/include/highs/pdqsort/pdqsort.h +532 -0
  229. casadi/include/highs/presolve/HPresolve.h +27 -14
  230. casadi/include/highs/presolve/HPresolveAnalysis.h +1 -1
  231. casadi/include/highs/presolve/HighsPostsolveStack.h +92 -68
  232. casadi/include/highs/presolve/HighsSymmetry.h +6 -5
  233. casadi/include/highs/presolve/ICrash.h +8 -2
  234. casadi/include/highs/presolve/ICrashUtil.h +1 -1
  235. casadi/include/highs/presolve/ICrashX.h +1 -1
  236. casadi/include/highs/presolve/PresolveComponent.h +1 -1
  237. casadi/include/highs/qpsolver/a_asm.hpp +23 -12
  238. casadi/include/highs/qpsolver/a_quass.hpp +8 -1
  239. casadi/include/highs/qpsolver/basis.hpp +150 -0
  240. casadi/include/highs/qpsolver/crashsolution.hpp +12 -0
  241. casadi/include/highs/qpsolver/dantzigpricing.hpp +72 -0
  242. casadi/include/highs/qpsolver/devexpricing.hpp +99 -0
  243. casadi/include/highs/qpsolver/eventhandler.hpp +23 -0
  244. casadi/include/highs/qpsolver/factor.hpp +400 -0
  245. casadi/include/highs/qpsolver/feasibility_bounded.hpp +105 -0
  246. casadi/include/highs/qpsolver/feasibility_highs.hpp +270 -0
  247. casadi/include/highs/qpsolver/gradient.hpp +39 -0
  248. casadi/include/highs/qpsolver/instance.hpp +63 -0
  249. casadi/include/highs/qpsolver/matrix.hpp +335 -0
  250. casadi/include/highs/qpsolver/pricing.hpp +15 -0
  251. casadi/include/highs/qpsolver/qpconst.hpp +27 -0
  252. casadi/include/highs/qpsolver/{vector.hpp → qpvector.hpp} +25 -25
  253. casadi/include/highs/qpsolver/quass.hpp +1 -1
  254. casadi/include/highs/qpsolver/ratiotest.hpp +19 -0
  255. casadi/include/highs/qpsolver/runtime.hpp +38 -0
  256. casadi/include/highs/qpsolver/settings.hpp +57 -0
  257. casadi/include/highs/qpsolver/snippets.hpp +29 -0
  258. casadi/include/highs/qpsolver/statistics.hpp +23 -0
  259. casadi/include/highs/qpsolver/steepestedgepricing.hpp +167 -0
  260. casadi/include/highs/simplex/HApp.h +1 -1
  261. casadi/include/highs/simplex/HEkk.h +52 -18
  262. casadi/include/highs/simplex/HEkkDual.h +1 -1
  263. casadi/include/highs/simplex/HEkkDualRHS.h +6 -7
  264. casadi/include/highs/simplex/HEkkDualRow.h +2 -2
  265. casadi/include/highs/simplex/HEkkPrimal.h +6 -1
  266. casadi/include/highs/simplex/HSimplex.h +1 -3
  267. casadi/include/highs/simplex/HSimplexDebug.h +1 -1
  268. casadi/include/highs/simplex/HSimplexNla.h +1 -1
  269. casadi/include/highs/simplex/HSimplexReport.h +1 -1
  270. casadi/include/highs/simplex/HighsSimplexAnalysis.h +228 -100
  271. casadi/include/highs/simplex/SimplexConst.h +1 -1
  272. casadi/include/highs/simplex/SimplexStruct.h +2 -2
  273. casadi/include/highs/simplex/SimplexTimer.h +1 -1
  274. casadi/include/highs/test/DevKkt.h +1 -1
  275. casadi/include/highs/test/KktCh2.h +1 -1
  276. casadi/include/highs/util/FactorTimer.h +1 -1
  277. casadi/include/highs/util/HFactor.h +35 -6
  278. casadi/include/highs/util/HFactorConst.h +1 -1
  279. casadi/include/highs/util/HFactorDebug.h +1 -1
  280. casadi/include/highs/util/HSet.h +1 -1
  281. casadi/include/highs/util/HVector.h +1 -1
  282. casadi/include/highs/util/HVectorBase.h +1 -1
  283. casadi/include/highs/util/HighsCDouble.h +3 -3
  284. casadi/include/highs/util/HighsComponent.h +1 -1
  285. casadi/include/highs/util/HighsDataStack.h +4 -4
  286. casadi/include/highs/util/HighsDisjointSets.h +1 -1
  287. casadi/include/highs/util/HighsHash.h +28 -21
  288. casadi/include/highs/util/HighsHashTree.h +63 -63
  289. casadi/include/highs/util/HighsInt.h +1 -1
  290. casadi/include/highs/util/HighsIntegers.h +8 -9
  291. casadi/include/highs/util/HighsLinearSumBounds.h +1 -1
  292. casadi/include/highs/util/HighsMatrixPic.h +1 -1
  293. casadi/include/highs/util/HighsMatrixSlice.h +9 -6
  294. casadi/include/highs/util/HighsMatrixUtils.h +1 -1
  295. casadi/include/highs/util/HighsMemoryAllocation.h +55 -0
  296. casadi/include/highs/util/HighsRandom.h +27 -15
  297. casadi/include/highs/util/HighsRbTree.h +2 -2
  298. casadi/include/highs/util/HighsSort.h +7 -7
  299. casadi/include/highs/util/HighsSparseMatrix.h +5 -2
  300. casadi/include/highs/util/HighsSparseVectorSum.h +2 -2
  301. casadi/include/highs/util/HighsSplay.h +1 -1
  302. casadi/include/highs/util/HighsTimer.h +18 -9
  303. casadi/include/highs/util/HighsUtils.h +15 -8
  304. casadi/include/highs/util/stringutil.h +9 -4
  305. casadi/include/highs/zstr/strict_fstream.hpp +237 -0
  306. casadi/include/highs/zstr/zstr.hpp +472 -0
  307. casadi/include/highs_export.h +42 -0
  308. casadi/include/licenses/daqp-external/LICENSE +21 -0
  309. casadi/include/licenses/fatrop-external/LICENSE.txt +165 -0
  310. casadi/include/licenses/fatrop-external/external/blasfeo/LICENSE.txt +26 -0
  311. casadi/include/licenses/fatrop-external/external/pybind11/LICENSE +29 -0
  312. casadi/include/licenses/highs-external/{LICENSE → LICENSE.txt} +1 -1
  313. casadi/include/osqp/constants.h +2 -3
  314. casadi/include/osqp/version.h +9 -0
  315. casadi/include/sleqp/defs.h +2 -2
  316. casadi/ipopt.lib +0 -0
  317. casadi/lapack.lib +0 -0
  318. casadi/lib/libtinyxml2.dll.a +0 -0
  319. casadi/libCbc-3.dll +0 -0
  320. casadi/libCbc.dll.a +0 -0
  321. casadi/libCbcSolver-3.dll +0 -0
  322. casadi/libCbcSolver.dll.a +0 -0
  323. casadi/libCgl-1.dll +0 -0
  324. casadi/libCgl.dll.a +0 -0
  325. casadi/libClp-1.dll +0 -0
  326. casadi/libClp.dll.a +0 -0
  327. casadi/libClpSolver-1.dll +0 -0
  328. casadi/libClpSolver.dll.a +0 -0
  329. casadi/libCoinUtils-3.dll +0 -0
  330. casadi/libCoinUtils.dll.a +0 -0
  331. casadi/libOsi-1.dll +0 -0
  332. casadi/libOsi.dll.a +0 -0
  333. casadi/libOsiCbc-3.dll +0 -0
  334. casadi/libOsiCbc.dll.a +0 -0
  335. casadi/libOsiClp-1.dll +0 -0
  336. casadi/libOsiClp.dll.a +0 -0
  337. casadi/libOsiCommonTests-1.dll +0 -0
  338. casadi/libOsiCommonTests.dll.a +0 -0
  339. casadi/libalpaqa.dll +0 -0
  340. casadi/libalpaqa.dll.a +0 -0
  341. casadi/libblasfeo.dll +0 -0
  342. casadi/libblasfeo.dll.a +0 -0
  343. casadi/libbonmin-4.dll +0 -0
  344. casadi/libbonmin.dll.a +0 -0
  345. casadi/libcasadi-tp-openblas.dll +0 -0
  346. casadi/libcasadi-tp-openblas.dll.a +0 -0
  347. casadi/libcasadi.dll +0 -0
  348. casadi/libcasadi.dll.a +0 -0
  349. casadi/libcasadi_conic_cbc.dll +0 -0
  350. casadi/libcasadi_conic_cbc.dll.a +0 -0
  351. casadi/libcasadi_conic_clp.dll +0 -0
  352. casadi/libcasadi_conic_clp.dll.a +0 -0
  353. casadi/libcasadi_conic_cplex.dll +0 -0
  354. casadi/libcasadi_conic_cplex.dll.a +0 -0
  355. casadi/libcasadi_conic_daqp.dll +0 -0
  356. casadi/libcasadi_conic_daqp.dll.a +0 -0
  357. casadi/libcasadi_conic_fatrop.dll +0 -0
  358. casadi/libcasadi_conic_fatrop.dll.a +0 -0
  359. casadi/libcasadi_conic_gurobi.dll +0 -0
  360. casadi/libcasadi_conic_gurobi.dll.a +0 -0
  361. casadi/libcasadi_conic_highs.dll +0 -0
  362. casadi/libcasadi_conic_highs.dll.a +0 -0
  363. casadi/libcasadi_conic_hpipm.dll +0 -0
  364. casadi/libcasadi_conic_hpipm.dll.a +0 -0
  365. casadi/libcasadi_conic_ipqp.dll +0 -0
  366. casadi/libcasadi_conic_ipqp.dll.a +0 -0
  367. casadi/libcasadi_conic_nlpsol.dll +0 -0
  368. casadi/libcasadi_conic_nlpsol.dll.a +0 -0
  369. casadi/libcasadi_conic_osqp.dll +0 -0
  370. casadi/libcasadi_conic_osqp.dll.a +0 -0
  371. casadi/libcasadi_conic_proxqp.dll +0 -0
  372. casadi/libcasadi_conic_proxqp.dll.a +0 -0
  373. casadi/libcasadi_conic_qpoases.dll +0 -0
  374. casadi/libcasadi_conic_qpoases.dll.a +0 -0
  375. casadi/libcasadi_conic_qrqp.dll +0 -0
  376. casadi/libcasadi_conic_qrqp.dll.a +0 -0
  377. casadi/libcasadi_conic_superscs.dll +0 -0
  378. casadi/libcasadi_conic_superscs.dll.a +0 -0
  379. casadi/libcasadi_importer_shell.dll +0 -0
  380. casadi/libcasadi_importer_shell.dll.a +0 -0
  381. casadi/libcasadi_integrator_collocation.dll +0 -0
  382. casadi/libcasadi_integrator_collocation.dll.a +0 -0
  383. casadi/libcasadi_integrator_cvodes.dll +0 -0
  384. casadi/libcasadi_integrator_cvodes.dll.a +0 -0
  385. casadi/libcasadi_integrator_idas.dll +0 -0
  386. casadi/libcasadi_integrator_idas.dll.a +0 -0
  387. casadi/libcasadi_integrator_rk.dll +0 -0
  388. casadi/libcasadi_integrator_rk.dll.a +0 -0
  389. casadi/libcasadi_interpolant_bspline.dll +0 -0
  390. casadi/libcasadi_interpolant_bspline.dll.a +0 -0
  391. casadi/libcasadi_interpolant_linear.dll +0 -0
  392. casadi/libcasadi_interpolant_linear.dll.a +0 -0
  393. casadi/libcasadi_linsol_csparse.dll +0 -0
  394. casadi/libcasadi_linsol_csparse.dll.a +0 -0
  395. casadi/libcasadi_linsol_csparsecholesky.dll +0 -0
  396. casadi/libcasadi_linsol_csparsecholesky.dll.a +0 -0
  397. casadi/libcasadi_linsol_lapacklu.dll +0 -0
  398. casadi/libcasadi_linsol_lapacklu.dll.a +0 -0
  399. casadi/libcasadi_linsol_lapackqr.dll +0 -0
  400. casadi/libcasadi_linsol_lapackqr.dll.a +0 -0
  401. casadi/libcasadi_linsol_ldl.dll +0 -0
  402. casadi/libcasadi_linsol_ldl.dll.a +0 -0
  403. casadi/libcasadi_linsol_lsqr.dll +0 -0
  404. casadi/libcasadi_linsol_lsqr.dll.a +0 -0
  405. casadi/libcasadi_linsol_ma27.dll +0 -0
  406. casadi/libcasadi_linsol_ma27.dll.a +0 -0
  407. casadi/libcasadi_linsol_mumps.dll +0 -0
  408. casadi/libcasadi_linsol_mumps.dll.a +0 -0
  409. casadi/libcasadi_linsol_qr.dll +0 -0
  410. casadi/libcasadi_linsol_qr.dll.a +0 -0
  411. casadi/libcasadi_linsol_symbolicqr.dll +0 -0
  412. casadi/libcasadi_linsol_symbolicqr.dll.a +0 -0
  413. casadi/libcasadi_linsol_tridiag.dll +0 -0
  414. casadi/libcasadi_linsol_tridiag.dll.a +0 -0
  415. casadi/libcasadi_nlpsol_alpaqa.dll +0 -0
  416. casadi/libcasadi_nlpsol_alpaqa.dll.a +0 -0
  417. casadi/libcasadi_nlpsol_ampl.dll +0 -0
  418. casadi/libcasadi_nlpsol_ampl.dll.a +0 -0
  419. casadi/libcasadi_nlpsol_blocksqp.dll +0 -0
  420. casadi/libcasadi_nlpsol_blocksqp.dll.a +0 -0
  421. casadi/libcasadi_nlpsol_bonmin.dll +0 -0
  422. casadi/libcasadi_nlpsol_bonmin.dll.a +0 -0
  423. casadi/libcasadi_nlpsol_fatrop.dll +0 -0
  424. casadi/libcasadi_nlpsol_fatrop.dll.a +0 -0
  425. casadi/libcasadi_nlpsol_feasiblesqpmethod.dll +0 -0
  426. casadi/libcasadi_nlpsol_feasiblesqpmethod.dll.a +0 -0
  427. casadi/libcasadi_nlpsol_ipopt.dll +0 -0
  428. casadi/libcasadi_nlpsol_ipopt.dll.a +0 -0
  429. casadi/libcasadi_nlpsol_knitro.dll +0 -0
  430. casadi/libcasadi_nlpsol_knitro.dll.a +0 -0
  431. casadi/libcasadi_nlpsol_madnlp.dll +0 -0
  432. casadi/libcasadi_nlpsol_madnlp.dll.a +0 -0
  433. casadi/libcasadi_nlpsol_qrsqp.dll +0 -0
  434. casadi/libcasadi_nlpsol_qrsqp.dll.a +0 -0
  435. casadi/libcasadi_nlpsol_scpgen.dll +0 -0
  436. casadi/libcasadi_nlpsol_scpgen.dll.a +0 -0
  437. casadi/libcasadi_nlpsol_sleqp.dll +0 -0
  438. casadi/libcasadi_nlpsol_sleqp.dll.a +0 -0
  439. casadi/libcasadi_nlpsol_snopt.dll +0 -0
  440. casadi/libcasadi_nlpsol_snopt.dll.a +0 -0
  441. casadi/libcasadi_nlpsol_sqpmethod.dll +0 -0
  442. casadi/libcasadi_nlpsol_sqpmethod.dll.a +0 -0
  443. casadi/libcasadi_nlpsol_worhp.dll +0 -0
  444. casadi/libcasadi_nlpsol_worhp.dll.a +0 -0
  445. casadi/libcasadi_rootfinder_fast_newton.dll +0 -0
  446. casadi/libcasadi_rootfinder_fast_newton.dll.a +0 -0
  447. casadi/libcasadi_rootfinder_kinsol.dll +0 -0
  448. casadi/libcasadi_rootfinder_kinsol.dll.a +0 -0
  449. casadi/libcasadi_rootfinder_newton.dll +0 -0
  450. casadi/libcasadi_rootfinder_newton.dll.a +0 -0
  451. casadi/libcasadi_rootfinder_nlpsol.dll +0 -0
  452. casadi/libcasadi_rootfinder_nlpsol.dll.a +0 -0
  453. casadi/libcasadi_sundials_common.dll +0 -0
  454. casadi/libcasadi_sundials_common.dll.a +0 -0
  455. casadi/libcasadi_xmlfile_tinyxml.dll +0 -0
  456. casadi/libcasadi_xmlfile_tinyxml.dll.a +0 -0
  457. casadi/libcoinmetis-2.dll +0 -0
  458. casadi/libcoinmetis.dll.a +0 -0
  459. casadi/libcoinmumps-3.dll +0 -0
  460. casadi/libcoinmumps.dll.a +0 -0
  461. casadi/libcplex_adaptor.dll +0 -0
  462. casadi/libdaqp.dll +0 -0
  463. casadi/libdaqp.dll.a +0 -0
  464. casadi/libdaqpstat.a +0 -0
  465. casadi/{libFortranHighs.dll → libdl.dll} +0 -0
  466. casadi/libdl.dll.a +0 -0
  467. casadi/libfatrop.dll +0 -0
  468. casadi/libfatrop.dll.a +0 -0
  469. casadi/libgurobi_adaptor.dll +0 -0
  470. casadi/libhighs.dll +0 -0
  471. casadi/libhighs.dll.a +0 -0
  472. casadi/libhpipm.dll +0 -0
  473. casadi/libhpipm.dll.a +0 -0
  474. casadi/libipopt-3.dll +0 -0
  475. casadi/libipopt.dll.a +0 -0
  476. casadi/libmatlab_ipc.dll +0 -0
  477. casadi/libmatlab_ipc.dll.a +0 -0
  478. casadi/libosqp.a +0 -0
  479. casadi/libosqp.dll +0 -0
  480. casadi/libosqp.dll.a +0 -0
  481. casadi/libqdldl.dll +0 -0
  482. casadi/libqdldl.dll.a +0 -0
  483. casadi/libsipopt-3.dll +0 -0
  484. casadi/libsipopt.dll.a +0 -0
  485. casadi/libsleqp.dll +0 -0
  486. casadi/libsleqp.dll.a +0 -0
  487. casadi/libtinyxml2.dll +0 -0
  488. casadi/libtrlib.dll +0 -0
  489. casadi/libtrlib.dll.a +0 -0
  490. casadi/matlab_ipc.lib +0 -0
  491. casadi/osqp.lib +0 -0
  492. casadi/pkgconfig/casadi.pc +1 -1
  493. casadi/pkgconfig/highs.pc +1 -1
  494. casadi/sleqp.lib +0 -0
  495. casadi/spral_ssids.exe +0 -0
  496. casadi/tools/__init__.py +4 -0
  497. casadi/tools/bounds.py +3 -3
  498. {casadi-3.6.5.dist-info → casadi-3.6.6.dist-info}/METADATA +2 -2
  499. {casadi-3.6.5.dist-info → casadi-3.6.6.dist-info}/RECORD +500 -324
  500. casadi/include/highs/fortran/highs_fortran_api.mod +0 -0
  501. casadi/libFortranHighs.dll.a +0 -0
  502. {casadi-3.6.5.dist-info → casadi-3.6.6.dist-info}/WHEEL +0 -0
casadi/cbc.exe CHANGED
Binary file
casadi/clp.exe CHANGED
Binary file
@@ -1,4 +1,4 @@
1
- set(PACKAGE_VERSION "3.6.5")
1
+ set(PACKAGE_VERSION "3.6.6")
2
2
 
3
3
  # Check whether the requested PACKAGE_FIND_VERSION is compatible
4
4
  if("${PACKAGE_VERSION}" VERSION_LESS "${PACKAGE_FIND_VERSION}")
@@ -2,22 +2,15 @@
2
2
 
3
3
  set(HIGHS_DIR "")
4
4
 
5
- if (FAST_BUILD)
6
- if(NOT TARGET highs)
7
- include("${CMAKE_CURRENT_LIST_DIR}/highs-targets.cmake")
8
- endif()
5
+ if(NOT TARGET highs)
6
+ include("${CMAKE_CURRENT_LIST_DIR}/highs-targets.cmake")
7
+ endif()
9
8
 
10
- set(HIGHS_LIBRARIES highs)
11
- else()
12
- if(NOT TARGET libhighs)
13
- include("${CMAKE_CURRENT_LIST_DIR}/highs-targets.cmake")
14
- endif()
9
+ set(HIGHS_LIBRARIES highs)
15
10
 
16
- set(HIGHS_LIBRARIES libhighs)
17
- endif()
18
-
19
- set(HIGHS_INCLUDE_DIRS "${CMAKE_CURRENT_LIST_DIR}/../../../include/highs")
11
+ set(HIGHS_INCLUDE_DIRS "${CMAKE_CURRENT_LIST_DIR}/../../../include")
20
12
 
21
13
  set(HIGHS_FOUND TRUE)
22
14
 
23
-
15
+ include(CMakeFindDependencyMacro)
16
+ find_dependency(Threads)
@@ -5,24 +5,24 @@
5
5
  # Commands may need to know the format version.
6
6
  set(CMAKE_IMPORT_FILE_VERSION 1)
7
7
 
8
- # Import target "highs" for configuration "Release"
9
- set_property(TARGET highs APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
10
- set_target_properties(highs PROPERTIES
11
- IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/bin/highs.exe"
8
+ # Import target "highs::highs" for configuration "Release"
9
+ set_property(TARGET highs::highs APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
10
+ set_target_properties(highs::highs PROPERTIES
11
+ IMPORTED_IMPLIB_RELEASE "${_IMPORT_PREFIX}/lib/libhighs.dll.a"
12
+ IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/bin/libhighs.dll"
12
13
  )
13
14
 
14
- list(APPEND _IMPORT_CHECK_TARGETS highs )
15
- list(APPEND _IMPORT_CHECK_FILES_FOR_highs "${_IMPORT_PREFIX}/bin/highs.exe" )
15
+ list(APPEND _IMPORT_CHECK_TARGETS highs::highs )
16
+ list(APPEND _IMPORT_CHECK_FILES_FOR_highs::highs "${_IMPORT_PREFIX}/lib/libhighs.dll.a" "${_IMPORT_PREFIX}/bin/libhighs.dll" )
16
17
 
17
- # Import target "libhighs" for configuration "Release"
18
- set_property(TARGET libhighs APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
19
- set_target_properties(libhighs PROPERTIES
20
- IMPORTED_IMPLIB_RELEASE "${_IMPORT_PREFIX}/lib/libhighs.dll.a"
21
- IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/bin/libhighs.dll"
18
+ # Import target "highs::highs-bin" for configuration "Release"
19
+ set_property(TARGET highs::highs-bin APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
20
+ set_target_properties(highs::highs-bin PROPERTIES
21
+ IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/bin/highs.exe"
22
22
  )
23
23
 
24
- list(APPEND _IMPORT_CHECK_TARGETS libhighs )
25
- list(APPEND _IMPORT_CHECK_FILES_FOR_libhighs "${_IMPORT_PREFIX}/lib/libhighs.dll.a" "${_IMPORT_PREFIX}/bin/libhighs.dll" )
24
+ list(APPEND _IMPORT_CHECK_TARGETS highs::highs-bin )
25
+ list(APPEND _IMPORT_CHECK_FILES_FOR_highs::highs-bin "${_IMPORT_PREFIX}/bin/highs.exe" )
26
26
 
27
27
  # Commands beyond this point should not need to know the version.
28
28
  set(CMAKE_IMPORT_FILE_VERSION)
@@ -16,7 +16,7 @@ set(CMAKE_IMPORT_FILE_VERSION 1)
16
16
  set(_targetsDefined)
17
17
  set(_targetsNotDefined)
18
18
  set(_expectedTargets)
19
- foreach(_expectedTarget highs libhighs)
19
+ foreach(_expectedTarget highs::highs highs::highs-bin)
20
20
  list(APPEND _expectedTargets ${_expectedTarget})
21
21
  if(NOT TARGET ${_expectedTarget})
22
22
  list(APPEND _targetsNotDefined ${_expectedTarget})
@@ -50,18 +50,20 @@ if(_IMPORT_PREFIX STREQUAL "/")
50
50
  set(_IMPORT_PREFIX "")
51
51
  endif()
52
52
 
53
- # Create imported target highs
54
- add_executable(highs IMPORTED)
53
+ # Create imported target highs::highs
54
+ add_library(highs::highs SHARED IMPORTED)
55
55
 
56
- # Create imported target libhighs
57
- add_library(libhighs SHARED IMPORTED)
58
-
59
- set_target_properties(libhighs PROPERTIES
60
- INTERFACE_COMPILE_DEFINITIONS "LIBHIGHS_STATIC_DEFINE"
61
- INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include/highs"
56
+ set_target_properties(highs::highs PROPERTIES
57
+ COMPATIBLE_INTERFACE_STRING "HIGHS_MAJOR_VERSION"
58
+ INTERFACE_HIGHS_MAJOR_VERSION "1"
59
+ INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include;${_IMPORT_PREFIX}/include/highs"
62
60
  INTERFACE_LINK_LIBRARIES "Threads::Threads"
61
+ INTERFACE_POSITION_INDEPENDENT_CODE "ON"
63
62
  )
64
63
 
64
+ # Create imported target highs::highs-bin
65
+ add_executable(highs::highs-bin IMPORTED)
66
+
65
67
  if(CMAKE_VERSION VERSION_LESS 2.8.12)
66
68
  message(FATAL_ERROR "This file relies on consumers using CMake 2.8.12 or greater.")
67
69
  endif()
casadi/daqp.lib ADDED
Binary file
casadi/fatrop.lib ADDED
Binary file
casadi/highs.exe CHANGED
Binary file
casadi/highs.lib CHANGED
Binary file
casadi/hpipm.lib CHANGED
Binary file
@@ -3694,6 +3694,9 @@ DECL M casadi_stop_diff(const M& expr, casadi_int order) {
3694
3694
  DECL M casadi_stop_diff(const M& expr, const M& var, casadi_int order) {
3695
3695
  return stop_diff(expr, var, order);
3696
3696
  }
3697
+ DECL std::vector< M > casadi_difference(const std::vector< M >& a, const std::vector< M >& b) {
3698
+ return difference(a, b);
3699
+ }
3697
3700
  DECL M casadi_no_hess(const M& expr) {
3698
3701
  return no_hess(expr);
3699
3702
  }
@@ -128,6 +128,8 @@ CASADI_EXPORT int casadi_c_work_id(int id, casadi_int *sz_arg, casadi_int* sz_re
128
128
  CASADI_EXPORT int casadi_c_eval_id(int id, const double** arg, double** res,
129
129
  casadi_int* iw, double* w, int mem);
130
130
 
131
+ CASADI_EXPORT void casadi_c_logger_write(const char* msg, int num);
132
+ CASADI_EXPORT void casadi_c_logger_flush(void);
131
133
 
132
134
  #ifdef __cplusplus
133
135
  }
@@ -26,18 +26,18 @@
26
26
 
27
27
  #define CASADI_MAJOR_VERSION 3
28
28
  #define CASADI_MINOR_VERSION 6
29
- #define CASADI_PATCH_VERSION 5
29
+ #define CASADI_PATCH_VERSION 6
30
30
  #define CASADI_IS_RELEASE 1
31
- #define CASADI_VERSION_STRING "3.6.5"
32
- #define CASADI_GIT_REVISION "3d820e62cb588e76498c92bf6feff6876b4e7ca0" // NOLINT(whitespace/line_length)
33
- #define CASADI_GIT_DESCRIBE "3.6.3-175.3d820e62c" // NOLINT(whitespace/line_length)
34
- #define CASADI_FEATURE_LIST "\n * dynamic-loading, Support for import of FMI 2.0 binaries\n * sundials-interface, Interface to the ODE/DAE integrator suite SUNDIALS.\n * csparse-interface, Interface to the sparse direct linear solver CSparse.\n * superscs-interface, Interface to QP solver SUPERSCS.\n * osqp-interface, Interface to QP solver OSQP.\n * tinyxml-interface, Interface to the XML parser TinyXML.\n * qpoases-interface, Interface to the active-set QP solver qpOASES.\n * blocksqp-interface, Interface to the NLP solver blockSQP.\n * cplex-mockup-build, Use mockup CPLEX (BUILD_MOCKUPS_VERSION=v65) from downloaded source (BUILD_MOCKUPS_GIT_REPO=https://github.com/casadi/mockups.git).\n * snopt-mockup-build, Use mockup SNOPT (BUILD_MOCKUPS_VERSION=v65) from downloaded source (BUILD_MOCKUPS_GIT_REPO=https://github.com/casadi/mockups.git).\n * knitro-mockup-build, Use mockup KNITRO (BUILD_MOCKUPS_VERSION=v65) from downloaded source (BUILD_MOCKUPS_GIT_REPO=https://github.com/casadi/mockups.git).\n * gurobi-mockup-build, Use mockup GUROBI (BUILD_MOCKUPS_VERSION=v65) from downloaded source (BUILD_MOCKUPS_GIT_REPO=https://github.com/casadi/mockups.git).\n * worhp-mockup-build, Use mockup WORHP (BUILD_MOCKUPS_VERSION=v65) from downloaded source (BUILD_MOCKUPS_GIT_REPO=https://github.com/casadi/mockups.git).\n * hsl-mockup-build, Use mockup WORHP (BUILD_MOCKUPS_VERSION=v65) from downloaded source (BUILD_MOCKUPS_GIT_REPO=https://github.com/casadi/mockups.git).\n * alpaqa-sourcebuild, Build Alpaqa (BUILD_ALPAQA_VERSION=develop) from downloaded source (BUILD_ALPAQA_GIT_REPO=https://github.com/jgillis/alpaqa).\n * highs-sourcebuild, Build HiGHS (BUILD_HIGHS_VERSION=v1.6.0) from downloaded source (BUILD_HIGHS_GIT_REPO=https://github.com/ERGO-Code/HiGHS).\n * proxqp-sourcebuild, Build PROXQP (BUILD_PROXQP_VERSION=v0.3.2) from downloaded source (BUILD_PROXQP_GIT_REPO=https://github.com/Simple-Robotics/proxsuite.git).\n * osqp-sourcebuild, Build OSQP (BUILD_OSQP_VERSION=v0.6.2) from downloaded source (BUILD_OSQP_GIT_REPO=https://github.com/osqp/osqp.git).\n * superscs-sourcebuild, Build SuperSCS (BUILD_SUPERSCS_VERSION=4d2d1bd03ed4cf93e684a880b233760ce34ca69c) from downloaded source (BUILD_SUPERSCS_GIT_REPO=https://github.com/jgillis/scs.git).\n * sleqp-sourcebuild, Build SLEQP (BUILD_SLEQP_VERSION=patch-1) from downloaded source (BUILD_SLEQP_GIT_REPO=https://github.com/jgillis/sleqp.git).\n * bonmin-sourcebuild, Build BONMIN (BUILD_BONMIN_VERSION=releases/1.8.9) from downloaded source (BUILD_BONMIN_GIT_REPO=https://github.com/coin-or/Bonmin.git).\n * ipopt-sourcebuild, Build IPOPT (BUILD_IPOPT_VERSION=3.14.11.mod) from downloaded source (BUILD_IPOPT_GIT_REPO=https://github.com/jgillis/Ipopt-1.git).\n * cbc-sourcebuild, Build CBC (BUILD_CBC_VERSION=releases/2.10.11) from downloaded source.\n * clp-sourcebuild, Build CLP (BUILD_CLP_VERSION=releases/1.17.9) from downloaded source (BUILD_CLP_GIT_REPO=https://github.com/coin-or/Clp.git).\n * mumps-sourcebuild, Build MUMPS (BUILD_MUMPS_TP_VERSION=releases/3.0.2) from downloaded source (BUILD_MUMPS_TP_GIT_REPO=https://github.com/coin-or-tools/ThirdParty-Mumps.git).\n * spral-sourcebuild, Build SPRAL (BUILD_SPRAL_VERSION=d385d2c9e858366d257cafaaf05760ffa6543e26) from downloaded source (BUILD_SPRAL_GIT_REPO=https://github.com/ralna/spral.git).\n * metis-sourcebuild, Build METIS (BUILD_METIS_TP_VERSION=releases/2.0.0) from downloaded source.\n * hpipm-sourcebuild, Build HPIPM (BUILD_HPIPM_VERSION=0e0c9f4e0d4081dceafa9b37c396db50bce0e81a) from downloaded source (BUILD_HPIPM_GIT_REPO=https://github.com/jgillis/hpipm.git).\n * trlib-sourcebuild, Build TRLIB (BUILD_TRLIB_VERSION=c7632b8b14152e78bc21721a3bd1a2432586b824) from downloaded source (BUILD_TRLIB_GIT_REPO=https://github.com/jgillis/trlib.git).\n * blasfeo-sourcebuild, Build BLASFEO (BUILD_BLASFEO_VERSION=edf92b396adddd9e548b9786f87ad290a0971329) from downloaded source (BUILD_BLASFEO_GIT_REPO=https://github.com/giaf/blasfeo.git).\n * lapack-sourcebuild, Download and install OpenBLAS for LAPACK+BLAS\n * eigen3-sourcebuild, Build Eigen (BUILD_EIGEN3_VERSION=3.4.0) from downloaded source (BUILD_EIGEN3_GIT_REPO=https://gitlab.com/libeigen/eigen.git).\n * simde-sourcebuild, Build Simde (BUILD_SIMDE_VERSION=v0.7.2) from downloaded source (BUILD_SIMDE_GIT_REPO=https://github.com/simd-everywhere/simde.git).\n * cplex-interface, Interface to the QP solver CPLEX.\n * gurobi-interface, Interface to the (mixed-integer) QP solver GUROBI\n * knitro-interface, Interface to the NLP solver KNITRO.\n * snopt-interface, Interface to the NLP solver KNITRO.\n * worhp-interface, Interface to the NLP solver Worhp (requires gfortran, gomp).\n * lapack-interface, Interface to LAPACK.\n * mumps-interface, Interface to MUMPS.\n * spral-interface, Interface to SPRAL.\n * coinutils-sourcebuild, Build COINUTILS (BUILD_COINUTILS_VERSION=releases/2.11.10) from downloaded source.\n * osi-sourcebuild, Build OSI (BUILD_OSI_VERSION=releases/0.108.9) from downloaded source.\n * clp-interface, Interface to the LP solver CLP.\n * cgl-sourcebuild, Build CGL (BUILD_CGL_VERSION=releases/0.60.8) from downloaded source.\n * cbc-interface, Interface to the LP solver CBC.\n * ipopt-interface, Interface to the NLP solver Ipopt.\n * bonmin-interface, Interface to the MINLP framework Bonmin.\n * highs-interface, Interface to the MILP / QP solver HiGHS.\n * sleqp-interface, Interface to the NLP solver SLEQP.\n * alpaqa-interface, Interface to the NLP solver Alpaqa.\n * proxqp-interface, Interface to QP solver PROXQP.\n * ampl-interface, Interface to the AMPL solver library.\n" // NOLINT(whitespace/line_length)
31
+ #define CASADI_VERSION_STRING "3.6.6"
32
+ #define CASADI_GIT_REVISION "279e0b80886dc5eb43a9d12a1056c550dc3b786e" // NOLINT(whitespace/line_length)
33
+ #define CASADI_GIT_DESCRIBE "3.6.3-275.279e0b808" // NOLINT(whitespace/line_length)
34
+ #define CASADI_FEATURE_LIST "\n * dynamic-loading, Support for import of FMI 2.0 binaries\n * sundials-interface, Interface to the ODE/DAE integrator suite SUNDIALS.\n * csparse-interface, Interface to the sparse direct linear solver CSparse.\n * superscs-interface, Interface to QP solver SUPERSCS.\n * osqp-interface, Interface to QP solver OSQP.\n * tinyxml-interface, Interface to the XML parser TinyXML.\n * qpoases-interface, Interface to the active-set QP solver qpOASES.\n * blocksqp-interface, Interface to the NLP solver blockSQP.\n * cplex-mockup-build, Use mockup CPLEX (BUILD_MOCKUPS_VERSION=master) from downloaded source (BUILD_MOCKUPS_GIT_REPO=https://github.com/casadi/mockups.git).\n * snopt-mockup-build, Use mockup SNOPT (BUILD_MOCKUPS_VERSION=master) from downloaded source (BUILD_MOCKUPS_GIT_REPO=https://github.com/casadi/mockups.git).\n * knitro-mockup-build, Use mockup KNITRO (BUILD_MOCKUPS_VERSION=master) from downloaded source (BUILD_MOCKUPS_GIT_REPO=https://github.com/casadi/mockups.git).\n * gurobi-mockup-build, Use mockup GUROBI (BUILD_MOCKUPS_VERSION=master) from downloaded source (BUILD_MOCKUPS_GIT_REPO=https://github.com/casadi/mockups.git).\n * worhp-mockup-build, Use mockup WORHP (BUILD_MOCKUPS_VERSION=master) from downloaded source (BUILD_MOCKUPS_GIT_REPO=https://github.com/casadi/mockups.git).\n * hsl-mockup-build, Use mockup WORHP (BUILD_MOCKUPS_VERSION=master) from downloaded source (BUILD_MOCKUPS_GIT_REPO=https://github.com/casadi/mockups.git).\n * madnlp-mockup-build, Use mockup MadNLP (BUILD_MOCKUPS_VERSION=master) from downloaded source (BUILD_MOCKUPS_GIT_REPO=https://github.com/casadi/mockups.git).\n * alpaqa-sourcebuild, Build Alpaqa (BUILD_ALPAQA_VERSION=develop) from downloaded source (BUILD_ALPAQA_GIT_REPO=https://github.com/jgillis/alpaqa).\n * highs-sourcebuild, Build HiGHS (BUILD_HIGHS_VERSION=v1.7.2) from downloaded source (BUILD_HIGHS_GIT_REPO=https://github.com/ERGO-Code/HiGHS).\n * daqp-sourcebuild, Build DAQP (BUILD_DAQP_VERSION=master) from downloaded source (BUILD_DAQP_GIT_REPO=https://github.com/jgillis/daqp.git).\n * proxqp-sourcebuild, Build PROXQP (BUILD_PROXQP_VERSION=v0.3.2) from downloaded source (BUILD_PROXQP_GIT_REPO=https://github.com/Simple-Robotics/proxsuite.git).\n * osqp-sourcebuild, Build OSQP (BUILD_OSQP_VERSION=v0.6.3) from downloaded source (BUILD_OSQP_GIT_REPO=https://github.com/osqp/osqp.git).\n * superscs-sourcebuild, Build SuperSCS (BUILD_SUPERSCS_VERSION=4d2d1bd03ed4cf93e684a880b233760ce34ca69c) from downloaded source (BUILD_SUPERSCS_GIT_REPO=https://github.com/jgillis/scs.git).\n * sleqp-sourcebuild, Build SLEQP (BUILD_SLEQP_VERSION=patch-1) from downloaded source (BUILD_SLEQP_GIT_REPO=https://github.com/jgillis/sleqp.git).\n * bonmin-sourcebuild, Build BONMIN (BUILD_BONMIN_VERSION=releases/1.8.9) from downloaded source (BUILD_BONMIN_GIT_REPO=https://github.com/coin-or/Bonmin.git).\n * ipopt-sourcebuild, Build IPOPT (BUILD_IPOPT_VERSION=3.14.11.mod) from downloaded source (BUILD_IPOPT_GIT_REPO=https://github.com/jgillis/Ipopt-1.git).\n * cbc-sourcebuild, Build CBC (BUILD_CBC_VERSION=releases/2.10.11) from downloaded source.\n * clp-sourcebuild, Build CLP (BUILD_CLP_VERSION=releases/1.17.9) from downloaded source (BUILD_CLP_GIT_REPO=https://github.com/coin-or/Clp.git).\n * mumps-sourcebuild, Build MUMPS (BUILD_MUMPS_TP_VERSION=releases/3.0.2) from downloaded source (BUILD_MUMPS_TP_GIT_REPO=https://github.com/coin-or-tools/ThirdParty-Mumps.git).\n * spral-sourcebuild, Build SPRAL (BUILD_SPRAL_VERSION=d385d2c9e858366d257cafaaf05760ffa6543e26) from downloaded source (BUILD_SPRAL_GIT_REPO=https://github.com/ralna/spral.git).\n * metis-sourcebuild, Build METIS (BUILD_METIS_TP_VERSION=releases/2.0.0) from downloaded source.\n * fatrop-sourcebuild, Build FATROP (BUILD_FATROP_VERSION=c74b2c) from downloaded source (BUILD_FATROP_GIT_REPO=https://github.com/meco-group/fatrop.git).\n * hpipm-sourcebuild, Build HPIPM (BUILD_HPIPM_VERSION=0e0c9f4e0d4081dceafa9b37c396db50bce0e81a) from downloaded source (BUILD_HPIPM_GIT_REPO=https://github.com/jgillis/hpipm.git).\n * trlib-sourcebuild, Build TRLIB (BUILD_TRLIB_VERSION=c7632b8b14152e78bc21721a3bd1a2432586b824) from downloaded source (BUILD_TRLIB_GIT_REPO=https://github.com/jgillis/trlib.git).\n * blasfeo-sourcebuild, Build BLASFEO (BUILD_BLASFEO_VERSION=edf92b396adddd9e548b9786f87ad290a0971329) from downloaded source (BUILD_BLASFEO_GIT_REPO=https://github.com/giaf/blasfeo.git).\n * lapack-sourcebuild, Download and install OpenBLAS for LAPACK+BLAS\n * eigen3-sourcebuild, Build Eigen (BUILD_EIGEN3_VERSION=3.4.0) from downloaded source (BUILD_EIGEN3_GIT_REPO=https://gitlab.com/libeigen/eigen.git).\n * simde-sourcebuild, Build Simde (BUILD_SIMDE_VERSION=v0.7.2) from downloaded source (BUILD_SIMDE_GIT_REPO=https://github.com/simd-everywhere/simde.git).\n * cplex-interface, Interface to the QP solver CPLEX.\n * gurobi-interface, Interface to the (mixed-integer) QP solver GUROBI\n * knitro-interface, Interface to the NLP solver KNITRO.\n * madnlp-interface, Interface to the NLP solver MadNLP.\n * snopt-interface, Interface to the NLP solver KNITRO.\n * worhp-interface, Interface to the NLP solver Worhp (requires gfortran, gomp).\n * lapack-interface, Interface to LAPACK.\n * mumps-interface, Interface to MUMPS.\n * spral-interface, Interface to SPRAL.\n * coinutils-sourcebuild, Build COINUTILS (BUILD_COINUTILS_VERSION=releases/2.11.10) from downloaded source.\n * osi-sourcebuild, Build OSI (BUILD_OSI_VERSION=releases/0.108.9) from downloaded source.\n * clp-interface, Interface to the LP solver CLP.\n * cgl-sourcebuild, Build CGL (BUILD_CGL_VERSION=releases/0.60.8) from downloaded source.\n * cbc-interface, Interface to the LP solver CBC.\n * ipopt-interface, Interface to the NLP solver Ipopt.\n * bonmin-interface, Interface to the MINLP framework Bonmin.\n * highs-interface, Interface to the MILP / QP solver HiGHS.\n * daqp-interface, Interface to the MILP / QP solver HiGHS.\n * sleqp-interface, Interface to the NLP solver SLEQP.\n * alpaqa-interface, Interface to the NLP solver Alpaqa.\n * proxqp-interface, Interface to QP solver PROXQP.\n * ampl-interface, Interface to the AMPL solver library.\n" // NOLINT(whitespace/line_length)
35
35
  #define CASADI_BUILD_TYPE "Release" // NOLINT(whitespace/line_length)
36
36
  #define CASADI_COMPILER_ID "GNU" // NOLINT(whitespace/line_length)
37
37
  #define CASADI_COMPILER "/usr/src/mxe/usr/bin/x86_64-w64-mingw32.shared.posix-g++" // NOLINT(whitespace/line_length)
38
- #define CASADI_COMPILER_FLAGS " -pthread -fPIC -fno-ipa-cp-clone -DUSE_CXX11 -DHAVE_SIMPLE_MKSTEMPS -DCASADI_WITH_THREAD -DWITH_DEEPBIND -DCASADI_MAJOR_VERSION=3 -DCASADI_MINOR_VERSION=6 -DCASADI_PATCH_VERSION=5 -DCASADI_IS_RELEASE=1 -DCASADI_VERSION=31 -D_USE_MATH_DEFINES -D_SCL_SECURE_NO_WARNINGS -DWITH_DL -DWITH_DEPRECATED_FEATURES -DCASADI_DEFAULT_COMPILER_PLUGIN=shell" // NOLINT(whitespace/line_length)
39
- #define CASADI_MODULES "casadi;casadi_linsol_lapacklu;casadi_linsol_lapackqr;casadi_sundials_common;casadi_integrator_cvodes;casadi_integrator_idas;casadi_rootfinder_kinsol;casadi_nlpsol_sleqp;casadi_nlpsol_ipopt;casadi_nlpsol_bonmin;casadi_conic_qpoases;casadi_nlpsol_knitro;casadi_conic_cplex;casadi_conic_clp;casadi_conic_cbc;casadi_linsol_csparse;casadi_linsol_csparsecholesky;casadi_conic_highs;casadi_linsol_ma27;casadi_linsol_mumps;casadi_conic_gurobi;casadi_nlpsol_worhp;casadi_nlpsol_snopt;casadi_xmlfile_tinyxml;casadi_nlpsol_blocksqp;casadi_conic_hpipm;casadi_conic_superscs;casadi_nlpsol_ampl;casadi_conic_proxqp;casadi_conic_osqp;casadi_nlpsol_alpaqa;casadi_conic_nlpsol;casadi_conic_qrqp;casadi_conic_ipqp;casadi_nlpsol_qrsqp;casadi_importer_shell;casadi_integrator_rk;casadi_integrator_collocation;casadi_interpolant_linear;casadi_interpolant_bspline;casadi_linsol_symbolicqr;casadi_linsol_qr;casadi_linsol_ldl;casadi_linsol_tridiag;casadi_linsol_lsqr;casadi_nlpsol_sqpmethod;casadi_nlpsol_feasiblesqpmethod;casadi_nlpsol_scpgen;casadi_rootfinder_newton;casadi_rootfinder_fast_newton;casadi_rootfinder_nlpsol" // NOLINT(whitespace/line_length)
40
- #define CASADI_PLUGINS "Linsol::lapacklu;Linsol::lapackqr;Integrator::cvodes;Integrator::idas;Rootfinder::kinsol;Nlpsol::sleqp;Nlpsol::ipopt;Nlpsol::bonmin;Conic::qpoases;Nlpsol::knitro;Conic::cplex;Conic::clp;Conic::cbc;Linsol::csparse;Linsol::csparsecholesky;Conic::highs;Linsol::ma27;Linsol::mumps;Conic::gurobi;Nlpsol::worhp;Nlpsol::snopt;XmlFile::tinyxml;Nlpsol::blocksqp;Conic::hpipm;Conic::superscs;Nlpsol::ampl;Conic::proxqp;Conic::osqp;Nlpsol::alpaqa;Conic::nlpsol;Conic::qrqp;Conic::ipqp;Nlpsol::qrsqp;Importer::shell;Integrator::rk;Integrator::collocation;Interpolant::linear;Interpolant::bspline;Linsol::symbolicqr;Linsol::qr;Linsol::ldl;Linsol::tridiag;Linsol::lsqr;Nlpsol::sqpmethod;Nlpsol::feasiblesqpmethod;Nlpsol::scpgen;Rootfinder::newton;Rootfinder::fast_newton;Rootfinder::nlpsol" // NOLINT(whitespace/line_length)
38
+ #define CASADI_COMPILER_FLAGS " -pthread -fPIC -fno-ipa-cp-clone -DUSE_CXX11 -DHAVE_SIMPLE_MKSTEMPS -DCASADI_WITH_THREAD -DWITH_DEEPBIND -DCASADI_MAJOR_VERSION=3 -DCASADI_MINOR_VERSION=6 -DCASADI_PATCH_VERSION=6 -DCASADI_IS_RELEASE=1 -DCASADI_VERSION=31 -D_USE_MATH_DEFINES -D_SCL_SECURE_NO_WARNINGS -DWITH_DL -DWITH_DEPRECATED_FEATURES -DCASADI_DEFAULT_COMPILER_PLUGIN=shell" // NOLINT(whitespace/line_length)
39
+ #define CASADI_MODULES "casadi;casadi_linsol_lapacklu;casadi_linsol_lapackqr;casadi_sundials_common;casadi_integrator_cvodes;casadi_integrator_idas;casadi_rootfinder_kinsol;casadi_nlpsol_sleqp;casadi_nlpsol_ipopt;casadi_nlpsol_madnlp;casadi_nlpsol_bonmin;casadi_conic_qpoases;casadi_nlpsol_knitro;casadi_conic_cplex;casadi_conic_clp;casadi_conic_cbc;casadi_linsol_csparse;casadi_linsol_csparsecholesky;casadi_conic_highs;casadi_conic_daqp;casadi_linsol_ma27;casadi_linsol_mumps;casadi_conic_gurobi;casadi_nlpsol_worhp;casadi_nlpsol_snopt;casadi_xmlfile_tinyxml;casadi_nlpsol_blocksqp;casadi_conic_hpipm;casadi_conic_fatrop;casadi_nlpsol_fatrop;casadi_conic_superscs;casadi_nlpsol_ampl;casadi_conic_proxqp;casadi_conic_osqp;casadi_nlpsol_alpaqa;casadi_conic_nlpsol;casadi_conic_qrqp;casadi_conic_ipqp;casadi_nlpsol_qrsqp;casadi_importer_shell;casadi_integrator_rk;casadi_integrator_collocation;casadi_interpolant_linear;casadi_interpolant_bspline;casadi_linsol_symbolicqr;casadi_linsol_qr;casadi_linsol_ldl;casadi_linsol_tridiag;casadi_linsol_lsqr;casadi_nlpsol_sqpmethod;casadi_nlpsol_feasiblesqpmethod;casadi_nlpsol_scpgen;casadi_rootfinder_newton;casadi_rootfinder_fast_newton;casadi_rootfinder_nlpsol" // NOLINT(whitespace/line_length)
40
+ #define CASADI_PLUGINS "Linsol::lapacklu;Linsol::lapackqr;Integrator::cvodes;Integrator::idas;Rootfinder::kinsol;Nlpsol::sleqp;Nlpsol::ipopt;Nlpsol::madnlp;Nlpsol::bonmin;Conic::qpoases;Nlpsol::knitro;Conic::cplex;Conic::clp;Conic::cbc;Linsol::csparse;Linsol::csparsecholesky;Conic::highs;Conic::daqp;Linsol::ma27;Linsol::mumps;Conic::gurobi;Nlpsol::worhp;Nlpsol::snopt;XmlFile::tinyxml;Nlpsol::blocksqp;Conic::hpipm;Conic::fatrop;Nlpsol::fatrop;Conic::superscs;Nlpsol::ampl;Conic::proxqp;Conic::osqp;Nlpsol::alpaqa;Conic::nlpsol;Conic::qrqp;Conic::ipqp;Nlpsol::qrsqp;Importer::shell;Integrator::rk;Integrator::collocation;Interpolant::linear;Interpolant::bspline;Linsol::symbolicqr;Linsol::qr;Linsol::ldl;Linsol::tridiag;Linsol::lsqr;Nlpsol::sqpmethod;Nlpsol::feasiblesqpmethod;Nlpsol::scpgen;Rootfinder::newton;Rootfinder::fast_newton;Rootfinder::nlpsol" // NOLINT(whitespace/line_length)
41
41
  #define CASADI_INSTALL_PREFIX "/usr/src/mxe/usr/x86_64-w64-mingw32.shared.posix" // NOLINT(whitespace/line_length)
42
42
  #define CASADI_SHARED_LIBRARY_PREFIX "lib" // NOLINT(whitespace/line_length)
43
43
  #define CASADI_SHARED_LIBRARY_SUFFIX ".dll" // NOLINT(whitespace/line_length)
@@ -135,6 +135,7 @@ namespace casadi {
135
135
  /** \brief Function pointer types for the C API
136
136
 
137
137
  \identifier{7j} */
138
+ typedef int (*config_t)(int, const char**);
138
139
  typedef void (*signal_t)(void);
139
140
  typedef casadi_int (*getint_t)(void);
140
141
  typedef double (*default_t)(casadi_int i);
@@ -144,6 +144,12 @@ private:
144
144
  template<typename T>
145
145
  std::vector<T> vector_slice(const std::vector<T> &v, const std::vector<casadi_int> &i);
146
146
 
147
+ /** \brief Return all but the first element of a vector
148
+
149
+ \identifier{27y} */
150
+ template<typename T>
151
+ std::vector<T> vector_tail(const std::vector<T> &v);
152
+
147
153
  /** \brief Reverse a list
148
154
 
149
155
  \identifier{1la} */
@@ -526,6 +532,13 @@ namespace casadi {
526
532
  return ret;
527
533
  }
528
534
 
535
+ template<typename T>
536
+ std::vector<T> vector_tail(const std::vector<T> &v) {
537
+ std::vector<T> ret;
538
+ ret.insert(ret.begin(), v.begin()+1, v.end());
539
+ return ret;
540
+ }
541
+
529
542
  template<typename T>
530
543
  std::vector<T> reverse(const std::vector<T> &v) {
531
544
  std::vector<T> ret(v.size());
@@ -57,9 +57,10 @@ namespace casadi {
57
57
  SOLVER_RET_UNKNOWN,
58
58
  SOLVER_RET_LIMITED, // Out of time
59
59
  SOLVER_RET_NAN,
60
- SOLVER_RET_INFEASIBLE
60
+ SOLVER_RET_INFEASIBLE,
61
+ SOLVER_RET_EXCEPTION
61
62
  };
62
- }
63
+ } // namespace casadi
63
64
 
64
65
 
65
66
  #endif // CASADI_TYPES_HPP
@@ -108,6 +108,11 @@ namespace casadi {
108
108
  \identifier{27l} */
109
109
  casadi_int get_constant(const std::vector<char>& v, bool allow_adding=false);
110
110
 
111
+ /** \brief Get or add a vector<string> constant
112
+
113
+ \identifier{27z} */
114
+ casadi_int get_constant(const std::vector<std::string>& v, bool allow_adding=false);
115
+
111
116
  /** \brief Represent an array constant; adding it when new
112
117
 
113
118
  \identifier{rz} */
@@ -138,6 +143,11 @@ namespace casadi {
138
143
  \identifier{27m} */
139
144
  std::string constant(const std::vector<char>& v);
140
145
 
146
+ /** \brief Represent an array constant; adding it when new
147
+
148
+ \identifier{280} */
149
+ std::string constant(const std::vector<std::string>& v);
150
+
141
151
  /** \brief Allocate file scope double read-only memory
142
152
 
143
153
  \identifier{s2} */
@@ -153,6 +163,10 @@ namespace casadi {
153
163
  \identifier{s4} */
154
164
  void define_rom_integer(const void* id, casadi_int size);
155
165
 
166
+ /** \brief Setup a callback
167
+
168
+ \identifier{27s} */
169
+ void setup_callback(const std::string& s, const Function& f);
156
170
  /** \brief Access file scope integer read-only memory
157
171
 
158
172
  \identifier{s5} */
@@ -243,6 +257,7 @@ namespace casadi {
243
257
  std::string initializer(const std::vector<double>& v);
244
258
  std::string initializer(const std::vector<casadi_int>& v);
245
259
  std::string initializer(const std::vector<char>& v);
260
+ std::string initializer(const std::vector<std::string>& v);
246
261
 
247
262
  /** \brief Sanitize source files for codegen
248
263
 
@@ -614,7 +629,12 @@ namespace casadi {
614
629
  AUX_MMIN,
615
630
  AUX_MMAX,
616
631
  AUX_LOGSUMEXP,
617
- AUX_SPARSITY
632
+ AUX_SPARSITY,
633
+ AUX_BFGS,
634
+ AUX_ORACLE_CALLBACK,
635
+ AUX_OCP_BLOCK,
636
+ AUX_ORACLE,
637
+ AUX_SCALED_COPY
618
638
  };
619
639
 
620
640
  /** \brief Add a built-in auxiliary function
@@ -657,6 +677,12 @@ namespace casadi {
657
677
  void print_vector(std::ostream &s, const std::string& name,
658
678
  const std::vector<double>& v);
659
679
 
680
+ /** \brief Print string vector to a c file
681
+
682
+ \identifier{281} */
683
+ void print_vector(std::ostream &s, const std::string& name,
684
+ const std::vector<std::string>& v);
685
+
660
686
  /** \brief Create a copy operation
661
687
 
662
688
  \identifier{tt} */
@@ -895,6 +921,7 @@ namespace casadi {
895
921
  std::multimap<size_t, size_t> added_double_constants_;
896
922
  std::multimap<size_t, size_t> added_integer_constants_;
897
923
  std::multimap<size_t, size_t> added_char_constants_;
924
+ std::multimap<size_t, size_t> added_string_constants_;
898
925
  std::map<std::string, std::pair<std::string, std::string> > local_variables_;
899
926
  std::map<std::string, std::string> local_default_;
900
927
  std::map<const void *, casadi_int> file_scope_double_;
@@ -916,6 +943,7 @@ namespace casadi {
916
943
  std::vector<std::vector<double> > double_constants_;
917
944
  std::vector<std::vector<casadi_int> > integer_constants_;
918
945
  std::vector<std::vector<char> > char_constants_;
946
+ std::vector<std::vector<std::string> > string_constants_;
919
947
 
920
948
  // Does any function need thread-local memory?
921
949
  bool needs_mem_;
@@ -924,6 +952,7 @@ namespace casadi {
924
952
  static size_t hash(const std::vector<double>& v);
925
953
  static size_t hash(const std::vector<casadi_int>& v);
926
954
  static size_t hash(const std::vector<char>& v);
955
+ static size_t hash(const std::vector<std::string>& v);
927
956
 
928
957
  std::string wrapper(const Function& base, const std::string& name);
929
958
 
@@ -70,6 +70,8 @@ namespace casadi {
70
70
 
71
71
  static casadi_int start_index;
72
72
 
73
+ static bool julia_initialized;
74
+
73
75
  #endif //SWIG
74
76
  // Setter and getter for simplification_on_the_fly
75
77
  static void setSimplificationOnTheFly(bool flag) { simplification_on_the_fly = flag; }
@@ -306,15 +306,23 @@ namespace casadi {
306
306
  \identifier{qp} */
307
307
  std::vector<MX> primitives() const;
308
308
 
309
+ /// @{
309
310
  /** \brief Split up an expression along symbolic primitives
310
311
 
311
312
  \identifier{qq} */
312
313
  std::vector<MX> split_primitives(const MX& x) const;
314
+ std::vector<SX> split_primitives(const SX& x) const;
315
+ std::vector<DM> split_primitives(const DM& x) const;
316
+ /// @}
313
317
 
318
+ /// @{
314
319
  /** \brief Join an expression along symbolic primitives
315
320
 
316
321
  \identifier{qr} */
317
322
  MX join_primitives(const std::vector<MX>& v) const;
323
+ SX join_primitives(const std::vector<SX>& v) const;
324
+ DM join_primitives(const std::vector<DM>& v) const;
325
+ /// @}
318
326
 
319
327
  /// \cond INTERNAL
320
328
  /** \brief Detect duplicate symbolic expressions
@@ -655,6 +663,7 @@ namespace casadi {
655
663
  static MX convexify(const MX& H, const Dict& opts = Dict());
656
664
  static MX stop_diff(const MX& expr, casadi_int order);
657
665
  static MX stop_diff(const MX& expr, const MX& var, casadi_int order);
666
+ static std::vector<MX> difference(const std::vector<MX>& a, const std::vector<MX>& b);
658
667
  ///@}
659
668
  /// \endcond
660
669
 
@@ -836,13 +845,14 @@ namespace casadi {
836
845
  return MX::stop_diff(expr, var, order);
837
846
  }
838
847
 
848
+ /** \bried Return all elements of a that do not occur in b, preserving order */
849
+ inline friend std::vector<MX> difference(const std::vector<MX>& a, const std::vector<MX>& b) {
850
+ return MX::difference(a, b);
851
+ }
839
852
 
840
853
  /** @} */
841
854
  #endif // SWIG
842
855
 
843
- /** \bried Return all elements of a that do not occur in b, preserving order */
844
- friend std::vector<MX> difference(const std::vector<MX>& a, const std::vector<MX>& b);
845
-
846
856
  /** \brief returns itself, but with an assertion attached
847
857
  *
848
858
  * If y does not evaluate to 1, a runtime error is raised
@@ -200,6 +200,23 @@ public:
200
200
  void set_value(const std::vector<MX>& assignments);
201
201
  /// @}
202
202
 
203
+ /// @{
204
+ /** \brief Set domain of a decision variable
205
+ *
206
+ * \param[in] x decision variable
207
+ * \param[in] type 'real', 'integer' (default: real)
208
+ *
209
+ * \verbatim
210
+ * opti.set_domain(x, "real")
211
+ * opti.set_domain(x, "integer")
212
+ * \endverbatim
213
+
214
+ \identifier{27t} */
215
+ void set_domain(const MX& x, const std::string& domain);
216
+
217
+ /// @}
218
+
219
+
203
220
  /// Crunch the numbers; solve the problem
204
221
  OptiSol solve();
205
222
 
@@ -451,6 +468,11 @@ public:
451
468
  OPTI_PAR, // parameter
452
469
  OPTI_DUAL_G // dual
453
470
  };
471
+ enum DomainType {
472
+ OPTI_DOMAIN_REAL,
473
+ OPTI_DOMAIN_INTEGER
474
+ };
475
+
454
476
 
455
477
  struct IndexAbstraction {
456
478
  IndexAbstraction() : start(0), stop(0) {}
@@ -475,6 +497,7 @@ public:
475
497
  casadi_int n;
476
498
  casadi_int m;
477
499
  VariableType type;
500
+ DomainType domain;
478
501
  casadi_int count;
479
502
  casadi_int i;
480
503
  casadi_int active_i;
@@ -66,12 +66,14 @@ struct casadi_nlpsol_detect_bounds_data {
66
66
  T1* lam_xu;
67
67
  };
68
68
  // C-REPLACE "casadi_nlpsol_detect_bounds_data<T1>" "struct casadi_nlpsol_detect_bounds_data"
69
+ // C-REPLACE "casadi_oracle_data<T1>" "struct casadi_oracle_data"
69
70
 
70
71
  // SYMBOL "nlpsol_data"
71
72
  template<typename T1>
72
73
  struct casadi_nlpsol_data {
73
74
  // Problem structure
74
75
  const casadi_nlpsol_prob<T1>* prob;
76
+ casadi_oracle_data<T1>* oracle;
75
77
  // Variable bounds
76
78
  T1 *lbz, *ubz;
77
79
  // Current primal solution
@@ -0,0 +1,55 @@
1
+ //
2
+ // MIT No Attribution
3
+ //
4
+ // Copyright (C) 2010-2023 Joel Andersson, Joris Gillis, Moritz Diehl, KU Leuven.
5
+ //
6
+ // Permission is hereby granted, free of charge, to any person obtaining a copy of this
7
+ // software and associated documentation files (the "Software"), to deal in the Software
8
+ // without restriction, including without limitation the rights to use, copy, modify,
9
+ // merge, publish, distribute, sublicense, and/or sell copies of the Software, and to
10
+ // permit persons to whom the Software is furnished to do so.
11
+ //
12
+ // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
13
+ // INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
14
+ // PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
15
+ // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
16
+ // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
17
+ // SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
18
+ //
19
+
20
+
21
+ // SYMBOL "ocp_block"
22
+ struct casadi_ocp_block {
23
+ casadi_int offset_r;
24
+ casadi_int offset_c;
25
+ casadi_int rows;
26
+ casadi_int cols;
27
+ };
28
+ // C-REPLACE "casadi_ocp_block" "struct casadi_ocp_block"
29
+
30
+ // SYMBOL "unpack_ocp_blocks"
31
+ template<typename T1>
32
+ void casadi_unpack_ocp_blocks(casadi_ocp_block* blocks, const casadi_int* packed) {
33
+ casadi_int i;
34
+ casadi_int N = *packed++;
35
+ for (i=0;i<N;++i) {
36
+ blocks[i].offset_r = *packed++;
37
+ blocks[i].offset_c = *packed++;
38
+ blocks[i].rows = *packed++;
39
+ blocks[i].cols = *packed++;
40
+ }
41
+ }
42
+
43
+ // SYMBOL "ptr_ocp_block"
44
+ template<typename T1>
45
+ void casadi_ptr_ocp_block(casadi_int N, T1** vs, T1* v, const casadi_ocp_block* blocks, int eye) {
46
+ casadi_int k, offset = 0;
47
+ for (k=0;k<N;++k) {
48
+ vs[k] = v+offset;
49
+ if (eye) {
50
+ offset += blocks[k].rows;
51
+ } else {
52
+ offset += blocks[k].rows*blocks[k].cols;
53
+ }
54
+ }
55
+ }
@@ -0,0 +1,44 @@
1
+ //
2
+ // MIT No Attribution
3
+ //
4
+ // Copyright (C) 2010-2023 Joel Andersson, Joris Gillis, Moritz Diehl, KU Leuven.
5
+ //
6
+ // Permission is hereby granted, free of charge, to any person obtaining a copy of this
7
+ // software and associated documentation files (the "Software"), to deal in the Software
8
+ // without restriction, including without limitation the rights to use, copy, modify,
9
+ // merge, publish, distribute, sublicense, and/or sell copies of the Software, and to
10
+ // permit persons to whom the Software is furnished to do so.
11
+ //
12
+ // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
13
+ // INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
14
+ // PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
15
+ // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
16
+ // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
17
+ // SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
18
+ //
19
+
20
+ // C-REPLACE "OracleMemory* m;" ""
21
+
22
+
23
+ // SYMBOL "oracle_data"
24
+ template<typename T1>
25
+ struct casadi_oracle_data {
26
+ const T1** arg;
27
+ T1** res;
28
+ casadi_int* iw;
29
+ T1* w;
30
+
31
+ void* m;
32
+ };
33
+
34
+ // C-REPLACE "casadi_oracle_data<T1>" "struct casadi_oracle_data"
35
+
36
+ // SYMBOL "oracle_init"
37
+ template<typename T1>
38
+ void casadi_oracle_init(casadi_oracle_data<T1>* d, const T1*** arg, T1*** res,
39
+ casadi_int** iw, T1** w) {
40
+ d->arg = *arg;
41
+ d->res = *res;
42
+ d->iw = *iw;
43
+ d->w = *w;
44
+ }
@@ -0,0 +1,39 @@
1
+ //
2
+ // MIT No Attribution
3
+ //
4
+ // Copyright (C) 2010-2023 Joel Andersson, Joris Gillis, Moritz Diehl, KU Leuven.
5
+ //
6
+ // Permission is hereby granted, free of charge, to any person obtaining a copy of this
7
+ // software and associated documentation files (the "Software"), to deal in the Software
8
+ // without restriction, including without limitation the rights to use, copy, modify,
9
+ // merge, publish, distribute, sublicense, and/or sell copies of the Software, and to
10
+ // permit persons to whom the Software is furnished to do so.
11
+ //
12
+ // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
13
+ // INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
14
+ // PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
15
+ // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
16
+ // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
17
+ // SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
18
+ //
19
+
20
+ // SYMBOL "oracle_callback"
21
+ template<typename T1>
22
+ struct casadi_oracle_callback {
23
+ int (*eval)(const T1** arg, T1** res, casadi_int* iw, T1* w, int mem);
24
+ int (*checkout)(void);
25
+ void (*release)(int);
26
+ };
27
+ // C-REPLACE "casadi_oracle_callback<T1>" "struct casadi_oracle_callback"
28
+ // C-REPLACE "casadi_oracle_data<T1>" "struct casadi_oracle_data"
29
+
30
+ // SYMBOL "call"
31
+ template<typename T1>
32
+ int casadi_oracle_call(const casadi_oracle_callback<T1>* cb, casadi_oracle_data<T1>* d) {
33
+ int flag;
34
+ int mem = 0;
35
+ if (cb->checkout) mem = cb->checkout();
36
+ flag = cb->eval(d->arg, d->res, d->iw, d->w, mem);
37
+ if (cb->release) cb->release(mem);
38
+ return flag;
39
+ }
@@ -292,6 +292,7 @@ namespace casadi {
292
292
  #include "casadi_qrqp.hpp"
293
293
  #include "casadi_kkt.hpp"
294
294
  #include "casadi_ipqp.hpp"
295
+ #include "casadi_oracle.hpp"
295
296
  #include "casadi_nlp.hpp"
296
297
  #include "casadi_sqpmethod.hpp"
297
298
  #include "casadi_feasiblesqpmethod.hpp"
@@ -307,7 +308,9 @@ namespace casadi {
307
308
  #include "casadi_sum.hpp"
308
309
  #include "casadi_sparsity.hpp"
309
310
  #include "casadi_jac.hpp"
310
-
311
+ #include "casadi_oracle_callback.hpp"
312
+ #include "casadi_ocp_block.hpp"
313
+ #include "casadi_scaled_copy.hpp"
311
314
  } // namespace casadi
312
315
 
313
316
  /// \endcond