casadi 3.6.7__cp38-none-manylinux2014_i686.whl → 3.7.1__cp38-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 (390) hide show
  1. casadi/_casadi.so +0 -0
  2. casadi/casadi-cli +0 -0
  3. casadi/casadi.py +6531 -3039
  4. casadi/cbc +0 -0
  5. casadi/clp +0 -0
  6. casadi/cmake/casadi-config-version.cmake +1 -1
  7. casadi/cmake/casadi-config.cmake +1 -1
  8. casadi/cmake/casadi-targets-release.cmake +5 -5
  9. casadi/cmake/casadi-targets.cmake +5 -5
  10. casadi/{lib/cmake/tinyxml2/tinyxml2-config-version.cmake → cmake/ghc_filesystem/ghc_filesystem-config-version.cmake} +30 -10
  11. casadi/cmake/ghc_filesystem/ghc_filesystem-config.cmake +30 -0
  12. casadi/cmake/ghc_filesystem/ghc_filesystem-targets.cmake +107 -0
  13. casadi/cmake/highs/highs-targets-release.cmake +2 -2
  14. casadi/cmake/highs/highs-targets.cmake +1 -1
  15. casadi/cmake/libzip/libzip-config-version.cmake +48 -0
  16. casadi/cmake/libzip/libzip-config.cmake +69 -0
  17. casadi/cmake/libzip/libzip-targets-release.cmake +19 -0
  18. casadi/{lib/cmake/tinyxml2/tinyxml2-static-targets.cmake → cmake/libzip/libzip-targets.cmake} +11 -7
  19. casadi/cmake/libzip/modules/FindMbedTLS.cmake +141 -0
  20. casadi/cmake/libzip/modules/FindNettle.cmake +141 -0
  21. casadi/cmake/libzip/modules/Findzstd.cmake +186 -0
  22. casadi/highs +0 -0
  23. casadi/include/casadi/casadi.i +276 -47
  24. casadi/include/casadi/config.h +11 -11
  25. casadi/include/casadi/core/archiver.hpp +58 -0
  26. casadi/include/casadi/core/blazing_spline.hpp +47 -0
  27. casadi/include/casadi/core/calculus.hpp +57 -2
  28. casadi/include/casadi/core/callback.hpp +9 -0
  29. casadi/include/casadi/core/casadi_common.hpp +37 -0
  30. casadi/include/casadi/core/casadi_meta.hpp +15 -0
  31. casadi/include/casadi/core/casadi_misc.hpp +21 -0
  32. casadi/include/casadi/core/code_generator.hpp +115 -19
  33. casadi/include/casadi/core/core.hpp +5 -0
  34. casadi/include/casadi/core/dae_builder.hpp +303 -141
  35. casadi/include/casadi/core/dm.hpp +3 -0
  36. casadi/include/casadi/core/filesystem.hpp +58 -0
  37. casadi/include/casadi/core/fmu.hpp +62 -16
  38. casadi/include/casadi/core/function.hpp +24 -0
  39. casadi/include/casadi/core/generic_matrix.hpp +214 -7
  40. casadi/include/casadi/core/generic_shared.hpp +395 -0
  41. casadi/include/casadi/core/generic_shared_impl.hpp +218 -0
  42. casadi/include/casadi/core/generic_shared_internal.hpp +215 -0
  43. casadi/include/casadi/core/generic_type.hpp +3 -0
  44. casadi/include/casadi/core/global_options.hpp +10 -0
  45. casadi/include/casadi/core/integrator.hpp +41 -7
  46. casadi/include/casadi/core/matrix_decl.hpp +71 -0
  47. casadi/include/casadi/core/mx.hpp +63 -2
  48. casadi/include/casadi/core/nlp_builder.hpp +2 -1
  49. casadi/include/casadi/core/options.hpp +6 -3
  50. casadi/include/casadi/core/optistack.hpp +43 -9
  51. casadi/include/casadi/core/printable.hpp +8 -0
  52. casadi/include/casadi/core/resource.hpp +107 -0
  53. casadi/include/casadi/core/runtime/casadi_blazing_1d_boor_eval.hpp +112 -0
  54. casadi/include/casadi/core/runtime/casadi_blazing_2d_boor_eval.hpp +311 -0
  55. casadi/include/casadi/core/runtime/casadi_blazing_3d_boor_eval.hpp +645 -0
  56. casadi/include/casadi/core/runtime/casadi_blazing_de_boor.hpp +101 -0
  57. casadi/include/casadi/core/runtime/casadi_finite_diff.hpp +1 -1
  58. casadi/include/casadi/core/runtime/casadi_nlp.hpp +8 -2
  59. casadi/include/casadi/core/runtime/casadi_print_canonical.hpp +55 -0
  60. casadi/include/casadi/core/runtime/casadi_print_scalar.hpp +25 -0
  61. casadi/include/casadi/core/runtime/casadi_print_vector.hpp +32 -0
  62. casadi/include/casadi/core/runtime/casadi_printme.hpp +26 -0
  63. casadi/include/casadi/core/serializer.hpp +13 -5
  64. casadi/include/casadi/core/serializing_stream.hpp +9 -2
  65. casadi/include/casadi/core/shared_object.hpp +73 -161
  66. casadi/include/casadi/core/sparsity.hpp +13 -1
  67. casadi/include/casadi/core/sparsity_interface.hpp +19 -1
  68. casadi/include/casadi/core/sx.hpp +41 -0
  69. casadi/include/casadi/core/sx_elem.hpp +25 -0
  70. casadi/include/casadi/core/xml_node.hpp +5 -0
  71. casadi/include/casadi/doc.i +10026 -6513
  72. casadi/include/casadi/doc_merged.i +6744 -4449
  73. casadi/include/casadi/valgrind-casadi.supp +138 -0
  74. casadi/include/casadi/valgrind-python.supp +2470 -0
  75. casadi/include/highs/HConfig.h +6 -4
  76. casadi/include/highs/Highs.h +260 -86
  77. casadi/include/highs/filereaderlp/reader.hpp +10 -10
  78. casadi/include/highs/interfaces/highs_c_api.h +195 -22
  79. casadi/include/highs/io/Filereader.h +4 -6
  80. casadi/include/highs/io/FilereaderEms.h +0 -3
  81. casadi/include/highs/io/FilereaderLp.h +0 -3
  82. casadi/include/highs/io/FilereaderMps.h +0 -3
  83. casadi/include/highs/io/HMPSIO.h +1 -4
  84. casadi/include/highs/io/HMpsFF.h +8 -5
  85. casadi/include/highs/io/HighsIO.h +10 -5
  86. casadi/include/highs/io/LoadOptions.h +0 -3
  87. casadi/include/highs/ipm/IpxSolution.h +0 -3
  88. casadi/include/highs/ipm/IpxWrapper.h +4 -7
  89. casadi/include/highs/ipm/ipx/control.h +1 -0
  90. casadi/include/highs/ipm/ipx/ipx_parameters.h +1 -0
  91. casadi/include/highs/ipm/ipx/lp_solver.h +3 -2
  92. casadi/include/highs/ipm/ipx/model.h +7 -3
  93. casadi/include/highs/lp_data/HConst.h +21 -6
  94. casadi/include/highs/lp_data/HStruct.h +40 -4
  95. casadi/include/highs/lp_data/HighsAnalysis.h +0 -3
  96. casadi/include/highs/lp_data/HighsCallback.h +10 -3
  97. casadi/include/highs/lp_data/HighsCallbackStruct.h +3 -3
  98. casadi/include/highs/lp_data/HighsDebug.h +0 -3
  99. casadi/include/highs/lp_data/HighsIis.h +62 -0
  100. casadi/include/highs/lp_data/HighsInfo.h +50 -43
  101. casadi/include/highs/lp_data/HighsInfoDebug.h +0 -3
  102. casadi/include/highs/lp_data/HighsLp.h +2 -3
  103. casadi/include/highs/lp_data/HighsLpSolverObject.h +0 -3
  104. casadi/include/highs/lp_data/HighsLpUtils.h +38 -6
  105. casadi/include/highs/lp_data/HighsModelUtils.h +21 -18
  106. casadi/include/highs/lp_data/HighsOptions.h +134 -22
  107. casadi/include/highs/lp_data/HighsRanging.h +0 -3
  108. casadi/include/highs/lp_data/HighsSolution.h +10 -3
  109. casadi/include/highs/lp_data/HighsSolutionDebug.h +0 -3
  110. casadi/include/highs/lp_data/HighsSolve.h +0 -3
  111. casadi/include/highs/lp_data/HighsStatus.h +0 -3
  112. casadi/include/highs/mip/HighsCliqueTable.h +3 -3
  113. casadi/include/highs/mip/HighsConflictPool.h +0 -3
  114. casadi/include/highs/mip/HighsCutGeneration.h +13 -3
  115. casadi/include/highs/mip/HighsCutPool.h +0 -3
  116. casadi/include/highs/mip/HighsDebugSol.h +0 -3
  117. casadi/include/highs/mip/HighsDomain.h +16 -4
  118. casadi/include/highs/mip/HighsDomainChange.h +0 -3
  119. casadi/include/highs/mip/HighsDynamicRowMatrix.h +0 -3
  120. casadi/include/highs/mip/HighsGFkSolve.h +3 -6
  121. casadi/include/highs/mip/HighsImplications.h +29 -5
  122. casadi/include/highs/mip/HighsLpAggregator.h +0 -3
  123. casadi/include/highs/mip/HighsLpRelaxation.h +0 -3
  124. casadi/include/highs/mip/HighsMipAnalysis.h +52 -0
  125. casadi/include/highs/mip/HighsMipSolver.h +11 -4
  126. casadi/include/highs/mip/HighsMipSolverData.h +67 -6
  127. casadi/include/highs/mip/HighsModkSeparator.h +1 -4
  128. casadi/include/highs/mip/HighsNodeQueue.h +0 -3
  129. casadi/include/highs/mip/HighsObjectiveFunction.h +0 -3
  130. casadi/include/highs/mip/HighsPathSeparator.h +1 -4
  131. casadi/include/highs/mip/HighsPrimalHeuristics.h +7 -5
  132. casadi/include/highs/mip/HighsPseudocost.h +0 -3
  133. casadi/include/highs/mip/HighsRedcostFixing.h +0 -3
  134. casadi/include/highs/mip/HighsSearch.h +0 -3
  135. casadi/include/highs/mip/HighsSeparation.h +0 -3
  136. casadi/include/highs/mip/HighsSeparator.h +1 -5
  137. casadi/include/highs/mip/HighsTableauSeparator.h +1 -4
  138. casadi/include/highs/mip/HighsTransformedLp.h +0 -3
  139. casadi/include/highs/mip/MipTimer.h +471 -0
  140. casadi/include/highs/parallel/HighsBinarySemaphore.h +1 -1
  141. casadi/include/highs/parallel/HighsCacheAlign.h +1 -1
  142. casadi/include/highs/parallel/HighsCombinable.h +1 -1
  143. casadi/include/highs/parallel/HighsMutex.h +1 -1
  144. casadi/include/highs/parallel/HighsRaceTimer.h +1 -1
  145. casadi/include/highs/parallel/HighsSchedulerConstants.h +1 -1
  146. casadi/include/highs/parallel/HighsSplitDeque.h +1 -1
  147. casadi/include/highs/parallel/HighsTaskExecutor.h +68 -55
  148. casadi/include/highs/pdlp/CupdlpWrapper.h +18 -7
  149. casadi/include/highs/pdlp/cupdlp/cupdlp_cs.h +2 -3
  150. casadi/include/highs/pdlp/cupdlp/cupdlp_defs.h +16 -6
  151. casadi/include/highs/pdlp/cupdlp/cupdlp_linalg.h +10 -4
  152. casadi/include/highs/pdlp/cupdlp/cupdlp_proj.h +3 -3
  153. casadi/include/highs/pdlp/cupdlp/cupdlp_restart.h +6 -6
  154. casadi/include/highs/pdlp/cupdlp/cupdlp_scaling.h +26 -0
  155. casadi/include/highs/pdlp/cupdlp/cupdlp_solver.h +11 -11
  156. casadi/include/highs/pdlp/cupdlp/cupdlp_step.h +8 -4
  157. casadi/include/highs/pdlp/cupdlp/cupdlp_utils.c +253 -172
  158. casadi/include/highs/presolve/HPresolve.h +50 -10
  159. casadi/include/highs/presolve/HPresolveAnalysis.h +0 -3
  160. casadi/include/highs/presolve/HighsPostsolveStack.h +39 -6
  161. casadi/include/highs/presolve/HighsSymmetry.h +0 -3
  162. casadi/include/highs/presolve/ICrash.h +0 -3
  163. casadi/include/highs/presolve/ICrashUtil.h +1 -4
  164. casadi/include/highs/presolve/ICrashX.h +0 -3
  165. casadi/include/highs/presolve/PresolveComponent.h +0 -3
  166. casadi/include/highs/qpsolver/a_asm.hpp +20 -17
  167. casadi/include/highs/qpsolver/a_quass.hpp +5 -9
  168. casadi/include/highs/qpsolver/basis.hpp +12 -10
  169. casadi/include/highs/qpsolver/crashsolution.hpp +4 -3
  170. casadi/include/highs/qpsolver/dantzigpricing.hpp +3 -2
  171. casadi/include/highs/qpsolver/devexpricing.hpp +3 -1
  172. casadi/include/highs/qpsolver/factor.hpp +6 -5
  173. casadi/include/highs/qpsolver/feasibility_bounded.hpp +31 -29
  174. casadi/include/highs/qpsolver/feasibility_highs.hpp +94 -70
  175. casadi/include/highs/qpsolver/gradient.hpp +1 -1
  176. casadi/include/highs/qpsolver/instance.hpp +1 -1
  177. casadi/include/highs/qpsolver/pricing.hpp +2 -2
  178. casadi/include/highs/qpsolver/qpconst.hpp +2 -2
  179. casadi/include/highs/qpsolver/quass.hpp +2 -2
  180. casadi/include/highs/qpsolver/runtime.hpp +2 -2
  181. casadi/include/highs/qpsolver/settings.hpp +20 -8
  182. casadi/include/highs/qpsolver/steepestedgepricing.hpp +38 -39
  183. casadi/include/highs/simplex/HApp.h +88 -34
  184. casadi/include/highs/simplex/HEkk.h +24 -11
  185. casadi/include/highs/simplex/HEkkDual.h +2 -4
  186. casadi/include/highs/simplex/HEkkDualRHS.h +0 -3
  187. casadi/include/highs/simplex/HEkkDualRow.h +0 -3
  188. casadi/include/highs/simplex/HEkkPrimal.h +1 -5
  189. casadi/include/highs/simplex/HSimplex.h +0 -3
  190. casadi/include/highs/simplex/HSimplexDebug.h +0 -3
  191. casadi/include/highs/simplex/HSimplexNla.h +0 -26
  192. casadi/include/highs/simplex/HSimplexReport.h +0 -3
  193. casadi/include/highs/simplex/HighsSimplexAnalysis.h +5 -8
  194. casadi/include/highs/simplex/SimplexConst.h +10 -11
  195. casadi/include/highs/simplex/SimplexStruct.h +9 -12
  196. casadi/include/highs/simplex/SimplexTimer.h +83 -101
  197. casadi/include/highs/test/DevKkt.h +0 -3
  198. casadi/include/highs/test/KktCh2.h +0 -3
  199. casadi/include/highs/util/FactorTimer.h +39 -64
  200. casadi/include/highs/util/HFactor.h +4 -4
  201. casadi/include/highs/util/HFactorConst.h +0 -3
  202. casadi/include/highs/util/HFactorDebug.h +0 -3
  203. casadi/include/highs/util/HSet.h +0 -3
  204. casadi/include/highs/util/HVector.h +0 -3
  205. casadi/include/highs/util/HVectorBase.h +1 -4
  206. casadi/include/highs/util/HighsCDouble.h +12 -3
  207. casadi/include/highs/util/HighsComponent.h +0 -3
  208. casadi/include/highs/util/HighsDataStack.h +0 -3
  209. casadi/include/highs/util/HighsDisjointSets.h +0 -3
  210. casadi/include/highs/util/HighsHash.h +9 -12
  211. casadi/include/highs/util/HighsHashTree.h +15 -11
  212. casadi/include/highs/util/HighsInt.h +0 -3
  213. casadi/include/highs/util/HighsIntegers.h +0 -3
  214. casadi/include/highs/util/HighsLinearSumBounds.h +0 -3
  215. casadi/include/highs/util/HighsMatrixPic.h +0 -3
  216. casadi/include/highs/util/HighsMatrixSlice.h +3 -6
  217. casadi/include/highs/util/HighsMatrixUtils.h +0 -3
  218. casadi/include/highs/util/HighsMemoryAllocation.h +11 -3
  219. casadi/include/highs/util/HighsRandom.h +3 -6
  220. casadi/include/highs/util/HighsRbTree.h +0 -3
  221. casadi/include/highs/util/HighsSort.h +0 -3
  222. casadi/include/highs/util/HighsSparseMatrix.h +6 -3
  223. casadi/include/highs/util/HighsSparseVectorSum.h +0 -3
  224. casadi/include/highs/util/HighsSplay.h +0 -3
  225. casadi/include/highs/util/HighsTimer.h +94 -56
  226. casadi/include/highs/util/HighsUtils.h +10 -3
  227. casadi/include/highs/util/stringutil.h +14 -12
  228. casadi/include/licenses/ghc-external/LICENSE +19 -0
  229. casadi/include/licenses/libz-external/LICENSE +22 -0
  230. casadi/include/licenses/libz-external/contrib/dotzlib/LICENSE_1_0.txt +23 -0
  231. casadi/include/licenses/libzip-external/LICENSE +31 -0
  232. casadi/libCbcSolver.so +0 -0
  233. casadi/libCbcSolver.so.3 +0 -0
  234. casadi/libCbcSolver.so.3.10.11 +0 -0
  235. casadi/libClpSolver.so +0 -0
  236. casadi/libClpSolver.so.1 +0 -0
  237. casadi/libClpSolver.so.1.14.9 +0 -0
  238. casadi/libbonmin.so +0 -0
  239. casadi/libbonmin.so.4 +0 -0
  240. casadi/libbonmin.so.4.8.9 +0 -0
  241. casadi/libcasadi.so +0 -0
  242. casadi/libcasadi.so.3.7 +0 -0
  243. casadi/libcasadi_archiver_libzip.so +0 -0
  244. casadi/libcasadi_archiver_libzip.so.3.7 +0 -0
  245. casadi/libcasadi_conic_cbc.so +0 -0
  246. casadi/libcasadi_conic_cbc.so.3.7 +0 -0
  247. casadi/libcasadi_conic_clp.so +0 -0
  248. casadi/libcasadi_conic_clp.so.3.7 +0 -0
  249. casadi/libcasadi_conic_daqp.so +0 -0
  250. casadi/libcasadi_conic_daqp.so.3.7 +0 -0
  251. casadi/libcasadi_conic_gurobi.so +0 -0
  252. casadi/libcasadi_conic_gurobi.so.3.7 +0 -0
  253. casadi/libcasadi_conic_highs.so +0 -0
  254. casadi/libcasadi_conic_highs.so.3.7 +0 -0
  255. casadi/libcasadi_conic_ipqp.so +0 -0
  256. casadi/libcasadi_conic_ipqp.so.3.7 +0 -0
  257. casadi/libcasadi_conic_nlpsol.so +0 -0
  258. casadi/libcasadi_conic_nlpsol.so.3.7 +0 -0
  259. casadi/libcasadi_conic_osqp.so +0 -0
  260. casadi/libcasadi_conic_osqp.so.3.7 +0 -0
  261. casadi/libcasadi_conic_proxqp.so +0 -0
  262. casadi/libcasadi_conic_proxqp.so.3.7 +0 -0
  263. casadi/libcasadi_conic_qpoases.so +0 -0
  264. casadi/libcasadi_conic_qpoases.so.3.7 +0 -0
  265. casadi/libcasadi_conic_qrqp.so +0 -0
  266. casadi/libcasadi_conic_qrqp.so.3.7 +0 -0
  267. casadi/libcasadi_conic_superscs.so +0 -0
  268. casadi/libcasadi_conic_superscs.so.3.7 +0 -0
  269. casadi/libcasadi_filesystem_ghc.so +0 -0
  270. casadi/libcasadi_filesystem_ghc.so.3.7 +0 -0
  271. casadi/libcasadi_importer_shell.so +0 -0
  272. casadi/libcasadi_importer_shell.so.3.7 +0 -0
  273. casadi/libcasadi_integrator_collocation.so +0 -0
  274. casadi/libcasadi_integrator_collocation.so.3.7 +0 -0
  275. casadi/libcasadi_integrator_cvodes.so +0 -0
  276. casadi/libcasadi_integrator_cvodes.so.3.7 +0 -0
  277. casadi/libcasadi_integrator_idas.so +0 -0
  278. casadi/libcasadi_integrator_idas.so.3.7 +0 -0
  279. casadi/libcasadi_integrator_rk.so +0 -0
  280. casadi/libcasadi_integrator_rk.so.3.7 +0 -0
  281. casadi/libcasadi_interpolant_bspline.so +0 -0
  282. casadi/libcasadi_interpolant_bspline.so.3.7 +0 -0
  283. casadi/libcasadi_interpolant_linear.so +0 -0
  284. casadi/libcasadi_interpolant_linear.so.3.7 +0 -0
  285. casadi/libcasadi_linsol_csparse.so +0 -0
  286. casadi/libcasadi_linsol_csparse.so.3.7 +0 -0
  287. casadi/libcasadi_linsol_csparsecholesky.so +0 -0
  288. casadi/libcasadi_linsol_csparsecholesky.so.3.7 +0 -0
  289. casadi/libcasadi_linsol_lapacklu.so +0 -0
  290. casadi/libcasadi_linsol_lapacklu.so.3.7 +0 -0
  291. casadi/libcasadi_linsol_lapackqr.so +0 -0
  292. casadi/libcasadi_linsol_lapackqr.so.3.7 +0 -0
  293. casadi/libcasadi_linsol_ldl.so +0 -0
  294. casadi/libcasadi_linsol_ldl.so.3.7 +0 -0
  295. casadi/libcasadi_linsol_lsqr.so +0 -0
  296. casadi/libcasadi_linsol_lsqr.so.3.7 +0 -0
  297. casadi/libcasadi_linsol_ma27.so +0 -0
  298. casadi/libcasadi_linsol_ma27.so.3.7 +0 -0
  299. casadi/libcasadi_linsol_mumps.so +0 -0
  300. casadi/libcasadi_linsol_mumps.so.3.7 +0 -0
  301. casadi/libcasadi_linsol_qr.so +0 -0
  302. casadi/libcasadi_linsol_qr.so.3.7 +0 -0
  303. casadi/libcasadi_linsol_symbolicqr.so +0 -0
  304. casadi/libcasadi_linsol_symbolicqr.so.3.7 +0 -0
  305. casadi/libcasadi_linsol_tridiag.so +0 -0
  306. casadi/libcasadi_linsol_tridiag.so.3.7 +0 -0
  307. casadi/libcasadi_nlpsol_alpaqa.so +0 -0
  308. casadi/libcasadi_nlpsol_alpaqa.so.3.7 +0 -0
  309. casadi/libcasadi_nlpsol_ampl.so +0 -0
  310. casadi/libcasadi_nlpsol_ampl.so.3.7 +0 -0
  311. casadi/libcasadi_nlpsol_blocksqp.so +0 -0
  312. casadi/libcasadi_nlpsol_blocksqp.so.3.7 +0 -0
  313. casadi/libcasadi_nlpsol_bonmin.so +0 -0
  314. casadi/libcasadi_nlpsol_bonmin.so.3.7 +0 -0
  315. casadi/libcasadi_nlpsol_feasiblesqpmethod.so +0 -0
  316. casadi/libcasadi_nlpsol_feasiblesqpmethod.so.3.7 +0 -0
  317. casadi/libcasadi_nlpsol_ipopt.so +0 -0
  318. casadi/libcasadi_nlpsol_ipopt.so.3.7 +0 -0
  319. casadi/libcasadi_nlpsol_knitro.so +0 -0
  320. casadi/libcasadi_nlpsol_knitro.so.3.7 +0 -0
  321. casadi/libcasadi_nlpsol_madnlp.so +0 -0
  322. casadi/libcasadi_nlpsol_madnlp.so.3.7 +0 -0
  323. casadi/libcasadi_nlpsol_qrsqp.so +0 -0
  324. casadi/libcasadi_nlpsol_qrsqp.so.3.7 +0 -0
  325. casadi/libcasadi_nlpsol_scpgen.so +0 -0
  326. casadi/libcasadi_nlpsol_scpgen.so.3.7 +0 -0
  327. casadi/libcasadi_nlpsol_sleqp.so +0 -0
  328. casadi/libcasadi_nlpsol_sleqp.so.3.7 +0 -0
  329. casadi/libcasadi_nlpsol_snopt.so +0 -0
  330. casadi/libcasadi_nlpsol_snopt.so.3.7 +0 -0
  331. casadi/libcasadi_nlpsol_sqpmethod.so +0 -0
  332. casadi/libcasadi_nlpsol_sqpmethod.so.3.7 +0 -0
  333. casadi/libcasadi_nlpsol_worhp.so +0 -0
  334. casadi/libcasadi_nlpsol_worhp.so.3.7 +0 -0
  335. casadi/libcasadi_rootfinder_fast_newton.so +0 -0
  336. casadi/libcasadi_rootfinder_fast_newton.so.3.7 +0 -0
  337. casadi/libcasadi_rootfinder_kinsol.so +0 -0
  338. casadi/libcasadi_rootfinder_kinsol.so.3.7 +0 -0
  339. casadi/libcasadi_rootfinder_newton.so +0 -0
  340. casadi/libcasadi_rootfinder_newton.so.3.7 +0 -0
  341. casadi/libcasadi_rootfinder_nlpsol.so +0 -0
  342. casadi/libcasadi_rootfinder_nlpsol.so.3.7 +0 -0
  343. casadi/libcasadi_sundials_common.so +0 -0
  344. casadi/libcasadi_sundials_common.so.3.7 +0 -0
  345. casadi/libcasadi_xmlfile_tinyxml.so +0 -0
  346. casadi/libcasadi_xmlfile_tinyxml.so.3.7 +0 -0
  347. casadi/libcoinmumps.so +0 -0
  348. casadi/libcoinmumps.so.3 +0 -0
  349. casadi/libcoinmumps.so.3.0.1 +0 -0
  350. casadi/libdaqpstat.a +0 -0
  351. casadi/libhighs.so +0 -0
  352. casadi/libhighs.so.1 +0 -0
  353. casadi/libhighs.so.1.10.0 +0 -0
  354. casadi/libindirect.a +0 -0
  355. casadi/libipopt.so +0 -0
  356. casadi/libipopt.so.3 +0 -0
  357. casadi/libipopt.so.3.14.11 +0 -0
  358. casadi/liblinsys.a +0 -0
  359. casadi/libosqp.a +0 -0
  360. casadi/libqdldl.a +0 -0
  361. casadi/libsipopt.so +0 -0
  362. casadi/libsipopt.so.3 +0 -0
  363. casadi/libsipopt.so.3.14.11 +0 -0
  364. casadi/libsleqp.so +0 -0
  365. casadi/libsleqp.so.1.0.1 +0 -0
  366. casadi/libspral.a +0 -0
  367. casadi/libsuperscs.a +0 -0
  368. casadi/libz.a +0 -0
  369. casadi/libz.so +0 -0
  370. casadi/libz.so.1 +0 -0
  371. casadi/libz.so.1.3.1 +0 -0
  372. casadi/libzip.a +0 -0
  373. casadi/pkgconfig/casadi.pc +1 -1
  374. casadi/pkgconfig/highs.pc +1 -1
  375. casadi/pkgconfig/libzip.pc +14 -0
  376. casadi/tools/__init__.py +3 -1
  377. casadi/tools/graph/graph.py +1 -1
  378. casadi/tools/structure3.py +7 -7
  379. {casadi-3.6.7.dist-info → casadi-3.7.1.dist-info}/METADATA +1 -1
  380. {casadi-3.6.7.dist-info → casadi-3.7.1.dist-info}/RECORD +380 -347
  381. casadi/include/highs/lp_data/HighsRuntimeOptions.h +0 -276
  382. casadi/include/highs/pdlp/cupdlp/cupdlp_scaling_cuda.h +0 -28
  383. casadi/include/tinyxml2.h +0 -2380
  384. casadi/lib/cmake/tinyxml2/tinyxml2-config.cmake +0 -57
  385. casadi/lib/cmake/tinyxml2/tinyxml2-static-targets-release.cmake +0 -19
  386. casadi/lib/libtinyxml2.a +0 -0
  387. casadi/lib/pkgconfig/tinyxml2.pc +0 -10
  388. casadi/libhighs.so.1.7.2 +0 -0
  389. casadi/tools/structure.py +0 -1446
  390. {casadi-3.6.7.dist-info → casadi-3.7.1.dist-info}/WHEEL +0 -0
@@ -26,27 +26,21 @@
26
26
  #ifndef CASADI_SHARED_OBJECT_HPP
27
27
  #define CASADI_SHARED_OBJECT_HPP
28
28
 
29
- #include "casadi_common.hpp"
30
- #include "exception.hpp"
31
- #include <map>
32
- #include <vector>
29
+ #include "generic_shared_internal.hpp"
33
30
 
34
31
  namespace casadi {
35
32
 
36
- // Forward declaration of weak reference class
37
- class WeakRef;
38
-
39
33
  /// \cond INTERNAL
40
34
  // Forward declaration of internal classes
41
35
  class SharedObjectInternal;
42
36
  class WeakRefInternal;
43
37
  /// \endcond
44
38
 
45
- /** \brief SharedObject implements a reference counting framework similar for efficient and
39
+ /** \brief GenericShared implements a reference counting framework similar for efficient and
46
40
 
47
41
  easily-maintained memory management.
48
42
 
49
- To use the class, both the SharedObject class (the public class), and the SharedObjectInternal
43
+ To use the class, both the GenericShared class (the public class), and the GenericSharedInternal
50
44
  class (the internal class) must be inherited from. It can be done in two different files
51
45
  and together with memory management, this approach provides a clear distinction of which
52
46
  methods of the class are to be considered "public", i.e. methods for public use that can
@@ -81,190 +75,108 @@ namespace casadi {
81
75
  \date 2010
82
76
 
83
77
  \identifier{as} */
84
- class CASADI_EXPORT SharedObject {
85
- #ifndef SWIG
86
- template<class B> friend B shared_cast(SharedObject& A);
87
- template<class B> friend const B shared_cast(const SharedObject& A);
88
- #endif // SWIG
89
-
90
- public:
91
- #ifndef SWIG
92
- /// Default constructor
93
- SharedObject();
94
-
95
- /// Copy constructor (shallow copy)
96
- SharedObject(const SharedObject& ref);
78
+ class CASADI_EXPORT SharedObject :
79
+ public GenericShared<SharedObject, SharedObjectInternal> {
80
+ public:
97
81
 
98
- /// Destructor
99
- ~SharedObject();
82
+ /** \brief Get class name
100
83
 
101
- /// Assignment operator
102
- SharedObject& operator=(const SharedObject& ref);
84
+ \identifier{au} */
85
+ std::string class_name() const;
103
86
 
104
- /// \cond INTERNAL
105
- /// Assign the node to a node class pointer (or null)
106
- void own(SharedObjectInternal* node);
87
+ /// Print a description of the object
88
+ void disp(std::ostream& stream, bool more=false) const;
107
89
 
108
- /** \brief Assign the node to a node class pointer without reference counting
109
- *
110
- * improper use will cause memory leaks!
90
+ /// Get string representation
91
+ std::string get_str(bool more=false) const {
92
+ std::stringstream ss;
93
+ disp(ss, more);
94
+ return ss.str();
95
+ }
111
96
 
112
- \identifier{at} */
113
- void assign(SharedObjectInternal* node);
97
+ /// \cond INTERNAL
98
+ /// Print the pointer to the internal class
99
+ void print_ptr(std::ostream &stream=casadi::uout()) const;
100
+ /// \endcond
114
101
 
115
- /// Get a const pointer to the node
116
- SharedObjectInternal* get() const;
102
+ using internal_base_type = SharedObjectInternal;
103
+ using base_type = SharedObject;
117
104
 
118
- /// Get the reference count
119
- casadi_int getCount() const;
120
-
121
- /// Swap content with another instance
122
- void swap(SharedObject& other);
123
-
124
- /// Access a member function or object
125
- SharedObjectInternal* operator->() const;
126
- /// \endcond
127
- #endif // SWIG
128
-
129
- /** \brief Get class name
130
-
131
- \identifier{au} */
132
- std::string class_name() const;
133
-
134
- /// Print a description of the object
135
- void disp(std::ostream& stream, bool more=false) const;
136
-
137
- /// Get string representation
138
- std::string get_str(bool more=false) const {
139
- std::stringstream ss;
140
- disp(ss, more);
141
- return ss.str();
142
- }
143
-
144
- /// \cond INTERNAL
145
- /// Print the pointer to the internal class
146
- void print_ptr(std::ostream &stream=casadi::uout()) const;
147
- /// \endcond
148
-
149
- /// Is a null pointer?
150
- bool is_null() const;
151
-
152
- /** \brief Returns a number that is unique for a given Node.
153
-
154
- * If the Object does not point to any node, "0" is returned.
155
-
156
- \identifier{av} */
157
- casadi_int __hash__() const;
158
-
159
- /// \cond INTERNAL
160
- #ifndef SWIG
161
- /** \brief Get a weak reference to the object
162
-
163
- \identifier{aw} */
164
- WeakRef* weak();
165
- protected:
166
- void count_up(); // increase counter of the node
167
- void count_down(); // decrease counter of the node
168
- private:
169
- SharedObjectInternal *node;
170
- #endif // SWIG
171
- /// \endcond
172
105
  };
173
106
 
174
107
  /** \brief Weak reference type
175
108
 
176
- A weak reference to a SharedObject
109
+ A weak reference to a GenericShared
177
110
  \author Joel Andersson
178
111
  \date 2013
179
112
 
180
113
  \identifier{ax} */
181
- class CASADI_EXPORT WeakRef : public SharedObject {
114
+ class CASADI_EXPORT WeakRef :
115
+ public GenericWeakRef<SharedObject, SharedObjectInternal> {
182
116
  public:
183
- friend class SharedObjectInternal;
184
-
185
- /** \brief Default constructor
186
-
187
- \identifier{ay} */
188
- WeakRef(int dummy=0);
189
-
190
- /** \brief Construct from a shared object (also implicit type conversion)
191
-
192
- \identifier{az} */
193
- WeakRef(SharedObject shared);
194
-
195
- /** \brief Get a shared (owning) reference
196
-
197
- \identifier{b0} */
198
- SharedObject shared();
199
-
200
- /** \brief Check if alive
201
-
202
- \identifier{b1} */
203
- bool alive() const;
204
-
205
- /** \brief Access functions of the node
206
-
207
- \identifier{b2} */
208
- WeakRefInternal* operator->();
209
-
210
- /** \brief Const access functions of the node
211
-
212
- \identifier{b3} */
213
- const WeakRefInternal* operator->() const;
214
-
215
- #ifndef SWIG
216
- private:
217
- /** \brief Construct from a shared object (internal)
218
-
219
- \identifier{b4} */
220
- explicit WeakRef(SharedObjectInternal* raw);
221
-
222
- /** \brief The shared object has been deleted
223
-
224
- \identifier{b5} */
225
- void kill();
226
- #endif // SWIG
117
+ WeakRef(int dummy=0) : GenericWeakRef<SharedObject, SharedObjectInternal>(dummy) {
118
+ }
119
+ WeakRef(SharedObject shared) : GenericWeakRef<SharedObject, SharedObjectInternal>(shared) {
120
+ }
121
+ /*private:
122
+ explicit WeakRef(SharedObjectInternal* raw) : GenericWeakRef<SharedObject, SharedObjectInternal>(raw) {
123
+ };*/
227
124
  };
228
125
 
229
126
  #ifndef SWIG
127
+ class CASADI_EXPORT SharedObjectInternal :
128
+ public GenericSharedInternal<SharedObject, SharedObjectInternal> {
129
+ friend class GenericShared<SharedObject, SharedObjectInternal>;
130
+ friend class SharedObject;
131
+ friend class GenericWeakRef<SharedObject, SharedObjectInternal>;
132
+ friend class GenericSharedInternal<SharedObject, SharedObjectInternal>;
133
+ friend class Memory;
134
+ friend class UniversalNodeOwner;
135
+ public:
136
+ /// NOTE: these two constructors added because defaults are ill-formed defaults
137
+ /// This may hint at a bug
138
+ /// Default constructor
139
+ SharedObjectInternal() : GenericSharedInternal<SharedObject, SharedObjectInternal>() {
140
+ }
141
+ /// Copy constructor
142
+ SharedObjectInternal(const SharedObjectInternal& node) :
143
+ GenericSharedInternal<SharedObject, SharedObjectInternal>(node) {
144
+ }
230
145
 
231
- /** \brief Typecast a shared object to a base class to a shared object to a derived class,
146
+ /// Readable name of the internal class
147
+ virtual std::string class_name() const = 0;
232
148
 
233
- * cf. dynamic_cast
149
+ /// Print a description of the object
150
+ virtual void disp(std::ostream& stream, bool more) const = 0;
234
151
 
235
- \identifier{b6} */
236
- template<class B>
237
- B shared_cast(SharedObject& A) {
152
+ using weak_ref_type = WeakRefInternal;
238
153
 
239
- /// Get a pointer to the node
240
- SharedObjectInternal* ptr = A.get();
154
+ private:
155
+ /// Number of references pointing to the object
156
+ #ifdef CASADI_WITH_THREAD
157
+ std::atomic<casadi_int> count;
158
+ #else // CASADI_WITH_THREAD
159
+ casadi_int count;
160
+ #endif
241
161
 
242
- /// Create a return object
243
- B ret;
162
+ };
244
163
 
245
- /// Quick return if not allowed
246
- if (!B::test_cast(ptr)) return ret;
164
+ class CASADI_EXPORT WeakRefInternal :
165
+ public GenericWeakRefInternal<SharedObject, SharedObjectInternal> {
166
+ public:
167
+ /// Print a description of the object
168
+ void disp(std::ostream& stream, bool more) const override;
247
169
 
248
- /// Assign node of B and return
249
- ret.own(ptr);
250
- return ret;
251
- }
170
+ /// Readable name of the class
171
+ std::string class_name() const override {return "WeakRefInternal";}
252
172
 
253
- /** \brief Typecast a shared object to a base class to a shared object to a derived class,
173
+ using GenericWeakRefInternal<SharedObject, SharedObjectInternal>::GenericWeakRefInternal;
254
174
 
255
- * cf. dynamic_cast (const)
175
+ };
256
176
 
257
- \identifier{b7} */
258
- template<class B>
259
- const B shared_cast(const SharedObject& A) {
260
- SharedObject A_copy = A;
261
- return shared_cast<B>(A_copy);
262
- }
263
177
 
264
178
  #endif // SWIG
265
179
 
266
-
267
180
  } // namespace casadi
268
181
 
269
-
270
182
  #endif // CASADI_SHARED_OBJECT_HPP
@@ -36,6 +36,13 @@
36
36
  #include <list>
37
37
  #include <limits>
38
38
  #include <unordered_map>
39
+ #ifdef CASADI_WITH_THREAD
40
+ #ifdef CASADI_WITH_THREAD_MINGW
41
+ #include <mingw.mutex.h>
42
+ #else // CASADI_WITH_THREAD_MINGW
43
+ #include <mutex>
44
+ #endif // CASADI_WITH_THREAD_MINGW
45
+ #endif //CASADI_WITH_THREAD
39
46
 
40
47
  namespace casadi {
41
48
  // Forward declaration
@@ -269,7 +276,7 @@ namespace casadi {
269
276
  Sparsity get_diag(std::vector<casadi_int>& SWIG_OUTPUT(mapping)) const;
270
277
 
271
278
  /// Compress a sparsity pattern
272
- std::vector<casadi_int> compress() const;
279
+ std::vector<casadi_int> compress(bool canonical=true) const;
273
280
 
274
281
  #ifndef SWIG
275
282
  /// Access a member function or object
@@ -876,6 +883,11 @@ namespace casadi {
876
883
  /// Cached sparsity patterns
877
884
  static CachingMap& getCache();
878
885
 
886
+ #ifdef CASADI_WITH_THREADSAFE_SYMBOLICS
887
+ // Safe access to CachingMap
888
+ static std::mutex cachingmap_mtx;
889
+ #endif //CASADI_WITH_THREADSAFE_SYMBOLICS
890
+
879
891
  /// (Dense) scalar
880
892
  static const Sparsity& getScalar();
881
893
 
@@ -590,7 +590,25 @@ namespace casadi {
590
590
  \identifier{4q} */
591
591
  inline friend MatType sum2(const MatType &x) { return MatType::sum2(x);}
592
592
 
593
- /** \@} */
593
+ /** \brief Returns summation of all elements
594
+
595
+ \identifier{2d6} */
596
+ inline friend MatType sum(const MatType &x) {
597
+ if (x.is_vector()) {
598
+ if (x.is_column()) {
599
+ return MatType::sum1(x);
600
+ } else {
601
+ return MatType::sum2(x);
602
+ }
603
+ }
604
+ if (x.size1()>x.size2()) {
605
+ return MatType::sum2(MatType::sum1(x));
606
+ } else {
607
+ return MatType::sum1(MatType::sum2(x));
608
+ }
609
+ }
610
+
611
+ /** \@} */
594
612
  };
595
613
  #endif // SWIG
596
614
 
@@ -64,6 +64,27 @@ template<> inline std::string matrixName<SXElem>() { return "SX"; }
64
64
  template<>
65
65
  bool SX::is_symbolic() const;
66
66
 
67
+ template<>
68
+ bool SX::is_call() const;
69
+
70
+ template<>
71
+ std::vector<SXElem> SX::call(const Function& f, const std::vector<SXElem>& dep);
72
+
73
+ template<>
74
+ bool SX::is_output() const;
75
+
76
+ template<>
77
+ bool SX::has_output() const;
78
+
79
+ template<>
80
+ SX SX::get_output(casadi_int oind) const;
81
+
82
+ template<>
83
+ Function SX::which_function() const;
84
+
85
+ template<>
86
+ casadi_int SX::which_output() const;
87
+
67
88
  template<>
68
89
  casadi_int SX::op() const;
69
90
 
@@ -109,12 +130,28 @@ template<> inline std::string matrixName<SXElem>() { return "SX"; }
109
130
  void SX::substitute_inplace(const std::vector<SX>& v, std::vector<SX>& vdef,
110
131
  std::vector<SX>& ex, bool reverse);
111
132
 
133
+ template<>
134
+ void SX::extract_parametric(const SX &expr, const SX& par,
135
+ SX& expr_ret, std::vector<SX>& symbols, std::vector<SX>& parametric,
136
+ const Dict& opts);
137
+
138
+ template<>
139
+ void SX::separate_linear(const SX &expr,
140
+ const SX &sym_lin, const SX &sym_const,
141
+ SX& expr_const, SX& expr_lin, SX& expr_nonlin);
142
+
112
143
  template<>
113
144
  std::vector<SX> SX::cse(const std::vector<SX>& e);
114
145
 
115
146
  template<>
116
147
  bool SX::depends_on(const SX &x, const SX &arg);
117
148
 
149
+ template<>
150
+ bool SX::contains_all(const std::vector<SX>& v, const std::vector<SX> &n);
151
+
152
+ template<>
153
+ bool SX::contains_any(const std::vector<SX>& v, const std::vector<SX> &n);
154
+
118
155
  template<>
119
156
  SX SX::jacobian(const SX &f, const SX &x, const Dict& opts);
120
157
  template<>
@@ -192,6 +229,10 @@ template<> inline std::string matrixName<SXElem>() { return "SX"; }
192
229
  void CASADI_EXPORT SX::to_file(const std::string& filename, const Sparsity& sp,
193
230
  const SXElem* nonzeros, const std::string& format_hint);
194
231
 
232
+ #ifdef CASADI_WITH_THREADSAFE_SYMBOLICS
233
+ template<>
234
+ std::mutex& SX::get_mutex_temp();
235
+ #endif // CASADI_WITH_THREADSAFE_SYMBOLICS
195
236
 
196
237
  #ifndef CASADI_SX_INSTANTIATOR_CPP
197
238
  extern template class Matrix<SXElem>;
@@ -44,6 +44,15 @@
44
44
  #include <string>
45
45
  #include <vector>
46
46
 
47
+ #ifdef CASADI_WITH_THREAD
48
+ #include <atomic>
49
+ #ifdef CASADI_WITH_THREAD_MINGW
50
+ #include <mingw.mutex.h>
51
+ #else // CASADI_WITH_THREAD_MINGW
52
+ #include <mutex>
53
+ #endif // CASADI_WITH_THREAD_MINGW
54
+ #endif //CASADI_WITH_THREAD
55
+
47
56
  namespace casadi {
48
57
 
49
58
  /** \brief forward declaration of Node and Matrix
@@ -147,6 +156,7 @@ namespace casadi {
147
156
  \identifier{10p} */
148
157
  static SXElem binary(casadi_int op, const SXElem& x, const SXElem& y);
149
158
  static SXElem unary(casadi_int op, const SXElem& x);
159
+ static std::vector<SXElem> call(const Function& f, const std::vector<SXElem>& deps);
150
160
 
151
161
  /** \brief Check the truth value of this node
152
162
 
@@ -178,6 +188,11 @@ namespace casadi {
178
188
  const std::string& name() const;
179
189
  casadi_int op() const;
180
190
  bool is_op(casadi_int op) const;
191
+ bool is_call() const;
192
+ bool is_output() const;
193
+ bool has_output() const;
194
+ Function which_function() const;
195
+ casadi_int which_output() const;
181
196
 
182
197
  /// Checks if expression does not contain NaN or Inf
183
198
  bool is_regular() const;
@@ -204,6 +219,11 @@ namespace casadi {
204
219
  \identifier{10v} */
205
220
  casadi_int n_dep() const;
206
221
 
222
+ /** \brief Get an output
223
+
224
+ \identifier{29f} */
225
+ SXElem get_output(casadi_int oind) const;
226
+
207
227
  /** \brief Returns a number that is unique for a given SXNode.
208
228
 
209
229
  * If the SXElem does not point to any node, 0 is returned.
@@ -272,6 +292,11 @@ namespace casadi {
272
292
  void serialize(SerializingStream& s) const;
273
293
 
274
294
  static SXElem deserialize(DeserializingStream& s);
295
+
296
+ #ifdef CASADI_WITH_THREADSAFE_SYMBOLICS
297
+ static std::mutex mutex_temp;
298
+ #endif //CASADI_WITH_THREADSAFE_SYMBOLICS
299
+
275
300
  private:
276
301
  /// Pointer to node (SXElem is only a reference class)
277
302
  SXNode* node;
@@ -175,6 +175,11 @@ struct CASADI_EXPORT XmlNode {
175
175
  \identifier{vr} */
176
176
  static void read(const std::string& str, casadi_int* val);
177
177
 
178
+ /** \brief Read the size_t value of a string
179
+
180
+ \identifier{29u} */
181
+ static void read(const std::string& str, size_t* val);
182
+
178
183
  /** \brief Read the double value of a string
179
184
 
180
185
  \identifier{vs} */