casadi 3.6.5__cp310-none-macosx_11_0_arm64.whl → 3.6.6__cp310-none-macosx_11_0_arm64.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 (642) hide show
  1. casadi/_casadi.so +0 -0
  2. casadi/casadi-cli +0 -0
  3. casadi/casadi.py +663 -257
  4. casadi/cbc +0 -0
  5. casadi/clp +0 -0
  6. casadi/cmake/casadi-config-version.cmake +1 -1
  7. casadi/cmake/casadi-targets.cmake +10 -6
  8. casadi/cmake/highs/highs-config.cmake +6 -13
  9. casadi/cmake/highs/highs-targets-release.cmake +13 -13
  10. casadi/cmake/highs/highs-targets.cmake +25 -22
  11. casadi/cmake/osqp/osqp-targets.cmake +10 -6
  12. casadi/cmake/proxsuite/proxsuiteConfigVersion.cmake +0 -5
  13. casadi/cmake/proxsuite/proxsuiteTargets.cmake +12 -12
  14. casadi/cmake/qdldl/qdldl-targets.cmake +10 -6
  15. casadi/cmake/sleqp/sleqp-config-version.cmake +0 -5
  16. casadi/cmake/sleqp/sleqp-targets.cmake +10 -6
  17. casadi/cmake/trlib/trlib-config-release.cmake +1 -1
  18. casadi/cmake/trlib/trlib-config-version.cmake +0 -5
  19. casadi/cmake/trlib/trlib-config.cmake +12 -12
  20. casadi/highs +0 -0
  21. casadi/include/casadi/casadi.i +3 -0
  22. casadi/include/casadi/casadi_c.h +2 -0
  23. casadi/include/casadi/config.h +9 -9
  24. casadi/include/casadi/core/casadi_common.hpp +1 -0
  25. casadi/include/casadi/core/casadi_export.h +1 -0
  26. casadi/include/casadi/core/casadi_misc.hpp +13 -0
  27. casadi/include/casadi/core/casadi_types.hpp +3 -2
  28. casadi/include/casadi/core/code_generator.hpp +30 -1
  29. casadi/include/casadi/core/global_options.hpp +2 -0
  30. casadi/include/casadi/core/mx.hpp +13 -3
  31. casadi/include/casadi/core/optistack.hpp +23 -0
  32. casadi/include/casadi/core/runtime/casadi_nlp.hpp +2 -0
  33. casadi/include/casadi/core/runtime/casadi_ocp_block.hpp +55 -0
  34. casadi/include/casadi/core/runtime/casadi_oracle.hpp +44 -0
  35. casadi/include/casadi/core/runtime/casadi_oracle_callback.hpp +39 -0
  36. casadi/include/casadi/core/runtime/casadi_runtime.hpp +4 -1
  37. casadi/include/casadi/core/runtime/casadi_scaled_copy.hpp +31 -0
  38. casadi/include/casadi/core/serializing_stream.hpp +2 -2
  39. casadi/include/casadi/core/sparsity.hpp +7 -0
  40. casadi/include/casadi/doc.i +1397 -955
  41. casadi/include/casadi/doc_merged.i +867 -675
  42. casadi/include/casadi/mem.h +1 -0
  43. casadi/include/daqp/api.h +46 -0
  44. casadi/include/daqp/auxiliary.h +29 -0
  45. casadi/include/daqp/bnb.h +32 -0
  46. casadi/include/daqp/codegen.h +18 -0
  47. casadi/include/daqp/constants.h +92 -0
  48. casadi/include/daqp/daqp.h +22 -0
  49. casadi/include/daqp/daqp_prox.h +18 -0
  50. casadi/include/daqp/factorization.h +18 -0
  51. casadi/include/daqp/types.h +161 -0
  52. casadi/include/daqp/utils.h +44 -0
  53. casadi/include/fatrop/auxiliary/Common.hpp +33 -0
  54. casadi/include/fatrop/auxiliary/DynamicLib.hpp +34 -0
  55. casadi/include/fatrop/auxiliary/FatropOptions.hpp +68 -0
  56. casadi/include/fatrop/auxiliary/FatropVector.hpp +143 -0
  57. casadi/include/fatrop/auxiliary/LinearAlgebra.hpp +88 -0
  58. casadi/include/fatrop/auxiliary/VectorUtils.hpp +54 -0
  59. casadi/include/fatrop/blasfeo_wrapper/LinearAlgebraBlasfeo.hpp +492 -0
  60. casadi/include/fatrop/function_evaluation/CasadiCodegen.hpp +104 -0
  61. casadi/include/fatrop/function_evaluation/FunctionEvaluation.hpp +60 -0
  62. casadi/include/fatrop/json/json.h +946 -0
  63. casadi/include/fatrop/ocp/CasadiCApiUserdataWrap.hpp +87 -0
  64. casadi/include/fatrop/ocp/DuInfEvaluator.hpp +38 -0
  65. casadi/include/fatrop/ocp/FatropOCP.hpp +161 -0
  66. casadi/include/fatrop/ocp/FatropOCPBuilder.hpp +52 -0
  67. casadi/include/fatrop/ocp/OCP.hpp +82 -0
  68. casadi/include/fatrop/ocp/OCPAbstract.hpp +254 -0
  69. casadi/include/fatrop/ocp/OCPAdapter.hpp +197 -0
  70. casadi/include/fatrop/ocp/OCPCInterface.h +289 -0
  71. casadi/include/fatrop/ocp/OCPDims.hpp +60 -0
  72. casadi/include/fatrop/ocp/OCPInitializer.hpp +41 -0
  73. casadi/include/fatrop/ocp/OCPKKT.hpp +69 -0
  74. casadi/include/fatrop/ocp/OCPLSRiccati.hpp +191 -0
  75. casadi/include/fatrop/ocp/OCPLSScaler.hpp +66 -0
  76. casadi/include/fatrop/ocp/OCPLinearSolver.hpp +75 -0
  77. casadi/include/fatrop/ocp/OCPNoScaling.hpp +42 -0
  78. casadi/include/fatrop/ocp/OCPScalingMethod.hpp +42 -0
  79. casadi/include/fatrop/ocp/StageOCP.hpp +592 -0
  80. casadi/include/fatrop/ocp/StageOCPApplication.hpp +242 -0
  81. casadi/include/fatrop/ocp/StageOCPExpressions.hpp +182 -0
  82. casadi/include/fatrop/ocp/UStageEvalAbstract.hpp +168 -0
  83. casadi/include/fatrop/ocp/UStageOCPImpl.hpp +152 -0
  84. casadi/include/fatrop/quasi_newton/bfgs.hpp +159 -0
  85. casadi/include/fatrop/solver/AlgBuilder.hpp +66 -0
  86. casadi/include/fatrop/solver/AlgStrategy.hpp +33 -0
  87. casadi/include/fatrop/solver/FatropAlg.hpp +108 -0
  88. casadi/include/fatrop/solver/FatropData.hpp +188 -0
  89. casadi/include/fatrop/solver/FatropOptions.hpp +94 -0
  90. casadi/include/fatrop/solver/FatropPrinter.hpp +65 -0
  91. casadi/include/fatrop/solver/FatropStats.hpp +63 -0
  92. casadi/include/fatrop/solver/Filter.hpp +54 -0
  93. casadi/include/fatrop/solver/IterationData.hpp +55 -0
  94. casadi/include/fatrop/solver/LineSearch.hpp +86 -0
  95. casadi/include/fatrop/solver/NLPL1.hpp +263 -0
  96. casadi/include/fatrop/templates/NLPAlg.hpp +102 -0
  97. casadi/include/highs/HConfig.h +8 -7
  98. casadi/include/highs/Highs.h +93 -23
  99. casadi/include/highs/filereaderlp/def.hpp +19 -0
  100. casadi/include/highs/interfaces/highs_c_api.h +200 -24
  101. casadi/include/highs/io/Filereader.h +1 -1
  102. casadi/include/highs/io/FilereaderEms.h +1 -1
  103. casadi/include/highs/io/FilereaderLp.h +1 -1
  104. casadi/include/highs/io/FilereaderMps.h +1 -1
  105. casadi/include/highs/io/HMPSIO.h +1 -1
  106. casadi/include/highs/io/HMpsFF.h +5 -3
  107. casadi/include/highs/io/HighsIO.h +18 -8
  108. casadi/include/highs/io/LoadOptions.h +1 -1
  109. casadi/include/highs/ipm/IpxSolution.h +35 -0
  110. casadi/include/highs/ipm/IpxWrapper.h +1 -1
  111. casadi/include/highs/ipm/basiclu/basiclu.h +161 -0
  112. casadi/include/highs/ipm/basiclu/basiclu_factorize.h +247 -0
  113. casadi/include/highs/ipm/basiclu/basiclu_get_factors.h +108 -0
  114. casadi/include/highs/ipm/basiclu/basiclu_initialize.h +119 -0
  115. casadi/include/highs/ipm/basiclu/basiclu_obj_factorize.h +34 -0
  116. casadi/include/highs/ipm/basiclu/basiclu_obj_free.h +19 -0
  117. casadi/include/highs/ipm/basiclu/basiclu_obj_get_factors.h +34 -0
  118. casadi/include/highs/ipm/basiclu/basiclu_obj_initialize.h +46 -0
  119. casadi/include/highs/ipm/basiclu/basiclu_obj_solve_dense.h +29 -0
  120. casadi/include/highs/ipm/basiclu/basiclu_obj_solve_for_update.h +42 -0
  121. casadi/include/highs/ipm/basiclu/basiclu_obj_solve_sparse.h +32 -0
  122. casadi/include/highs/ipm/basiclu/basiclu_obj_update.h +31 -0
  123. casadi/include/highs/ipm/basiclu/basiclu_object.h +30 -0
  124. casadi/include/highs/ipm/basiclu/basiclu_solve_dense.h +75 -0
  125. casadi/include/highs/ipm/basiclu/basiclu_solve_for_update.h +169 -0
  126. casadi/include/highs/ipm/basiclu/basiclu_solve_sparse.h +112 -0
  127. casadi/include/highs/ipm/basiclu/basiclu_update.h +125 -0
  128. casadi/include/highs/ipm/basiclu/lu_def.h +39 -0
  129. casadi/include/highs/ipm/basiclu/lu_file.h +21 -0
  130. casadi/include/highs/ipm/basiclu/lu_internal.h +220 -0
  131. casadi/include/highs/ipm/basiclu/lu_list.h +168 -0
  132. casadi/include/highs/ipm/ipx/basiclu_kernel.h +20 -0
  133. casadi/include/highs/ipm/ipx/basiclu_wrapper.h +47 -0
  134. casadi/include/highs/ipm/ipx/basis.h +351 -0
  135. casadi/include/highs/ipm/ipx/conjugate_residuals.h +74 -0
  136. casadi/include/highs/ipm/ipx/control.h +163 -0
  137. casadi/include/highs/ipm/ipx/crossover.h +157 -0
  138. casadi/include/highs/ipm/ipx/diagonal_precond.h +45 -0
  139. casadi/include/highs/ipm/ipx/forrest_tomlin.h +102 -0
  140. casadi/include/highs/ipm/ipx/guess_basis.h +21 -0
  141. casadi/include/highs/ipm/ipx/indexed_vector.h +113 -0
  142. casadi/include/highs/ipm/ipx/info.h +27 -0
  143. casadi/include/highs/ipm/ipx/ipm.h +94 -0
  144. casadi/include/highs/ipm/ipx/ipx_c.h +47 -0
  145. casadi/include/highs/ipm/ipx/ipx_config.h +9 -0
  146. casadi/include/highs/ipm/ipx/ipx_info.h +111 -0
  147. casadi/include/highs/ipm/ipx/ipx_internal.h +88 -0
  148. casadi/include/highs/ipm/ipx/ipx_parameters.h +75 -0
  149. casadi/include/highs/ipm/ipx/ipx_status.h +57 -0
  150. casadi/include/highs/ipm/ipx/iterate.h +328 -0
  151. casadi/include/highs/ipm/ipx/kkt_solver.h +70 -0
  152. casadi/include/highs/ipm/ipx/kkt_solver_basis.h +66 -0
  153. casadi/include/highs/ipm/ipx/kkt_solver_diag.h +48 -0
  154. casadi/include/highs/ipm/ipx/linear_operator.h +26 -0
  155. casadi/include/highs/ipm/ipx/lp_solver.h +201 -0
  156. casadi/include/highs/ipm/ipx/lu_factorization.h +79 -0
  157. casadi/include/highs/ipm/ipx/lu_update.h +129 -0
  158. casadi/include/highs/ipm/ipx/maxvolume.h +54 -0
  159. casadi/include/highs/ipm/ipx/model.h +409 -0
  160. casadi/include/highs/ipm/ipx/multistream.h +52 -0
  161. casadi/include/highs/ipm/ipx/normal_matrix.h +44 -0
  162. casadi/include/highs/ipm/ipx/power_method.h +44 -0
  163. casadi/include/highs/ipm/ipx/sparse_matrix.h +195 -0
  164. casadi/include/highs/ipm/ipx/sparse_utils.h +58 -0
  165. casadi/include/highs/ipm/ipx/splitted_normal_matrix.h +63 -0
  166. casadi/include/highs/ipm/ipx/starting_basis.h +39 -0
  167. casadi/include/highs/ipm/ipx/symbolic_invert.h +29 -0
  168. casadi/include/highs/ipm/ipx/timer.h +24 -0
  169. casadi/include/highs/ipm/ipx/utils.h +39 -0
  170. casadi/include/highs/lp_data/HConst.h +20 -10
  171. casadi/include/highs/lp_data/HStruct.h +23 -1
  172. casadi/include/highs/lp_data/HighsAnalysis.h +1 -1
  173. casadi/include/highs/lp_data/HighsCallback.h +10 -3
  174. casadi/include/highs/lp_data/HighsCallbackStruct.h +31 -5
  175. casadi/include/highs/lp_data/HighsDebug.h +1 -1
  176. casadi/include/highs/lp_data/HighsInfo.h +20 -2
  177. casadi/include/highs/lp_data/HighsInfoDebug.h +1 -1
  178. casadi/include/highs/lp_data/HighsLp.h +17 -1
  179. casadi/include/highs/lp_data/HighsLpSolverObject.h +1 -1
  180. casadi/include/highs/lp_data/HighsLpUtils.h +19 -19
  181. casadi/include/highs/lp_data/HighsModelUtils.h +1 -1
  182. casadi/include/highs/lp_data/HighsOptions.h +237 -10
  183. casadi/include/highs/lp_data/HighsRanging.h +1 -1
  184. casadi/include/highs/lp_data/HighsRuntimeOptions.h +2 -2
  185. casadi/include/highs/lp_data/HighsSolution.h +2 -2
  186. casadi/include/highs/lp_data/HighsSolutionDebug.h +1 -1
  187. casadi/include/highs/lp_data/HighsSolve.h +3 -1
  188. casadi/include/highs/lp_data/HighsStatus.h +1 -1
  189. casadi/include/highs/mip/HighsCliqueTable.h +4 -4
  190. casadi/include/highs/mip/HighsConflictPool.h +1 -1
  191. casadi/include/highs/mip/HighsCutGeneration.h +1 -1
  192. casadi/include/highs/mip/HighsCutPool.h +2 -2
  193. casadi/include/highs/mip/HighsDebugSol.h +22 -29
  194. casadi/include/highs/mip/HighsDomain.h +10 -2
  195. casadi/include/highs/mip/HighsDomainChange.h +1 -1
  196. casadi/include/highs/mip/HighsDynamicRowMatrix.h +5 -3
  197. casadi/include/highs/mip/HighsGFkSolve.h +3 -3
  198. casadi/include/highs/mip/HighsImplications.h +3 -3
  199. casadi/include/highs/mip/HighsLpAggregator.h +1 -1
  200. casadi/include/highs/mip/HighsLpRelaxation.h +6 -1
  201. casadi/include/highs/mip/HighsMipSolver.h +4 -2
  202. casadi/include/highs/mip/HighsMipSolverData.h +47 -4
  203. casadi/include/highs/mip/HighsModkSeparator.h +2 -2
  204. casadi/include/highs/mip/HighsNodeQueue.h +5 -3
  205. casadi/include/highs/mip/HighsObjectiveFunction.h +1 -1
  206. casadi/include/highs/mip/HighsPathSeparator.h +2 -2
  207. casadi/include/highs/mip/HighsPrimalHeuristics.h +1 -1
  208. casadi/include/highs/mip/HighsPseudocost.h +35 -23
  209. casadi/include/highs/mip/HighsRedcostFixing.h +1 -1
  210. casadi/include/highs/mip/HighsSearch.h +2 -1
  211. casadi/include/highs/mip/HighsSeparation.h +1 -1
  212. casadi/include/highs/mip/HighsSeparator.h +1 -1
  213. casadi/include/highs/mip/HighsTableauSeparator.h +1 -1
  214. casadi/include/highs/mip/HighsTransformedLp.h +1 -1
  215. casadi/include/highs/model/HighsHessian.h +5 -0
  216. casadi/include/highs/model/HighsHessianUtils.h +2 -0
  217. casadi/include/highs/model/HighsModel.h +10 -1
  218. casadi/include/highs/parallel/HighsMutex.h +2 -1
  219. casadi/include/highs/parallel/HighsParallel.h +7 -2
  220. casadi/include/highs/parallel/HighsTask.h +1 -2
  221. casadi/include/highs/pdlp/CupdlpWrapper.h +93 -0
  222. casadi/include/highs/pdlp/cupdlp/cupdlp_cs.h +41 -0
  223. casadi/include/highs/pdlp/cupdlp/cupdlp_defs.h +423 -0
  224. casadi/include/highs/pdlp/cupdlp/cupdlp_linalg.h +183 -0
  225. casadi/include/highs/pdlp/cupdlp/cupdlp_proj.h +19 -0
  226. casadi/include/highs/pdlp/cupdlp/cupdlp_restart.h +31 -0
  227. casadi/include/highs/pdlp/cupdlp/cupdlp_scaling_cuda.h +28 -0
  228. casadi/include/highs/pdlp/cupdlp/cupdlp_solver.h +98 -0
  229. casadi/include/highs/pdlp/cupdlp/cupdlp_step.h +33 -0
  230. casadi/include/highs/pdlp/cupdlp/cupdlp_utils.c +1726 -0
  231. casadi/include/highs/pdqsort/pdqsort.h +532 -0
  232. casadi/include/highs/presolve/HPresolve.h +27 -14
  233. casadi/include/highs/presolve/HPresolveAnalysis.h +1 -1
  234. casadi/include/highs/presolve/HighsPostsolveStack.h +92 -68
  235. casadi/include/highs/presolve/HighsSymmetry.h +6 -5
  236. casadi/include/highs/presolve/ICrash.h +8 -2
  237. casadi/include/highs/presolve/ICrashUtil.h +1 -1
  238. casadi/include/highs/presolve/ICrashX.h +1 -1
  239. casadi/include/highs/presolve/PresolveComponent.h +1 -1
  240. casadi/include/highs/qpsolver/a_asm.hpp +23 -12
  241. casadi/include/highs/qpsolver/a_quass.hpp +8 -1
  242. casadi/include/highs/qpsolver/basis.hpp +150 -0
  243. casadi/include/highs/qpsolver/crashsolution.hpp +12 -0
  244. casadi/include/highs/qpsolver/dantzigpricing.hpp +72 -0
  245. casadi/include/highs/qpsolver/devexpricing.hpp +99 -0
  246. casadi/include/highs/qpsolver/eventhandler.hpp +23 -0
  247. casadi/include/highs/qpsolver/factor.hpp +400 -0
  248. casadi/include/highs/qpsolver/feasibility_bounded.hpp +105 -0
  249. casadi/include/highs/qpsolver/feasibility_highs.hpp +270 -0
  250. casadi/include/highs/qpsolver/gradient.hpp +39 -0
  251. casadi/include/highs/qpsolver/instance.hpp +63 -0
  252. casadi/include/highs/qpsolver/matrix.hpp +335 -0
  253. casadi/include/highs/qpsolver/pricing.hpp +15 -0
  254. casadi/include/highs/qpsolver/qpconst.hpp +27 -0
  255. casadi/include/highs/qpsolver/{vector.hpp → qpvector.hpp} +25 -25
  256. casadi/include/highs/qpsolver/quass.hpp +1 -1
  257. casadi/include/highs/qpsolver/ratiotest.hpp +19 -0
  258. casadi/include/highs/qpsolver/runtime.hpp +38 -0
  259. casadi/include/highs/qpsolver/settings.hpp +57 -0
  260. casadi/include/highs/qpsolver/snippets.hpp +29 -0
  261. casadi/include/highs/qpsolver/statistics.hpp +23 -0
  262. casadi/include/highs/qpsolver/steepestedgepricing.hpp +167 -0
  263. casadi/include/highs/simplex/HApp.h +1 -1
  264. casadi/include/highs/simplex/HEkk.h +52 -18
  265. casadi/include/highs/simplex/HEkkDual.h +1 -1
  266. casadi/include/highs/simplex/HEkkDualRHS.h +6 -7
  267. casadi/include/highs/simplex/HEkkDualRow.h +2 -2
  268. casadi/include/highs/simplex/HEkkPrimal.h +6 -1
  269. casadi/include/highs/simplex/HSimplex.h +1 -3
  270. casadi/include/highs/simplex/HSimplexDebug.h +1 -1
  271. casadi/include/highs/simplex/HSimplexNla.h +1 -1
  272. casadi/include/highs/simplex/HSimplexReport.h +1 -1
  273. casadi/include/highs/simplex/HighsSimplexAnalysis.h +228 -100
  274. casadi/include/highs/simplex/SimplexConst.h +1 -1
  275. casadi/include/highs/simplex/SimplexStruct.h +2 -2
  276. casadi/include/highs/simplex/SimplexTimer.h +1 -1
  277. casadi/include/highs/test/DevKkt.h +1 -1
  278. casadi/include/highs/test/KktCh2.h +1 -1
  279. casadi/include/highs/util/FactorTimer.h +1 -1
  280. casadi/include/highs/util/HFactor.h +35 -6
  281. casadi/include/highs/util/HFactorConst.h +1 -1
  282. casadi/include/highs/util/HFactorDebug.h +1 -1
  283. casadi/include/highs/util/HSet.h +1 -1
  284. casadi/include/highs/util/HVector.h +1 -1
  285. casadi/include/highs/util/HVectorBase.h +1 -1
  286. casadi/include/highs/util/HighsCDouble.h +3 -3
  287. casadi/include/highs/util/HighsComponent.h +1 -1
  288. casadi/include/highs/util/HighsDataStack.h +4 -4
  289. casadi/include/highs/util/HighsDisjointSets.h +1 -1
  290. casadi/include/highs/util/HighsHash.h +28 -21
  291. casadi/include/highs/util/HighsHashTree.h +63 -63
  292. casadi/include/highs/util/HighsInt.h +1 -1
  293. casadi/include/highs/util/HighsIntegers.h +8 -9
  294. casadi/include/highs/util/HighsLinearSumBounds.h +1 -1
  295. casadi/include/highs/util/HighsMatrixPic.h +1 -1
  296. casadi/include/highs/util/HighsMatrixSlice.h +9 -6
  297. casadi/include/highs/util/HighsMatrixUtils.h +1 -1
  298. casadi/include/highs/util/HighsMemoryAllocation.h +55 -0
  299. casadi/include/highs/util/HighsRandom.h +27 -15
  300. casadi/include/highs/util/HighsRbTree.h +2 -2
  301. casadi/include/highs/util/HighsSort.h +7 -7
  302. casadi/include/highs/util/HighsSparseMatrix.h +5 -2
  303. casadi/include/highs/util/HighsSparseVectorSum.h +2 -2
  304. casadi/include/highs/util/HighsSplay.h +1 -1
  305. casadi/include/highs/util/HighsTimer.h +18 -9
  306. casadi/include/highs/util/HighsUtils.h +15 -8
  307. casadi/include/highs/util/stringutil.h +9 -4
  308. casadi/include/highs/zstr/strict_fstream.hpp +237 -0
  309. casadi/include/highs/zstr/zstr.hpp +472 -0
  310. casadi/include/highs_export.h +43 -0
  311. casadi/include/licenses/daqp-external/LICENSE +21 -0
  312. casadi/include/licenses/{alpaqa-external/LICENSE → fatrop-external/LICENSE.txt} +2 -2
  313. casadi/include/licenses/fatrop-external/external/blasfeo/LICENSE.txt +26 -0
  314. casadi/include/licenses/fatrop-external/external/pybind11/LICENSE +29 -0
  315. casadi/include/licenses/fatrop-external/misc/license_header.txt +17 -0
  316. casadi/include/licenses/highs-external/{LICENSE → LICENSE.txt} +1 -1
  317. casadi/include/osqp/constants.h +2 -3
  318. casadi/include/osqp/version.h +9 -0
  319. casadi/include/sleqp/defs.h +4 -4
  320. casadi/include/sleqp/export.h +1 -0
  321. casadi/lib/cmake/tinyxml2/tinyxml2-config-version.cmake +0 -5
  322. casadi/lib/cmake/tinyxml2/tinyxml2-static-targets.cmake +10 -6
  323. casadi/lib/libtinyxml2.a +0 -0
  324. casadi/lib/pkgconfig/tinyxml2.pc +1 -1
  325. casadi/libCbc.3.10.11.dylib +0 -0
  326. casadi/libCbc.3.dylib +0 -0
  327. casadi/libCbc.dylib +0 -0
  328. casadi/libCbc.la +2 -2
  329. casadi/libCbcSolver.3.10.11.dylib +0 -0
  330. casadi/libCbcSolver.3.dylib +0 -0
  331. casadi/libCbcSolver.dylib +0 -0
  332. casadi/libCbcSolver.la +2 -2
  333. casadi/libCgl.1.10.8.dylib +0 -0
  334. casadi/libCgl.1.dylib +0 -0
  335. casadi/libCgl.dylib +0 -0
  336. casadi/libCgl.la +2 -2
  337. casadi/libClp.1.14.9.dylib +0 -0
  338. casadi/libClp.1.dylib +0 -0
  339. casadi/libClp.dylib +0 -0
  340. casadi/libClp.la +2 -2
  341. casadi/libClpSolver.1.14.9.dylib +0 -0
  342. casadi/libClpSolver.1.dylib +0 -0
  343. casadi/libClpSolver.dylib +0 -0
  344. casadi/libClpSolver.la +2 -2
  345. casadi/libCoinUtils.3.11.10.dylib +0 -0
  346. casadi/libCoinUtils.3.dylib +0 -0
  347. casadi/libCoinUtils.dylib +0 -0
  348. casadi/libCoinUtils.la +1 -1
  349. casadi/libOsi.1.13.9.dylib +0 -0
  350. casadi/libOsi.1.dylib +0 -0
  351. casadi/libOsi.dylib +0 -0
  352. casadi/libOsi.la +2 -2
  353. casadi/libOsiCbc.3.10.11.dylib +0 -0
  354. casadi/libOsiCbc.3.dylib +0 -0
  355. casadi/libOsiCbc.dylib +0 -0
  356. casadi/libOsiCbc.la +2 -2
  357. casadi/libOsiClp.1.14.9.dylib +0 -0
  358. casadi/libOsiClp.1.dylib +0 -0
  359. casadi/libOsiClp.dylib +0 -0
  360. casadi/libOsiClp.la +2 -2
  361. casadi/libOsiCommonTests.1.13.9.dylib +0 -0
  362. casadi/libOsiCommonTests.1.dylib +0 -0
  363. casadi/libOsiCommonTests.dylib +0 -0
  364. casadi/libOsiCommonTests.la +2 -2
  365. casadi/libblasfeo.dylib +0 -0
  366. casadi/libbonmin.4.8.9.dylib +0 -0
  367. casadi/libbonmin.4.dylib +0 -0
  368. casadi/libbonmin.dylib +0 -0
  369. casadi/libbonmin.la +2 -2
  370. casadi/libcasadi.3.7.dylib +0 -0
  371. casadi/libcasadi.dylib +0 -0
  372. casadi/libcasadi_conic_cbc.3.7.dylib +0 -0
  373. casadi/libcasadi_conic_cbc.dylib +0 -0
  374. casadi/libcasadi_conic_clp.3.7.dylib +0 -0
  375. casadi/libcasadi_conic_clp.dylib +0 -0
  376. casadi/libcasadi_conic_cplex.3.7.dylib +0 -0
  377. casadi/libcasadi_conic_cplex.dylib +0 -0
  378. casadi/libcasadi_conic_daqp.3.7.dylib +0 -0
  379. casadi/libcasadi_conic_daqp.dylib +0 -0
  380. casadi/libcasadi_conic_fatrop.3.7.dylib +0 -0
  381. casadi/libcasadi_conic_fatrop.dylib +0 -0
  382. casadi/libcasadi_conic_gurobi.3.7.dylib +0 -0
  383. casadi/libcasadi_conic_gurobi.dylib +0 -0
  384. casadi/libcasadi_conic_highs.3.7.dylib +0 -0
  385. casadi/libcasadi_conic_highs.dylib +0 -0
  386. casadi/libcasadi_conic_ipqp.3.7.dylib +0 -0
  387. casadi/libcasadi_conic_ipqp.dylib +0 -0
  388. casadi/libcasadi_conic_nlpsol.3.7.dylib +0 -0
  389. casadi/libcasadi_conic_nlpsol.dylib +0 -0
  390. casadi/libcasadi_conic_osqp.3.7.dylib +0 -0
  391. casadi/libcasadi_conic_osqp.dylib +0 -0
  392. casadi/libcasadi_conic_proxqp.3.7.dylib +0 -0
  393. casadi/libcasadi_conic_proxqp.dylib +0 -0
  394. casadi/libcasadi_conic_qpoases.3.7.dylib +0 -0
  395. casadi/libcasadi_conic_qpoases.dylib +0 -0
  396. casadi/libcasadi_conic_qrqp.3.7.dylib +0 -0
  397. casadi/libcasadi_conic_qrqp.dylib +0 -0
  398. casadi/libcasadi_conic_superscs.3.7.dylib +0 -0
  399. casadi/libcasadi_conic_superscs.dylib +0 -0
  400. casadi/libcasadi_importer_shell.3.7.dylib +0 -0
  401. casadi/libcasadi_importer_shell.dylib +0 -0
  402. casadi/libcasadi_integrator_collocation.3.7.dylib +0 -0
  403. casadi/libcasadi_integrator_collocation.dylib +0 -0
  404. casadi/libcasadi_integrator_cvodes.3.7.dylib +0 -0
  405. casadi/libcasadi_integrator_cvodes.dylib +0 -0
  406. casadi/libcasadi_integrator_idas.3.7.dylib +0 -0
  407. casadi/libcasadi_integrator_idas.dylib +0 -0
  408. casadi/libcasadi_integrator_rk.3.7.dylib +0 -0
  409. casadi/libcasadi_integrator_rk.dylib +0 -0
  410. casadi/libcasadi_interpolant_bspline.3.7.dylib +0 -0
  411. casadi/libcasadi_interpolant_bspline.dylib +0 -0
  412. casadi/libcasadi_interpolant_linear.3.7.dylib +0 -0
  413. casadi/libcasadi_interpolant_linear.dylib +0 -0
  414. casadi/libcasadi_linsol_csparse.3.7.dylib +0 -0
  415. casadi/libcasadi_linsol_csparse.dylib +0 -0
  416. casadi/libcasadi_linsol_csparsecholesky.3.7.dylib +0 -0
  417. casadi/libcasadi_linsol_csparsecholesky.dylib +0 -0
  418. casadi/libcasadi_linsol_lapacklu.3.7.dylib +0 -0
  419. casadi/libcasadi_linsol_lapacklu.dylib +0 -0
  420. casadi/libcasadi_linsol_lapackqr.3.7.dylib +0 -0
  421. casadi/libcasadi_linsol_lapackqr.dylib +0 -0
  422. casadi/libcasadi_linsol_ldl.3.7.dylib +0 -0
  423. casadi/libcasadi_linsol_ldl.dylib +0 -0
  424. casadi/libcasadi_linsol_lsqr.3.7.dylib +0 -0
  425. casadi/libcasadi_linsol_lsqr.dylib +0 -0
  426. casadi/libcasadi_linsol_ma27.3.7.dylib +0 -0
  427. casadi/libcasadi_linsol_ma27.dylib +0 -0
  428. casadi/libcasadi_linsol_mumps.3.7.dylib +0 -0
  429. casadi/libcasadi_linsol_mumps.dylib +0 -0
  430. casadi/libcasadi_linsol_qr.3.7.dylib +0 -0
  431. casadi/libcasadi_linsol_qr.dylib +0 -0
  432. casadi/libcasadi_linsol_symbolicqr.3.7.dylib +0 -0
  433. casadi/libcasadi_linsol_symbolicqr.dylib +0 -0
  434. casadi/libcasadi_linsol_tridiag.3.7.dylib +0 -0
  435. casadi/libcasadi_linsol_tridiag.dylib +0 -0
  436. casadi/libcasadi_nlpsol_ampl.3.7.dylib +0 -0
  437. casadi/libcasadi_nlpsol_ampl.dylib +0 -0
  438. casadi/libcasadi_nlpsol_blocksqp.3.7.dylib +0 -0
  439. casadi/libcasadi_nlpsol_blocksqp.dylib +0 -0
  440. casadi/libcasadi_nlpsol_bonmin.3.7.dylib +0 -0
  441. casadi/libcasadi_nlpsol_bonmin.dylib +0 -0
  442. casadi/libcasadi_nlpsol_fatrop.3.7.dylib +0 -0
  443. casadi/libcasadi_nlpsol_fatrop.dylib +0 -0
  444. casadi/libcasadi_nlpsol_feasiblesqpmethod.3.7.dylib +0 -0
  445. casadi/libcasadi_nlpsol_feasiblesqpmethod.dylib +0 -0
  446. casadi/libcasadi_nlpsol_ipopt.3.7.dylib +0 -0
  447. casadi/libcasadi_nlpsol_ipopt.dylib +0 -0
  448. casadi/libcasadi_nlpsol_knitro.3.7.dylib +0 -0
  449. casadi/libcasadi_nlpsol_knitro.dylib +0 -0
  450. casadi/libcasadi_nlpsol_madnlp.3.7.dylib +0 -0
  451. casadi/libcasadi_nlpsol_madnlp.dylib +0 -0
  452. casadi/libcasadi_nlpsol_qrsqp.3.7.dylib +0 -0
  453. casadi/libcasadi_nlpsol_qrsqp.dylib +0 -0
  454. casadi/libcasadi_nlpsol_scpgen.3.7.dylib +0 -0
  455. casadi/libcasadi_nlpsol_scpgen.dylib +0 -0
  456. casadi/libcasadi_nlpsol_sleqp.3.7.dylib +0 -0
  457. casadi/libcasadi_nlpsol_sleqp.dylib +0 -0
  458. casadi/libcasadi_nlpsol_snopt.3.7.dylib +0 -0
  459. casadi/libcasadi_nlpsol_snopt.dylib +0 -0
  460. casadi/libcasadi_nlpsol_sqpmethod.3.7.dylib +0 -0
  461. casadi/libcasadi_nlpsol_sqpmethod.dylib +0 -0
  462. casadi/libcasadi_rootfinder_fast_newton.3.7.dylib +0 -0
  463. casadi/libcasadi_rootfinder_fast_newton.dylib +0 -0
  464. casadi/libcasadi_rootfinder_kinsol.3.7.dylib +0 -0
  465. casadi/libcasadi_rootfinder_kinsol.dylib +0 -0
  466. casadi/libcasadi_rootfinder_newton.3.7.dylib +0 -0
  467. casadi/libcasadi_rootfinder_newton.dylib +0 -0
  468. casadi/libcasadi_rootfinder_nlpsol.3.7.dylib +0 -0
  469. casadi/libcasadi_rootfinder_nlpsol.dylib +0 -0
  470. casadi/libcasadi_sundials_common.3.7.dylib +0 -0
  471. casadi/libcasadi_sundials_common.dylib +0 -0
  472. casadi/libcasadi_xmlfile_tinyxml.3.7.dylib +0 -0
  473. casadi/libcasadi_xmlfile_tinyxml.dylib +0 -0
  474. casadi/libcoinmetis.2.dylib +0 -0
  475. casadi/libcoinmetis.dylib +0 -0
  476. casadi/libcoinmetis.la +2 -2
  477. casadi/libcoinmumps.3.dylib +0 -0
  478. casadi/libcoinmumps.dylib +0 -0
  479. casadi/libcoinmumps.la +2 -2
  480. casadi/libcplex_adaptor.dylib +0 -0
  481. casadi/{libamd.3.0.3.dylib → libdaqp.dylib} +0 -0
  482. casadi/libdaqpstat.a +0 -0
  483. casadi/libfatrop.dylib +0 -0
  484. casadi/libgurobi_adaptor.dylib +0 -0
  485. casadi/libhighs.1.7.dylib +0 -0
  486. casadi/libhighs.1.dylib +0 -0
  487. casadi/libhighs.dylib +0 -0
  488. casadi/libindirect.a +0 -0
  489. casadi/libipopt.3.dylib +0 -0
  490. casadi/libipopt.dylib +0 -0
  491. casadi/libipopt.la +2 -2
  492. casadi/liblinsys.a +0 -0
  493. casadi/{libsuitesparseconfig.7.0.1.dylib → libmatlab_ipc.dylib} +0 -0
  494. casadi/libosqp.a +0 -0
  495. casadi/libosqp.dylib +0 -0
  496. casadi/libqdldl.a +0 -0
  497. casadi/libqdldl.dylib +0 -0
  498. casadi/libsipopt.3.dylib +0 -0
  499. casadi/libsipopt.dylib +0 -0
  500. casadi/libsipopt.la +2 -2
  501. casadi/libsleqp.1.0.1.dylib +0 -0
  502. casadi/libsleqp.dylib +0 -0
  503. casadi/libsuperscs.a +0 -0
  504. casadi/libtrlib.0.4.dylib +0 -0
  505. casadi/libtrlib.dylib +0 -0
  506. casadi/pkgconfig/bonmin.pc +1 -1
  507. casadi/pkgconfig/casadi.pc +5 -5
  508. casadi/pkgconfig/cbc.pc +1 -1
  509. casadi/pkgconfig/cgl.pc +1 -1
  510. casadi/pkgconfig/clp.pc +1 -1
  511. casadi/pkgconfig/coinmetis.pc +1 -1
  512. casadi/pkgconfig/coinmumps.pc +2 -2
  513. casadi/pkgconfig/coinutils.pc +2 -2
  514. casadi/pkgconfig/highs.pc +4 -4
  515. casadi/pkgconfig/ipopt.pc +2 -2
  516. casadi/pkgconfig/osi-cbc.pc +1 -1
  517. casadi/pkgconfig/osi-clp.pc +1 -1
  518. casadi/pkgconfig/osi-unittests.pc +1 -1
  519. casadi/pkgconfig/osi.pc +1 -1
  520. casadi/pkgconfig/sleqp.pc +1 -1
  521. casadi/tools/__init__.py +4 -0
  522. casadi/tools/bounds.py +3 -3
  523. {casadi-3.6.5.dist-info → casadi-3.6.6.dist-info}/METADATA +2 -2
  524. {casadi-3.6.5.dist-info → casadi-3.6.6.dist-info}/RECORD +525 -472
  525. casadi/cmake/alpaqa/alpaqaConfig.cmake +0 -24
  526. casadi/cmake/alpaqa/alpaqaConfigVersion.cmake +0 -70
  527. casadi/cmake/alpaqa/alpaqaTargets-release.cmake +0 -19
  528. casadi/cmake/alpaqa/alpaqaTargets.cmake +0 -116
  529. casadi/include/alpaqa/accelerators/anderson.hpp +0 -133
  530. casadi/include/alpaqa/accelerators/internal/anderson-helpers.hpp +0 -92
  531. casadi/include/alpaqa/accelerators/internal/limited-memory-qr.hpp +0 -295
  532. casadi/include/alpaqa/accelerators/lbfgs.hpp +0 -244
  533. casadi/include/alpaqa/accelerators/steihaugcg.hpp +0 -143
  534. casadi/include/alpaqa/alpaqa.hpp +0 -3
  535. casadi/include/alpaqa/casadi/CasADiControlProblem.hpp +0 -185
  536. casadi/include/alpaqa/casadi/CasADiFunctionWrapper.hpp +0 -104
  537. casadi/include/alpaqa/casadi/CasADiProblem.hpp +0 -102
  538. casadi/include/alpaqa/casadi-loader-export.hpp +0 -15
  539. casadi/include/alpaqa/casadi-ocp-loader-export.hpp +0 -15
  540. casadi/include/alpaqa/config/config.hpp +0 -165
  541. casadi/include/alpaqa/dl/dl-problem.h +0 -476
  542. casadi/include/alpaqa/dl/dl-problem.hpp +0 -301
  543. casadi/include/alpaqa/export.h +0 -42
  544. casadi/include/alpaqa/export.hpp +0 -30
  545. casadi/include/alpaqa/implementation/accelerators/lbfgs.tpp +0 -240
  546. casadi/include/alpaqa/implementation/casadi/CasADiControlProblem.tpp +0 -594
  547. casadi/include/alpaqa/implementation/casadi/CasADiLoader-util.hpp +0 -50
  548. casadi/include/alpaqa/implementation/casadi/CasADiProblem.tpp +0 -425
  549. casadi/include/alpaqa/implementation/inner/directions/panoc/structured-lbfgs.tpp +0 -164
  550. casadi/include/alpaqa/implementation/inner/panoc-helpers.tpp +0 -389
  551. casadi/include/alpaqa/implementation/inner/panoc-ocp.tpp +0 -798
  552. casadi/include/alpaqa/implementation/inner/panoc.tpp +0 -448
  553. casadi/include/alpaqa/implementation/inner/pantr.tpp +0 -474
  554. casadi/include/alpaqa/implementation/inner/zerofpr.tpp +0 -482
  555. casadi/include/alpaqa/implementation/outer/alm.tpp +0 -228
  556. casadi/include/alpaqa/implementation/outer/internal/alm-helpers.tpp +0 -80
  557. casadi/include/alpaqa/implementation/params/params.tpp +0 -158
  558. casadi/include/alpaqa/implementation/problem/ocproblem.tpp +0 -56
  559. casadi/include/alpaqa/implementation/problem/type-erased-problem.tpp +0 -211
  560. casadi/include/alpaqa/implementation/util/io/csv.tpp +0 -120
  561. casadi/include/alpaqa/implementation/util/print.tpp +0 -151
  562. casadi/include/alpaqa/inner/directions/panoc/anderson.hpp +0 -98
  563. casadi/include/alpaqa/inner/directions/panoc/lbfgs.hpp +0 -94
  564. casadi/include/alpaqa/inner/directions/panoc/structured-lbfgs.hpp +0 -146
  565. casadi/include/alpaqa/inner/directions/panoc/structured-newton.hpp +0 -264
  566. casadi/include/alpaqa/inner/directions/panoc-direction-update.hpp +0 -96
  567. casadi/include/alpaqa/inner/directions/panoc-ocp/lqr.hpp +0 -181
  568. casadi/include/alpaqa/inner/directions/panoc-ocp/ocp-vars.hpp +0 -492
  569. casadi/include/alpaqa/inner/directions/pantr/newton-tr.hpp +0 -192
  570. casadi/include/alpaqa/inner/directions/pantr/pantr-direction.hpp +0 -99
  571. casadi/include/alpaqa/inner/inner-solve-options.hpp +0 -30
  572. casadi/include/alpaqa/inner/internal/lipschitz.hpp +0 -27
  573. casadi/include/alpaqa/inner/internal/panoc-helpers.hpp +0 -10
  574. casadi/include/alpaqa/inner/internal/panoc-stop-crit.hpp +0 -124
  575. casadi/include/alpaqa/inner/internal/solverstatus.hpp +0 -42
  576. casadi/include/alpaqa/inner/panoc-ocp.hpp +0 -302
  577. casadi/include/alpaqa/inner/panoc.hpp +0 -274
  578. casadi/include/alpaqa/inner/pantr.hpp +0 -284
  579. casadi/include/alpaqa/inner/zerofpr.hpp +0 -274
  580. casadi/include/alpaqa/ipopt/ipopt-adapter.hpp +0 -81
  581. casadi/include/alpaqa/ipopt/ipopt-enums.hpp +0 -35
  582. casadi/include/alpaqa/lbfgsb/lbfgsb-adapter.hpp +0 -111
  583. casadi/include/alpaqa/newton-tr-pantr-alm.hpp +0 -27
  584. casadi/include/alpaqa/outer/alm.hpp +0 -190
  585. casadi/include/alpaqa/outer/internal/alm-helpers.hpp +0 -10
  586. casadi/include/alpaqa/panoc-alm.hpp +0 -27
  587. casadi/include/alpaqa/panoc-anderson-alm.hpp +0 -27
  588. casadi/include/alpaqa/params/params.hpp +0 -60
  589. casadi/include/alpaqa/problem/box-constr-problem.hpp +0 -220
  590. casadi/include/alpaqa/problem/box.hpp +0 -82
  591. casadi/include/alpaqa/problem/functional-problem.hpp +0 -73
  592. casadi/include/alpaqa/problem/kkt-error.hpp +0 -43
  593. casadi/include/alpaqa/problem/ocproblem-counters.hpp +0 -116
  594. casadi/include/alpaqa/problem/ocproblem.hpp +0 -662
  595. casadi/include/alpaqa/problem/problem-counters.hpp +0 -116
  596. casadi/include/alpaqa/problem/problem-with-counters.hpp +0 -141
  597. casadi/include/alpaqa/problem/type-erased-problem.hpp +0 -874
  598. casadi/include/alpaqa/problem/unconstr-problem.hpp +0 -37
  599. casadi/include/alpaqa/structured-panoc-alm.hpp +0 -27
  600. casadi/include/alpaqa/structured-zerofpr-alm.hpp +0 -27
  601. casadi/include/alpaqa/util/alloc-check.hpp +0 -23
  602. casadi/include/alpaqa/util/atomic-stop-signal.hpp +0 -24
  603. casadi/include/alpaqa/util/check-dim.hpp +0 -64
  604. casadi/include/alpaqa/util/copyable_unique_ptr.hpp +0 -32
  605. casadi/include/alpaqa/util/demangled-typename.hpp +0 -9
  606. casadi/include/alpaqa/util/enumerate.hpp +0 -70
  607. casadi/include/alpaqa/util/float.hpp +0 -25
  608. casadi/include/alpaqa/util/index-set.hpp +0 -97
  609. casadi/include/alpaqa/util/io/csv.hpp +0 -43
  610. casadi/include/alpaqa/util/iter-adapter.hpp +0 -68
  611. casadi/include/alpaqa/util/max-history.hpp +0 -47
  612. casadi/include/alpaqa/util/noop-delete.hpp +0 -15
  613. casadi/include/alpaqa/util/not-implemented.hpp +0 -12
  614. casadi/include/alpaqa/util/print.hpp +0 -78
  615. casadi/include/alpaqa/util/quadmath/quadmath-print.hpp +0 -20
  616. casadi/include/alpaqa/util/quadmath/quadmath.hpp +0 -137
  617. casadi/include/alpaqa/util/required-method.hpp +0 -29
  618. casadi/include/alpaqa/util/ringbuffer.hpp +0 -212
  619. casadi/include/alpaqa/util/set-intersection.hpp +0 -129
  620. casadi/include/alpaqa/util/sparse-ops.hpp +0 -164
  621. casadi/include/alpaqa/util/timed.hpp +0 -22
  622. casadi/include/alpaqa/util/type-erasure.hpp +0 -568
  623. casadi/include/alpaqa/util/type-traits.hpp +0 -58
  624. casadi/include/alpaqa/zerofpr-alm.hpp +0 -27
  625. casadi/include/alpaqa/zerofpr-anderson-alm.hpp +0 -27
  626. casadi/include/alpaqa-version.h +0 -8
  627. casadi/include/highs/fortran/highs_fortran_api.mod +0 -0
  628. casadi/include/licenses/alpaqa-external/src/thirdparty/lbfgsb/Lbfgsb.3.0/License.txt +0 -71
  629. casadi/libFortranHighs.dylib +0 -0
  630. casadi/libalpaqa.1.0.0.dylib +0 -0
  631. casadi/libalpaqa.dylib +0 -0
  632. casadi/libcamd.3.0.3.dylib +0 -0
  633. casadi/libcasadi_nlpsol_alpaqa.3.7.dylib +0 -0
  634. casadi/libcasadi_nlpsol_alpaqa.dylib +0 -0
  635. casadi/libccolamd.3.0.3.dylib +0 -0
  636. casadi/libcholmod.4.0.3.dylib +0 -0
  637. casadi/libcholmod_cuda.4.0.3.dylib +0 -0
  638. casadi/libcolamd.3.0.3.dylib +0 -0
  639. casadi/libhighs.1.6.0.dylib +0 -0
  640. casadi/libhighs.1.6.dylib +0 -0
  641. casadi/libumfpack.6.1.0.dylib +0 -0
  642. {casadi-3.6.5.dist-info → casadi-3.6.6.dist-info}/WHEEL +0 -0
@@ -1,476 +0,0 @@
1
- #pragma once
2
-
3
- #include <stddef.h>
4
- #include <stdint.h>
5
- #include <string.h>
6
-
7
- #define ALPAQA_DL_ABI_VERSION 0xA1A000000001
8
-
9
- #ifdef __cplusplus
10
- extern "C" {
11
- #define ALPAQA_DL_ABI_VERSION_DEFAULT = ALPAQA_DL_ABI_VERSION
12
- #else
13
- #define ALPAQA_DL_ABI_VERSION_DEFAULT
14
- #endif
15
-
16
- typedef double alpaqa_real_t;
17
- typedef ptrdiff_t alpaqa_length_t;
18
- typedef alpaqa_length_t alpaqa_index_t;
19
-
20
- typedef struct {
21
- uint64_t abi_version ALPAQA_DL_ABI_VERSION_DEFAULT;
22
- alpaqa_length_t n, m;
23
-
24
- // clang-format off
25
- alpaqa_real_t (*eval_f)(
26
- void *instance,
27
- const alpaqa_real_t *x);
28
- void (*eval_grad_f)(
29
- void *instance,
30
- const alpaqa_real_t *x,
31
- alpaqa_real_t *grad_fx);
32
- void (*eval_g)(
33
- void *instance,
34
- const alpaqa_real_t *x,
35
- alpaqa_real_t *gx);
36
- void (*eval_grad_g_prod)(
37
- void *instance,
38
- const alpaqa_real_t *x,
39
- const alpaqa_real_t *y,
40
- alpaqa_real_t *grad_gxy);
41
- void (*eval_jac_g)(
42
- void *instance,
43
- const alpaqa_real_t *x,
44
- alpaqa_index_t *inner_idx,
45
- alpaqa_index_t *outer_ptr,
46
- alpaqa_real_t *J_values);
47
- alpaqa_length_t (*get_jac_g_num_nonzeros)(
48
- void *instance);
49
- void (*eval_grad_gi)(
50
- void *instance,
51
- const alpaqa_real_t *x,
52
- alpaqa_index_t i,
53
- alpaqa_real_t *grad_gi);
54
- void (*eval_hess_L_prod)(
55
- void *instance,
56
- const alpaqa_real_t *x,
57
- const alpaqa_real_t *y,
58
- alpaqa_real_t scale,
59
- const alpaqa_real_t *v,
60
- alpaqa_real_t *Hv);
61
- void (*eval_hess_L)(
62
- void *instance,
63
- const alpaqa_real_t *x,
64
- const alpaqa_real_t *y,
65
- alpaqa_real_t scale,
66
- alpaqa_index_t *inner_idx,
67
- alpaqa_index_t *outer_ptr,
68
- alpaqa_real_t *H_values);
69
- alpaqa_length_t (*get_hess_L_num_nonzeros)(
70
- void *instance);
71
- void (*eval_hess_ψ_prod)(
72
- void *instance,
73
- const alpaqa_real_t *x,
74
- const alpaqa_real_t *y,
75
- const alpaqa_real_t *Σ,
76
- alpaqa_real_t scale,
77
- const alpaqa_real_t *zl,
78
- const alpaqa_real_t *zu,
79
- const alpaqa_real_t *v,
80
- alpaqa_real_t *Hv);
81
- void (*eval_hess_ψ)(
82
- void *instance,
83
- const alpaqa_real_t *x,
84
- const alpaqa_real_t *y,
85
- const alpaqa_real_t *Σ,
86
- alpaqa_real_t scale,
87
- const alpaqa_real_t *zl,
88
- const alpaqa_real_t *zu,
89
- alpaqa_index_t *inner_idx,
90
- alpaqa_index_t *outer_ptr,
91
- alpaqa_real_t *H_values);
92
- alpaqa_length_t (*get_hess_ψ_num_nonzeros)(
93
- void *instance);
94
- alpaqa_real_t (*eval_f_grad_f)(
95
- void *instance,
96
- const alpaqa_real_t *x,
97
- alpaqa_real_t *grad_fx);
98
- alpaqa_real_t (*eval_f_g)(
99
- void *instance,
100
- const alpaqa_real_t *x,
101
- alpaqa_real_t *g);
102
- void (*eval_grad_f_grad_g_prod)(
103
- void *instance,
104
- const alpaqa_real_t *x,
105
- const alpaqa_real_t *y,
106
- alpaqa_real_t *grad_f,
107
- alpaqa_real_t *grad_gxy);
108
- void (*eval_grad_L)(
109
- void *instance,
110
- const alpaqa_real_t *x,
111
- const alpaqa_real_t *y,
112
- alpaqa_real_t *grad_L,
113
- alpaqa_real_t *work_n);
114
- alpaqa_real_t (*eval_ψ)(
115
- void *instance,
116
- const alpaqa_real_t *x,
117
- const alpaqa_real_t *y,
118
- const alpaqa_real_t *Σ,
119
- const alpaqa_real_t *zl,
120
- const alpaqa_real_t *zu,
121
- alpaqa_real_t *ŷ);
122
- void (*eval_grad_ψ)(
123
- void *instance,
124
- const alpaqa_real_t *x,
125
- const alpaqa_real_t *y,
126
- const alpaqa_real_t *Σ,
127
- const alpaqa_real_t *zl,
128
- const alpaqa_real_t *zu,
129
- alpaqa_real_t *grad_ψ,
130
- alpaqa_real_t *work_n,
131
- alpaqa_real_t *work_m);
132
- alpaqa_real_t (*eval_ψ_grad_ψ)(
133
- void *instance,
134
- const alpaqa_real_t *x,
135
- const alpaqa_real_t *y,
136
- const alpaqa_real_t *Σ,
137
- const alpaqa_real_t *zl,
138
- const alpaqa_real_t *zu,
139
- alpaqa_real_t *grad_ψ,
140
- alpaqa_real_t *work_n,
141
- alpaqa_real_t *work_m);
142
- alpaqa_real_t (*eval_prox_grad_step)(
143
- void *instance,
144
- alpaqa_real_t γ,
145
- const alpaqa_real_t *x,
146
- const alpaqa_real_t *grad_ψ,
147
- alpaqa_real_t *x̂,
148
- alpaqa_real_t *p);
149
- void (*initialize_box_C)(
150
- void *instance,
151
- alpaqa_real_t *lb,
152
- alpaqa_real_t *ub);
153
- void (*initialize_box_D)(
154
- void *instance,
155
- alpaqa_real_t *lb,
156
- alpaqa_real_t *ub);
157
- void (*initialize_l1_reg)(
158
- void *instance,
159
- alpaqa_real_t *lambda,
160
- alpaqa_length_t *size);
161
- // clang-format on
162
- } alpaqa_problem_functions_t;
163
-
164
- /// Opaque type for a C++-only map of extra functions.
165
- typedef struct alpaqa_function_dict_s alpaqa_function_dict_t;
166
-
167
- typedef struct {
168
- /// Owning pointer.
169
- void *instance;
170
- /// Non-owning pointer, lifetime at least as long as @ref instance.
171
- alpaqa_problem_functions_t *functions;
172
- /// Pointer to the function to clean up @ref instance.
173
- void (*cleanup)(void *);
174
- /// Pointer to a map of extra functions (C++ only).
175
- alpaqa_function_dict_t *extra_functions;
176
- } alpaqa_problem_register_t;
177
-
178
- typedef struct {
179
- uint64_t abi_version ALPAQA_DL_ABI_VERSION_DEFAULT;
180
- alpaqa_length_t N, nx, nu, nh, nh_N, nc, nc_N;
181
-
182
- // clang-format off
183
- void (*get_U)(
184
- void *instance,
185
- alpaqa_real_t *lb,
186
- alpaqa_real_t *ub);
187
- void (*get_D)(
188
- void *instance,
189
- alpaqa_real_t *lb,
190
- alpaqa_real_t *ub);
191
- void (*get_D_N)(
192
- void *instance,
193
- alpaqa_real_t *lb,
194
- alpaqa_real_t *ub);
195
- void (*get_x_init)(
196
- void *instance,
197
- alpaqa_real_t *x_init);
198
- void (*eval_f)(
199
- void *instance,
200
- alpaqa_index_t timestep,
201
- const alpaqa_real_t *x,
202
- const alpaqa_real_t *u,
203
- alpaqa_real_t *fxu);
204
- void (*eval_jac_f)(
205
- void *instance,
206
- alpaqa_index_t timestep,
207
- const alpaqa_real_t *x,
208
- const alpaqa_real_t *u,
209
- alpaqa_real_t *J_fxu);
210
- void (*eval_grad_f_prod)(
211
- void *instance,
212
- alpaqa_index_t timestep,
213
- const alpaqa_real_t *x,
214
- const alpaqa_real_t *u,
215
- const alpaqa_real_t *p,
216
- alpaqa_real_t *grad_fxu_p);
217
- void (*eval_h)(
218
- void *instance,
219
- alpaqa_index_t timestep,
220
- const alpaqa_real_t *x,
221
- const alpaqa_real_t *u,
222
- alpaqa_real_t *h);
223
- void (*eval_h_N)(
224
- void *instance,
225
- const alpaqa_real_t *x,
226
- alpaqa_real_t *h);
227
- alpaqa_real_t (*eval_l)(
228
- void *instance,
229
- alpaqa_index_t timestep,
230
- const alpaqa_real_t *h);
231
- alpaqa_real_t (*eval_l_N)(
232
- void *instance,
233
- const alpaqa_real_t *h);
234
- void (*eval_qr)(
235
- void *instance,
236
- alpaqa_index_t timestep,
237
- const alpaqa_real_t *xu,
238
- const alpaqa_real_t *h,
239
- alpaqa_real_t *qr);
240
- void (*eval_q_N)(
241
- void *instance,
242
- const alpaqa_real_t *x,
243
- const alpaqa_real_t *h,
244
- alpaqa_real_t *q);
245
- void (*eval_add_Q)(
246
- void *instance,
247
- alpaqa_index_t timestep,
248
- const alpaqa_real_t *xu,
249
- const alpaqa_real_t *h,
250
- alpaqa_real_t *Q);
251
- void (*eval_add_Q_N)(
252
- void *instance,
253
- const alpaqa_real_t *x,
254
- const alpaqa_real_t *h,
255
- alpaqa_real_t *Q);
256
- void (*eval_add_R_masked)(
257
- void *instance,
258
- alpaqa_index_t timestep,
259
- const alpaqa_real_t *xu,
260
- const alpaqa_real_t *h,
261
- const alpaqa_index_t *mask,
262
- alpaqa_real_t *R,
263
- alpaqa_real_t *work);
264
- void (*eval_add_S_masked)(
265
- void *instance,
266
- alpaqa_index_t timestep,
267
- const alpaqa_real_t *xu,
268
- const alpaqa_real_t *h,
269
- const alpaqa_index_t *mask,
270
- alpaqa_real_t *S,
271
- alpaqa_real_t *work);
272
- void (*eval_add_R_prod_masked)(
273
- void *instance,
274
- alpaqa_index_t timestep,
275
- const alpaqa_real_t *xu,
276
- const alpaqa_real_t *h,
277
- const alpaqa_index_t *mask_J,
278
- const alpaqa_index_t *mask_K,
279
- const alpaqa_real_t *v,
280
- alpaqa_real_t *out,
281
- alpaqa_real_t *work);
282
- void (*eval_add_S_prod_masked)(
283
- void *instance,
284
- alpaqa_index_t timestep,
285
- const alpaqa_real_t *xu,
286
- const alpaqa_real_t *h,
287
- const alpaqa_index_t *mask_K,
288
- const alpaqa_real_t *v,
289
- alpaqa_real_t *out,
290
- alpaqa_real_t *work);
291
- alpaqa_length_t (*get_R_work_size)(
292
- void *instance);
293
- alpaqa_length_t (*get_S_work_size)(
294
- void *instance);
295
- void (*eval_constr)(
296
- void *instance,
297
- alpaqa_index_t timestep,
298
- const alpaqa_real_t *x,
299
- alpaqa_real_t *c);
300
- void (*eval_constr_N)(
301
- void *instance,
302
- const alpaqa_real_t *x,
303
- alpaqa_real_t *c);
304
- void (*eval_grad_constr_prod)(
305
- void *instance,
306
- alpaqa_index_t timestep,
307
- const alpaqa_real_t *x,
308
- const alpaqa_real_t *p,
309
- alpaqa_real_t *grad_cx_p);
310
- void (*eval_grad_constr_prod_N)(
311
- void *instance,
312
- const alpaqa_real_t *x,
313
- const alpaqa_real_t *p,
314
- alpaqa_real_t *grad_cx_p);
315
- void (*eval_add_gn_hess_constr)(
316
- void *instance,
317
- alpaqa_index_t timestep,
318
- const alpaqa_real_t *x,
319
- const alpaqa_real_t *M,
320
- alpaqa_real_t *out);
321
- void (*eval_add_gn_hess_constr_N)(
322
- void *instance,
323
- const alpaqa_real_t *x,
324
- const alpaqa_real_t *M,
325
- alpaqa_real_t *out);
326
- // clang-format on
327
- } alpaqa_control_problem_functions_t;
328
-
329
- typedef struct {
330
- /// Owning pointer.
331
- void *instance;
332
- /// Non-owning pointer, lifetime at least as long as @ref instance.
333
- alpaqa_control_problem_functions_t *functions;
334
- /// Pointer to the function to clean up @ref instance.
335
- void (*cleanup)(void *);
336
- /// Pointer to a map of extra functions (C++ only).
337
- alpaqa_function_dict_t *extra_functions;
338
- } alpaqa_control_problem_register_t;
339
-
340
- #ifdef __cplusplus
341
- }
342
- #endif
343
-
344
- #ifndef __cplusplus
345
- #define ALPAQA_PROBLEM_FUNCTIONS_INIT(self) \
346
- do { \
347
- memset((self), 0, sizeof(*(self))); \
348
- (self)->abi_version = ALPAQA_DL_ABI_VERSION; \
349
- } while (0)
350
- #endif
351
-
352
- #if defined(__cplusplus) && __cplusplus > 201703L
353
-
354
- #include <any>
355
- #include <functional>
356
- #include <map>
357
- #include <string>
358
-
359
- struct alpaqa_function_dict_s {
360
- std::map<std::string, std::any> dict{};
361
- };
362
-
363
- namespace alpaqa {
364
-
365
- using function_dict_t = alpaqa_function_dict_t;
366
- using problem_register_t = alpaqa_problem_register_t;
367
- using control_problem_register_t = alpaqa_control_problem_register_t;
368
- using problem_functions_t = alpaqa_problem_functions_t;
369
- using control_problem_functions_t = alpaqa_control_problem_functions_t;
370
-
371
- /// Make the given function available to alpaqa.
372
- /// @see @ref alpaqa::dl::DLProblem::call_extra_func
373
- /// @see @ref alpaqa::dl::DLControlProblem::call_extra_func
374
- template <class Func>
375
- void register_function(function_dict_t *&extra_functions, std::string name,
376
- Func &&func) {
377
- if (extra_functions == nullptr)
378
- extra_functions = new function_dict_t{};
379
- extra_functions->dict.insert_or_assign(
380
- std::move(name), std::function{std::forward<Func>(func)});
381
- }
382
-
383
- template <class Func>
384
- void register_function(problem_register_t &result, std::string name,
385
- Func &&func) {
386
- register_function(result.extra_functions, std::move(name),
387
- std::forward<Func>(func));
388
- }
389
-
390
- template <class Func>
391
- void register_function(control_problem_register_t &result, std::string name,
392
- Func &&func) {
393
- register_function(result.extra_functions, std::move(name),
394
- std::forward<Func>(func));
395
- }
396
-
397
- template <class Result, class T, class Ret, class... Args>
398
- void register_member_function(Result &result, std::string name,
399
- Ret (T::*member)(Args...)) {
400
- register_function(result, std::move(name),
401
- [member](void *self_, Args... args) -> Ret {
402
- auto *self = reinterpret_cast<T *>(self_);
403
- return (self->*member)(std::forward<Args>(args)...);
404
- });
405
- }
406
-
407
- template <class Result, class T, class Ret, class... Args>
408
- void register_member_function(Result &result, std::string name,
409
- Ret (T::*member)(Args...) const) {
410
- register_function(result, std::move(name),
411
- [member](const void *self_, Args... args) -> Ret {
412
- const auto *self = reinterpret_cast<const T *>(self_);
413
- return (self->*member)(std::forward<Args>(args)...);
414
- });
415
- }
416
-
417
- namespace detail {
418
- template <auto Member, class Class, class Ret, class... Args>
419
- static auto member_caller(Ret (Class::*)(Args...)) {
420
- return [](void *self_, Args... args) -> Ret {
421
- auto *self = reinterpret_cast<Class *>(self_);
422
- return (self->*Member)(std::forward<Args>(args)...);
423
- };
424
- }
425
-
426
- template <auto Member, class Class, class Ret, class... Args>
427
- static auto member_caller(Ret (Class::*)(Args...) const) {
428
- return []<class Self>(Self * self_, Args... args) -> Ret
429
- requires std::is_void_v<Self>
430
- {
431
- const auto *self = reinterpret_cast<const Class *>(self_);
432
- return (self->*Member)(std::forward<Args>(args)...);
433
- };
434
- }
435
-
436
- template <auto Member, class Class, class Ret>
437
- static auto member_caller(Ret Class::*) {
438
- return []<class Self>(Self * self_) -> decltype(auto)
439
- requires std::is_void_v<Self>
440
- {
441
- using CClass = std::conditional_t<std::is_const_v<Self>,
442
- std::add_const_t<Class>, Class>;
443
- auto *self = reinterpret_cast<CClass *>(self_);
444
- return self->*Member;
445
- };
446
- }
447
- } // namespace detail
448
-
449
- /// Wrap the given member function of signature into a lambda function that
450
- /// accepts the instance as a void pointer.
451
- ///
452
- /// - `Ret Class::member(args...)` → `Ret(void *self, args...)`
453
- /// - `Ret Class::member(args...) const` → `Ret(const void *self, args...)`
454
- /// - `Type Class::member` → `Type &(void *self)`
455
- /// - `Type Class::member` → `const Type &(const void *self)`
456
- template <auto Member>
457
- static auto member_caller() {
458
- return detail::member_caller<Member>(Member);
459
- }
460
-
461
- /// Cleans up the extra functions registered by @ref register_function.
462
- /// @note This does not need to be called for the functions returned by the
463
- /// registration function, those functions will be cleaned up by alpaqa.
464
- /// @note The @ref alpaqa_problem_register_t and
465
- /// @ref alpaqa_control_problem_register_t structs are part of the C API
466
- /// and do not automatically clean up their resources when destroyed,
467
- /// you have to do it manually by calling this function.
468
- inline void unregister_functions(function_dict_t *&extra_functions) {
469
- delete extra_functions;
470
- }
471
-
472
- } // namespace alpaqa
473
-
474
- #endif
475
-
476
- #undef ALPAQA_DL_ABI_VERSION_DEFAULT