casadi 3.6.2__cp311-none-manylinux2014_i686.whl → 3.6.4__cp311-none-manylinux2014_i686.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 (332) hide show
  1. casadi/_casadi.so +0 -0
  2. casadi/casadi.py +217 -60
  3. casadi/cbc +0 -0
  4. casadi/clp +0 -0
  5. casadi/cmake/alpaqa/alpaqaConfig.cmake +24 -0
  6. casadi/cmake/alpaqa/alpaqaConfigVersion.cmake +70 -0
  7. casadi/cmake/alpaqa/alpaqaTargets-release.cmake +29 -0
  8. casadi/cmake/alpaqa/alpaqaTargets.cmake +131 -0
  9. casadi/cmake/casadi-config-version.cmake +1 -1
  10. casadi/cmake/casadi-config.cmake +4 -0
  11. casadi/cmake/highs/highs-config.cmake +18 -4
  12. casadi/cmake/highs/highs-targets-release.cmake +3 -3
  13. casadi/cmake/highs/highs-targets.cmake +1 -1
  14. casadi/cmake/sleqp/sleqp-config-version.cmake +70 -0
  15. casadi/cmake/sleqp/sleqp-config.cmake +1 -0
  16. casadi/cmake/sleqp/sleqp-targets-release.cmake +20 -0
  17. casadi/cmake/sleqp/sleqp-targets.cmake +102 -0
  18. casadi/cmake/trlib/trlib-config-release.cmake +19 -0
  19. casadi/cmake/trlib/trlib-config-version.cmake +88 -0
  20. casadi/cmake/trlib/trlib-config.cmake +107 -0
  21. casadi/highs +0 -0
  22. casadi/include/casadi/casadi.i +20 -3
  23. casadi/include/casadi/config.h +8 -8
  24. casadi/include/casadi/core/calculus.hpp +1 -1
  25. casadi/include/casadi/core/code_generator.hpp +10 -0
  26. casadi/include/casadi/core/fmu.hpp +224 -0
  27. casadi/include/casadi/core/generic_matrix.hpp +4 -2
  28. casadi/include/casadi/core/nlpsol.hpp +0 -2
  29. casadi/include/casadi/core/runtime/casadi_finite_diff.hpp +204 -11
  30. casadi/include/casadi/core/serializing_stream.hpp +12 -0
  31. casadi/include/casadi/core/sparsity_interface.hpp +55 -1
  32. casadi/include/casadi/doc.i +916 -462
  33. casadi/include/casadi/doc_merged.i +492 -176
  34. casadi/include/casadi/mem.h +13 -2
  35. casadi/include/casadi/valgrind-casadi.supp +82 -0
  36. casadi/include/casadi/valgrind-python.supp +39 -0
  37. casadi/include/highs/HConfig.h +4 -7
  38. casadi/include/highs/Highs.h +240 -51
  39. casadi/include/highs/filereaderlp/builder.hpp +12 -13
  40. casadi/include/highs/filereaderlp/model.hpp +32 -35
  41. casadi/include/highs/fortran/highs_fortran_api.mod +0 -0
  42. casadi/include/highs/interfaces/highs_c_api.h +964 -577
  43. casadi/include/highs/io/Filereader.h +2 -4
  44. casadi/include/highs/io/FilereaderEms.h +2 -4
  45. casadi/include/highs/io/FilereaderLp.h +2 -4
  46. casadi/include/highs/io/FilereaderMps.h +2 -4
  47. casadi/include/highs/io/HMPSIO.h +2 -4
  48. casadi/include/highs/io/HMpsFF.h +2 -4
  49. casadi/include/highs/io/HighsIO.h +19 -13
  50. casadi/include/highs/io/LoadOptions.h +7 -6
  51. casadi/include/highs/ipm/IpxWrapper.h +4 -5
  52. casadi/include/highs/lp_data/HConst.h +60 -15
  53. casadi/include/highs/lp_data/HStruct.h +32 -8
  54. casadi/include/highs/lp_data/HighsAnalysis.h +2 -4
  55. casadi/include/highs/lp_data/HighsCallback.h +33 -0
  56. casadi/include/highs/lp_data/HighsCallbackStruct.h +36 -0
  57. casadi/include/highs/lp_data/HighsDebug.h +2 -4
  58. casadi/include/highs/lp_data/HighsInfo.h +22 -23
  59. casadi/include/highs/lp_data/HighsInfoDebug.h +2 -4
  60. casadi/include/highs/lp_data/HighsLp.h +14 -6
  61. casadi/include/highs/lp_data/HighsLpSolverObject.h +6 -5
  62. casadi/include/highs/lp_data/HighsLpUtils.h +23 -12
  63. casadi/include/highs/lp_data/HighsModelUtils.h +22 -8
  64. casadi/include/highs/lp_data/HighsOptions.h +175 -106
  65. casadi/include/highs/lp_data/HighsRanging.h +2 -4
  66. casadi/include/highs/lp_data/HighsRuntimeOptions.h +21 -6
  67. casadi/include/highs/lp_data/HighsSolution.h +4 -4
  68. casadi/include/highs/lp_data/HighsSolutionDebug.h +2 -4
  69. casadi/include/highs/lp_data/HighsSolve.h +2 -4
  70. casadi/include/highs/lp_data/HighsStatus.h +2 -4
  71. casadi/include/highs/mip/HighsCliqueTable.h +18 -20
  72. casadi/include/highs/mip/HighsConflictPool.h +2 -4
  73. casadi/include/highs/mip/HighsCutGeneration.h +2 -4
  74. casadi/include/highs/mip/HighsCutPool.h +2 -4
  75. casadi/include/highs/mip/HighsDebugSol.h +2 -4
  76. casadi/include/highs/mip/HighsDomain.h +5 -5
  77. casadi/include/highs/mip/HighsDomainChange.h +2 -4
  78. casadi/include/highs/mip/HighsDynamicRowMatrix.h +2 -4
  79. casadi/include/highs/mip/HighsGFkSolve.h +2 -4
  80. casadi/include/highs/mip/HighsImplications.h +2 -4
  81. casadi/include/highs/mip/HighsLpAggregator.h +2 -4
  82. casadi/include/highs/mip/HighsLpRelaxation.h +2 -4
  83. casadi/include/highs/mip/HighsMipSolver.h +18 -6
  84. casadi/include/highs/mip/HighsMipSolverData.h +8 -4
  85. casadi/include/highs/mip/HighsModkSeparator.h +2 -4
  86. casadi/include/highs/mip/HighsNodeQueue.h +3 -9
  87. casadi/include/highs/mip/HighsObjectiveFunction.h +2 -4
  88. casadi/include/highs/mip/HighsPathSeparator.h +2 -4
  89. casadi/include/highs/mip/HighsPrimalHeuristics.h +2 -4
  90. casadi/include/highs/mip/HighsPseudocost.h +2 -4
  91. casadi/include/highs/mip/HighsRedcostFixing.h +2 -4
  92. casadi/include/highs/mip/HighsSearch.h +2 -4
  93. casadi/include/highs/mip/HighsSeparation.h +2 -4
  94. casadi/include/highs/mip/HighsSeparator.h +2 -4
  95. casadi/include/highs/mip/HighsTableauSeparator.h +2 -4
  96. casadi/include/highs/mip/HighsTransformedLp.h +2 -4
  97. casadi/include/highs/model/HighsHessian.h +3 -1
  98. casadi/include/highs/model/HighsModel.h +2 -0
  99. casadi/include/highs/parallel/HighsSpinMutex.h +2 -1
  100. casadi/include/highs/parallel/HighsSplitDeque.h +1 -1
  101. casadi/include/highs/parallel/HighsTaskExecutor.h +10 -2
  102. casadi/include/highs/presolve/HPresolve.h +9 -6
  103. casadi/include/highs/presolve/HPresolveAnalysis.h +5 -4
  104. casadi/include/highs/presolve/HighsPostsolveStack.h +50 -13
  105. casadi/include/highs/presolve/HighsSymmetry.h +2 -4
  106. casadi/include/highs/presolve/ICrash.h +4 -3
  107. casadi/include/highs/presolve/ICrashUtil.h +2 -2
  108. casadi/include/highs/presolve/ICrashX.h +4 -6
  109. casadi/include/highs/presolve/PresolveComponent.h +4 -42
  110. casadi/include/highs/qpsolver/a_asm.hpp +56 -0
  111. casadi/include/highs/qpsolver/a_quass.hpp +12 -0
  112. casadi/include/highs/qpsolver/quass.hpp +1 -4
  113. casadi/include/highs/simplex/HApp.h +14 -16
  114. casadi/include/highs/simplex/HEkk.h +12 -11
  115. casadi/include/highs/simplex/HEkkDual.h +2 -4
  116. casadi/include/highs/simplex/HEkkDualRHS.h +5 -6
  117. casadi/include/highs/simplex/HEkkDualRow.h +2 -4
  118. casadi/include/highs/simplex/HEkkPrimal.h +2 -4
  119. casadi/include/highs/simplex/HSimplex.h +2 -4
  120. casadi/include/highs/simplex/HSimplexDebug.h +2 -4
  121. casadi/include/highs/simplex/HSimplexNla.h +2 -4
  122. casadi/include/highs/simplex/HSimplexReport.h +3 -5
  123. casadi/include/highs/simplex/HighsSimplexAnalysis.h +2 -4
  124. casadi/include/highs/simplex/SimplexConst.h +7 -5
  125. casadi/include/highs/simplex/SimplexStruct.h +11 -5
  126. casadi/include/highs/simplex/SimplexTimer.h +2 -4
  127. casadi/include/highs/test/DevKkt.h +2 -4
  128. casadi/include/highs/test/KktCh2.h +2 -4
  129. casadi/include/highs/util/FactorTimer.h +2 -4
  130. casadi/include/highs/util/HFactor.h +2 -4
  131. casadi/include/highs/util/HFactorConst.h +2 -4
  132. casadi/include/highs/util/HFactorDebug.h +2 -4
  133. casadi/include/highs/util/HSet.h +3 -5
  134. casadi/include/highs/util/HVector.h +2 -4
  135. casadi/include/highs/util/HVectorBase.h +2 -4
  136. casadi/include/highs/util/HighsCDouble.h +2 -4
  137. casadi/include/highs/util/HighsComponent.h +2 -4
  138. casadi/include/highs/util/HighsDataStack.h +3 -5
  139. casadi/include/highs/util/HighsDisjointSets.h +8 -10
  140. casadi/include/highs/util/HighsHash.h +22 -7
  141. casadi/include/highs/util/HighsHashTree.h +25 -7
  142. casadi/include/highs/util/HighsInt.h +2 -4
  143. casadi/include/highs/util/HighsIntegers.h +2 -4
  144. casadi/include/highs/util/HighsLinearSumBounds.h +2 -4
  145. casadi/include/highs/util/HighsMatrixPic.h +2 -4
  146. casadi/include/highs/util/HighsMatrixSlice.h +2 -4
  147. casadi/include/highs/util/HighsMatrixUtils.h +2 -4
  148. casadi/include/highs/util/HighsRandom.h +2 -4
  149. casadi/include/highs/util/HighsRbTree.h +2 -4
  150. casadi/include/highs/util/HighsSort.h +2 -4
  151. casadi/include/highs/util/HighsSparseMatrix.h +11 -7
  152. casadi/include/highs/util/HighsSparseVectorSum.h +2 -4
  153. casadi/include/highs/util/HighsSplay.h +2 -4
  154. casadi/include/highs/util/HighsTimer.h +3 -4
  155. casadi/include/highs/util/HighsUtils.h +14 -4
  156. casadi/include/highs/util/stringutil.h +2 -4
  157. casadi/include/licenses/alpaqa-external/LICENSE +165 -0
  158. casadi/include/licenses/highs-external/LICENSE +1 -1
  159. casadi/include/licenses/sleqp-external/LICENSE +165 -0
  160. casadi/include/licenses/trlib-external/LICENSE +21 -0
  161. casadi/include/trlib/trlib_eigen_inverse.h +118 -0
  162. casadi/include/trlib/trlib_krylov.h +493 -0
  163. casadi/include/trlib/trlib_leftmost.h +181 -0
  164. casadi/include/trlib/trlib_private.h +109 -0
  165. casadi/include/trlib/trlib_quadratic_zero.h +57 -0
  166. casadi/include/trlib/trlib_tri_factor.h +409 -0
  167. casadi/include/trlib/trlib_types.h +36 -0
  168. casadi/lib/libtinyxml2.a +0 -0
  169. casadi/libCbc.la +3 -3
  170. casadi/libCbc.so +0 -0
  171. casadi/libCbc.so.3 +0 -0
  172. casadi/libCbc.so.3.10.11 +0 -0
  173. casadi/libCbcSolver.la +3 -3
  174. casadi/libCbcSolver.so +0 -0
  175. casadi/libCbcSolver.so.3 +0 -0
  176. casadi/libCbcSolver.so.3.10.11 +0 -0
  177. casadi/libCgl.la +2 -2
  178. casadi/libCgl.so +0 -0
  179. casadi/libCgl.so.1 +0 -0
  180. casadi/libCgl.so.1.10.8 +0 -0
  181. casadi/libClp.la +2 -2
  182. casadi/libClp.so +0 -0
  183. casadi/libClp.so.1 +0 -0
  184. casadi/{libClp.so.1.14.7 → libClp.so.1.14.9} +0 -0
  185. casadi/libClpSolver.la +2 -2
  186. casadi/libClpSolver.so +0 -0
  187. casadi/libClpSolver.so.1 +0 -0
  188. casadi/{libClpSolver.so.1.14.7 → libClpSolver.so.1.14.9} +0 -0
  189. casadi/libCoinUtils.la +2 -2
  190. casadi/libCoinUtils.so +0 -0
  191. casadi/libCoinUtils.so.3 +0 -0
  192. casadi/libCoinUtils.so.3.11.10 +0 -0
  193. casadi/libFortranHighs.so +0 -0
  194. casadi/libOsi.la +2 -2
  195. casadi/libOsiCbc.la +3 -3
  196. casadi/libOsiCbc.so +0 -0
  197. casadi/libOsiCbc.so.3 +0 -0
  198. casadi/{libOsiCbc.so.3.10.6 → libOsiCbc.so.3.10.11} +0 -0
  199. casadi/libOsiClp.la +2 -2
  200. casadi/libOsiClp.so +0 -0
  201. casadi/libOsiClp.so.1 +0 -0
  202. casadi/libOsiClp.so.1.14.9 +0 -0
  203. casadi/libOsiCommonTests.la +2 -2
  204. casadi/libOsiCommonTests.so +0 -0
  205. casadi/libOsiCommonTests.so.1 +0 -0
  206. casadi/{libOsiCommonTests.so.1.13.7 → libOsiCommonTests.so.1.13.9} +0 -0
  207. casadi/libalpaqa-dl-loader.so +0 -0
  208. casadi/libalpaqa-dl-loader.so.1.0.0 +0 -0
  209. casadi/libalpaqa.so +0 -0
  210. casadi/libalpaqa.so.1.0.0 +0 -0
  211. casadi/libbonmin.la +3 -3
  212. casadi/libbonmin.so +0 -0
  213. casadi/libbonmin.so.4 +0 -0
  214. casadi/libbonmin.so.4.8.9 +0 -0
  215. casadi/libcasadi.so +0 -0
  216. casadi/libcasadi.so.3.7 +0 -0
  217. casadi/libcasadi_conic_cbc.so +0 -0
  218. casadi/libcasadi_conic_cbc.so.3.7 +0 -0
  219. casadi/libcasadi_conic_clp.so +0 -0
  220. casadi/libcasadi_conic_clp.so.3.7 +0 -0
  221. casadi/libcasadi_conic_gurobi.so +0 -0
  222. casadi/libcasadi_conic_gurobi.so.3.7 +0 -0
  223. casadi/libcasadi_conic_highs.so +0 -0
  224. casadi/libcasadi_conic_highs.so.3.7 +0 -0
  225. casadi/libcasadi_conic_ipqp.so +0 -0
  226. casadi/libcasadi_conic_ipqp.so.3.7 +0 -0
  227. casadi/libcasadi_conic_nlpsol.so +0 -0
  228. casadi/libcasadi_conic_nlpsol.so.3.7 +0 -0
  229. casadi/libcasadi_conic_osqp.so +0 -0
  230. casadi/libcasadi_conic_osqp.so.3.7 +0 -0
  231. casadi/libcasadi_conic_proxqp.so +0 -0
  232. casadi/libcasadi_conic_proxqp.so.3.7 +0 -0
  233. casadi/libcasadi_conic_qpoases.so +0 -0
  234. casadi/libcasadi_conic_qpoases.so.3.7 +0 -0
  235. casadi/libcasadi_conic_qrqp.so +0 -0
  236. casadi/libcasadi_conic_qrqp.so.3.7 +0 -0
  237. casadi/libcasadi_conic_superscs.so +0 -0
  238. casadi/libcasadi_conic_superscs.so.3.7 +0 -0
  239. casadi/libcasadi_integrator_collocation.so +0 -0
  240. casadi/libcasadi_integrator_collocation.so.3.7 +0 -0
  241. casadi/libcasadi_integrator_cvodes.so +0 -0
  242. casadi/libcasadi_integrator_cvodes.so.3.7 +0 -0
  243. casadi/libcasadi_integrator_idas.so +0 -0
  244. casadi/libcasadi_integrator_idas.so.3.7 +0 -0
  245. casadi/libcasadi_interpolant_bspline.so +0 -0
  246. casadi/libcasadi_interpolant_bspline.so.3.7 +0 -0
  247. casadi/libcasadi_interpolant_linear.so +0 -0
  248. casadi/libcasadi_interpolant_linear.so.3.7 +0 -0
  249. casadi/libcasadi_linsol_lapacklu.so +0 -0
  250. casadi/libcasadi_linsol_lapacklu.so.3.7 +0 -0
  251. casadi/libcasadi_linsol_lapackqr.so +0 -0
  252. casadi/libcasadi_linsol_lapackqr.so.3.7 +0 -0
  253. casadi/libcasadi_linsol_ldl.so +0 -0
  254. casadi/libcasadi_linsol_ldl.so.3.7 +0 -0
  255. casadi/libcasadi_linsol_mumps.so +0 -0
  256. casadi/libcasadi_linsol_mumps.so.3.7 +0 -0
  257. casadi/libcasadi_linsol_qr.so +0 -0
  258. casadi/libcasadi_linsol_qr.so.3.7 +0 -0
  259. casadi/libcasadi_linsol_symbolicqr.so +0 -0
  260. casadi/libcasadi_linsol_symbolicqr.so.3.7 +0 -0
  261. casadi/libcasadi_nlpsol_alpaqa.so +0 -0
  262. casadi/libcasadi_nlpsol_alpaqa.so.3.7 +0 -0
  263. casadi/libcasadi_nlpsol_ampl.so +0 -0
  264. casadi/libcasadi_nlpsol_ampl.so.3.7 +0 -0
  265. casadi/libcasadi_nlpsol_blocksqp.so +0 -0
  266. casadi/libcasadi_nlpsol_blocksqp.so.3.7 +0 -0
  267. casadi/libcasadi_nlpsol_bonmin.so +0 -0
  268. casadi/libcasadi_nlpsol_bonmin.so.3.7 +0 -0
  269. casadi/libcasadi_nlpsol_feasiblesqpmethod.so +0 -0
  270. casadi/libcasadi_nlpsol_feasiblesqpmethod.so.3.7 +0 -0
  271. casadi/libcasadi_nlpsol_ipopt.so +0 -0
  272. casadi/libcasadi_nlpsol_ipopt.so.3.7 +0 -0
  273. casadi/libcasadi_nlpsol_knitro.so +0 -0
  274. casadi/libcasadi_nlpsol_knitro.so.3.7 +0 -0
  275. casadi/libcasadi_nlpsol_qrsqp.so +0 -0
  276. casadi/libcasadi_nlpsol_qrsqp.so.3.7 +0 -0
  277. casadi/libcasadi_nlpsol_scpgen.so +0 -0
  278. casadi/libcasadi_nlpsol_scpgen.so.3.7 +0 -0
  279. casadi/libcasadi_nlpsol_sleqp.so +0 -0
  280. casadi/libcasadi_nlpsol_sleqp.so.3.7 +0 -0
  281. casadi/libcasadi_nlpsol_snopt.so +0 -0
  282. casadi/libcasadi_nlpsol_snopt.so.3.7 +0 -0
  283. casadi/libcasadi_nlpsol_sqpmethod.so +0 -0
  284. casadi/libcasadi_nlpsol_sqpmethod.so.3.7 +0 -0
  285. casadi/libcasadi_nlpsol_worhp.so +0 -0
  286. casadi/libcasadi_nlpsol_worhp.so.3.7 +0 -0
  287. casadi/libcasadi_rootfinder_fast_newton.so +0 -0
  288. casadi/libcasadi_rootfinder_fast_newton.so.3.7 +0 -0
  289. casadi/libcasadi_rootfinder_newton.so +0 -0
  290. casadi/libcasadi_rootfinder_newton.so.3.7 +0 -0
  291. casadi/libcasadi_sundials_common.so +0 -0
  292. casadi/libcasadi_sundials_common.so.3.7 +0 -0
  293. casadi/libhighs.so +0 -0
  294. casadi/libhighs.so.1.6 +0 -0
  295. casadi/libhighs.so.1.6.0 +0 -0
  296. casadi/libindirect.a +0 -0
  297. casadi/liblinsys.a +0 -0
  298. casadi/libosqp.a +0 -0
  299. casadi/libqdldl.a +0 -0
  300. casadi/libsleqp.so +0 -0
  301. casadi/libsleqp.so.1.0.1 +0 -0
  302. casadi/libspral.a +0 -0
  303. casadi/libsuperscs.a +0 -0
  304. casadi/libtrlib.so +0 -0
  305. casadi/libtrlib.so.0.4 +0 -0
  306. casadi/pkgconfig/blas.pc +11 -0
  307. casadi/pkgconfig/bonmin.pc +1 -1
  308. casadi/pkgconfig/casadi.pc +1 -1
  309. casadi/pkgconfig/cbc.pc +2 -2
  310. casadi/pkgconfig/cgl.pc +2 -2
  311. casadi/pkgconfig/clp.pc +1 -1
  312. casadi/pkgconfig/coinutils.pc +1 -1
  313. casadi/pkgconfig/highs.pc +3 -3
  314. casadi/pkgconfig/lapack.pc +11 -0
  315. casadi/pkgconfig/openblas.pc +1 -1
  316. casadi/pkgconfig/osi-cbc.pc +1 -1
  317. casadi/pkgconfig/osi-clp.pc +1 -1
  318. casadi/pkgconfig/osi-unittests.pc +1 -1
  319. casadi/pkgconfig/osi.pc +1 -1
  320. casadi/pkgconfig/sleqp.pc +10 -0
  321. {casadi-3.6.2.dist-info → casadi-3.6.4.dist-info}/METADATA +1 -1
  322. {casadi-3.6.2.dist-info → casadi-3.6.4.dist-info}/RECORD +324 -283
  323. casadi/libCbc.so.3.10.6 +0 -0
  324. casadi/libCbcSolver.so.3.10.6 +0 -0
  325. casadi/libCgl.so.1.10.4 +0 -0
  326. casadi/libCoinUtils.so.3.11.6 +0 -0
  327. casadi/libOsiClp.so.1.14.7 +0 -0
  328. casadi/libbonmin.so.4.8.8 +0 -0
  329. casadi/libhighs.so.1.4 +0 -0
  330. casadi/libhighs.so.1.4.0 +0 -0
  331. /casadi/{libOsi.so.1.13.7 → libOsi.so.1.13.9} +0 -0
  332. {casadi-3.6.2.dist-info → casadi-3.6.4.dist-info}/WHEEL +0 -0
@@ -0,0 +1,107 @@
1
+ # Generated by CMake
2
+
3
+ if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.8)
4
+ message(FATAL_ERROR "CMake >= 2.8.0 required")
5
+ endif()
6
+ if(CMAKE_VERSION VERSION_LESS "2.8.3")
7
+ message(FATAL_ERROR "CMake >= 2.8.3 required")
8
+ endif()
9
+ cmake_policy(PUSH)
10
+ cmake_policy(VERSION 2.8.3...3.22)
11
+ #----------------------------------------------------------------
12
+ # Generated CMake target import file.
13
+ #----------------------------------------------------------------
14
+
15
+ # Commands may need to know the format version.
16
+ set(CMAKE_IMPORT_FILE_VERSION 1)
17
+
18
+ # Protect against multiple inclusion, which would fail when already imported targets are added once more.
19
+ set(_cmake_targets_defined "")
20
+ set(_cmake_targets_not_defined "")
21
+ set(_cmake_expected_targets "")
22
+ foreach(_cmake_expected_target IN ITEMS trlib::trlib)
23
+ list(APPEND _cmake_expected_targets "${_cmake_expected_target}")
24
+ if(TARGET "${_cmake_expected_target}")
25
+ list(APPEND _cmake_targets_defined "${_cmake_expected_target}")
26
+ else()
27
+ list(APPEND _cmake_targets_not_defined "${_cmake_expected_target}")
28
+ endif()
29
+ endforeach()
30
+ unset(_cmake_expected_target)
31
+ if(_cmake_targets_defined STREQUAL _cmake_expected_targets)
32
+ unset(_cmake_targets_defined)
33
+ unset(_cmake_targets_not_defined)
34
+ unset(_cmake_expected_targets)
35
+ unset(CMAKE_IMPORT_FILE_VERSION)
36
+ cmake_policy(POP)
37
+ return()
38
+ endif()
39
+ if(NOT _cmake_targets_defined STREQUAL "")
40
+ string(REPLACE ";" ", " _cmake_targets_defined_text "${_cmake_targets_defined}")
41
+ string(REPLACE ";" ", " _cmake_targets_not_defined_text "${_cmake_targets_not_defined}")
42
+ message(FATAL_ERROR "Some (but not all) targets in this export set were already defined.\nTargets Defined: ${_cmake_targets_defined_text}\nTargets not yet defined: ${_cmake_targets_not_defined_text}\n")
43
+ endif()
44
+ unset(_cmake_targets_defined)
45
+ unset(_cmake_targets_not_defined)
46
+ unset(_cmake_expected_targets)
47
+
48
+
49
+ # Compute the installation prefix relative to this file.
50
+ get_filename_component(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH)
51
+ get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
52
+ get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
53
+ get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
54
+ if(_IMPORT_PREFIX STREQUAL "/")
55
+ set(_IMPORT_PREFIX "")
56
+ endif()
57
+
58
+ # Create imported target trlib::trlib
59
+ add_library(trlib::trlib SHARED IMPORTED)
60
+
61
+ set_target_properties(trlib::trlib PROPERTIES
62
+ INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
63
+ INTERFACE_LINK_LIBRARIES "/work/build/external_projects/lib/libcasadi-tp-openblas.so;/work/build/external_projects/lib/libcasadi-tp-openblas.so;/work/build/external_projects/lib/libcasadi-tp-openblas.so;m"
64
+ )
65
+
66
+ if(CMAKE_VERSION VERSION_LESS 2.8.12)
67
+ message(FATAL_ERROR "This file relies on consumers using CMake 2.8.12 or greater.")
68
+ endif()
69
+
70
+ # Load information for each installed configuration.
71
+ file(GLOB _cmake_config_files "${CMAKE_CURRENT_LIST_DIR}/trlib-config-*.cmake")
72
+ foreach(_cmake_config_file IN LISTS _cmake_config_files)
73
+ include("${_cmake_config_file}")
74
+ endforeach()
75
+ unset(_cmake_config_file)
76
+ unset(_cmake_config_files)
77
+
78
+ # Cleanup temporary variables.
79
+ set(_IMPORT_PREFIX)
80
+
81
+ # Loop over all imported files and verify that they actually exist
82
+ foreach(_cmake_target IN LISTS _cmake_import_check_targets)
83
+ foreach(_cmake_file IN LISTS "_cmake_import_check_files_for_${_cmake_target}")
84
+ if(NOT EXISTS "${_cmake_file}")
85
+ message(FATAL_ERROR "The imported target \"${_cmake_target}\" references the file
86
+ \"${_cmake_file}\"
87
+ but this file does not exist. Possible reasons include:
88
+ * The file was deleted, renamed, or moved to another location.
89
+ * An install or uninstall procedure did not complete successfully.
90
+ * The installation package was faulty and contained
91
+ \"${CMAKE_CURRENT_LIST_FILE}\"
92
+ but not all the files it references.
93
+ ")
94
+ endif()
95
+ endforeach()
96
+ unset(_cmake_file)
97
+ unset("_cmake_import_check_files_for_${_cmake_target}")
98
+ endforeach()
99
+ unset(_cmake_target)
100
+ unset(_cmake_import_check_targets)
101
+
102
+ # This file does not depend on other imported targets which have
103
+ # been exported from the same project but in a separate export set.
104
+
105
+ # Commands beyond this point should not need to know the version.
106
+ set(CMAKE_IMPORT_FILE_VERSION)
107
+ cmake_policy(POP)
casadi/highs CHANGED
Binary file
@@ -59,6 +59,10 @@
59
59
  namespace casadi {
60
60
  // Redirect printout
61
61
  static void pythonlogger(const char* s, std::streamsize num, bool error) {
62
+ if (!casadi::InterruptHandler::is_main_thread()) {
63
+ casadi::Logger::writeDefault(s, num, error);
64
+ return;
65
+ }
62
66
  int n = num;
63
67
  while (n>0) {
64
68
  if (error) {
@@ -2682,7 +2686,7 @@ class NZproxy:
2682
2686
  if "vectorized" in name:
2683
2687
  name = name[:-len(" (vectorized)")]
2684
2688
 
2685
- conversion = {"multiply": "mul", "divide": "div", "true_divide": "div", "subtract":"sub","power":"pow","greater_equal":"ge","less_equal": "le", "less": "lt", "greater": "gt"}
2689
+ conversion = {"multiply": "mul", "divide": "div", "true_divide": "div", "subtract":"sub","power":"pow","greater_equal":"ge","less_equal": "le", "less": "lt", "greater": "gt", "equal": "eq", "not_equal": "ne"}
2686
2690
  if name in conversion:
2687
2691
  name = conversion[name]
2688
2692
  if len(context[1])==2 and context[1][1] is self and not(context[1][0] is self):
@@ -2694,7 +2698,7 @@ class NZproxy:
2694
2698
  return fun(*args[1:])
2695
2699
 
2696
2700
  def __array_ufunc__(self, ufunc, method, *inputs, **kwargs):
2697
- conversion = {"multiply": "mul", "divide": "div", "true_divide": "div", "subtract":"sub","power":"pow","greater_equal":"ge","less_equal": "le", "less": "lt", "greater": "gt"}
2701
+ conversion = {"multiply": "mul", "divide": "div", "true_divide": "div", "subtract":"sub","power":"pow","greater_equal":"ge","less_equal": "le", "less": "lt", "greater": "gt", "equal": "eq", "not_equal": "ne"}
2698
2702
  name = ufunc.__name__
2699
2703
  inputs = list(inputs)
2700
2704
  if len(inputs)==3:
@@ -2714,7 +2718,13 @@ class NZproxy:
2714
2718
  assert method=="__call__"
2715
2719
  fun=getattr(self, name)
2716
2720
  return fun(*inputs[1:])
2717
- except:
2721
+ except Exception as e:
2722
+ if "Dimension mismatch" in str(e):
2723
+ import sys
2724
+ if sys.version_info[0] < 3:
2725
+ raise RuntimeError(str(e))
2726
+ else:
2727
+ raise e
2718
2728
  # Fall back to numpy conversion
2719
2729
  new_inputs = list(inputs)
2720
2730
  try:
@@ -2947,6 +2957,9 @@ namespace casadi{
2947
2957
  DECL std::vector< M > casadi_horzsplit(const M& v, casadi_int incr=1) {
2948
2958
  return horzsplit(v, incr);
2949
2959
  }
2960
+ DECL std::vector< M > casadi_horzsplit_n(const M& v, casadi_int n) {
2961
+ return horzsplit_n(v, n);
2962
+ }
2950
2963
  DECL std::vector< M >
2951
2964
  casadi_vertsplit(const M& v, const std::vector<casadi_int>& offset) {
2952
2965
  return vertsplit(v, offset);
@@ -2959,6 +2972,10 @@ namespace casadi{
2959
2972
  casadi_vertsplit(const M& v, casadi_int incr=1) {
2960
2973
  return vertsplit(v, incr);
2961
2974
  }
2975
+ DECL std::vector< M >
2976
+ casadi_vertsplit_n(const M& v, casadi_int n) {
2977
+ return vertsplit_n(v, n);
2978
+ }
2962
2979
  DECL M casadi_blockcat(const M& A, const M& B, const M& C, const M& D) {
2963
2980
  return vertcat(horzcat(A, B), horzcat(C, D));
2964
2981
  }
@@ -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 2
29
+ #define CASADI_PATCH_VERSION 4
30
30
  #define CASADI_IS_RELEASE 1
31
- #define CASADI_VERSION_STRING "3.6.2"
32
- #define CASADI_GIT_REVISION "896ebb1083311cfdb392f411ba83385080a05ed3" // NOLINT(whitespace/line_length)
33
- #define CASADI_GIT_DESCRIBE "3.6.1-8.896ebb108" // NOLINT(whitespace/line_length)
34
- #define CASADI_FEATURE_LIST "\n * dynamic-loading, Compile with support for dynamic loading of FMU libraries\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 * snopt-mockup-build, Use mockup SNOPT (BUILD_MOCKUPS_VERSION=v61) from downloaded source (BUILD_MOCKUPS_GIT_REPO=https://github.com/casadi/mockups.git).\n * knitro-mockup-build, Use mockup KNITRO (BUILD_MOCKUPS_VERSION=v61) from downloaded source (BUILD_MOCKUPS_GIT_REPO=https://github.com/casadi/mockups.git).\n * gurobi-mockup-build, Use mockup GUROBI (BUILD_MOCKUPS_VERSION=v61) from downloaded source (BUILD_MOCKUPS_GIT_REPO=https://github.com/casadi/mockups.git).\n * worhp-mockup-build, Use mockup WORHP (BUILD_MOCKUPS_VERSION=v61) from downloaded source (BUILD_MOCKUPS_GIT_REPO=https://github.com/casadi/mockups.git).\n * hsl-mockup-build, Use mockup WORHP (BUILD_MOCKUPS_VERSION=v61) from downloaded source (BUILD_MOCKUPS_GIT_REPO=https://github.com/casadi/mockups.git).\n * highs-sourcebuild, Build HiGHS (BUILD_HIGHS_VERSION=v1.4.1) 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 * bonmin-sourcebuild, Build BONMIN (BUILD_BONMIN_VERSION=releases/1.8.8) 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.6) from downloaded source.\n * clp-sourcebuild, Build CLP (BUILD_CLP_VERSION=releases/1.17.7) 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 * 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 * 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.6) from downloaded source.\n * osi-sourcebuild, Build OSI (BUILD_OSI_VERSION=releases/0.108.7) from downloaded source.\n * clp-interface, Interface to the LP solver CLP.\n * cgl-sourcebuild, Build CGL (BUILD_CGL_VERSION=releases/0.60.4) 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 * 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.4"
32
+ #define CASADI_GIT_REVISION "329e2282664f584b17fd6319f8ce765a111a6022" // NOLINT(whitespace/line_length)
33
+ #define CASADI_GIT_DESCRIBE "3.6.3-116.329e22826" // 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 * 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 * trlib-sourcebuild, Build TRLIB (BUILD_TRLIB_VERSION=c7632b8b14152e78bc21721a3bd1a2432586b824) from downloaded source (BUILD_TRLIB_GIT_REPO=https://github.com/jgillis/trlib.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 * 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)
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 "/opt/rh/devtoolset-10/root/usr/bin/g++" // NOLINT(whitespace/line_length)
38
- #define CASADI_COMPILER_FLAGS " -pthread -DUSE_CXX11 -DHAVE_MKSTEMPS -DCASADI_WITH_THREAD -DWITH_DEEPBIND -DCASADI_MAJOR_VERSION=3 -DCASADI_MINOR_VERSION=6 -DCASADI_PATCH_VERSION=2 -DCASADI_IS_RELEASE=1 -DCASADI_VERSION=31 -D_USE_MATH_DEFINES -D_SCL_SECURE_NO_WARNINGS -DWITH_DL -DWITH_FMU -DWITH_DEPRECATED_FEATURES" // 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_ipopt;casadi_nlpsol_bonmin;casadi_conic_qpoases;casadi_nlpsol_knitro;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_superscs;casadi_nlpsol_ampl;casadi_conic_proxqp;casadi_conic_osqp;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::ipopt;Nlpsol::bonmin;Conic::qpoases;Nlpsol::knitro;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::superscs;Nlpsol::ampl;Conic::proxqp;Conic::osqp;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 -DUSE_CXX11 -DHAVE_MKSTEMPS -DCASADI_WITH_THREAD -DWITH_DEEPBIND -DCASADI_MAJOR_VERSION=3 -DCASADI_MINOR_VERSION=6 -DCASADI_PATCH_VERSION=4 -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_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_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::clp;Conic::cbc;Linsol::csparse;Linsol::csparsecholesky;Conic::highs;Linsol::ma27;Linsol::mumps;Conic::gurobi;Nlpsol::worhp;Nlpsol::snopt;XmlFile::tinyxml;Nlpsol::blocksqp;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/local" // NOLINT(whitespace/line_length)
42
42
  #define CASADI_SHARED_LIBRARY_PREFIX "lib" // NOLINT(whitespace/line_length)
43
43
  #define CASADI_SHARED_LIBRARY_SUFFIX ".so" // NOLINT(whitespace/line_length)
@@ -1688,7 +1688,7 @@ case OP_HYPOT: DerBinaryOperation<OP_HYPOT>::derf(X, Y, F, D); break;
1688
1688
  case OP_HYPOT: return "hypot";
1689
1689
  case OP_LOGSUMEXP: return "logsumexp";
1690
1690
  }
1691
- return nullptr;
1691
+ return "<invalid-op>";
1692
1692
  }
1693
1693
 
1694
1694
  template<typename T>
@@ -769,6 +769,12 @@ namespace casadi {
769
769
  // Generate mex entry point
770
770
  void generate_mex(std::ostream &s) const;
771
771
 
772
+ // Generate function specific code for Simulink s-Function
773
+ std::string codegen_sfunction(const Function& f) const;
774
+
775
+ // Export s-Function to file
776
+ void generate_sfunction(const std::string& name, const std::string& sfunction) const;
777
+
772
778
  // Generate main entry point
773
779
  void generate_main(std::ostream &s) const;
774
780
 
@@ -800,6 +806,10 @@ namespace casadi {
800
806
  // Are we creating a MEX file?
801
807
  bool mex;
802
808
 
809
+ // Are we creating a s-function?
810
+ bool with_sfunction;
811
+ std::vector<std::string> added_sfunctions;
812
+
803
813
  // Verbose codegen?
804
814
  bool verbose;
805
815
 
@@ -0,0 +1,224 @@
1
+ /*
2
+ * This file is part of CasADi.
3
+ *
4
+ * CasADi -- A symbolic framework for dynamic optimization.
5
+ * Copyright (C) 2010-2023 Joel Andersson, Joris Gillis, Moritz Diehl,
6
+ * KU Leuven. All rights reserved.
7
+ * Copyright (C) 2011-2014 Greg Horn
8
+ *
9
+ * CasADi is free software; you can redistribute it and/or
10
+ * modify it under the terms of the GNU Lesser General Public
11
+ * License as published by the Free Software Foundation; either
12
+ * version 3 of the License, or (at your option) any later version.
13
+ *
14
+ * CasADi is distributed in the hope that it will be useful,
15
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
16
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17
+ * Lesser General Public License for more details.
18
+ *
19
+ * You should have received a copy of the GNU Lesser General Public
20
+ * License along with CasADi; if not, write to the Free Software
21
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
22
+ *
23
+ */
24
+
25
+
26
+ #ifndef CASADI_FMU_HPP
27
+ #define CASADI_FMU_HPP
28
+
29
+ #include "shared_object.hpp"
30
+ #include "printable.hpp"
31
+ #include "sparsity.hpp"
32
+
33
+ /// \cond INTERNAL
34
+
35
+ namespace casadi {
36
+
37
+ // Forward declarations
38
+ class DaeBuilderInternal;
39
+ struct FmuMemory;
40
+ struct InputStruct;
41
+
42
+ // Forward declaration of internal class
43
+ class FmuInternal;
44
+
45
+ /// Which C API
46
+ enum class FmuApi {FMI2, NUMEL};
47
+
48
+ /// Convert to string
49
+ CASADI_EXPORT std::string to_string(FmuApi v);
50
+
51
+ /** \brief Interface to binary FMU
52
+
53
+ Can be shared between multiple CasADi functions.
54
+
55
+ \author Joel Andersson
56
+ \date 2023
57
+
58
+ \identifier{26s} */
59
+ class CASADI_EXPORT Fmu
60
+ : public SharedObject,
61
+ public SWIG_IF_ELSE(PrintableCommon, Printable<Fmu>) {
62
+ public:
63
+ /** \brief Get type name
64
+
65
+ \identifier{26t} */
66
+ static std::string type_name() {return "Fmu";}
67
+
68
+ /// Default constructor
69
+ Fmu();
70
+
71
+ /// Importer factory
72
+ Fmu(const std::string& name, FmuApi api, const DaeBuilderInternal* dae,
73
+ const std::vector<std::string>& scheme_in,
74
+ const std::vector<std::string>& scheme_out,
75
+ const std::map<std::string, std::vector<size_t>>& scheme,
76
+ const std::vector<std::string>& aux);
77
+
78
+ /** \brief Name of the instance
79
+
80
+ \identifier{26u} */
81
+ const std::string& name() const;
82
+
83
+ ///@{
84
+ /// Access functions of the node
85
+ FmuInternal* operator->();
86
+ const FmuInternal* operator->() const;
87
+ FmuInternal* get() const;
88
+ ///@}
89
+
90
+ /** \brief Get the number of scheme inputs
91
+
92
+ \identifier{26v} */
93
+ size_t n_in() const;
94
+
95
+ /** \brief Get the number of scheme outputs
96
+
97
+ \identifier{26w} */
98
+ size_t n_out() const;
99
+
100
+ // Index lookup for input
101
+ size_t index_in(const std::string& n) const;
102
+
103
+ // Index lookup for output
104
+ size_t index_out(const std::string& n) const;
105
+
106
+ // Get all reduced space indices for an input
107
+ const std::vector<size_t>& ired(size_t ind) const;
108
+
109
+ // Get all reduced space indices for an output
110
+ const std::vector<size_t>& ored(size_t ind) const;
111
+
112
+ // Get nominal value for reduced-space input
113
+ double nominal_in(size_t ind) const;
114
+
115
+ // Get nominal value for reduced-space output
116
+ double nominal_out(size_t ind) const;
117
+
118
+ // Get minimum value for reduced-space input
119
+ double min_in(size_t ind) const;
120
+
121
+ // Get maximum value for reduced-space input
122
+ double max_in(size_t ind) const;
123
+
124
+ // Get all nominal values for an input
125
+ std::vector<double> all_nominal_in(size_t ind) const;
126
+
127
+ // Get all nominal values for an output
128
+ std::vector<double> all_nominal_out(size_t ind) const;
129
+
130
+ // Description of an input
131
+ std::string desc_in(FmuMemory* m, size_t id, bool more = true) const;
132
+
133
+ /// Does the interface support analytic derivatives?
134
+ bool has_ad() const;
135
+
136
+ // Get Jacobian sparsity for a subset of inputs and outputs
137
+ Sparsity jac_sparsity(const std::vector<size_t>& osub, const std::vector<size_t>& isub) const;
138
+
139
+ // Get Jacobian sparsity for an output/input pair
140
+ Sparsity jac_sparsity(size_t oind, size_t iind) const {
141
+ return jac_sparsity(ored(oind), ired(iind));
142
+ }
143
+
144
+ // Get Hessian sparsity for a subset of inputs
145
+ Sparsity hess_sparsity(const std::vector<size_t>& r, const std::vector<size_t>& c) const;
146
+
147
+ // Get Jacobian sparsity for an input/input pair
148
+ Sparsity hess_sparsity(size_t r, size_t c) const {
149
+ return hess_sparsity(ired(r), ired(c));
150
+ }
151
+
152
+ /** \brief Initalize memory block
153
+
154
+ \identifier{26x} */
155
+ int init_mem(FmuMemory* m) const;
156
+
157
+ // Free FMU instance
158
+ void free_instance(void* c) const;
159
+
160
+ // Set value
161
+ void set(FmuMemory* m, size_t ind, const double* value) const;
162
+
163
+ // Request the calculation of a variable
164
+ void request(FmuMemory* m, size_t ind) const;
165
+
166
+ // Calculate all requested variables
167
+ int eval(FmuMemory* m) const;
168
+
169
+ // Get a calculated variable
170
+ void get(FmuMemory* m, size_t ind, double* value) const;
171
+
172
+ // Set seed
173
+ void set_seed(FmuMemory* m, casadi_int nseed, const casadi_int* id, const double* v) const;
174
+
175
+ // Request the calculation of a sensitivity
176
+ void request_sens(FmuMemory* m, casadi_int nsens, const casadi_int* id,
177
+ const casadi_int* wrt_id) const;
178
+
179
+ // Calculate directional derivatives
180
+ int eval_derivative(FmuMemory* m, bool independent_seeds) const;
181
+
182
+ // Get calculated derivatives
183
+ void get_sens(FmuMemory* m, casadi_int nsens, const casadi_int* id, double* v) const;
184
+
185
+ // Set all forward seeds for a single input
186
+ void set_fwd(FmuMemory* m, size_t ind, const double* v) const;
187
+
188
+ // Request the calculation of all forward sensitivities for an output
189
+ void request_fwd(FmuMemory* m, casadi_int ind) const;
190
+
191
+ // Get the forward sensitivities for a single output
192
+ void get_fwd(FmuMemory* m, size_t ind, double* v) const;
193
+
194
+ /** \brief Get stats
195
+
196
+ \identifier{26y} */
197
+ void get_stats(FmuMemory* m, Dict* stats,
198
+ const std::vector<std::string>& name_in, const InputStruct* in) const;
199
+
200
+ /// \cond INTERNAL
201
+ #ifndef SWIG
202
+ /** \brief Create from node
203
+
204
+ \identifier{27c} */
205
+ static Fmu create(FmuInternal* node);
206
+ #endif // SWIG
207
+ /// \endcond
208
+
209
+ /** \brief Serialize an object
210
+
211
+ \identifier{27d} */
212
+ void serialize(SerializingStream &s) const;
213
+
214
+ /** \brief Deserialize with type disambiguation
215
+
216
+ \identifier{27e} */
217
+ static Fmu deserialize(DeserializingStream& s);
218
+ };
219
+
220
+ } // namespace casadi
221
+
222
+ /// \endcond
223
+
224
+ #endif // CASADI_FMU_HPP
@@ -1424,10 +1424,12 @@ namespace casadi {
1424
1424
  // Assert consistent input dimensions
1425
1425
  if (tr) {
1426
1426
  casadi_assert(v.size1() == ex.size1() && v.size2() % ex.size2() == 0,
1427
- "'v' has inconsistent dimensions");
1427
+ "'v' has inconsistent dimensions: "
1428
+ " v " + v.dim(false) + ", ex " + ex.dim(false) + ".");
1428
1429
  } else {
1429
1430
  casadi_assert(v.size1() == arg.size1() && v.size2() % arg.size2() == 0,
1430
- "'v' has inconsistent dimensions");
1431
+ "'v' has inconsistent dimensions: "
1432
+ " v " + v.dim(false) + ", arg " + arg.dim(false) + ".");
1431
1433
  }
1432
1434
 
1433
1435
  // Quick return if no seeds
@@ -79,10 +79,8 @@ namespace casadi {
79
79
  const Importer& compiler, const Dict& opts=Dict());
80
80
  CASADI_EXPORT Function nlpsol(const std::string& name, const std::string& solver,
81
81
  const NlpBuilder& nl, const Dict& opts=Dict());
82
- #ifndef SWIG
83
82
  CASADI_EXPORT Function nlpsol(const std::string& name, const std::string& solver,
84
83
  const Function& nlp, const Dict& opts=Dict());
85
- #endif // SWIG
86
84
  ///@}
87
85
 
88
86
  /** \brief Get input scheme of NLP solvers