casadi 3.6.7__cp39-none-manylinux2014_x86_64.whl → 3.7.0__cp39-none-manylinux2014_x86_64.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 (408) hide show
  1. casadi/_casadi.so +0 -0
  2. casadi/casadi-cli +0 -0
  3. casadi/casadi.py +6070 -3038
  4. casadi/cbc +0 -0
  5. casadi/clp +0 -0
  6. casadi/cmake/alpaqa/alpaqaTargets-release.cmake +4 -4
  7. casadi/cmake/casadi-config-version.cmake +1 -1
  8. casadi/cmake/casadi-targets-release.cmake +5 -5
  9. casadi/cmake/casadi-targets.cmake +5 -5
  10. casadi/cmake/highs/highs-targets-release.cmake +2 -2
  11. casadi/cmake/highs/highs-targets.cmake +1 -1
  12. casadi/cmake/libzip/libzip-config-version.cmake +48 -0
  13. casadi/cmake/libzip/libzip-config.cmake +69 -0
  14. casadi/cmake/libzip/libzip-targets-release.cmake +19 -0
  15. casadi/cmake/{trlib/trlib-config.cmake → libzip/libzip-targets.cmake} +7 -7
  16. casadi/cmake/libzip/modules/FindMbedTLS.cmake +141 -0
  17. casadi/cmake/libzip/modules/FindNettle.cmake +141 -0
  18. casadi/cmake/libzip/modules/Findzstd.cmake +186 -0
  19. casadi/cmake/sleqp/sleqp-targets-release.cmake +2 -2
  20. casadi/highs +0 -0
  21. casadi/include/casadi/casadi.i +194 -44
  22. casadi/include/casadi/config.h +11 -11
  23. casadi/include/casadi/core/archiver.hpp +58 -0
  24. casadi/include/casadi/core/blazing_spline.hpp +47 -0
  25. casadi/include/casadi/core/calculus.hpp +57 -2
  26. casadi/include/casadi/core/casadi_common.hpp +37 -0
  27. casadi/include/casadi/core/casadi_meta.hpp +15 -0
  28. casadi/include/casadi/core/casadi_misc.hpp +7 -0
  29. casadi/include/casadi/core/code_generator.hpp +95 -17
  30. casadi/include/casadi/core/core.hpp +5 -0
  31. casadi/include/casadi/core/dae_builder.hpp +283 -141
  32. casadi/include/casadi/core/dm.hpp +3 -0
  33. casadi/include/casadi/core/filesystem.hpp +58 -0
  34. casadi/include/casadi/core/fmu.hpp +51 -16
  35. casadi/include/casadi/core/function.hpp +19 -0
  36. casadi/include/casadi/core/generic_matrix.hpp +214 -7
  37. casadi/include/casadi/core/generic_shared.hpp +318 -0
  38. casadi/include/casadi/core/generic_shared_impl.hpp +214 -0
  39. casadi/include/casadi/core/generic_shared_internal.hpp +215 -0
  40. casadi/include/casadi/core/generic_type.hpp +3 -0
  41. casadi/include/casadi/core/global_options.hpp +10 -0
  42. casadi/include/casadi/core/integrator.hpp +41 -7
  43. casadi/include/casadi/core/matrix_decl.hpp +67 -0
  44. casadi/include/casadi/core/mx.hpp +63 -2
  45. casadi/include/casadi/core/options.hpp +6 -3
  46. casadi/include/casadi/core/optistack.hpp +43 -9
  47. casadi/include/casadi/core/printable.hpp +8 -0
  48. casadi/include/casadi/core/resource.hpp +107 -0
  49. casadi/include/casadi/core/runtime/casadi_blazing_1d_boor_eval.hpp +112 -0
  50. casadi/include/casadi/core/runtime/casadi_blazing_2d_boor_eval.hpp +311 -0
  51. casadi/include/casadi/core/runtime/casadi_blazing_3d_boor_eval.hpp +645 -0
  52. casadi/include/casadi/core/runtime/casadi_blazing_de_boor.hpp +101 -0
  53. casadi/include/casadi/core/runtime/casadi_nlp.hpp +8 -2
  54. casadi/include/casadi/core/runtime/casadi_printme.hpp +25 -0
  55. casadi/include/casadi/core/serializer.hpp +12 -4
  56. casadi/include/casadi/core/serializing_stream.hpp +3 -0
  57. casadi/include/casadi/core/shared_object.hpp +73 -161
  58. casadi/include/casadi/core/sparsity.hpp +13 -1
  59. casadi/include/casadi/core/sparsity_interface.hpp +19 -1
  60. casadi/include/casadi/core/sx.hpp +41 -0
  61. casadi/include/casadi/core/sx_elem.hpp +25 -0
  62. casadi/include/casadi/core/xml_node.hpp +5 -0
  63. casadi/include/casadi/doc.i +9703 -6539
  64. casadi/include/casadi/doc_merged.i +6483 -4447
  65. casadi/include/casadi/valgrind-casadi.supp +138 -0
  66. casadi/include/casadi/valgrind-python.supp +2470 -0
  67. casadi/include/fatrop/blasfeo_wrapper/LinearAlgebraBlasfeo.hpp +4 -1
  68. casadi/include/ghc/filesystem.hpp +6083 -0
  69. casadi/include/ghc/fs_fwd.hpp +38 -0
  70. casadi/include/ghc/fs_impl.hpp +35 -0
  71. casadi/include/ghc/fs_std.hpp +60 -0
  72. casadi/include/ghc/fs_std_fwd.hpp +63 -0
  73. casadi/include/ghc/fs_std_impl.hpp +46 -0
  74. casadi/include/highs/HConfig.h +6 -4
  75. casadi/include/highs/Highs.h +260 -86
  76. casadi/include/highs/filereaderlp/reader.hpp +10 -10
  77. casadi/include/highs/interfaces/highs_c_api.h +195 -22
  78. casadi/include/highs/io/Filereader.h +4 -6
  79. casadi/include/highs/io/FilereaderEms.h +0 -3
  80. casadi/include/highs/io/FilereaderLp.h +0 -3
  81. casadi/include/highs/io/FilereaderMps.h +0 -3
  82. casadi/include/highs/io/HMPSIO.h +1 -4
  83. casadi/include/highs/io/HMpsFF.h +8 -5
  84. casadi/include/highs/io/HighsIO.h +10 -5
  85. casadi/include/highs/io/LoadOptions.h +0 -3
  86. casadi/include/highs/ipm/IpxSolution.h +0 -3
  87. casadi/include/highs/ipm/IpxWrapper.h +4 -7
  88. casadi/include/highs/ipm/ipx/control.h +1 -0
  89. casadi/include/highs/ipm/ipx/ipx_parameters.h +1 -0
  90. casadi/include/highs/ipm/ipx/lp_solver.h +3 -2
  91. casadi/include/highs/ipm/ipx/model.h +7 -3
  92. casadi/include/highs/lp_data/HConst.h +21 -6
  93. casadi/include/highs/lp_data/HStruct.h +40 -4
  94. casadi/include/highs/lp_data/HighsAnalysis.h +0 -3
  95. casadi/include/highs/lp_data/HighsCallback.h +10 -3
  96. casadi/include/highs/lp_data/HighsCallbackStruct.h +3 -3
  97. casadi/include/highs/lp_data/HighsDebug.h +0 -3
  98. casadi/include/highs/lp_data/HighsIis.h +62 -0
  99. casadi/include/highs/lp_data/HighsInfo.h +50 -43
  100. casadi/include/highs/lp_data/HighsInfoDebug.h +0 -3
  101. casadi/include/highs/lp_data/HighsLp.h +2 -3
  102. casadi/include/highs/lp_data/HighsLpSolverObject.h +0 -3
  103. casadi/include/highs/lp_data/HighsLpUtils.h +38 -6
  104. casadi/include/highs/lp_data/HighsModelUtils.h +21 -18
  105. casadi/include/highs/lp_data/HighsOptions.h +134 -22
  106. casadi/include/highs/lp_data/HighsRanging.h +0 -3
  107. casadi/include/highs/lp_data/HighsSolution.h +10 -3
  108. casadi/include/highs/lp_data/HighsSolutionDebug.h +0 -3
  109. casadi/include/highs/lp_data/HighsSolve.h +0 -3
  110. casadi/include/highs/lp_data/HighsStatus.h +0 -3
  111. casadi/include/highs/mip/HighsCliqueTable.h +3 -3
  112. casadi/include/highs/mip/HighsConflictPool.h +0 -3
  113. casadi/include/highs/mip/HighsCutGeneration.h +13 -3
  114. casadi/include/highs/mip/HighsCutPool.h +0 -3
  115. casadi/include/highs/mip/HighsDebugSol.h +0 -3
  116. casadi/include/highs/mip/HighsDomain.h +16 -4
  117. casadi/include/highs/mip/HighsDomainChange.h +0 -3
  118. casadi/include/highs/mip/HighsDynamicRowMatrix.h +0 -3
  119. casadi/include/highs/mip/HighsGFkSolve.h +3 -6
  120. casadi/include/highs/mip/HighsImplications.h +29 -5
  121. casadi/include/highs/mip/HighsLpAggregator.h +0 -3
  122. casadi/include/highs/mip/HighsLpRelaxation.h +0 -3
  123. casadi/include/highs/mip/HighsMipAnalysis.h +52 -0
  124. casadi/include/highs/mip/HighsMipSolver.h +11 -4
  125. casadi/include/highs/mip/HighsMipSolverData.h +67 -6
  126. casadi/include/highs/mip/HighsModkSeparator.h +1 -4
  127. casadi/include/highs/mip/HighsNodeQueue.h +0 -3
  128. casadi/include/highs/mip/HighsObjectiveFunction.h +0 -3
  129. casadi/include/highs/mip/HighsPathSeparator.h +1 -4
  130. casadi/include/highs/mip/HighsPrimalHeuristics.h +7 -5
  131. casadi/include/highs/mip/HighsPseudocost.h +0 -3
  132. casadi/include/highs/mip/HighsRedcostFixing.h +0 -3
  133. casadi/include/highs/mip/HighsSearch.h +0 -3
  134. casadi/include/highs/mip/HighsSeparation.h +0 -3
  135. casadi/include/highs/mip/HighsSeparator.h +1 -5
  136. casadi/include/highs/mip/HighsTableauSeparator.h +1 -4
  137. casadi/include/highs/mip/HighsTransformedLp.h +0 -3
  138. casadi/include/highs/mip/MipTimer.h +471 -0
  139. casadi/include/highs/parallel/HighsBinarySemaphore.h +1 -1
  140. casadi/include/highs/parallel/HighsCacheAlign.h +1 -1
  141. casadi/include/highs/parallel/HighsCombinable.h +1 -1
  142. casadi/include/highs/parallel/HighsMutex.h +1 -1
  143. casadi/include/highs/parallel/HighsRaceTimer.h +1 -1
  144. casadi/include/highs/parallel/HighsSchedulerConstants.h +1 -1
  145. casadi/include/highs/parallel/HighsSplitDeque.h +1 -1
  146. casadi/include/highs/parallel/HighsTaskExecutor.h +68 -55
  147. casadi/include/highs/pdlp/CupdlpWrapper.h +18 -7
  148. casadi/include/highs/pdlp/cupdlp/cupdlp_cs.h +2 -3
  149. casadi/include/highs/pdlp/cupdlp/cupdlp_defs.h +16 -6
  150. casadi/include/highs/pdlp/cupdlp/cupdlp_linalg.h +10 -4
  151. casadi/include/highs/pdlp/cupdlp/cupdlp_proj.h +3 -3
  152. casadi/include/highs/pdlp/cupdlp/cupdlp_restart.h +6 -6
  153. casadi/include/highs/pdlp/cupdlp/cupdlp_scaling.h +26 -0
  154. casadi/include/highs/pdlp/cupdlp/cupdlp_solver.h +11 -11
  155. casadi/include/highs/pdlp/cupdlp/cupdlp_step.h +8 -4
  156. casadi/include/highs/pdlp/cupdlp/cupdlp_utils.c +253 -172
  157. casadi/include/highs/presolve/HPresolve.h +50 -10
  158. casadi/include/highs/presolve/HPresolveAnalysis.h +0 -3
  159. casadi/include/highs/presolve/HighsPostsolveStack.h +39 -6
  160. casadi/include/highs/presolve/HighsSymmetry.h +0 -3
  161. casadi/include/highs/presolve/ICrash.h +0 -3
  162. casadi/include/highs/presolve/ICrashUtil.h +1 -4
  163. casadi/include/highs/presolve/ICrashX.h +0 -3
  164. casadi/include/highs/presolve/PresolveComponent.h +0 -3
  165. casadi/include/highs/qpsolver/a_asm.hpp +20 -17
  166. casadi/include/highs/qpsolver/a_quass.hpp +5 -9
  167. casadi/include/highs/qpsolver/basis.hpp +12 -10
  168. casadi/include/highs/qpsolver/crashsolution.hpp +4 -3
  169. casadi/include/highs/qpsolver/dantzigpricing.hpp +3 -2
  170. casadi/include/highs/qpsolver/devexpricing.hpp +3 -1
  171. casadi/include/highs/qpsolver/factor.hpp +6 -5
  172. casadi/include/highs/qpsolver/feasibility_bounded.hpp +31 -29
  173. casadi/include/highs/qpsolver/feasibility_highs.hpp +94 -70
  174. casadi/include/highs/qpsolver/gradient.hpp +1 -1
  175. casadi/include/highs/qpsolver/instance.hpp +1 -1
  176. casadi/include/highs/qpsolver/pricing.hpp +2 -2
  177. casadi/include/highs/qpsolver/qpconst.hpp +2 -2
  178. casadi/include/highs/qpsolver/quass.hpp +2 -2
  179. casadi/include/highs/qpsolver/runtime.hpp +2 -2
  180. casadi/include/highs/qpsolver/settings.hpp +20 -8
  181. casadi/include/highs/qpsolver/steepestedgepricing.hpp +38 -39
  182. casadi/include/highs/simplex/HApp.h +88 -34
  183. casadi/include/highs/simplex/HEkk.h +24 -11
  184. casadi/include/highs/simplex/HEkkDual.h +2 -4
  185. casadi/include/highs/simplex/HEkkDualRHS.h +0 -3
  186. casadi/include/highs/simplex/HEkkDualRow.h +0 -3
  187. casadi/include/highs/simplex/HEkkPrimal.h +1 -5
  188. casadi/include/highs/simplex/HSimplex.h +0 -3
  189. casadi/include/highs/simplex/HSimplexDebug.h +0 -3
  190. casadi/include/highs/simplex/HSimplexNla.h +0 -26
  191. casadi/include/highs/simplex/HSimplexReport.h +0 -3
  192. casadi/include/highs/simplex/HighsSimplexAnalysis.h +5 -8
  193. casadi/include/highs/simplex/SimplexConst.h +10 -11
  194. casadi/include/highs/simplex/SimplexStruct.h +9 -12
  195. casadi/include/highs/simplex/SimplexTimer.h +83 -101
  196. casadi/include/highs/test/DevKkt.h +0 -3
  197. casadi/include/highs/test/KktCh2.h +0 -3
  198. casadi/include/highs/util/FactorTimer.h +39 -64
  199. casadi/include/highs/util/HFactor.h +4 -4
  200. casadi/include/highs/util/HFactorConst.h +0 -3
  201. casadi/include/highs/util/HFactorDebug.h +0 -3
  202. casadi/include/highs/util/HSet.h +0 -3
  203. casadi/include/highs/util/HVector.h +0 -3
  204. casadi/include/highs/util/HVectorBase.h +1 -4
  205. casadi/include/highs/util/HighsCDouble.h +12 -3
  206. casadi/include/highs/util/HighsComponent.h +0 -3
  207. casadi/include/highs/util/HighsDataStack.h +0 -3
  208. casadi/include/highs/util/HighsDisjointSets.h +0 -3
  209. casadi/include/highs/util/HighsHash.h +9 -12
  210. casadi/include/highs/util/HighsHashTree.h +15 -11
  211. casadi/include/highs/util/HighsInt.h +0 -3
  212. casadi/include/highs/util/HighsIntegers.h +0 -3
  213. casadi/include/highs/util/HighsLinearSumBounds.h +0 -3
  214. casadi/include/highs/util/HighsMatrixPic.h +0 -3
  215. casadi/include/highs/util/HighsMatrixSlice.h +3 -6
  216. casadi/include/highs/util/HighsMatrixUtils.h +0 -3
  217. casadi/include/highs/util/HighsMemoryAllocation.h +11 -3
  218. casadi/include/highs/util/HighsRandom.h +3 -6
  219. casadi/include/highs/util/HighsRbTree.h +0 -3
  220. casadi/include/highs/util/HighsSort.h +0 -3
  221. casadi/include/highs/util/HighsSparseMatrix.h +6 -3
  222. casadi/include/highs/util/HighsSparseVectorSum.h +0 -3
  223. casadi/include/highs/util/HighsSplay.h +0 -3
  224. casadi/include/highs/util/HighsTimer.h +94 -56
  225. casadi/include/highs/util/HighsUtils.h +10 -3
  226. casadi/include/highs/util/stringutil.h +14 -12
  227. casadi/include/licenses/ghc-external/LICENSE +19 -0
  228. casadi/include/licenses/libz-external/LICENSE +22 -0
  229. casadi/include/licenses/libz-external/contrib/dotzlib/LICENSE_1_0.txt +23 -0
  230. casadi/include/licenses/libzip-external/LICENSE +31 -0
  231. casadi/include/zconf.h +545 -0
  232. casadi/include/zip.h +528 -0
  233. casadi/include/zipconf.h +48 -0
  234. casadi/include/zlib.h +1938 -0
  235. casadi/libCbcSolver.so +0 -0
  236. casadi/libCbcSolver.so.3 +0 -0
  237. casadi/libCbcSolver.so.3.10.11 +0 -0
  238. casadi/libClpSolver.so +0 -0
  239. casadi/libClpSolver.so.1 +0 -0
  240. casadi/libClpSolver.so.1.14.9 +0 -0
  241. casadi/libbonmin.so +0 -0
  242. casadi/libbonmin.so.4 +0 -0
  243. casadi/libbonmin.so.4.8.9 +0 -0
  244. casadi/libcasadi.so +0 -0
  245. casadi/libcasadi.so.3.7 +0 -0
  246. casadi/libcasadi_archiver_libzip.so +0 -0
  247. casadi/libcasadi_archiver_libzip.so.3.7 +0 -0
  248. casadi/libcasadi_conic_cbc.so +0 -0
  249. casadi/libcasadi_conic_cbc.so.3.7 +0 -0
  250. casadi/libcasadi_conic_clp.so +0 -0
  251. casadi/libcasadi_conic_clp.so.3.7 +0 -0
  252. casadi/libcasadi_conic_cplex.so +0 -0
  253. casadi/libcasadi_conic_cplex.so.3.7 +0 -0
  254. casadi/libcasadi_conic_daqp.so +0 -0
  255. casadi/libcasadi_conic_daqp.so.3.7 +0 -0
  256. casadi/libcasadi_conic_fatrop.so +0 -0
  257. casadi/libcasadi_conic_fatrop.so.3.7 +0 -0
  258. casadi/libcasadi_conic_gurobi.so +0 -0
  259. casadi/libcasadi_conic_gurobi.so.3.7 +0 -0
  260. casadi/libcasadi_conic_highs.so +0 -0
  261. casadi/libcasadi_conic_highs.so.3.7 +0 -0
  262. casadi/libcasadi_conic_hpipm.so +0 -0
  263. casadi/libcasadi_conic_hpipm.so.3.7 +0 -0
  264. casadi/libcasadi_conic_ipqp.so +0 -0
  265. casadi/libcasadi_conic_ipqp.so.3.7 +0 -0
  266. casadi/libcasadi_conic_nlpsol.so +0 -0
  267. casadi/libcasadi_conic_nlpsol.so.3.7 +0 -0
  268. casadi/libcasadi_conic_osqp.so +0 -0
  269. casadi/libcasadi_conic_osqp.so.3.7 +0 -0
  270. casadi/libcasadi_conic_proxqp.so +0 -0
  271. casadi/libcasadi_conic_proxqp.so.3.7 +0 -0
  272. casadi/libcasadi_conic_qpoases.so +0 -0
  273. casadi/libcasadi_conic_qpoases.so.3.7 +0 -0
  274. casadi/libcasadi_conic_qrqp.so +0 -0
  275. casadi/libcasadi_conic_qrqp.so.3.7 +0 -0
  276. casadi/libcasadi_conic_superscs.so +0 -0
  277. casadi/libcasadi_conic_superscs.so.3.7 +0 -0
  278. casadi/libcasadi_filesystem_ghc.so +0 -0
  279. casadi/libcasadi_filesystem_ghc.so.3.7 +0 -0
  280. casadi/libcasadi_importer_shell.so +0 -0
  281. casadi/libcasadi_importer_shell.so.3.7 +0 -0
  282. casadi/libcasadi_integrator_collocation.so +0 -0
  283. casadi/libcasadi_integrator_collocation.so.3.7 +0 -0
  284. casadi/libcasadi_integrator_cvodes.so +0 -0
  285. casadi/libcasadi_integrator_cvodes.so.3.7 +0 -0
  286. casadi/libcasadi_integrator_idas.so +0 -0
  287. casadi/libcasadi_integrator_idas.so.3.7 +0 -0
  288. casadi/libcasadi_integrator_rk.so +0 -0
  289. casadi/libcasadi_integrator_rk.so.3.7 +0 -0
  290. casadi/libcasadi_interpolant_bspline.so +0 -0
  291. casadi/libcasadi_interpolant_bspline.so.3.7 +0 -0
  292. casadi/libcasadi_interpolant_linear.so +0 -0
  293. casadi/libcasadi_interpolant_linear.so.3.7 +0 -0
  294. casadi/libcasadi_linsol_csparse.so +0 -0
  295. casadi/libcasadi_linsol_csparse.so.3.7 +0 -0
  296. casadi/libcasadi_linsol_csparsecholesky.so +0 -0
  297. casadi/libcasadi_linsol_csparsecholesky.so.3.7 +0 -0
  298. casadi/libcasadi_linsol_lapacklu.so +0 -0
  299. casadi/libcasadi_linsol_lapacklu.so.3.7 +0 -0
  300. casadi/libcasadi_linsol_lapackqr.so +0 -0
  301. casadi/libcasadi_linsol_lapackqr.so.3.7 +0 -0
  302. casadi/libcasadi_linsol_ldl.so +0 -0
  303. casadi/libcasadi_linsol_ldl.so.3.7 +0 -0
  304. casadi/libcasadi_linsol_lsqr.so +0 -0
  305. casadi/libcasadi_linsol_lsqr.so.3.7 +0 -0
  306. casadi/libcasadi_linsol_ma27.so +0 -0
  307. casadi/libcasadi_linsol_ma27.so.3.7 +0 -0
  308. casadi/libcasadi_linsol_mumps.so +0 -0
  309. casadi/libcasadi_linsol_mumps.so.3.7 +0 -0
  310. casadi/libcasadi_linsol_qr.so +0 -0
  311. casadi/libcasadi_linsol_qr.so.3.7 +0 -0
  312. casadi/libcasadi_linsol_symbolicqr.so +0 -0
  313. casadi/libcasadi_linsol_symbolicqr.so.3.7 +0 -0
  314. casadi/libcasadi_linsol_tridiag.so +0 -0
  315. casadi/libcasadi_linsol_tridiag.so.3.7 +0 -0
  316. casadi/libcasadi_nlpsol_alpaqa.so +0 -0
  317. casadi/libcasadi_nlpsol_alpaqa.so.3.7 +0 -0
  318. casadi/libcasadi_nlpsol_ampl.so +0 -0
  319. casadi/libcasadi_nlpsol_ampl.so.3.7 +0 -0
  320. casadi/libcasadi_nlpsol_blocksqp.so +0 -0
  321. casadi/libcasadi_nlpsol_blocksqp.so.3.7 +0 -0
  322. casadi/libcasadi_nlpsol_bonmin.so +0 -0
  323. casadi/libcasadi_nlpsol_bonmin.so.3.7 +0 -0
  324. casadi/libcasadi_nlpsol_fatrop.so +0 -0
  325. casadi/libcasadi_nlpsol_fatrop.so.3.7 +0 -0
  326. casadi/libcasadi_nlpsol_feasiblesqpmethod.so +0 -0
  327. casadi/libcasadi_nlpsol_feasiblesqpmethod.so.3.7 +0 -0
  328. casadi/libcasadi_nlpsol_ipopt.so +0 -0
  329. casadi/libcasadi_nlpsol_ipopt.so.3.7 +0 -0
  330. casadi/libcasadi_nlpsol_knitro.so +0 -0
  331. casadi/libcasadi_nlpsol_knitro.so.3.7 +0 -0
  332. casadi/libcasadi_nlpsol_madnlp.so +0 -0
  333. casadi/libcasadi_nlpsol_madnlp.so.3.7 +0 -0
  334. casadi/libcasadi_nlpsol_qrsqp.so +0 -0
  335. casadi/libcasadi_nlpsol_qrsqp.so.3.7 +0 -0
  336. casadi/libcasadi_nlpsol_scpgen.so +0 -0
  337. casadi/libcasadi_nlpsol_scpgen.so.3.7 +0 -0
  338. casadi/libcasadi_nlpsol_sleqp.so +0 -0
  339. casadi/libcasadi_nlpsol_sleqp.so.3.7 +0 -0
  340. casadi/libcasadi_nlpsol_snopt.so +0 -0
  341. casadi/libcasadi_nlpsol_snopt.so.3.7 +0 -0
  342. casadi/libcasadi_nlpsol_sqpmethod.so +0 -0
  343. casadi/libcasadi_nlpsol_sqpmethod.so.3.7 +0 -0
  344. casadi/libcasadi_nlpsol_worhp.so +0 -0
  345. casadi/libcasadi_nlpsol_worhp.so.3.7 +0 -0
  346. casadi/libcasadi_rootfinder_fast_newton.so +0 -0
  347. casadi/libcasadi_rootfinder_fast_newton.so.3.7 +0 -0
  348. casadi/libcasadi_rootfinder_kinsol.so +0 -0
  349. casadi/libcasadi_rootfinder_kinsol.so.3.7 +0 -0
  350. casadi/libcasadi_rootfinder_newton.so +0 -0
  351. casadi/libcasadi_rootfinder_newton.so.3.7 +0 -0
  352. casadi/libcasadi_rootfinder_nlpsol.so +0 -0
  353. casadi/libcasadi_rootfinder_nlpsol.so.3.7 +0 -0
  354. casadi/libcasadi_sundials_common.so +0 -0
  355. casadi/libcasadi_sundials_common.so.3.7 +0 -0
  356. casadi/libcasadi_xmlfile_tinyxml.so +0 -0
  357. casadi/libcasadi_xmlfile_tinyxml.so.3.7 +0 -0
  358. casadi/libcoinmumps.so +0 -0
  359. casadi/libcoinmumps.so.3 +0 -0
  360. casadi/libcoinmumps.so.3.0.1 +0 -0
  361. casadi/libdaqpstat.a +0 -0
  362. casadi/libfatrop.so +0 -0
  363. casadi/libhighs.so +0 -0
  364. casadi/libhighs.so.1 +0 -0
  365. casadi/libhighs.so.1.10.0 +0 -0
  366. casadi/libindirect.a +0 -0
  367. casadi/libipopt.so +0 -0
  368. casadi/libipopt.so.3 +0 -0
  369. casadi/libipopt.so.3.14.11 +0 -0
  370. casadi/liblinsys.a +0 -0
  371. casadi/libosqp.a +0 -0
  372. casadi/libqdldl.a +0 -0
  373. casadi/libsipopt.so +0 -0
  374. casadi/libsipopt.so.3 +0 -0
  375. casadi/libsipopt.so.3.14.11 +0 -0
  376. casadi/libsleqp.so +0 -0
  377. casadi/libsleqp.so.1.0.1 +0 -0
  378. casadi/libspral.a +0 -0
  379. casadi/libsuperscs.a +0 -0
  380. casadi/libz.a +0 -0
  381. casadi/libz.so +0 -0
  382. casadi/libz.so.1 +0 -0
  383. casadi/libz.so.1.3.1 +0 -0
  384. casadi/libzip.a +0 -0
  385. casadi/pkgconfig/casadi.pc +1 -1
  386. casadi/pkgconfig/highs.pc +1 -1
  387. casadi/pkgconfig/libzip.pc +14 -0
  388. casadi/tools/__init__.py +3 -1
  389. casadi/tools/graph/graph.py +1 -1
  390. casadi/tools/structure3.py +2 -2
  391. {casadi-3.6.7.dist-info → casadi-3.7.0.dist-info}/METADATA +1 -1
  392. {casadi-3.6.7.dist-info → casadi-3.7.0.dist-info}/RECORD +392 -360
  393. casadi/cmake/proxsuite/find-external/Simde/FindSimde.cmake +0 -39
  394. casadi/cmake/proxsuite/proxsuiteConfig.cmake +0 -177
  395. casadi/cmake/proxsuite/proxsuiteConfigVersion.cmake +0 -70
  396. casadi/cmake/proxsuite/proxsuiteTargets.cmake +0 -115
  397. casadi/cmake/trlib/trlib-config-release.cmake +0 -19
  398. casadi/cmake/trlib/trlib-config-version.cmake +0 -88
  399. casadi/include/tinyxml2.h +0 -2380
  400. casadi/lib64/cmake/tinyxml2/tinyxml2-config-version.cmake +0 -70
  401. casadi/lib64/cmake/tinyxml2/tinyxml2-config.cmake +0 -57
  402. casadi/lib64/cmake/tinyxml2/tinyxml2-static-targets-release.cmake +0 -19
  403. casadi/lib64/cmake/tinyxml2/tinyxml2-static-targets.cmake +0 -103
  404. casadi/lib64/libtinyxml2.a +0 -0
  405. casadi/lib64/pkgconfig/tinyxml2.pc +0 -10
  406. casadi/pkgconfig/proxsuite.pc +0 -22
  407. casadi/tools/structure.py +0 -1446
  408. {casadi-3.6.7.dist-info → casadi-3.7.0.dist-info}/WHEEL +0 -0
@@ -0,0 +1,186 @@
1
+ # Copyright (C) 2020 Dieter Baron and Thomas Klausner
2
+ #
3
+ # The authors can be contacted at <info@libzip.org>
4
+ #
5
+ # Redistribution and use in source and binary forms, with or without
6
+ # modification, are permitted provided that the following conditions
7
+ # are met:
8
+ #
9
+ # 1. Redistributions of source code must retain the above copyright
10
+ # notice, this list of conditions and the following disclaimer.
11
+ #
12
+ # 2. Redistributions in binary form must reproduce the above copyright
13
+ # notice, this list of conditions and the following disclaimer in
14
+ # the documentation and/or other materials provided with the
15
+ # distribution.
16
+ #
17
+ # 3. The names of the authors may not be used to endorse or promote
18
+ # products derived from this software without specific prior
19
+ # written permission.
20
+ #
21
+ # THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS
22
+ # OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
23
+ # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
24
+ # ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY
25
+ # DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
26
+ # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
27
+ # GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
28
+ # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
29
+ # IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
30
+ # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
31
+ # IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32
+
33
+ #[=======================================================================[.rst:
34
+ Findzstd
35
+ -------
36
+
37
+ Finds the Zstandard (zstd) library.
38
+
39
+ Imported Targets
40
+ ^^^^^^^^^^^^^^^^
41
+
42
+ This module provides the following imported targets, if found:
43
+
44
+ ``zstd::libzstd_shared``
45
+ The shared Zstandard library
46
+ ``zstd::libzstd_static``
47
+ The shared Zstandard library
48
+
49
+ Result Variables
50
+ ^^^^^^^^^^^^^^^^
51
+
52
+ This will define the following variables:
53
+
54
+ ``zstd_FOUND``
55
+ True if the system has the Zstandard library.
56
+ ``zstd_VERSION``
57
+ The version of the Zstandard library which was found.
58
+
59
+ Cache Variables
60
+ ^^^^^^^^^^^^^^^
61
+
62
+ The following cache variables may also be set:
63
+
64
+ ``zstd_INCLUDE_DIR``
65
+ The directory containing ``zstd.h``.
66
+ ``zstd_STATIC_LIBRARY``
67
+ The path to the Zstandard static library.
68
+ ``zstd_SHARED_LIBRARY``
69
+ The path to the Zstandard shared library.
70
+ ``zstd_DLL``
71
+ The path to the Zstandard DLL.
72
+
73
+ #]=======================================================================]
74
+
75
+ find_package(PkgConfig)
76
+ pkg_check_modules(PC_zstd QUIET libzstd)
77
+
78
+ find_path(zstd_INCLUDE_DIR
79
+ NAMES zstd.h
80
+ HINTS ${PC_zstd_INCLUDE_DIRS}
81
+ )
82
+
83
+ find_file(zstd_DLL
84
+ NAMES libzstd.dll zstd.dll
85
+ PATH_SUFFIXES bin
86
+ HINTS ${PC_zstd_PREFIX}
87
+ )
88
+
89
+ # On Windows, we manually define the library names to avoid mistaking the
90
+ # implib for the static library
91
+ if(zstd_DLL)
92
+ set(_zstd_win_static_name zstd-static)
93
+ set(_zstd_win_shared_name zstd)
94
+ else()
95
+ # vcpkg removes the -static suffix in static builds
96
+ set(_zstd_win_static_name zstd zstd_static)
97
+ set(_zstd_win_shared_name)
98
+ endif()
99
+
100
+ set(_previous_suffixes ${CMAKE_FIND_LIBRARY_SUFFIXES})
101
+ set(CMAKE_FIND_LIBRARY_SUFFIXES ".so" ".dylib" ".dll.a" ".lib")
102
+ find_library(zstd_SHARED_LIBRARY
103
+ NAMES zstd ${_zstd_win_shared_name}
104
+ HINTS ${PC_zstd_LIBDIR}
105
+ )
106
+
107
+ set(CMAKE_FIND_LIBRARY_SUFFIXES ".a" ".lib")
108
+ find_library(zstd_STATIC_LIBRARY
109
+ NAMES zstd ${_zstd_win_static_name}
110
+ HINTS ${PC_zstd_LIBDIR}
111
+ )
112
+ set(CMAKE_FIND_LIBRARY_SUFFIXES ${_previous_suffixes})
113
+
114
+ # Set zstd_LIBRARY to the shared library or fall back to the static library
115
+ if(zstd_SHARED_LIBRARY)
116
+ set(_zstd_LIBRARY ${zstd_SHARED_LIBRARY})
117
+ else()
118
+ set(_zstd_LIBRARY ${zstd_STATIC_LIBRARY})
119
+ endif()
120
+
121
+ # Extract version information from the header file
122
+ if(zstd_INCLUDE_DIR)
123
+ file(STRINGS ${zstd_INCLUDE_DIR}/zstd.h _ver_major_line
124
+ REGEX "^#define ZSTD_VERSION_MAJOR *[0-9]+"
125
+ LIMIT_COUNT 1)
126
+ string(REGEX MATCH "[0-9]+"
127
+ zstd_MAJOR_VERSION "${_ver_major_line}")
128
+ file(STRINGS ${zstd_INCLUDE_DIR}/zstd.h _ver_minor_line
129
+ REGEX "^#define ZSTD_VERSION_MINOR *[0-9]+"
130
+ LIMIT_COUNT 1)
131
+ string(REGEX MATCH "[0-9]+"
132
+ zstd_MINOR_VERSION "${_ver_minor_line}")
133
+ file(STRINGS ${zstd_INCLUDE_DIR}/zstd.h _ver_release_line
134
+ REGEX "^#define ZSTD_VERSION_RELEASE *[0-9]+"
135
+ LIMIT_COUNT 1)
136
+ string(REGEX MATCH "[0-9]+"
137
+ zstd_RELEASE_VERSION "${_ver_release_line}")
138
+ set(Zstd_VERSION "${zstd_MAJOR_VERSION}.${zstd_MINOR_VERSION}.${zstd_RELEASE_VERSION}")
139
+ unset(_ver_major_line)
140
+ unset(_ver_minor_line)
141
+ unset(_ver_release_line)
142
+ endif()
143
+
144
+ include(FindPackageHandleStandardArgs)
145
+ find_package_handle_standard_args(zstd
146
+ FOUND_VAR zstd_FOUND
147
+ REQUIRED_VARS
148
+ _zstd_LIBRARY
149
+ zstd_INCLUDE_DIR
150
+ VERSION_VAR zstd_VERSION
151
+ )
152
+
153
+ if(zstd_FOUND AND zstd_SHARED_LIBRARY AND NOT TARGET zstd::libzstd_shared)
154
+ add_library(zstd::libzstd_shared SHARED IMPORTED)
155
+ if(WIN32)
156
+ set_target_properties(zstd::libzstd_shared PROPERTIES
157
+ IMPORTED_LOCATION "${zstd_DLL}"
158
+ IMPORTED_IMPLIB "${zstd_SHARED_LIBRARY}"
159
+ )
160
+ else()
161
+ set_target_properties(zstd::libzstd_shared PROPERTIES
162
+ IMPORTED_LOCATION "${zstd_SHARED_LIBRARY}"
163
+ )
164
+ endif()
165
+
166
+ set_target_properties(zstd::libzstd_shared PROPERTIES
167
+ INTERFACE_COMPILE_OPTIONS "${PC_zstd_CFLAGS_OTHER}"
168
+ INTERFACE_INCLUDE_DIRECTORIES "${zstd_INCLUDE_DIR}"
169
+ )
170
+ endif()
171
+
172
+ if(zstd_FOUND AND zstd_STATIC_LIBRARY AND NOT TARGET zstd::libzstd_static)
173
+ add_library(zstd::libzstd_static STATIC IMPORTED)
174
+ set_target_properties(zstd::libzstd_static PROPERTIES
175
+ IMPORTED_LOCATION "${zstd_STATIC_LIBRARY}"
176
+ INTERFACE_COMPILE_OPTIONS "${PC_zstd_CFLAGS_OTHER}"
177
+ INTERFACE_INCLUDE_DIRECTORIES "${zstd_INCLUDE_DIR}"
178
+ )
179
+ endif()
180
+
181
+ mark_as_advanced(
182
+ zstd_INCLUDE_DIR
183
+ zstd_DLL
184
+ zstd_SHARED_LIBRARY
185
+ zstd_STATIC_LIBRARY
186
+ )
@@ -9,12 +9,12 @@ set(CMAKE_IMPORT_FILE_VERSION 1)
9
9
  set_property(TARGET sleqp::sleqp APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
10
10
  set_target_properties(sleqp::sleqp PROPERTIES
11
11
  IMPORTED_LINK_DEPENDENT_LIBRARIES_RELEASE "trlib::trlib"
12
- IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/lib64/libsleqp.so.1.0.1"
12
+ IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/lib/libsleqp.so.1.0.1"
13
13
  IMPORTED_SONAME_RELEASE "libsleqp.so.1.0.1"
14
14
  )
15
15
 
16
16
  list(APPEND _cmake_import_check_targets sleqp::sleqp )
17
- list(APPEND _cmake_import_check_files_for_sleqp::sleqp "${_IMPORT_PREFIX}/lib64/libsleqp.so.1.0.1" )
17
+ list(APPEND _cmake_import_check_files_for_sleqp::sleqp "${_IMPORT_PREFIX}/lib/libsleqp.so.1.0.1" )
18
18
 
19
19
  # Commands beyond this point should not need to know the version.
20
20
  set(CMAKE_IMPORT_FILE_VERSION)
casadi/highs CHANGED
Binary file
@@ -55,15 +55,37 @@
55
55
  // Define printing routine
56
56
 
57
57
  #ifdef SWIGPYTHON
58
+
59
+ #ifdef CASADI_WITH_PYTHON_GIL_RELEASE
60
+ %{
61
+ // This .cxx was swig-compiled with WITH_PYTHON_GIL_RELEASE option
62
+ #define CASADI_WITH_PYTHON_GIL_RELEASE
63
+ %}
64
+ #else //CASADI_WITH_PYTHON_GIL_RELEASE
65
+ %{
66
+ // This .cxx was swig-compiled without WITH_PYTHON_GIL_RELEASE option
67
+ #undef CASADI_WITH_PYTHON_GIL_RELEASE
68
+ %}
69
+ #endif //CASADI_WITH_PYTHON_GIL_RELEASE
70
+
71
+ %ignore CASADI_SWIG_FLAGS;
72
+ %include "swig_config.h"
73
+
58
74
  %{
59
75
  namespace casadi {
76
+
60
77
  // Redirect printout
61
78
  static void pythonlogger(const char* s, std::streamsize num, bool error) {
79
+ #ifndef CASADI_WITH_PYTHON_GIL_RELEASE
62
80
  if (!casadi::InterruptHandler::is_main_thread()) {
63
81
  casadi::Logger::writeDefault(s, num, error);
64
82
  return;
65
83
  }
84
+ #endif // CASADI_WITH_PYTHON_GIL_RELEASE
66
85
  int n = num;
86
+ #ifdef CASADI_WITH_PYTHON_GIL_RELEASE
87
+ SWIG_PYTHON_THREAD_BEGIN_BLOCK;
88
+ #endif // CASADI_WITH_PYTHON_GIL_RELEASE
67
89
  while (n>0) {
68
90
  if (error) {
69
91
  PySys_WriteStderr("%.*s", std::min(n, 1000), s);
@@ -73,11 +95,18 @@
73
95
  n -= 1000;
74
96
  s += 1000;
75
97
  }
98
+ #ifdef CASADI_WITH_PYTHON_GIL_RELEASE
99
+ SWIG_PYTHON_THREAD_END_BLOCK;
100
+ #endif // CASADI_WITH_PYTHON_GIL_RELEASE
76
101
  }
77
102
 
78
103
  static bool pythoncheckinterrupted() {
79
104
  if (!casadi::InterruptHandler::is_main_thread()) return false;
105
+ #ifdef CASADI_WITH_PYTHON_GIL_RELEASE
106
+ SWIG_PYTHON_THREAD_BEGIN_BLOCK;
107
+ #endif // CASADI_WITH_PYTHON_GIL_RELEASE
80
108
  return PyErr_CheckSignals();
109
+ // SWIG_PYTHON_THREAD_END_BLOCK is not needed, destructor will release GIL
81
110
  }
82
111
 
83
112
  std::string python_string_to_std_string(PyObject *str_py) {
@@ -95,10 +124,15 @@
95
124
 
96
125
  void handle_director_exception() {
97
126
  std::string msg = "Exception in SWIG director ";
127
+ // Note: CASADI_WITH_PYTHON_GIL_RELEASE case has SWIG_PYTHON_THREAD_BEGIN_BLOCK in the caller
128
+ #ifndef CASADI_WITH_PYTHON_GIL_RELEASE
98
129
  SWIG_PYTHON_THREAD_BEGIN_BLOCK;
130
+ #endif // CASADI_WITH_PYTHON_GIL_RELEASE
99
131
  if (PyErr_ExceptionMatches(PyExc_KeyboardInterrupt)) {
100
132
  PyErr_Clear();
133
+ #ifndef CASADI_WITH_PYTHON_GIL_RELEASE
101
134
  SWIG_PYTHON_THREAD_END_BLOCK;
135
+ #endif // CASADI_WITH_PYTHON_GIL_RELEASE
102
136
  throw casadi::KeyboardInterruptException();
103
137
  }
104
138
  PyObject *ptype, *pvalue, *ptraceback;
@@ -108,7 +142,9 @@
108
142
  Py_DECREF(msg_py);
109
143
  PyErr_Restore(ptype, pvalue, ptraceback);
110
144
  PyErr_Print();
145
+ #ifndef CASADI_WITH_PYTHON_GIL_RELEASE
111
146
  SWIG_PYTHON_THREAD_END_BLOCK;
147
+ #endif // CASADI_WITH_PYTHON_GIL_RELEASE
112
148
  casadi_error(msg.c_str());
113
149
  }
114
150
  }
@@ -1532,7 +1568,15 @@ namespace std {
1532
1568
  if (mxGetM(p)==0) return true;
1533
1569
  size_t len=mxGetN(p);
1534
1570
  std::vector<char> s(len+1);
1535
- if (mxGetString(p, &s[0], (len+1)*sizeof(char))) return false;
1571
+ if (mxGetString(p, &s[0], (len+1)*sizeof(char))) {
1572
+ casadi_warning("mxGetString returned NULL");
1573
+ return false;
1574
+ }
1575
+ // Matlab silent failure; see #4034
1576
+ if (s[0]=='\0' && len>0) {
1577
+ casadi_warning("mxGetString failure, see https://github.com/casadi/casadi/issues/4034");
1578
+ return false;
1579
+ }
1536
1580
  **m = std::string(&s[0], len);
1537
1581
  }
1538
1582
  return true;
@@ -2464,7 +2508,7 @@ PyOS_setsig(SIGINT, SigIntHandler);
2464
2508
 
2465
2509
  %pythoncode%{
2466
2510
  try:
2467
- from numpy import pi, inf
2511
+ from numpy import pi, inf, sum
2468
2512
  except:
2469
2513
  pass
2470
2514
 
@@ -2728,6 +2772,13 @@ class NZproxy:
2728
2772
  inputs.reverse()
2729
2773
  if not(hasattr(self,name)) or ('mul' in name):
2730
2774
  name = '__' + name + '__'
2775
+ if method=="reduce" and name=="add":
2776
+ assert len(inputs)==1
2777
+ axis = kwargs["axis"]
2778
+ if axis is None:
2779
+ return inputs[0].sum()
2780
+ else:
2781
+ return inputs[0].sum(axis)
2731
2782
  try:
2732
2783
  assert method=="__call__"
2733
2784
  fun=getattr(self, name)
@@ -2906,6 +2957,11 @@ namespace casadi{
2906
2957
  }
2907
2958
  } // namespace casadi
2908
2959
 
2960
+ %include <casadi/core/generic_shared.hpp>
2961
+
2962
+ %template(GenSharedObject) casadi::GenericShared<casadi::SharedObject, casadi::SharedObjectInternal>;
2963
+ %template(GenWeakRef) casadi::GenericWeakRef<casadi::SharedObject, casadi::SharedObjectInternal>;
2964
+
2909
2965
  %include <casadi/core/shared_object.hpp>
2910
2966
  %include <casadi/core/casadi_misc.hpp>
2911
2967
  %include <casadi/core/casadi_common.hpp>
@@ -3092,14 +3148,40 @@ SPARSITY_INTERFACE_FUN(DECL, (FLAG | IS_SX), Matrix<SXElem>)
3092
3148
  %define SPARSITY_INTERFACE_FUN(DECL, FLAG, M)
3093
3149
  SPARSITY_INTERFACE_FUN_BASE(DECL, FLAG, M)
3094
3150
  #if FLAG & IS_MEMBER
3095
- DECL casadi_int casadi_length(const M &v) {
3096
- return std::max(v.size1(), v.size2());
3097
- }
3151
+ DECL casadi_int casadi_length(const M &v) {
3152
+ return std::max(v.size1(), v.size2());
3153
+ }
3154
+ DECL M casadi_sum(const M& x, casadi_int dim) {
3155
+ if (dim==1) return sum1(x);
3156
+ if (dim==2) return sum2(x);
3157
+ casadi_error(
3158
+ "Expected sum(A,1), sum(A,2), sum(A,\"all\") got " + casadi::str(dim) + " instead.");
3159
+ }
3160
+ DECL M casadi_sum(const M& x, const std::string& dim) {
3161
+ casadi_assert(dim=="all",
3162
+ "Expected sum(...,'all'), got '" + dim + "' instead.");
3163
+ return sum(x);
3164
+ }
3165
+ DECL M casadi_sum(const M& x) {
3166
+ if (x.is_vector()) return sum(x);
3167
+ return sum1(x);
3168
+ }
3098
3169
  #endif
3099
3170
  %enddef
3100
3171
  #else
3101
3172
  %define SPARSITY_INTERFACE_FUN(DECL, FLAG, M)
3102
3173
  SPARSITY_INTERFACE_FUN_BASE(DECL, FLAG, M)
3174
+ #if FLAG & IS_MEMBER
3175
+ DECL M casadi_sum(const M& x, casadi_int dim) {
3176
+ if (dim==0) return sum1(x);
3177
+ if (dim==1) return sum2(x);
3178
+ casadi_error(
3179
+ "Expected sum(A,1), sum(A,2), sum(A,\"all\") got " + casadi::str(dim) + " instead.");
3180
+ }
3181
+ DECL M casadi_sum(const M& x) {
3182
+ return sum(x);
3183
+ }
3184
+ #endif
3103
3185
  %enddef
3104
3186
  #endif
3105
3187
 
@@ -3257,6 +3339,18 @@ DECL bool casadi_depends_on(const M& f, const M& arg) {
3257
3339
  return depends_on(f, arg);
3258
3340
  }
3259
3341
 
3342
+ DECL bool casadi_contains(const std::vector<M>& v, const M& n) {
3343
+ return contains(v, n);
3344
+ }
3345
+
3346
+ DECL bool casadi_contains_all(const std::vector<M>& v, const std::vector<M>& n) {
3347
+ return contains_all(v, n);
3348
+ }
3349
+
3350
+ DECL bool casadi_contains_any(const std::vector<M>& v, const std::vector<M>& n) {
3351
+ return contains_any(v, n);
3352
+ }
3353
+
3260
3354
  DECL M casadi_solve(const M& A, const M& b) {
3261
3355
  return solve(A, b);
3262
3356
  }
@@ -3288,7 +3382,7 @@ DECL M casadi_jacobian(const M &ex, const M &arg, const Dict& opts=Dict()) {
3288
3382
  return jacobian(ex, arg, opts);
3289
3383
  }
3290
3384
 
3291
- DECL M casadi_jtimes(const M& ex, const M& arg, const M& v, bool tr=false) {
3385
+ DECL M casadi_jtimes(const M& ex, const M& arg, const M& v, bool tr=false, const Dict& opts=Dict()) {
3292
3386
  return jtimes(ex, arg, v, tr);
3293
3387
  }
3294
3388
 
@@ -3313,12 +3407,12 @@ DECL bool casadi_is_quadratic(const M& expr, const M& var) {
3313
3407
  return is_quadratic(expr, var);
3314
3408
  }
3315
3409
 
3316
- DECL M casadi_gradient(const M &ex, const M &arg) {
3317
- return gradient(ex, arg);
3410
+ DECL M casadi_gradient(const M &ex, const M &arg, const Dict& opts=Dict()) {
3411
+ return gradient(ex, arg, opts);
3318
3412
  }
3319
3413
 
3320
- DECL M casadi_tangent(const M &ex, const M &arg) {
3321
- return tangent(ex, arg);
3414
+ DECL M casadi_tangent(const M &ex, const M &arg, const Dict& opts=Dict()) {
3415
+ return tangent(ex, arg, opts);
3322
3416
  }
3323
3417
 
3324
3418
  DECL M casadi_hessian(const M& ex, const M& arg, M& OUTPUT1, const casadi::Dict& opts = casadi::Dict()) {
@@ -3365,6 +3459,19 @@ DECL M casadi_mmax(const M& x) { return mmax(x); }
3365
3459
  DECL casadi::DM casadi_evalf(const M& x) {
3366
3460
  return evalf(x);
3367
3461
  }
3462
+ DECL void casadi_separate_linear(const M &expr,
3463
+ const M &sym_lin, const M &sym_const,
3464
+ M& OUTPUT1, M& OUTPUT2, M& OUTPUT3) {
3465
+ separate_linear(expr, sym_lin, sym_const, OUTPUT1, OUTPUT2, OUTPUT3);
3466
+ }
3467
+ DECL void casadi_separate_linear(const M &expr,
3468
+ const std::vector<M> &sym_lin, const std::vector<M> &sym_const,
3469
+ M& OUTPUT1, M& OUTPUT2, M& OUTPUT3) {
3470
+ separate_linear(expr, sym_lin, sym_const, OUTPUT1, OUTPUT2, OUTPUT3);
3471
+ }
3472
+ #endif // FLAG & IS_MEMBER
3473
+
3474
+ #if FLAG & IS_GLOBAL
3368
3475
  DECL std::vector<M> casadi_cse(const std::vector<M>& e) {
3369
3476
  return cse(e);
3370
3477
  }
@@ -3372,9 +3479,23 @@ DECL M casadi_cse(const M& e) {
3372
3479
  return cse(e);
3373
3480
  }
3374
3481
 
3375
- #endif // FLAG & IS_MEMBER
3482
+ DECL void casadi_extract_parametric(const M &expr, const M& par,
3483
+ M& OUTPUT1, std::vector<M>& OUTPUT2, std::vector<M>& OUTPUT3, const Dict& opts=Dict()) {
3484
+ extract_parametric(expr, par, OUTPUT1, OUTPUT2, OUTPUT3, opts);
3485
+ }
3486
+ DECL void casadi_extract_parametric(const M &expr, const std::vector<M>& par,
3487
+ M& OUTPUT1, std::vector<M>& OUTPUT2, std::vector<M>& OUTPUT3, const Dict& opts=Dict()) {
3488
+ extract_parametric(expr, par, OUTPUT1, OUTPUT2, OUTPUT3, opts);
3489
+ }
3490
+ DECL void casadi_extract_parametric(const std::vector<M> &expr, const M& par,
3491
+ std::vector<M>& OUTPUT1, std::vector<M>& OUTPUT2, std::vector<M>& OUTPUT3, const Dict& opts=Dict()) {
3492
+ extract_parametric(expr, par, OUTPUT1, OUTPUT2, OUTPUT3, opts);
3493
+ }
3494
+ DECL void casadi_extract_parametric(const std::vector<M> &expr, const std::vector<M>& par,
3495
+ std::vector<M>& OUTPUT1, std::vector<M>& OUTPUT2, std::vector<M>& OUTPUT3, const Dict& opts=Dict()) {
3496
+ extract_parametric(expr, par, OUTPUT1, OUTPUT2, OUTPUT3, opts);
3497
+ }
3376
3498
 
3377
- #if FLAG & IS_GLOBAL
3378
3499
  DECL std::vector<std::vector< M > >
3379
3500
  casadi_forward(const std::vector< M > &ex, const std::vector< M > &arg,
3380
3501
  const std::vector<std::vector< M > > &v,
@@ -3734,6 +3855,11 @@ namespace casadi{
3734
3855
 
3735
3856
  }
3736
3857
 
3858
+ #ifdef SWIGPYTHON
3859
+ %feature("nothread") casadi::Matrix<double>::full;
3860
+ %feature("nothread") casadi::Matrix<double>::sparse;
3861
+ #endif
3862
+
3737
3863
  // Extend DM with SWIG unique features
3738
3864
  namespace casadi{
3739
3865
  %extend Matrix<double> {
@@ -4130,29 +4256,6 @@ namespace casadi{
4130
4256
  self = builtin('subsasgn',self,s,v);
4131
4257
  end
4132
4258
  end
4133
- function out = sum(self,varargin)
4134
- narginchk(1,3);
4135
- if nargin==1
4136
- if is_vector(self)
4137
- if is_column(self)
4138
- out = sum1(self);
4139
- else
4140
- out = sum2(self);
4141
- end
4142
- else
4143
- out = sum1(self);
4144
- end
4145
- else
4146
- i = varargin{1};
4147
- if i==1
4148
- out = sum1(self);
4149
- elseif i==2
4150
- out = sum2(self);
4151
- else
4152
- error('sum argument (if present) must be 1 or 2');
4153
- end
4154
- end
4155
- end
4156
4259
  function out = norm(self,varargin)
4157
4260
  narginchk(1,2);
4158
4261
  % 2-norm by default
@@ -4259,6 +4362,7 @@ namespace casadi{
4259
4362
  %include <casadi/core/dple.hpp>
4260
4363
  %include <casadi/core/expm.hpp>
4261
4364
  %include <casadi/core/interpolant.hpp>
4365
+ %include <casadi/core/blazing_spline.hpp>
4262
4366
 
4263
4367
  %feature("copyctor", "0") casadi::CodeGenerator;
4264
4368
  %include <casadi/core/code_generator.hpp>
@@ -4282,6 +4386,7 @@ namespace casadi {
4282
4386
  %extend MX {
4283
4387
  MX_ALL(static inline, IS_MEMBER)
4284
4388
  const MX brace(const casadi::MX& rr) const { casadi::MX m; $self->get_nz(m, true, rr); return m;}
4389
+ void brace_asgn(const MX& m, const casadi::MX& rr) { $self->set_nz(m, true, rr); }
4285
4390
  const MX paren(const casadi::MX& rr) const {
4286
4391
  casadi::MX m;
4287
4392
  $self->get(m, true, rr);
@@ -4302,6 +4407,22 @@ namespace casadi {
4302
4407
  $self->get(m, true, rr, cc);
4303
4408
  return m;
4304
4409
  }
4410
+ /*
4411
+ Not yet implemeted in core
4412
+ set(const MX& m, bool ind1, const MX&, const MX&); does not seem to exist
4413
+ void paren_asgn(const MX& m, char rr, const casadi::MX& cc) {
4414
+ $self->set(m, true, casadi::char2Slice(rr), cc);
4415
+ }
4416
+ void paren_asgn(const MX& m, const casadi::MX& rr, char cc) {
4417
+ $self->set(m, true, rr, casadi::char2Slice(cc));
4418
+ }
4419
+ void paren_asgn(const MX& m, const casadi::MX& rr, const casadi::MX& cc) {
4420
+ $self->set(m, true, rr, cc);
4421
+ }*/
4422
+ // Needed for brace syntax to access nonzeros
4423
+ casadi_int numel(const MX &k) const {
4424
+ return 1;
4425
+ }
4305
4426
  }
4306
4427
  } // namespace casadi
4307
4428
  %feature("nonstatic", "");
@@ -4434,13 +4555,23 @@ namespace casadi {
4434
4555
  %include <casadi/core/importer.hpp>
4435
4556
  %include <casadi/core/callback.hpp>
4436
4557
  %include <casadi/core/global_options.hpp>
4558
+
4437
4559
  %include <casadi/core/casadi_meta.hpp>
4560
+ #ifdef SWIGPYTHON
4561
+ %extend casadi::CasadiMeta {
4562
+ static const char* swig_flags() { return CASADI_SWIG_FLAGS; }
4563
+ };
4564
+ #endif // SWIGPYTHON
4565
+
4438
4566
  %include <casadi/core/integration_tools.hpp>
4439
4567
  %include <casadi/core/nlp_tools.hpp>
4440
4568
  %include <casadi/core/tools.hpp>
4441
4569
  %include <casadi/core/nlp_builder.hpp>
4442
4570
  %include <casadi/core/dae_builder.hpp>
4443
4571
  %include <casadi/core/xml_file.hpp>
4572
+ %include <casadi/core/archiver.hpp>
4573
+ %include <casadi/core/filesystem.hpp>
4574
+ %include <casadi/core/options.hpp>
4444
4575
 
4445
4576
  %feature("copyctor", "0") casadi::SerializerBase;
4446
4577
  %feature("copyctor", "0") casadi::DeserializerBase;
@@ -4537,6 +4668,10 @@ make_property_opti(ubg)
4537
4668
  make_property_opti(nx)
4538
4669
  make_property_opti(np)
4539
4670
  make_property_opti(ng)
4671
+ make_property_opti(x_linear_scale)
4672
+ make_property_opti(x_linear_scale_offset)
4673
+ make_property_opti(g_linear_scale)
4674
+ make_property_opti(f_linear_scale)
4540
4675
 
4541
4676
  make_property(casadi::Opti, casadi_solver);
4542
4677
  %define opti_metadata_modifiers(class)
@@ -4552,7 +4687,7 @@ make_property(casadi::Opti, casadi_solver);
4552
4687
  frame = sys._getframe(1)
4553
4688
  except:
4554
4689
  frame = {}
4555
- meta = {} if frame is None else {"stacktrace": {"file":os.path.abspath(frame.f_code.co_filename),"line":frame.f_lineno,"name":frame.f_code.co_name}}
4690
+ meta = {} if frame is None else {"stacktrace": [{"file":os.path.abspath(frame.f_code.co_filename),"line":frame.f_lineno,"name":frame.f_code.co_name}]}
4556
4691
  ret = self._parameter(*args)
4557
4692
  if len(meta)>0:
4558
4693
  self.update_user_dict(ret, meta)
@@ -4565,7 +4700,7 @@ make_property(casadi::Opti, casadi_solver);
4565
4700
  frame = sys._getframe(1)
4566
4701
  except:
4567
4702
  frame = {}
4568
- meta = {} if frame is None else {"stacktrace": {"file":os.path.abspath(frame.f_code.co_filename),"line":frame.f_lineno,"name":frame.f_code.co_name}}
4703
+ meta = {} if frame is None else {"stacktrace": [{"file":os.path.abspath(frame.f_code.co_filename),"line":frame.f_lineno,"name":frame.f_code.co_name}]}
4569
4704
  ret = self._variable(*args)
4570
4705
  if len(meta)>0:
4571
4706
  self.update_user_dict(ret, meta)
@@ -4576,14 +4711,27 @@ make_property(casadi::Opti, casadi_solver);
4576
4711
  return self._subject_to()
4577
4712
  import sys
4578
4713
  import os
4579
- try:
4580
- frame = sys._getframe(1)
4581
- except:
4582
- frame = {}
4583
- meta = {} if frame is None else {"stacktrace": {"file":os.path.abspath(frame.f_code.co_filename),"line":frame.f_lineno,"name":frame.f_code.co_name}}
4714
+ stacktrace = []
4715
+ for i in range(1,10000):
4716
+ try:
4717
+ frame = sys._getframe(i)
4718
+ stacktrace.append({"file":os.path.abspath(frame.f_code.co_filename),"line":frame.f_lineno,"name":frame.f_code.co_name})
4719
+ except Exception as e:
4720
+ break
4721
+ args = list(args)
4722
+ if len(args)==3 and isinstance(args[2],dict):
4723
+ args[2] = dict(args[2])
4724
+ if "stacktrace" not in args[2]:
4725
+ args[2]["stacktrace"] = stacktrace
4726
+ elif len(args)==2 and isinstance(args[1],dict):
4727
+ args[1] = dict(args[1])
4728
+ if "stacktrace" not in args[1]:
4729
+ args[1]["stacktrace"] = stacktrace
4730
+ elif len(args)==1:
4731
+ args = [args[0], {"stacktrace": stacktrace}]
4732
+ elif len(args)==2:
4733
+ args = [args[0], args[1], {"stacktrace": stacktrace}]
4584
4734
  ret = self._subject_to(*args)
4585
- if len(meta)>0:
4586
- self.update_user_dict(args[0], meta)
4587
4735
  return ret
4588
4736
  %}
4589
4737
  }
@@ -4685,6 +4833,8 @@ opti_metadata_modifiers(casadi::Opti)
4685
4833
  }
4686
4834
  #endif
4687
4835
 
4836
+ %include <casadi/core/resource.hpp>
4837
+
4688
4838
  // Cleanup for dependent modules
4689
4839
  %exception {
4690
4840
  $action