casadi 3.6.5__cp312-none-macosx_11_0_arm64.whl → 3.6.6__cp312-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,37 +0,0 @@
1
- #pragma once
2
-
3
- #include <alpaqa/config/config.hpp>
4
-
5
- namespace alpaqa {
6
-
7
- /// Implements common problem functions for minimization problems without
8
- /// constraints. Meant to be used as a base class for custom problem
9
- /// implementations.
10
- /// @ingroup grp_Problems
11
- template <Config Conf>
12
- class UnconstrProblem {
13
- public:
14
- USING_ALPAQA_CONFIG(Conf);
15
- /// Number of constraints
16
- length_t get_m() const { return 0; }
17
-
18
- void eval_g(crvec, rvec) const {}
19
- void eval_grad_g_prod(crvec, crvec, rvec grad) const { grad.setZero(); }
20
- void eval_jac_g(crvec, rindexvec, rindexvec, rvec) const {}
21
- void eval_grad_gi(crvec, index_t, rvec grad_gi) const { grad_gi.setZero(); }
22
-
23
- /// @see @ref TypeErasedProblem::eval_prox_grad_step
24
- real_t eval_prox_grad_step(real_t γ, crvec x, crvec grad_ψ, rvec x̂, rvec p) const {
25
- p = -γ * grad_ψ;
26
- x̂ = x + p;
27
- return 0;
28
- }
29
-
30
- /// @see @ref TypeErasedProblem::eval_proj_diff_g
31
- void eval_proj_diff_g(crvec, rvec) const {}
32
-
33
- /// @see @ref TypeErasedProblem::eval_proj_multipliers
34
- void eval_proj_multipliers(rvec, real_t) const {}
35
- };
36
-
37
- } // namespace alpaqa
@@ -1,27 +0,0 @@
1
- #pragma once
2
-
3
- #include <alpaqa/inner/directions/panoc/structured-lbfgs.hpp>
4
- #include <alpaqa/inner/panoc.hpp>
5
- #include <alpaqa/outer/alm.hpp>
6
-
7
- namespace alpaqa {
8
-
9
- // clang-format off
10
- ALPAQA_EXPORT_EXTERN_TEMPLATE(class, PANOCSolver, StructuredLBFGSDirection<DefaultConfig>);
11
- ALPAQA_EXPORT_EXTERN_TEMPLATE(class, PANOCSolver, StructuredLBFGSDirection<EigenConfigf>);
12
- ALPAQA_EXPORT_EXTERN_TEMPLATE(class, PANOCSolver, StructuredLBFGSDirection<EigenConfigd>);
13
- ALPAQA_EXPORT_EXTERN_TEMPLATE(class, PANOCSolver, StructuredLBFGSDirection<EigenConfigl>);
14
- #ifdef ALPAQA_WITH_QUAD_PRECISION
15
- ALPAQA_EXPORT_EXTERN_TEMPLATE(class, PANOCSolver, StructuredLBFGSDirection<EigenConfigq>);
16
- #endif
17
-
18
- ALPAQA_EXPORT_EXTERN_TEMPLATE(class, ALMSolver, PANOCSolver<StructuredLBFGSDirection<DefaultConfig>>);
19
- ALPAQA_EXPORT_EXTERN_TEMPLATE(class, ALMSolver, PANOCSolver<StructuredLBFGSDirection<EigenConfigf>>);
20
- ALPAQA_EXPORT_EXTERN_TEMPLATE(class, ALMSolver, PANOCSolver<StructuredLBFGSDirection<EigenConfigd>>);
21
- ALPAQA_EXPORT_EXTERN_TEMPLATE(class, ALMSolver, PANOCSolver<StructuredLBFGSDirection<EigenConfigl>>);
22
- #ifdef ALPAQA_WITH_QUAD_PRECISION
23
- ALPAQA_EXPORT_EXTERN_TEMPLATE(class, ALMSolver, PANOCSolver<StructuredLBFGSDirection<EigenConfigq>>);
24
- #endif
25
- // clang-format on
26
-
27
- } // namespace alpaqa
@@ -1,27 +0,0 @@
1
- #pragma once
2
-
3
- #include <alpaqa/inner/directions/panoc/structured-lbfgs.hpp>
4
- #include <alpaqa/inner/zerofpr.hpp>
5
- #include <alpaqa/outer/alm.hpp>
6
-
7
- namespace alpaqa {
8
-
9
- // clang-format off
10
- ALPAQA_EXPORT_EXTERN_TEMPLATE(class, ZeroFPRSolver, StructuredLBFGSDirection<DefaultConfig>);
11
- ALPAQA_EXPORT_EXTERN_TEMPLATE(class, ZeroFPRSolver, StructuredLBFGSDirection<EigenConfigf>);
12
- ALPAQA_EXPORT_EXTERN_TEMPLATE(class, ZeroFPRSolver, StructuredLBFGSDirection<EigenConfigd>);
13
- ALPAQA_EXPORT_EXTERN_TEMPLATE(class, ZeroFPRSolver, StructuredLBFGSDirection<EigenConfigl>);
14
- #ifdef ALPAQA_WITH_QUAD_PRECISION
15
- ALPAQA_EXPORT_EXTERN_TEMPLATE(class, ZeroFPRSolver, StructuredLBFGSDirection<EigenConfigq>);
16
- #endif
17
-
18
- ALPAQA_EXPORT_EXTERN_TEMPLATE(class, ALMSolver, ZeroFPRSolver<StructuredLBFGSDirection<DefaultConfig>>);
19
- ALPAQA_EXPORT_EXTERN_TEMPLATE(class, ALMSolver, ZeroFPRSolver<StructuredLBFGSDirection<EigenConfigf>>);
20
- ALPAQA_EXPORT_EXTERN_TEMPLATE(class, ALMSolver, ZeroFPRSolver<StructuredLBFGSDirection<EigenConfigd>>);
21
- ALPAQA_EXPORT_EXTERN_TEMPLATE(class, ALMSolver, ZeroFPRSolver<StructuredLBFGSDirection<EigenConfigl>>);
22
- #ifdef ALPAQA_WITH_QUAD_PRECISION
23
- ALPAQA_EXPORT_EXTERN_TEMPLATE(class, ALMSolver, ZeroFPRSolver<StructuredLBFGSDirection<EigenConfigq>>);
24
- #endif
25
- // clang-format on
26
-
27
- } // namespace alpaqa
@@ -1,23 +0,0 @@
1
- #pragma once
2
-
3
- #include <Eigen/Core>
4
-
5
- namespace alpaqa {
6
-
7
- #ifdef EIGEN_RUNTIME_NO_MALLOC
8
- template <bool Allow>
9
- struct ScopedMallocChecker {
10
- ScopedMallocChecker() : prev(Eigen::internal::is_malloc_allowed()) {
11
- Eigen::internal::set_is_malloc_allowed(Allow);
12
- }
13
- ~ScopedMallocChecker() { Eigen::internal::set_is_malloc_allowed(prev); }
14
- bool prev;
15
- };
16
- #else
17
- template <bool>
18
- struct [[maybe_unused]] ScopedMallocChecker {};
19
- #endif
20
- struct [[maybe_unused]] ScopedMallocBlocker : ScopedMallocChecker<false> {};
21
- struct [[maybe_unused]] ScopedMallocAllower : ScopedMallocChecker<true> {};
22
-
23
- } // namespace alpaqa
@@ -1,24 +0,0 @@
1
- #pragma once
2
-
3
- #include <atomic>
4
-
5
- namespace alpaqa {
6
-
7
- class AtomicStopSignal {
8
- public:
9
- AtomicStopSignal() = default;
10
- AtomicStopSignal(const AtomicStopSignal &) : AtomicStopSignal() {}
11
- AtomicStopSignal &operator=(const AtomicStopSignal &) = delete;
12
- AtomicStopSignal(AtomicStopSignal &&) : AtomicStopSignal() {}
13
- AtomicStopSignal &operator=(AtomicStopSignal &&) { return *this; }
14
-
15
- void stop() { stop_flag.store(true, std::memory_order_relaxed); }
16
- bool stop_requested() const {
17
- return stop_flag.load(std::memory_order_relaxed);
18
- }
19
-
20
- private:
21
- std::atomic<bool> stop_flag{false};
22
- };
23
-
24
- } // namespace alpaqa
@@ -1,64 +0,0 @@
1
- #pragma once
2
-
3
- #include <alpaqa/config/config.hpp>
4
- #include <optional>
5
- #include <stdexcept>
6
- #include <string>
7
-
8
- namespace alpaqa::util {
9
-
10
- template <Config Conf>
11
- void check_dim_msg(crvec<Conf> v, auto sz, std::string msg) {
12
- if (v.size() != sz) {
13
- msg += "\n(should be ";
14
- msg += std::to_string(sz);
15
- msg += ", got ";
16
- msg += std::to_string(v.size());
17
- msg += ")";
18
- throw std::invalid_argument(msg);
19
- }
20
- }
21
-
22
- template <Config Conf>
23
- void check_dim_msg(std::optional<vec<Conf>> &v, auto sz, std::string msg) {
24
- if (!v) {
25
- v = vec<Conf>::Zero(sz);
26
- } else if (v->size() != sz) {
27
- msg += "\n(should be ";
28
- msg += std::to_string(sz);
29
- msg += ", got ";
30
- msg += std::to_string(v->size());
31
- msg += ")";
32
- throw std::invalid_argument(msg);
33
- }
34
- }
35
-
36
- template <Config Conf, class V>
37
- void check_dim(std::string name, V &&v, auto sz) {
38
- name += ": dimension mismatch";
39
- check_dim_msg<Conf>(std::forward<V>(v), sz, name);
40
- }
41
-
42
- template <Config Conf>
43
- void check_dim_msg(crmat<Conf> m, auto rows, auto cols, std::string msg) {
44
- if (m.cols() != cols || m.rows() != rows) {
45
- msg += "\n(should be ";
46
- msg += std::to_string(rows);
47
- msg += "×";
48
- msg += std::to_string(cols);
49
- msg += ", got ";
50
- msg += std::to_string(m.rows());
51
- msg += "×";
52
- msg += std::to_string(m.cols());
53
- msg += ")";
54
- throw std::invalid_argument(msg);
55
- }
56
- }
57
-
58
- template <Config Conf>
59
- void check_dim(std::string name, crmat<Conf> m, auto rows, auto cols) {
60
- name += ": dimension mismatch";
61
- check_dim_msg<Conf>(m, rows, cols, name);
62
- }
63
-
64
- } // namespace alpaqa::util
@@ -1,32 +0,0 @@
1
- #pragma once
2
-
3
- #include <memory>
4
-
5
- namespace alpaqa::util {
6
-
7
- template <class T>
8
- struct copyable_unique_ptr {
9
- copyable_unique_ptr(std::unique_ptr<T> ptr) : ptr{std::move(ptr)} {}
10
- copyable_unique_ptr() = default;
11
- copyable_unique_ptr(const copyable_unique_ptr &o)
12
- : ptr{o.ptr ? std::make_unique<T>(*o.ptr) : nullptr} {}
13
- copyable_unique_ptr &operator=(const copyable_unique_ptr &o) {
14
- this->ptr = o.ptr ? std::make_unique<T>(*o.ptr) : nullptr;
15
- return *this;
16
- }
17
- copyable_unique_ptr(copyable_unique_ptr &&) noexcept = default;
18
- copyable_unique_ptr &operator=(copyable_unique_ptr &&) noexcept = default;
19
-
20
- operator std::unique_ptr<T> &() & { return ptr; }
21
- operator const std::unique_ptr<T> &() const & { return ptr; }
22
- operator std::unique_ptr<T> &&() && { return std::move(ptr); }
23
-
24
- std::unique_ptr<T> &operator->() { return ptr; }
25
- const std::unique_ptr<T> &operator->() const { return ptr; }
26
- auto &operator*() { return *ptr; }
27
- auto &operator*() const { return *ptr; }
28
-
29
- std::unique_ptr<T> ptr;
30
- };
31
-
32
- } // namespace alpaqa::util
@@ -1,9 +0,0 @@
1
- #pragma once
2
-
3
- #include <alpaqa/export.hpp>
4
-
5
- #include <string>
6
- #include <typeinfo>
7
-
8
- /// Get the pretty name of the given type as a string.
9
- ALPAQA_EXPORT std::string demangled_typename(const std::type_info &t);
@@ -1,70 +0,0 @@
1
- #pragma once
2
-
3
- #include <ranges>
4
- #include <utility>
5
-
6
- namespace alpaqa::util {
7
-
8
- template <class Rng>
9
- struct enumerate_t : std::ranges::view_interface<enumerate_t<Rng>> {
10
- Rng rng;
11
-
12
- // P2325R3: https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2325r3.html
13
- enumerate_t() = default;
14
- enumerate_t(Rng rng) : rng{std::forward<Rng>(rng)} {}
15
-
16
- using begin_t = decltype(std::ranges::begin(std::as_const(rng)));
17
- using end_t = decltype(std::ranges::end(std::as_const(rng)));
18
-
19
- struct sentinel_t {
20
- end_t it;
21
- };
22
-
23
- struct iter_t {
24
- // P2325R3: https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2325r3.html
25
- iter_t() = default;
26
- iter_t(begin_t &&it) : it{std::forward<begin_t>(it)} {}
27
-
28
- using index_t = std::ranges::range_difference_t<Rng>;
29
- index_t index{};
30
- begin_t it;
31
-
32
- using difference_type = std::ptrdiff_t;
33
- using value_type = std::tuple<index_t, decltype(*it)>;
34
-
35
- bool operator!=(sentinel_t s) const { return s.it != it; }
36
- bool operator==(sentinel_t s) const { return s.it == it; }
37
- // TODO: For Clang bug
38
- friend bool operator!=(sentinel_t s, const iter_t &i) { return i != s; }
39
- friend bool operator==(sentinel_t s, const iter_t &i) { return i == s; }
40
-
41
- iter_t &operator++() {
42
- ++it;
43
- ++index;
44
- return *this;
45
- }
46
- iter_t operator++(int) const {
47
- auto tmp = *this;
48
- ++*this;
49
- return tmp;
50
- }
51
-
52
- value_type operator*() const { return {index, *it}; }
53
- };
54
-
55
- auto begin() const -> std::input_or_output_iterator auto{
56
- return iter_t{std::ranges::begin(rng)};
57
- }
58
- auto end() const
59
- // -> std::sentinel_for<iter_t> auto
60
- {
61
- return sentinel_t{std::ranges::end(rng)};
62
- }
63
- };
64
-
65
- template <class Rng>
66
- auto enumerate(Rng &&rng) {
67
- return enumerate_t<std::views::all_t<Rng>>{std::forward<Rng>(rng)};
68
- }
69
-
70
- } // namespace alpaqa::util
@@ -1,25 +0,0 @@
1
- #pragma once
2
-
3
- #include <alpaqa/util/quadmath/quadmath.hpp>
4
-
5
- #include <cmath>
6
- #include <complex>
7
- #include <concepts>
8
- #include <type_traits>
9
-
10
- namespace alpaqa {
11
-
12
- template <typename T>
13
- struct is_complex_float : std::false_type {};
14
-
15
- template <std::floating_point T>
16
- struct is_complex_float<std::complex<T>> : std::true_type {};
17
-
18
- template <class T>
19
- inline constexpr bool is_complex_float_v = is_complex_float<T>::value;
20
-
21
- template <typename T>
22
- concept float_or_complex_float =
23
- std::floating_point<T> || is_complex_float_v<T>;
24
-
25
- } // namespace alpaqa
@@ -1,97 +0,0 @@
1
- #pragma once
2
-
3
- #include <alpaqa/config/config.hpp>
4
- #include <span>
5
-
6
- namespace alpaqa::detail {
7
-
8
- template <Config Conf>
9
- struct IndexSet {
10
- USING_ALPAQA_CONFIG(Conf);
11
-
12
- IndexSet(length_t N, length_t n) : N{N}, n{n}, storage{N + N * n} {}
13
-
14
- length_t N;
15
- length_t n;
16
- indexvec storage;
17
-
18
- auto sizes() { return storage.segment(0, N); }
19
- auto sizes() const { return storage.segment(0, N); }
20
- auto indices() { return storage.segment(N, N * n); }
21
- auto indices() const { return storage.segment(N, N * n); }
22
-
23
- crindexvec indices(index_t i) const {
24
- length_t nJ = sizes()(i);
25
- return indices().segment(n * i, nJ);
26
- }
27
-
28
- crindexvec compl_indices(index_t i) const {
29
- length_t nJ = sizes()(i);
30
- length_t nK = n - nJ;
31
- return indices().segment(n * i + nJ, nK);
32
- }
33
-
34
- // Compute the complement of the index set `in`. Write the indices not in
35
- // the input to 'out'.
36
- static void compute_complement(std::span<const index_t> in,
37
- std::span<index_t> out) {
38
- compute_complement(in, out.data(),
39
- static_cast<length_t>(in.size() + out.size()));
40
- }
41
- static void compute_complement(std::span<const index_t> in,
42
- std::span<index_t> out, length_t n) {
43
- assert(in.size() + out.size() == static_cast<size_t>(n));
44
- compute_complement(in, out.data(), n);
45
- }
46
- static void compute_complement(crindexvec in, rindexvec out, length_t n) {
47
- assert(in.size() + out.size() == n);
48
- compute_complement(std::span{in.data(), static_cast<size_t>(in.size())},
49
- out.data(), n);
50
- }
51
-
52
- template <class F>
53
- void update(const F &condition) {
54
- // Evaluate the condition for all indices in the given 'time_step',
55
- // append the indices evaluating to true to 'out', and return the number
56
- // of indices that were appended.
57
- auto build_Jt = [&](index_t time_step, index_t *out) {
58
- index_t j = 0; // index into the array of inactive indices
59
- for (index_t c = 0; c < n; ++c) { // components within time step
60
- if (condition(time_step, c)) // if the component is active,
61
- out[j++] = c; // append the index of this component to J
62
- }
63
- return j; // return the number of elements in J
64
- };
65
-
66
- auto sizes = this->sizes();
67
- auto *indices = this->indices().data();
68
- for (index_t t = 0; t < N; ++t) { // time steps
69
- // Generate the set of inactive indices, J
70
- index_t num_J = build_Jt(t, indices);
71
- sizes(t) = num_J; // save number of inactive indices for later
72
- std::span J{indices, static_cast<size_t>(num_J)};
73
- // Generate the complement, the set of active indices, K
74
- compute_complement(J, indices + num_J, n);
75
- // Prepare for next time step
76
- indices += n;
77
- }
78
- }
79
-
80
- private:
81
- static void compute_complement(std::span<const index_t> in, index_t *out,
82
- length_t n) {
83
- length_t c = 0; // components within time step
84
- length_t k = 0; // index into the array of active indices
85
- // iterate over the array with indices 'in'
86
- for (index_t j : in) { //
87
- for (; c < j; ++c) // for all indices not in J
88
- out[k++] = c; // append the index of this component
89
- ++c; // skip indices in J, i.e. c == j
90
- }
91
- // add final indices not in J
92
- for (; c < n; ++c)
93
- out[k++] = c;
94
- }
95
- };
96
-
97
- } // namespace alpaqa::detail
@@ -1,43 +0,0 @@
1
- #pragma once
2
-
3
- #include <alpaqa/config/config.hpp>
4
- #include <alpaqa/export.h>
5
- #include <iosfwd>
6
- #include <stdexcept>
7
- #include <vector>
8
-
9
- namespace alpaqa::csv {
10
-
11
- struct ALPAQA_EXPORT read_error : std::runtime_error {
12
- using std::runtime_error::runtime_error;
13
- };
14
-
15
- template <std::floating_point F>
16
- void ALPAQA_EXPORT read_row_impl(std::istream &is,
17
- Eigen::Ref<Eigen::VectorX<F>> v,
18
- char sep = ',');
19
-
20
- template <std::floating_point F>
21
- std::vector<F> ALPAQA_EXPORT read_row_std_vector(std::istream &is,
22
- char sep = ',');
23
-
24
- #define ALPAQA_READ_ROW_OVL(type) \
25
- inline void read_row(std::istream &is, Eigen::Ref<Eigen::VectorX<type>> v, \
26
- char sep) { \
27
- return read_row_impl<type>(is, v, sep); \
28
- } \
29
- inline void read_row(std::istream &is, \
30
- Eigen::Ref<Eigen::VectorX<type>> v) { \
31
- return read_row_impl<type>(is, v); \
32
- }
33
-
34
- ALPAQA_READ_ROW_OVL(float)
35
- ALPAQA_READ_ROW_OVL(double)
36
- ALPAQA_READ_ROW_OVL(long double)
37
- // #ifdef ALPAQA_WITH_QUAD_PRECISION
38
- // ALPAQA_READ_ROW_OVL(__float128)
39
- // #endif
40
-
41
- #undef ALPAQA_READ_ROW_OVL
42
-
43
- } // namespace alpaqa::csv
@@ -1,68 +0,0 @@
1
- #pragma once
2
-
3
- #include <concepts>
4
- #include <iterator>
5
- #include <ranges>
6
- #include <type_traits>
7
- #include <utility>
8
-
9
- #if defined(__clang_major__) && __clang_major__ <= 15 && !defined(__clangd__)
10
- #error "Better ranges support required"
11
- #endif
12
-
13
- namespace alpaqa::util {
14
-
15
- template <class It>
16
- struct iter_range_adapter {
17
- // P2325R3: https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2325r3.html
18
- iter_range_adapter() = default;
19
- iter_range_adapter(It it) : it{std::forward<It>(it)} {}
20
- It it;
21
-
22
- struct sentinel_t {};
23
-
24
- struct iter_t : std::remove_cvref_t<It> {
25
- // P2325R3: https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2325r3.html
26
- iter_t() = default;
27
- iter_t(It it) : std::remove_cvref_t<It>{std::forward<It>(it)} {}
28
-
29
- bool operator!=(sentinel_t) const { return static_cast<bool>(*this); }
30
- bool operator==(sentinel_t) const { return !static_cast<bool>(*this); }
31
- // TODO: For Clang bug
32
- friend bool operator!=(sentinel_t s, const iter_t &i) { return i != s; }
33
- friend bool operator==(sentinel_t s, const iter_t &i) { return i == s; }
34
-
35
- iter_t &operator++() {
36
- this->std::remove_cvref_t<It>::operator++();
37
- return *this;
38
- }
39
- iter_t operator++(int i) const {
40
- this->std::remove_cvref_t<It>::operator++(i);
41
- return *this;
42
- }
43
- const iter_t &operator*() const { return *this; }
44
- using value_type = iter_t;
45
- using pointer = iter_t *;
46
- using reference = iter_t &;
47
- using difference_type = std::ptrdiff_t;
48
- };
49
-
50
- auto begin() const & -> std::input_or_output_iterator auto{
51
- return iter_t{it};
52
- }
53
- auto begin() && -> std::input_or_output_iterator auto{
54
- return iter_t{std::forward<It>(it)};
55
- }
56
- auto end() const -> std::sentinel_for<iter_t> auto{ return sentinel_t{}; }
57
- };
58
-
59
- } // namespace alpaqa::util
60
-
61
- // Make iter_range_adapter available as an std::ranges view.
62
- // Iterators remain valid even if the range is destroyed.
63
- // Assume that the user takes care of lifetime, similar to std::span.
64
- #ifndef DOXYGEN
65
- template <class It>
66
- inline constexpr bool ::std::ranges::enable_borrowed_range<
67
- alpaqa::util::iter_range_adapter<It>> = true;
68
- #endif
@@ -1,47 +0,0 @@
1
- #pragma once
2
-
3
- #include <algorithm>
4
- #include <cstddef>
5
- #include <vector>
6
-
7
- namespace alpaqa {
8
-
9
- /// Keep track of the maximum value over a specified horizon length.
10
- template <class T>
11
- class MaxHistory {
12
- public:
13
- MaxHistory(size_t memory) : buffer(std::vector<T>(memory)) {}
14
-
15
- void add(T newt) {
16
- if (full) {
17
- T oldt = std::move(*it);
18
- *it = std::move(newt);
19
- if (*it > max_)
20
- max_ = *it;
21
- else if (oldt == max_)
22
- max_ = *std::max_element(buffer.begin(), buffer.end());
23
- ++it;
24
- if (it == buffer.end())
25
- it = buffer.begin();
26
- } else {
27
- if (it == buffer.begin() || newt > max_)
28
- max_ = newt;
29
- *it = std::move(newt);
30
- ++it;
31
- if (it == buffer.end()) {
32
- it = buffer.begin();
33
- full = true;
34
- }
35
- }
36
- }
37
-
38
- const T &max() const { return max_; }
39
-
40
- private:
41
- std::vector<T> buffer;
42
- bool full = false;
43
- decltype(buffer.begin()) it = buffer.begin();
44
- T max_{};
45
- };
46
-
47
- } // namespace alpaqa
@@ -1,15 +0,0 @@
1
- #pragma once
2
-
3
- namespace alpaqa::util {
4
-
5
- /// Deleter for `std::unique_ptr` that just destructs the object, without
6
- /// deallocating.
7
- template <class T>
8
- struct noop_delete {
9
- constexpr noop_delete() noexcept = default;
10
- template <class U>
11
- constexpr noop_delete(const noop_delete<U> &) noexcept {}
12
- constexpr void operator()(T *t) const noexcept { t->~T(); }
13
- };
14
-
15
- } // namespace alpaqa::util
@@ -1,12 +0,0 @@
1
- #pragma once
2
-
3
- #include <alpaqa/export.h>
4
- #include <stdexcept>
5
-
6
- namespace alpaqa {
7
-
8
- struct ALPAQA_EXPORT not_implemented_error : std::logic_error {
9
- using std::logic_error::logic_error;
10
- };
11
-
12
- } // namespace alpaqa