casadi 3.6.4__cp312-none-win_amd64.whl → 3.6.7__cp312-none-win_amd64.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 (2231) hide show
  1. casadi/_casadi.pyd +0 -0
  2. casadi/bin/libtinyxml2.dll +0 -0
  3. casadi/blasfeo.lib +0 -0
  4. casadi/casadi-cli.exe +0 -0
  5. casadi/casadi.lib +0 -0
  6. casadi/casadi.py +1060 -551
  7. casadi/cbc.exe +0 -0
  8. casadi/clp.exe +0 -0
  9. casadi/cmake/casadi-config-version.cmake +1 -1
  10. casadi/cmake/highs/highs-config.cmake +7 -14
  11. casadi/cmake/highs/highs-targets-release.cmake +13 -13
  12. casadi/cmake/highs/highs-targets.cmake +11 -9
  13. casadi/daqp.lib +0 -0
  14. casadi/fatrop.lib +0 -0
  15. casadi/highs.exe +0 -0
  16. casadi/highs.lib +0 -0
  17. casadi/hpipm.lib +0 -0
  18. casadi/include/casadi/casadi.i +33 -15
  19. casadi/include/casadi/casadi_c.h +2 -0
  20. casadi/include/casadi/config.h +8 -8
  21. casadi/include/casadi/core/casadi_common.hpp +1 -0
  22. casadi/include/casadi/core/casadi_misc.hpp +52 -0
  23. casadi/include/casadi/core/casadi_types.hpp +3 -2
  24. casadi/include/casadi/core/code_generator.hpp +59 -2
  25. casadi/include/casadi/core/core.hpp +1 -0
  26. casadi/include/casadi/core/generic_expression.hpp +1 -1
  27. casadi/include/casadi/core/generic_type.hpp +25 -1
  28. casadi/include/casadi/core/global_options.hpp +2 -0
  29. casadi/include/casadi/core/matrix_decl.hpp +15 -0
  30. casadi/include/casadi/core/mx.hpp +18 -3
  31. casadi/include/casadi/core/optistack.hpp +23 -0
  32. casadi/include/casadi/core/runtime/casadi_nlp.hpp +146 -6
  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/runtime/casadi_sqpmethod.hpp +11 -1
  39. casadi/include/casadi/core/serializing_stream.hpp +2 -2
  40. casadi/include/casadi/core/sparsity.hpp +12 -3
  41. casadi/include/casadi/core/tools.hpp +67 -0
  42. casadi/include/casadi/doc.i +2386 -1539
  43. casadi/include/casadi/doc_merged.i +1620 -1109
  44. casadi/include/casadi/mem.h +1 -0
  45. casadi/include/daqp/api.h +46 -0
  46. casadi/include/daqp/auxiliary.h +29 -0
  47. casadi/include/daqp/bnb.h +32 -0
  48. casadi/include/daqp/codegen.h +18 -0
  49. casadi/include/daqp/constants.h +92 -0
  50. casadi/include/daqp/daqp.h +22 -0
  51. casadi/include/daqp/daqp_prox.h +18 -0
  52. casadi/include/daqp/factorization.h +18 -0
  53. casadi/include/daqp/types.h +161 -0
  54. casadi/include/daqp/utils.h +44 -0
  55. casadi/include/dlfcn.h +94 -0
  56. casadi/include/fatrop/auxiliary/Common.hpp +34 -0
  57. casadi/include/fatrop/auxiliary/DynamicLib.hpp +34 -0
  58. casadi/include/fatrop/auxiliary/FatropOptions.hpp +68 -0
  59. casadi/include/fatrop/auxiliary/FatropVector.hpp +143 -0
  60. casadi/include/fatrop/auxiliary/LinearAlgebra.hpp +88 -0
  61. casadi/include/fatrop/auxiliary/VectorUtils.hpp +54 -0
  62. casadi/include/fatrop/blasfeo_wrapper/LinearAlgebraBlasfeo.hpp +493 -0
  63. casadi/include/fatrop/fatrop.hpp +39 -0
  64. casadi/include/fatrop/function_evaluation/CasadiCodegen.hpp +104 -0
  65. casadi/include/fatrop/function_evaluation/FunctionEvaluation.hpp +60 -0
  66. casadi/include/fatrop/json/json.h +946 -0
  67. casadi/include/fatrop/ocp/CasadiCApiUserdataWrap.hpp +87 -0
  68. casadi/include/fatrop/ocp/DuInfEvaluator.hpp +38 -0
  69. casadi/include/fatrop/ocp/FatropOCP.hpp +161 -0
  70. casadi/include/fatrop/ocp/FatropOCPBuilder.hpp +52 -0
  71. casadi/include/fatrop/ocp/FatropOCPResto.hpp +299 -0
  72. casadi/include/fatrop/ocp/OCP.hpp +82 -0
  73. casadi/include/fatrop/ocp/OCPAbstract.hpp +254 -0
  74. casadi/include/fatrop/ocp/OCPAdapter.hpp +197 -0
  75. casadi/include/fatrop/ocp/OCPCInterface.h +289 -0
  76. casadi/include/fatrop/ocp/OCPDims.hpp +60 -0
  77. casadi/include/fatrop/ocp/OCPInitializer.hpp +41 -0
  78. casadi/include/fatrop/ocp/OCPKKT.hpp +69 -0
  79. casadi/include/fatrop/ocp/OCPLSRiccati.hpp +198 -0
  80. casadi/include/fatrop/ocp/OCPLSScaler.hpp +66 -0
  81. casadi/include/fatrop/ocp/OCPLinearSolver.hpp +75 -0
  82. casadi/include/fatrop/ocp/OCPNoScaling.hpp +42 -0
  83. casadi/include/fatrop/ocp/OCPScalingMethod.hpp +42 -0
  84. casadi/include/fatrop/ocp/StageOCP.hpp +592 -0
  85. casadi/include/fatrop/ocp/StageOCPApplication.hpp +242 -0
  86. casadi/include/fatrop/ocp/StageOCPExpressions.hpp +182 -0
  87. casadi/include/fatrop/ocp/UStageEvalAbstract.hpp +168 -0
  88. casadi/include/fatrop/ocp/UStageOCPImpl.hpp +152 -0
  89. casadi/include/fatrop/quasi_newton/bfgs.hpp +159 -0
  90. casadi/include/fatrop/solver/AlgBuilder.hpp +76 -0
  91. casadi/include/fatrop/solver/AlgStrategy.hpp +33 -0
  92. casadi/include/fatrop/solver/FatropAlg.hpp +121 -0
  93. casadi/include/fatrop/solver/FatropData.hpp +188 -0
  94. casadi/include/fatrop/solver/FatropOptions.hpp +95 -0
  95. casadi/include/fatrop/solver/FatropPrinter.hpp +65 -0
  96. casadi/include/fatrop/solver/FatropStats.hpp +63 -0
  97. casadi/include/fatrop/solver/Filter.hpp +54 -0
  98. casadi/include/fatrop/solver/IterationData.hpp +56 -0
  99. casadi/include/fatrop/solver/LineSearch.hpp +86 -0
  100. casadi/include/fatrop/solver/NLPL1.hpp +263 -0
  101. casadi/include/fatrop/templates/NLPAlg.hpp +104 -0
  102. casadi/include/highs/HConfig.h +6 -5
  103. casadi/include/highs/Highs.h +93 -23
  104. casadi/include/highs/filereaderlp/def.hpp +19 -0
  105. casadi/include/highs/interfaces/highs_c_api.h +200 -24
  106. casadi/include/highs/io/Filereader.h +1 -1
  107. casadi/include/highs/io/FilereaderEms.h +1 -1
  108. casadi/include/highs/io/FilereaderLp.h +1 -1
  109. casadi/include/highs/io/FilereaderMps.h +1 -1
  110. casadi/include/highs/io/HMPSIO.h +1 -1
  111. casadi/include/highs/io/HMpsFF.h +5 -3
  112. casadi/include/highs/io/HighsIO.h +18 -8
  113. casadi/include/highs/io/LoadOptions.h +1 -1
  114. casadi/include/highs/ipm/IpxSolution.h +35 -0
  115. casadi/include/highs/ipm/IpxWrapper.h +1 -1
  116. casadi/include/highs/ipm/basiclu/basiclu.h +161 -0
  117. casadi/include/highs/ipm/basiclu/basiclu_factorize.h +247 -0
  118. casadi/include/highs/ipm/basiclu/basiclu_get_factors.h +108 -0
  119. casadi/include/highs/ipm/basiclu/basiclu_initialize.h +119 -0
  120. casadi/include/highs/ipm/basiclu/basiclu_obj_factorize.h +34 -0
  121. casadi/include/highs/ipm/basiclu/basiclu_obj_free.h +19 -0
  122. casadi/include/highs/ipm/basiclu/basiclu_obj_get_factors.h +34 -0
  123. casadi/include/highs/ipm/basiclu/basiclu_obj_initialize.h +46 -0
  124. casadi/include/highs/ipm/basiclu/basiclu_obj_solve_dense.h +29 -0
  125. casadi/include/highs/ipm/basiclu/basiclu_obj_solve_for_update.h +42 -0
  126. casadi/include/highs/ipm/basiclu/basiclu_obj_solve_sparse.h +32 -0
  127. casadi/include/highs/ipm/basiclu/basiclu_obj_update.h +31 -0
  128. casadi/include/highs/ipm/basiclu/basiclu_object.h +30 -0
  129. casadi/include/highs/ipm/basiclu/basiclu_solve_dense.h +75 -0
  130. casadi/include/highs/ipm/basiclu/basiclu_solve_for_update.h +169 -0
  131. casadi/include/highs/ipm/basiclu/basiclu_solve_sparse.h +112 -0
  132. casadi/include/highs/ipm/basiclu/basiclu_update.h +125 -0
  133. casadi/include/highs/ipm/basiclu/lu_def.h +39 -0
  134. casadi/include/highs/ipm/basiclu/lu_file.h +21 -0
  135. casadi/include/highs/ipm/basiclu/lu_internal.h +220 -0
  136. casadi/include/highs/ipm/basiclu/lu_list.h +168 -0
  137. casadi/include/highs/ipm/ipx/basiclu_kernel.h +20 -0
  138. casadi/include/highs/ipm/ipx/basiclu_wrapper.h +47 -0
  139. casadi/include/highs/ipm/ipx/basis.h +351 -0
  140. casadi/include/highs/ipm/ipx/conjugate_residuals.h +74 -0
  141. casadi/include/highs/ipm/ipx/control.h +163 -0
  142. casadi/include/highs/ipm/ipx/crossover.h +157 -0
  143. casadi/include/highs/ipm/ipx/diagonal_precond.h +45 -0
  144. casadi/include/highs/ipm/ipx/forrest_tomlin.h +102 -0
  145. casadi/include/highs/ipm/ipx/guess_basis.h +21 -0
  146. casadi/include/highs/ipm/ipx/indexed_vector.h +113 -0
  147. casadi/include/highs/ipm/ipx/info.h +27 -0
  148. casadi/include/highs/ipm/ipx/ipm.h +94 -0
  149. casadi/include/highs/ipm/ipx/ipx_c.h +47 -0
  150. casadi/include/highs/ipm/ipx/ipx_config.h +9 -0
  151. casadi/include/highs/ipm/ipx/ipx_info.h +111 -0
  152. casadi/include/highs/ipm/ipx/ipx_internal.h +88 -0
  153. casadi/include/highs/ipm/ipx/ipx_parameters.h +75 -0
  154. casadi/include/highs/ipm/ipx/ipx_status.h +57 -0
  155. casadi/include/highs/ipm/ipx/iterate.h +328 -0
  156. casadi/include/highs/ipm/ipx/kkt_solver.h +70 -0
  157. casadi/include/highs/ipm/ipx/kkt_solver_basis.h +66 -0
  158. casadi/include/highs/ipm/ipx/kkt_solver_diag.h +48 -0
  159. casadi/include/highs/ipm/ipx/linear_operator.h +26 -0
  160. casadi/include/highs/ipm/ipx/lp_solver.h +201 -0
  161. casadi/include/highs/ipm/ipx/lu_factorization.h +79 -0
  162. casadi/include/highs/ipm/ipx/lu_update.h +129 -0
  163. casadi/include/highs/ipm/ipx/maxvolume.h +54 -0
  164. casadi/include/highs/ipm/ipx/model.h +409 -0
  165. casadi/include/highs/ipm/ipx/multistream.h +52 -0
  166. casadi/include/highs/ipm/ipx/normal_matrix.h +44 -0
  167. casadi/include/highs/ipm/ipx/power_method.h +44 -0
  168. casadi/include/highs/ipm/ipx/sparse_matrix.h +195 -0
  169. casadi/include/highs/ipm/ipx/sparse_utils.h +58 -0
  170. casadi/include/highs/ipm/ipx/splitted_normal_matrix.h +63 -0
  171. casadi/include/highs/ipm/ipx/starting_basis.h +39 -0
  172. casadi/include/highs/ipm/ipx/symbolic_invert.h +29 -0
  173. casadi/include/highs/ipm/ipx/timer.h +24 -0
  174. casadi/include/highs/ipm/ipx/utils.h +39 -0
  175. casadi/include/highs/lp_data/HConst.h +20 -10
  176. casadi/include/highs/lp_data/HStruct.h +23 -1
  177. casadi/include/highs/lp_data/HighsAnalysis.h +1 -1
  178. casadi/include/highs/lp_data/HighsCallback.h +10 -3
  179. casadi/include/highs/lp_data/HighsCallbackStruct.h +31 -5
  180. casadi/include/highs/lp_data/HighsDebug.h +1 -1
  181. casadi/include/highs/lp_data/HighsInfo.h +20 -2
  182. casadi/include/highs/lp_data/HighsInfoDebug.h +1 -1
  183. casadi/include/highs/lp_data/HighsLp.h +17 -1
  184. casadi/include/highs/lp_data/HighsLpSolverObject.h +1 -1
  185. casadi/include/highs/lp_data/HighsLpUtils.h +19 -19
  186. casadi/include/highs/lp_data/HighsModelUtils.h +1 -1
  187. casadi/include/highs/lp_data/HighsOptions.h +237 -10
  188. casadi/include/highs/lp_data/HighsRanging.h +1 -1
  189. casadi/include/highs/lp_data/HighsRuntimeOptions.h +2 -2
  190. casadi/include/highs/lp_data/HighsSolution.h +2 -2
  191. casadi/include/highs/lp_data/HighsSolutionDebug.h +1 -1
  192. casadi/include/highs/lp_data/HighsSolve.h +3 -1
  193. casadi/include/highs/lp_data/HighsStatus.h +1 -1
  194. casadi/include/highs/mip/HighsCliqueTable.h +4 -4
  195. casadi/include/highs/mip/HighsConflictPool.h +1 -1
  196. casadi/include/highs/mip/HighsCutGeneration.h +1 -1
  197. casadi/include/highs/mip/HighsCutPool.h +2 -2
  198. casadi/include/highs/mip/HighsDebugSol.h +22 -29
  199. casadi/include/highs/mip/HighsDomain.h +10 -2
  200. casadi/include/highs/mip/HighsDomainChange.h +1 -1
  201. casadi/include/highs/mip/HighsDynamicRowMatrix.h +5 -3
  202. casadi/include/highs/mip/HighsGFkSolve.h +3 -3
  203. casadi/include/highs/mip/HighsImplications.h +3 -3
  204. casadi/include/highs/mip/HighsLpAggregator.h +1 -1
  205. casadi/include/highs/mip/HighsLpRelaxation.h +6 -1
  206. casadi/include/highs/mip/HighsMipSolver.h +4 -2
  207. casadi/include/highs/mip/HighsMipSolverData.h +47 -4
  208. casadi/include/highs/mip/HighsModkSeparator.h +2 -2
  209. casadi/include/highs/mip/HighsNodeQueue.h +5 -3
  210. casadi/include/highs/mip/HighsObjectiveFunction.h +1 -1
  211. casadi/include/highs/mip/HighsPathSeparator.h +2 -2
  212. casadi/include/highs/mip/HighsPrimalHeuristics.h +1 -1
  213. casadi/include/highs/mip/HighsPseudocost.h +35 -23
  214. casadi/include/highs/mip/HighsRedcostFixing.h +1 -1
  215. casadi/include/highs/mip/HighsSearch.h +2 -1
  216. casadi/include/highs/mip/HighsSeparation.h +1 -1
  217. casadi/include/highs/mip/HighsSeparator.h +1 -1
  218. casadi/include/highs/mip/HighsTableauSeparator.h +1 -1
  219. casadi/include/highs/mip/HighsTransformedLp.h +1 -1
  220. casadi/include/highs/model/HighsHessian.h +5 -0
  221. casadi/include/highs/model/HighsHessianUtils.h +2 -0
  222. casadi/include/highs/model/HighsModel.h +10 -1
  223. casadi/include/highs/parallel/HighsMutex.h +2 -1
  224. casadi/include/highs/parallel/HighsParallel.h +7 -2
  225. casadi/include/highs/parallel/HighsTask.h +1 -2
  226. casadi/include/highs/pdlp/CupdlpWrapper.h +93 -0
  227. casadi/include/highs/pdlp/cupdlp/cupdlp_cs.h +41 -0
  228. casadi/include/highs/pdlp/cupdlp/cupdlp_defs.h +423 -0
  229. casadi/include/highs/pdlp/cupdlp/cupdlp_linalg.h +183 -0
  230. casadi/include/highs/pdlp/cupdlp/cupdlp_proj.h +19 -0
  231. casadi/include/highs/pdlp/cupdlp/cupdlp_restart.h +31 -0
  232. casadi/include/highs/pdlp/cupdlp/cupdlp_scaling_cuda.h +28 -0
  233. casadi/include/highs/pdlp/cupdlp/cupdlp_solver.h +98 -0
  234. casadi/include/highs/pdlp/cupdlp/cupdlp_step.h +33 -0
  235. casadi/include/highs/pdlp/cupdlp/cupdlp_utils.c +1726 -0
  236. casadi/include/highs/pdqsort/pdqsort.h +532 -0
  237. casadi/include/highs/presolve/HPresolve.h +27 -14
  238. casadi/include/highs/presolve/HPresolveAnalysis.h +1 -1
  239. casadi/include/highs/presolve/HighsPostsolveStack.h +92 -68
  240. casadi/include/highs/presolve/HighsSymmetry.h +6 -5
  241. casadi/include/highs/presolve/ICrash.h +8 -2
  242. casadi/include/highs/presolve/ICrashUtil.h +1 -1
  243. casadi/include/highs/presolve/ICrashX.h +1 -1
  244. casadi/include/highs/presolve/PresolveComponent.h +1 -1
  245. casadi/include/highs/qpsolver/a_asm.hpp +23 -12
  246. casadi/include/highs/qpsolver/a_quass.hpp +8 -1
  247. casadi/include/highs/qpsolver/basis.hpp +150 -0
  248. casadi/include/highs/qpsolver/crashsolution.hpp +12 -0
  249. casadi/include/highs/qpsolver/dantzigpricing.hpp +72 -0
  250. casadi/include/highs/qpsolver/devexpricing.hpp +99 -0
  251. casadi/include/highs/qpsolver/eventhandler.hpp +23 -0
  252. casadi/include/highs/qpsolver/factor.hpp +400 -0
  253. casadi/include/highs/qpsolver/feasibility_bounded.hpp +105 -0
  254. casadi/include/highs/qpsolver/feasibility_highs.hpp +270 -0
  255. casadi/include/highs/qpsolver/gradient.hpp +39 -0
  256. casadi/include/highs/qpsolver/instance.hpp +63 -0
  257. casadi/include/highs/qpsolver/matrix.hpp +335 -0
  258. casadi/include/highs/qpsolver/pricing.hpp +15 -0
  259. casadi/include/highs/qpsolver/qpconst.hpp +27 -0
  260. casadi/include/highs/qpsolver/qpvector.hpp +235 -0
  261. casadi/include/highs/qpsolver/quass.hpp +1 -1
  262. casadi/include/highs/qpsolver/ratiotest.hpp +19 -0
  263. casadi/include/highs/qpsolver/runtime.hpp +38 -0
  264. casadi/include/highs/qpsolver/settings.hpp +57 -0
  265. casadi/include/highs/qpsolver/snippets.hpp +29 -0
  266. casadi/include/highs/qpsolver/statistics.hpp +23 -0
  267. casadi/include/highs/qpsolver/steepestedgepricing.hpp +167 -0
  268. casadi/include/highs/simplex/HApp.h +1 -1
  269. casadi/include/highs/simplex/HEkk.h +52 -18
  270. casadi/include/highs/simplex/HEkkDual.h +1 -1
  271. casadi/include/highs/simplex/HEkkDualRHS.h +6 -7
  272. casadi/include/highs/simplex/HEkkDualRow.h +2 -2
  273. casadi/include/highs/simplex/HEkkPrimal.h +6 -1
  274. casadi/include/highs/simplex/HSimplex.h +1 -3
  275. casadi/include/highs/simplex/HSimplexDebug.h +1 -1
  276. casadi/include/highs/simplex/HSimplexNla.h +1 -1
  277. casadi/include/highs/simplex/HSimplexReport.h +1 -1
  278. casadi/include/highs/simplex/HighsSimplexAnalysis.h +228 -100
  279. casadi/include/highs/simplex/SimplexConst.h +1 -1
  280. casadi/include/highs/simplex/SimplexStruct.h +2 -2
  281. casadi/include/highs/simplex/SimplexTimer.h +1 -1
  282. casadi/include/highs/test/DevKkt.h +1 -1
  283. casadi/include/highs/test/KktCh2.h +1 -1
  284. casadi/include/highs/util/FactorTimer.h +1 -1
  285. casadi/include/highs/util/HFactor.h +35 -6
  286. casadi/include/highs/util/HFactorConst.h +1 -1
  287. casadi/include/highs/util/HFactorDebug.h +1 -1
  288. casadi/include/highs/util/HSet.h +1 -1
  289. casadi/include/highs/util/HVector.h +1 -1
  290. casadi/include/highs/util/HVectorBase.h +1 -1
  291. casadi/include/highs/util/HighsCDouble.h +3 -3
  292. casadi/include/highs/util/HighsComponent.h +1 -1
  293. casadi/include/highs/util/HighsDataStack.h +4 -4
  294. casadi/include/highs/util/HighsDisjointSets.h +1 -1
  295. casadi/include/highs/util/HighsHash.h +28 -21
  296. casadi/include/highs/util/HighsHashTree.h +63 -63
  297. casadi/include/highs/util/HighsInt.h +1 -1
  298. casadi/include/highs/util/HighsIntegers.h +8 -9
  299. casadi/include/highs/util/HighsLinearSumBounds.h +1 -1
  300. casadi/include/highs/util/HighsMatrixPic.h +1 -1
  301. casadi/include/highs/util/HighsMatrixSlice.h +9 -6
  302. casadi/include/highs/util/HighsMatrixUtils.h +1 -1
  303. casadi/include/highs/util/HighsMemoryAllocation.h +55 -0
  304. casadi/include/highs/util/HighsRandom.h +27 -15
  305. casadi/include/highs/util/HighsRbTree.h +2 -2
  306. casadi/include/highs/util/HighsSort.h +7 -7
  307. casadi/include/highs/util/HighsSparseMatrix.h +5 -2
  308. casadi/include/highs/util/HighsSparseVectorSum.h +2 -2
  309. casadi/include/highs/util/HighsSplay.h +1 -1
  310. casadi/include/highs/util/HighsTimer.h +18 -9
  311. casadi/include/highs/util/HighsUtils.h +15 -8
  312. casadi/include/highs/util/stringutil.h +9 -4
  313. casadi/include/highs/zstr/strict_fstream.hpp +237 -0
  314. casadi/include/highs/zstr/zstr.hpp +472 -0
  315. casadi/include/licenses/daqp-external/LICENSE +21 -0
  316. casadi/include/licenses/fatrop-external/LICENSE.txt +165 -0
  317. casadi/include/licenses/fatrop-external/external/blasfeo/LICENSE.txt +26 -0
  318. casadi/include/licenses/fatrop-external/external/pybind11/LICENSE +29 -0
  319. casadi/include/licenses/highs-external/LICENSE.txt +21 -0
  320. casadi/include/osqp/constants.h +2 -3
  321. casadi/include/osqp/version.h +9 -0
  322. casadi/include/sleqp/defs.h +58 -0
  323. casadi/ipopt.lib +0 -0
  324. casadi/lapack.lib +0 -0
  325. casadi/lib/libtinyxml2.dll.a +0 -0
  326. casadi/libCbc-3.dll +0 -0
  327. casadi/libCbc.dll.a +0 -0
  328. casadi/libCbcSolver-3.dll +0 -0
  329. casadi/libCbcSolver.dll.a +0 -0
  330. casadi/libCgl-1.dll +0 -0
  331. casadi/libCgl.dll.a +0 -0
  332. casadi/libClp-1.dll +0 -0
  333. casadi/libClp.dll.a +0 -0
  334. casadi/libClpSolver-1.dll +0 -0
  335. casadi/libClpSolver.dll.a +0 -0
  336. casadi/libCoinUtils-3.dll +0 -0
  337. casadi/libCoinUtils.dll.a +0 -0
  338. casadi/libOsi-1.dll +0 -0
  339. casadi/libOsi.dll.a +0 -0
  340. casadi/libOsiCbc-3.dll +0 -0
  341. casadi/libOsiCbc.dll.a +0 -0
  342. casadi/libOsiClp-1.dll +0 -0
  343. casadi/libOsiClp.dll.a +0 -0
  344. casadi/libOsiCommonTests-1.dll +0 -0
  345. casadi/libOsiCommonTests.dll.a +0 -0
  346. casadi/libalpaqa.dll +0 -0
  347. casadi/libalpaqa.dll.a +0 -0
  348. casadi/libblasfeo.dll +0 -0
  349. casadi/libblasfeo.dll.a +0 -0
  350. casadi/libbonmin-4.dll +0 -0
  351. casadi/libbonmin.dll.a +0 -0
  352. casadi/libcasadi-tp-openblas.dll +0 -0
  353. casadi/libcasadi-tp-openblas.dll.a +0 -0
  354. casadi/libcasadi.dll +0 -0
  355. casadi/libcasadi.dll.a +0 -0
  356. casadi/libcasadi_conic_cbc.dll +0 -0
  357. casadi/libcasadi_conic_cbc.dll.a +0 -0
  358. casadi/libcasadi_conic_clp.dll +0 -0
  359. casadi/libcasadi_conic_clp.dll.a +0 -0
  360. casadi/libcasadi_conic_cplex.dll +0 -0
  361. casadi/libcasadi_conic_cplex.dll.a +0 -0
  362. casadi/libcasadi_conic_daqp.dll +0 -0
  363. casadi/libcasadi_conic_daqp.dll.a +0 -0
  364. casadi/libcasadi_conic_fatrop.dll +0 -0
  365. casadi/libcasadi_conic_fatrop.dll.a +0 -0
  366. casadi/libcasadi_conic_gurobi.dll +0 -0
  367. casadi/libcasadi_conic_gurobi.dll.a +0 -0
  368. casadi/libcasadi_conic_highs.dll +0 -0
  369. casadi/libcasadi_conic_highs.dll.a +0 -0
  370. casadi/libcasadi_conic_hpipm.dll +0 -0
  371. casadi/libcasadi_conic_hpipm.dll.a +0 -0
  372. casadi/libcasadi_conic_ipqp.dll +0 -0
  373. casadi/libcasadi_conic_ipqp.dll.a +0 -0
  374. casadi/libcasadi_conic_nlpsol.dll +0 -0
  375. casadi/libcasadi_conic_nlpsol.dll.a +0 -0
  376. casadi/libcasadi_conic_osqp.dll +0 -0
  377. casadi/libcasadi_conic_osqp.dll.a +0 -0
  378. casadi/libcasadi_conic_proxqp.dll +0 -0
  379. casadi/libcasadi_conic_proxqp.dll.a +0 -0
  380. casadi/libcasadi_conic_qpoases.dll +0 -0
  381. casadi/libcasadi_conic_qpoases.dll.a +0 -0
  382. casadi/libcasadi_conic_qrqp.dll +0 -0
  383. casadi/libcasadi_conic_qrqp.dll.a +0 -0
  384. casadi/libcasadi_conic_superscs.dll +0 -0
  385. casadi/libcasadi_conic_superscs.dll.a +0 -0
  386. casadi/libcasadi_importer_shell.dll +0 -0
  387. casadi/libcasadi_importer_shell.dll.a +0 -0
  388. casadi/libcasadi_integrator_collocation.dll +0 -0
  389. casadi/libcasadi_integrator_collocation.dll.a +0 -0
  390. casadi/libcasadi_integrator_cvodes.dll +0 -0
  391. casadi/libcasadi_integrator_cvodes.dll.a +0 -0
  392. casadi/libcasadi_integrator_idas.dll +0 -0
  393. casadi/libcasadi_integrator_idas.dll.a +0 -0
  394. casadi/libcasadi_integrator_rk.dll +0 -0
  395. casadi/libcasadi_integrator_rk.dll.a +0 -0
  396. casadi/libcasadi_interpolant_bspline.dll +0 -0
  397. casadi/libcasadi_interpolant_bspline.dll.a +0 -0
  398. casadi/libcasadi_interpolant_linear.dll +0 -0
  399. casadi/libcasadi_interpolant_linear.dll.a +0 -0
  400. casadi/libcasadi_linsol_csparse.dll +0 -0
  401. casadi/libcasadi_linsol_csparse.dll.a +0 -0
  402. casadi/libcasadi_linsol_csparsecholesky.dll +0 -0
  403. casadi/libcasadi_linsol_csparsecholesky.dll.a +0 -0
  404. casadi/libcasadi_linsol_lapacklu.dll +0 -0
  405. casadi/libcasadi_linsol_lapacklu.dll.a +0 -0
  406. casadi/libcasadi_linsol_lapackqr.dll +0 -0
  407. casadi/libcasadi_linsol_lapackqr.dll.a +0 -0
  408. casadi/libcasadi_linsol_ldl.dll +0 -0
  409. casadi/libcasadi_linsol_ldl.dll.a +0 -0
  410. casadi/libcasadi_linsol_lsqr.dll +0 -0
  411. casadi/libcasadi_linsol_lsqr.dll.a +0 -0
  412. casadi/libcasadi_linsol_ma27.dll +0 -0
  413. casadi/libcasadi_linsol_ma27.dll.a +0 -0
  414. casadi/libcasadi_linsol_mumps.dll +0 -0
  415. casadi/libcasadi_linsol_mumps.dll.a +0 -0
  416. casadi/libcasadi_linsol_qr.dll +0 -0
  417. casadi/libcasadi_linsol_qr.dll.a +0 -0
  418. casadi/libcasadi_linsol_symbolicqr.dll +0 -0
  419. casadi/libcasadi_linsol_symbolicqr.dll.a +0 -0
  420. casadi/libcasadi_linsol_tridiag.dll +0 -0
  421. casadi/libcasadi_linsol_tridiag.dll.a +0 -0
  422. casadi/libcasadi_nlpsol_alpaqa.dll +0 -0
  423. casadi/libcasadi_nlpsol_alpaqa.dll.a +0 -0
  424. casadi/libcasadi_nlpsol_ampl.dll +0 -0
  425. casadi/libcasadi_nlpsol_ampl.dll.a +0 -0
  426. casadi/libcasadi_nlpsol_blocksqp.dll +0 -0
  427. casadi/libcasadi_nlpsol_blocksqp.dll.a +0 -0
  428. casadi/libcasadi_nlpsol_bonmin.dll +0 -0
  429. casadi/libcasadi_nlpsol_bonmin.dll.a +0 -0
  430. casadi/libcasadi_nlpsol_fatrop.dll +0 -0
  431. casadi/libcasadi_nlpsol_fatrop.dll.a +0 -0
  432. casadi/libcasadi_nlpsol_feasiblesqpmethod.dll +0 -0
  433. casadi/libcasadi_nlpsol_feasiblesqpmethod.dll.a +0 -0
  434. casadi/libcasadi_nlpsol_ipopt.dll +0 -0
  435. casadi/libcasadi_nlpsol_ipopt.dll.a +0 -0
  436. casadi/libcasadi_nlpsol_knitro.dll +0 -0
  437. casadi/libcasadi_nlpsol_knitro.dll.a +0 -0
  438. casadi/libcasadi_nlpsol_madnlp.dll +0 -0
  439. casadi/libcasadi_nlpsol_madnlp.dll.a +0 -0
  440. casadi/libcasadi_nlpsol_qrsqp.dll +0 -0
  441. casadi/libcasadi_nlpsol_qrsqp.dll.a +0 -0
  442. casadi/libcasadi_nlpsol_scpgen.dll +0 -0
  443. casadi/libcasadi_nlpsol_scpgen.dll.a +0 -0
  444. casadi/libcasadi_nlpsol_sleqp.dll +0 -0
  445. casadi/libcasadi_nlpsol_sleqp.dll.a +0 -0
  446. casadi/libcasadi_nlpsol_snopt.dll +0 -0
  447. casadi/libcasadi_nlpsol_snopt.dll.a +0 -0
  448. casadi/libcasadi_nlpsol_sqpmethod.dll +0 -0
  449. casadi/libcasadi_nlpsol_sqpmethod.dll.a +0 -0
  450. casadi/libcasadi_nlpsol_worhp.dll +0 -0
  451. casadi/libcasadi_nlpsol_worhp.dll.a +0 -0
  452. casadi/libcasadi_rootfinder_fast_newton.dll +0 -0
  453. casadi/libcasadi_rootfinder_fast_newton.dll.a +0 -0
  454. casadi/libcasadi_rootfinder_kinsol.dll +0 -0
  455. casadi/libcasadi_rootfinder_kinsol.dll.a +0 -0
  456. casadi/libcasadi_rootfinder_newton.dll +0 -0
  457. casadi/libcasadi_rootfinder_newton.dll.a +0 -0
  458. casadi/libcasadi_rootfinder_nlpsol.dll +0 -0
  459. casadi/libcasadi_rootfinder_nlpsol.dll.a +0 -0
  460. casadi/libcasadi_sundials_common.dll +0 -0
  461. casadi/libcasadi_sundials_common.dll.a +0 -0
  462. casadi/libcasadi_xmlfile_tinyxml.dll +0 -0
  463. casadi/libcasadi_xmlfile_tinyxml.dll.a +0 -0
  464. casadi/libcoinmetis-2.dll +0 -0
  465. casadi/libcoinmetis.dll.a +0 -0
  466. casadi/libcoinmetis.la +1 -1
  467. casadi/libcoinmumps-3.dll +0 -0
  468. casadi/libcoinmumps.dll.a +0 -0
  469. casadi/libcplex_adaptor.dll +0 -0
  470. casadi/libdaqp.dll +0 -0
  471. casadi/libdaqp.dll.a +0 -0
  472. casadi/libdaqpstat.a +0 -0
  473. casadi/libdl.dll +0 -0
  474. casadi/libdl.dll.a +0 -0
  475. casadi/libfatrop.dll +0 -0
  476. casadi/libfatrop.dll.a +0 -0
  477. casadi/libgurobi_adaptor.dll +0 -0
  478. casadi/libhighs.dll +0 -0
  479. casadi/libhighs.dll.a +0 -0
  480. casadi/libhpipm.dll +0 -0
  481. casadi/libhpipm.dll.a +0 -0
  482. casadi/libipopt-3.dll +0 -0
  483. casadi/libipopt.dll.a +0 -0
  484. casadi/libmatlab_ipc.dll +0 -0
  485. casadi/libmatlab_ipc.dll.a +0 -0
  486. casadi/libosqp.a +0 -0
  487. casadi/libosqp.dll +0 -0
  488. casadi/libosqp.dll.a +0 -0
  489. casadi/libqdldl.dll +0 -0
  490. casadi/libqdldl.dll.a +0 -0
  491. casadi/libsipopt-3.dll +0 -0
  492. casadi/libsipopt.dll.a +0 -0
  493. casadi/libsleqp.dll +0 -0
  494. casadi/libsleqp.dll.a +0 -0
  495. casadi/libtinyxml2.dll +0 -0
  496. casadi/libtrlib.dll +0 -0
  497. casadi/libtrlib.dll.a +0 -0
  498. casadi/matlab_ipc.lib +0 -0
  499. casadi/osqp.lib +0 -0
  500. casadi/pkgconfig/casadi.pc +1 -1
  501. casadi/pkgconfig/highs.pc +1 -1
  502. casadi/sleqp.lib +0 -0
  503. casadi/spral_ssids.exe +0 -0
  504. casadi/tools/__init__.py +4 -0
  505. casadi/tools/bounds.py +3 -3
  506. casadi-3.6.7.dist-info/METADATA +45 -0
  507. casadi-3.6.7.dist-info/RECORD +2356 -0
  508. casadi/include/highs/fortran/highs_fortran_api.mod +0 -0
  509. casadi/include/highs/qpsolver/vector.hpp +0 -235
  510. casadi/include/include/eigen3/Eigen/Cholesky +0 -45
  511. casadi/include/include/eigen3/Eigen/CholmodSupport +0 -48
  512. casadi/include/include/eigen3/Eigen/Core +0 -384
  513. casadi/include/include/eigen3/Eigen/Dense +0 -7
  514. casadi/include/include/eigen3/Eigen/Eigen +0 -2
  515. casadi/include/include/eigen3/Eigen/Eigenvalues +0 -60
  516. casadi/include/include/eigen3/Eigen/Geometry +0 -59
  517. casadi/include/include/eigen3/Eigen/Householder +0 -29
  518. casadi/include/include/eigen3/Eigen/IterativeLinearSolvers +0 -48
  519. casadi/include/include/eigen3/Eigen/Jacobi +0 -32
  520. casadi/include/include/eigen3/Eigen/KLUSupport +0 -41
  521. casadi/include/include/eigen3/Eigen/LU +0 -47
  522. casadi/include/include/eigen3/Eigen/MetisSupport +0 -35
  523. casadi/include/include/eigen3/Eigen/OrderingMethods +0 -70
  524. casadi/include/include/eigen3/Eigen/PaStiXSupport +0 -49
  525. casadi/include/include/eigen3/Eigen/PardisoSupport +0 -35
  526. casadi/include/include/eigen3/Eigen/QR +0 -50
  527. casadi/include/include/eigen3/Eigen/QtAlignedMalloc +0 -39
  528. casadi/include/include/eigen3/Eigen/SPQRSupport +0 -34
  529. casadi/include/include/eigen3/Eigen/SVD +0 -50
  530. casadi/include/include/eigen3/Eigen/Sparse +0 -34
  531. casadi/include/include/eigen3/Eigen/SparseCholesky +0 -37
  532. casadi/include/include/eigen3/Eigen/SparseCore +0 -69
  533. casadi/include/include/eigen3/Eigen/SparseLU +0 -50
  534. casadi/include/include/eigen3/Eigen/SparseQR +0 -36
  535. casadi/include/include/eigen3/Eigen/StdDeque +0 -27
  536. casadi/include/include/eigen3/Eigen/StdList +0 -26
  537. casadi/include/include/eigen3/Eigen/StdVector +0 -27
  538. casadi/include/include/eigen3/Eigen/SuperLUSupport +0 -64
  539. casadi/include/include/eigen3/Eigen/UmfPackSupport +0 -40
  540. casadi/include/include/eigen3/Eigen/src/Cholesky/LDLT.h +0 -688
  541. casadi/include/include/eigen3/Eigen/src/Cholesky/LLT.h +0 -558
  542. casadi/include/include/eigen3/Eigen/src/Cholesky/LLT_LAPACKE.h +0 -99
  543. casadi/include/include/eigen3/Eigen/src/CholmodSupport/CholmodSupport.h +0 -682
  544. casadi/include/include/eigen3/Eigen/src/Core/ArithmeticSequence.h +0 -413
  545. casadi/include/include/eigen3/Eigen/src/Core/Array.h +0 -417
  546. casadi/include/include/eigen3/Eigen/src/Core/ArrayBase.h +0 -226
  547. casadi/include/include/eigen3/Eigen/src/Core/ArrayWrapper.h +0 -209
  548. casadi/include/include/eigen3/Eigen/src/Core/Assign.h +0 -90
  549. casadi/include/include/eigen3/Eigen/src/Core/AssignEvaluator.h +0 -1010
  550. casadi/include/include/eigen3/Eigen/src/Core/Assign_MKL.h +0 -178
  551. casadi/include/include/eigen3/Eigen/src/Core/BandMatrix.h +0 -353
  552. casadi/include/include/eigen3/Eigen/src/Core/Block.h +0 -448
  553. casadi/include/include/eigen3/Eigen/src/Core/BooleanRedux.h +0 -162
  554. casadi/include/include/eigen3/Eigen/src/Core/CommaInitializer.h +0 -164
  555. casadi/include/include/eigen3/Eigen/src/Core/ConditionEstimator.h +0 -175
  556. casadi/include/include/eigen3/Eigen/src/Core/CoreEvaluators.h +0 -1741
  557. casadi/include/include/eigen3/Eigen/src/Core/CoreIterators.h +0 -132
  558. casadi/include/include/eigen3/Eigen/src/Core/CwiseBinaryOp.h +0 -183
  559. casadi/include/include/eigen3/Eigen/src/Core/CwiseNullaryOp.h +0 -1001
  560. casadi/include/include/eigen3/Eigen/src/Core/CwiseTernaryOp.h +0 -197
  561. casadi/include/include/eigen3/Eigen/src/Core/CwiseUnaryOp.h +0 -103
  562. casadi/include/include/eigen3/Eigen/src/Core/CwiseUnaryView.h +0 -132
  563. casadi/include/include/eigen3/Eigen/src/Core/DenseBase.h +0 -701
  564. casadi/include/include/eigen3/Eigen/src/Core/DenseCoeffsBase.h +0 -685
  565. casadi/include/include/eigen3/Eigen/src/Core/DenseStorage.h +0 -652
  566. casadi/include/include/eigen3/Eigen/src/Core/Diagonal.h +0 -258
  567. casadi/include/include/eigen3/Eigen/src/Core/DiagonalMatrix.h +0 -391
  568. casadi/include/include/eigen3/Eigen/src/Core/DiagonalProduct.h +0 -28
  569. casadi/include/include/eigen3/Eigen/src/Core/Dot.h +0 -318
  570. casadi/include/include/eigen3/Eigen/src/Core/EigenBase.h +0 -160
  571. casadi/include/include/eigen3/Eigen/src/Core/ForceAlignedAccess.h +0 -150
  572. casadi/include/include/eigen3/Eigen/src/Core/Fuzzy.h +0 -155
  573. casadi/include/include/eigen3/Eigen/src/Core/GeneralProduct.h +0 -465
  574. casadi/include/include/eigen3/Eigen/src/Core/GenericPacketMath.h +0 -1040
  575. casadi/include/include/eigen3/Eigen/src/Core/GlobalFunctions.h +0 -194
  576. casadi/include/include/eigen3/Eigen/src/Core/IO.h +0 -258
  577. casadi/include/include/eigen3/Eigen/src/Core/IndexedView.h +0 -237
  578. casadi/include/include/eigen3/Eigen/src/Core/Inverse.h +0 -117
  579. casadi/include/include/eigen3/Eigen/src/Core/Map.h +0 -171
  580. casadi/include/include/eigen3/Eigen/src/Core/MapBase.h +0 -310
  581. casadi/include/include/eigen3/Eigen/src/Core/MathFunctions.h +0 -2057
  582. casadi/include/include/eigen3/Eigen/src/Core/MathFunctionsImpl.h +0 -200
  583. casadi/include/include/eigen3/Eigen/src/Core/Matrix.h +0 -565
  584. casadi/include/include/eigen3/Eigen/src/Core/MatrixBase.h +0 -547
  585. casadi/include/include/eigen3/Eigen/src/Core/NestByValue.h +0 -85
  586. casadi/include/include/eigen3/Eigen/src/Core/NoAlias.h +0 -109
  587. casadi/include/include/eigen3/Eigen/src/Core/NumTraits.h +0 -335
  588. casadi/include/include/eigen3/Eigen/src/Core/PartialReduxEvaluator.h +0 -232
  589. casadi/include/include/eigen3/Eigen/src/Core/PermutationMatrix.h +0 -605
  590. casadi/include/include/eigen3/Eigen/src/Core/PlainObjectBase.h +0 -1128
  591. casadi/include/include/eigen3/Eigen/src/Core/Product.h +0 -191
  592. casadi/include/include/eigen3/Eigen/src/Core/ProductEvaluators.h +0 -1179
  593. casadi/include/include/eigen3/Eigen/src/Core/Random.h +0 -218
  594. casadi/include/include/eigen3/Eigen/src/Core/Redux.h +0 -515
  595. casadi/include/include/eigen3/Eigen/src/Core/Ref.h +0 -381
  596. casadi/include/include/eigen3/Eigen/src/Core/Replicate.h +0 -142
  597. casadi/include/include/eigen3/Eigen/src/Core/Reshaped.h +0 -454
  598. casadi/include/include/eigen3/Eigen/src/Core/ReturnByValue.h +0 -119
  599. casadi/include/include/eigen3/Eigen/src/Core/Reverse.h +0 -217
  600. casadi/include/include/eigen3/Eigen/src/Core/Select.h +0 -164
  601. casadi/include/include/eigen3/Eigen/src/Core/SelfAdjointView.h +0 -365
  602. casadi/include/include/eigen3/Eigen/src/Core/SelfCwiseBinaryOp.h +0 -47
  603. casadi/include/include/eigen3/Eigen/src/Core/Solve.h +0 -188
  604. casadi/include/include/eigen3/Eigen/src/Core/SolveTriangular.h +0 -235
  605. casadi/include/include/eigen3/Eigen/src/Core/SolverBase.h +0 -168
  606. casadi/include/include/eigen3/Eigen/src/Core/StableNorm.h +0 -251
  607. casadi/include/include/eigen3/Eigen/src/Core/StlIterators.h +0 -463
  608. casadi/include/include/eigen3/Eigen/src/Core/Stride.h +0 -116
  609. casadi/include/include/eigen3/Eigen/src/Core/Swap.h +0 -68
  610. casadi/include/include/eigen3/Eigen/src/Core/Transpose.h +0 -464
  611. casadi/include/include/eigen3/Eigen/src/Core/Transpositions.h +0 -386
  612. casadi/include/include/eigen3/Eigen/src/Core/TriangularMatrix.h +0 -1001
  613. casadi/include/include/eigen3/Eigen/src/Core/VectorBlock.h +0 -96
  614. casadi/include/include/eigen3/Eigen/src/Core/VectorwiseOp.h +0 -784
  615. casadi/include/include/eigen3/Eigen/src/Core/Visitor.h +0 -381
  616. casadi/include/include/eigen3/Eigen/src/Core/arch/AVX/Complex.h +0 -372
  617. casadi/include/include/eigen3/Eigen/src/Core/arch/AVX/MathFunctions.h +0 -228
  618. casadi/include/include/eigen3/Eigen/src/Core/arch/AVX/PacketMath.h +0 -1574
  619. casadi/include/include/eigen3/Eigen/src/Core/arch/AVX/TypeCasting.h +0 -115
  620. casadi/include/include/eigen3/Eigen/src/Core/arch/AVX512/Complex.h +0 -422
  621. casadi/include/include/eigen3/Eigen/src/Core/arch/AVX512/MathFunctions.h +0 -362
  622. casadi/include/include/eigen3/Eigen/src/Core/arch/AVX512/PacketMath.h +0 -2303
  623. casadi/include/include/eigen3/Eigen/src/Core/arch/AVX512/TypeCasting.h +0 -89
  624. casadi/include/include/eigen3/Eigen/src/Core/arch/AltiVec/Complex.h +0 -417
  625. casadi/include/include/eigen3/Eigen/src/Core/arch/AltiVec/MathFunctions.h +0 -90
  626. casadi/include/include/eigen3/Eigen/src/Core/arch/AltiVec/MatrixProduct.h +0 -2937
  627. casadi/include/include/eigen3/Eigen/src/Core/arch/AltiVec/MatrixProductCommon.h +0 -221
  628. casadi/include/include/eigen3/Eigen/src/Core/arch/AltiVec/MatrixProductMMA.h +0 -629
  629. casadi/include/include/eigen3/Eigen/src/Core/arch/AltiVec/PacketMath.h +0 -2711
  630. casadi/include/include/eigen3/Eigen/src/Core/arch/CUDA/Complex.h +0 -258
  631. casadi/include/include/eigen3/Eigen/src/Core/arch/Default/BFloat16.h +0 -700
  632. casadi/include/include/eigen3/Eigen/src/Core/arch/Default/ConjHelper.h +0 -117
  633. casadi/include/include/eigen3/Eigen/src/Core/arch/Default/GenericPacketMathFunctions.h +0 -1649
  634. casadi/include/include/eigen3/Eigen/src/Core/arch/Default/GenericPacketMathFunctionsFwd.h +0 -110
  635. casadi/include/include/eigen3/Eigen/src/Core/arch/Default/Half.h +0 -942
  636. casadi/include/include/eigen3/Eigen/src/Core/arch/Default/Settings.h +0 -49
  637. casadi/include/include/eigen3/Eigen/src/Core/arch/Default/TypeCasting.h +0 -120
  638. casadi/include/include/eigen3/Eigen/src/Core/arch/GPU/MathFunctions.h +0 -103
  639. casadi/include/include/eigen3/Eigen/src/Core/arch/GPU/PacketMath.h +0 -1685
  640. casadi/include/include/eigen3/Eigen/src/Core/arch/GPU/TypeCasting.h +0 -80
  641. casadi/include/include/eigen3/Eigen/src/Core/arch/HIP/hcc/math_constants.h +0 -23
  642. casadi/include/include/eigen3/Eigen/src/Core/arch/MSA/Complex.h +0 -648
  643. casadi/include/include/eigen3/Eigen/src/Core/arch/MSA/MathFunctions.h +0 -387
  644. casadi/include/include/eigen3/Eigen/src/Core/arch/MSA/PacketMath.h +0 -1233
  645. casadi/include/include/eigen3/Eigen/src/Core/arch/NEON/Complex.h +0 -584
  646. casadi/include/include/eigen3/Eigen/src/Core/arch/NEON/GeneralBlockPanelKernel.h +0 -183
  647. casadi/include/include/eigen3/Eigen/src/Core/arch/NEON/MathFunctions.h +0 -75
  648. casadi/include/include/eigen3/Eigen/src/Core/arch/NEON/PacketMath.h +0 -4587
  649. casadi/include/include/eigen3/Eigen/src/Core/arch/NEON/TypeCasting.h +0 -1419
  650. casadi/include/include/eigen3/Eigen/src/Core/arch/SSE/Complex.h +0 -351
  651. casadi/include/include/eigen3/Eigen/src/Core/arch/SSE/MathFunctions.h +0 -199
  652. casadi/include/include/eigen3/Eigen/src/Core/arch/SSE/PacketMath.h +0 -1505
  653. casadi/include/include/eigen3/Eigen/src/Core/arch/SSE/TypeCasting.h +0 -142
  654. casadi/include/include/eigen3/Eigen/src/Core/arch/SVE/MathFunctions.h +0 -44
  655. casadi/include/include/eigen3/Eigen/src/Core/arch/SVE/PacketMath.h +0 -752
  656. casadi/include/include/eigen3/Eigen/src/Core/arch/SVE/TypeCasting.h +0 -49
  657. casadi/include/include/eigen3/Eigen/src/Core/arch/SYCL/InteropHeaders.h +0 -232
  658. casadi/include/include/eigen3/Eigen/src/Core/arch/SYCL/MathFunctions.h +0 -301
  659. casadi/include/include/eigen3/Eigen/src/Core/arch/SYCL/PacketMath.h +0 -670
  660. casadi/include/include/eigen3/Eigen/src/Core/arch/SYCL/SyclMemoryModel.h +0 -694
  661. casadi/include/include/eigen3/Eigen/src/Core/arch/SYCL/TypeCasting.h +0 -85
  662. casadi/include/include/eigen3/Eigen/src/Core/arch/ZVector/Complex.h +0 -426
  663. casadi/include/include/eigen3/Eigen/src/Core/arch/ZVector/MathFunctions.h +0 -233
  664. casadi/include/include/eigen3/Eigen/src/Core/arch/ZVector/PacketMath.h +0 -1060
  665. casadi/include/include/eigen3/Eigen/src/Core/functors/AssignmentFunctors.h +0 -177
  666. casadi/include/include/eigen3/Eigen/src/Core/functors/BinaryFunctors.h +0 -541
  667. casadi/include/include/eigen3/Eigen/src/Core/functors/NullaryFunctors.h +0 -189
  668. casadi/include/include/eigen3/Eigen/src/Core/functors/StlFunctors.h +0 -166
  669. casadi/include/include/eigen3/Eigen/src/Core/functors/TernaryFunctors.h +0 -25
  670. casadi/include/include/eigen3/Eigen/src/Core/functors/UnaryFunctors.h +0 -1131
  671. casadi/include/include/eigen3/Eigen/src/Core/products/GeneralBlockPanelKernel.h +0 -2645
  672. casadi/include/include/eigen3/Eigen/src/Core/products/GeneralMatrixMatrix.h +0 -517
  673. casadi/include/include/eigen3/Eigen/src/Core/products/GeneralMatrixMatrixTriangular.h +0 -317
  674. casadi/include/include/eigen3/Eigen/src/Core/products/GeneralMatrixMatrixTriangular_BLAS.h +0 -145
  675. casadi/include/include/eigen3/Eigen/src/Core/products/GeneralMatrixMatrix_BLAS.h +0 -124
  676. casadi/include/include/eigen3/Eigen/src/Core/products/GeneralMatrixVector.h +0 -518
  677. casadi/include/include/eigen3/Eigen/src/Core/products/GeneralMatrixVector_BLAS.h +0 -136
  678. casadi/include/include/eigen3/Eigen/src/Core/products/Parallelizer.h +0 -180
  679. casadi/include/include/eigen3/Eigen/src/Core/products/SelfadjointMatrixMatrix.h +0 -544
  680. casadi/include/include/eigen3/Eigen/src/Core/products/SelfadjointMatrixMatrix_BLAS.h +0 -295
  681. casadi/include/include/eigen3/Eigen/src/Core/products/SelfadjointMatrixVector.h +0 -262
  682. casadi/include/include/eigen3/Eigen/src/Core/products/SelfadjointMatrixVector_BLAS.h +0 -118
  683. casadi/include/include/eigen3/Eigen/src/Core/products/SelfadjointProduct.h +0 -133
  684. casadi/include/include/eigen3/Eigen/src/Core/products/SelfadjointRank2Update.h +0 -94
  685. casadi/include/include/eigen3/Eigen/src/Core/products/TriangularMatrixMatrix.h +0 -472
  686. casadi/include/include/eigen3/Eigen/src/Core/products/TriangularMatrixMatrix_BLAS.h +0 -317
  687. casadi/include/include/eigen3/Eigen/src/Core/products/TriangularMatrixVector.h +0 -350
  688. casadi/include/include/eigen3/Eigen/src/Core/products/TriangularMatrixVector_BLAS.h +0 -255
  689. casadi/include/include/eigen3/Eigen/src/Core/products/TriangularSolverMatrix.h +0 -337
  690. casadi/include/include/eigen3/Eigen/src/Core/products/TriangularSolverMatrix_BLAS.h +0 -167
  691. casadi/include/include/eigen3/Eigen/src/Core/products/TriangularSolverVector.h +0 -148
  692. casadi/include/include/eigen3/Eigen/src/Core/util/BlasUtil.h +0 -583
  693. casadi/include/include/eigen3/Eigen/src/Core/util/ConfigureVectorization.h +0 -512
  694. casadi/include/include/eigen3/Eigen/src/Core/util/Constants.h +0 -563
  695. casadi/include/include/eigen3/Eigen/src/Core/util/DisableStupidWarnings.h +0 -106
  696. casadi/include/include/eigen3/Eigen/src/Core/util/ForwardDeclarations.h +0 -322
  697. casadi/include/include/eigen3/Eigen/src/Core/util/IndexedViewHelper.h +0 -186
  698. casadi/include/include/eigen3/Eigen/src/Core/util/IntegralConstant.h +0 -272
  699. casadi/include/include/eigen3/Eigen/src/Core/util/MKL_support.h +0 -137
  700. casadi/include/include/eigen3/Eigen/src/Core/util/Macros.h +0 -1464
  701. casadi/include/include/eigen3/Eigen/src/Core/util/Memory.h +0 -1163
  702. casadi/include/include/eigen3/Eigen/src/Core/util/Meta.h +0 -812
  703. casadi/include/include/eigen3/Eigen/src/Core/util/NonMPL2.h +0 -3
  704. casadi/include/include/eigen3/Eigen/src/Core/util/ReenableStupidWarnings.h +0 -31
  705. casadi/include/include/eigen3/Eigen/src/Core/util/ReshapedHelper.h +0 -51
  706. casadi/include/include/eigen3/Eigen/src/Core/util/StaticAssert.h +0 -221
  707. casadi/include/include/eigen3/Eigen/src/Core/util/SymbolicIndex.h +0 -293
  708. casadi/include/include/eigen3/Eigen/src/Core/util/XprHelper.h +0 -856
  709. casadi/include/include/eigen3/Eigen/src/Eigenvalues/ComplexEigenSolver.h +0 -346
  710. casadi/include/include/eigen3/Eigen/src/Eigenvalues/ComplexSchur.h +0 -462
  711. casadi/include/include/eigen3/Eigen/src/Eigenvalues/ComplexSchur_LAPACKE.h +0 -91
  712. casadi/include/include/eigen3/Eigen/src/Eigenvalues/EigenSolver.h +0 -622
  713. casadi/include/include/eigen3/Eigen/src/Eigenvalues/GeneralizedEigenSolver.h +0 -418
  714. casadi/include/include/eigen3/Eigen/src/Eigenvalues/GeneralizedSelfAdjointEigenSolver.h +0 -226
  715. casadi/include/include/eigen3/Eigen/src/Eigenvalues/HessenbergDecomposition.h +0 -374
  716. casadi/include/include/eigen3/Eigen/src/Eigenvalues/MatrixBaseEigenvalues.h +0 -158
  717. casadi/include/include/eigen3/Eigen/src/Eigenvalues/RealQZ.h +0 -657
  718. casadi/include/include/eigen3/Eigen/src/Eigenvalues/RealSchur.h +0 -558
  719. casadi/include/include/eigen3/Eigen/src/Eigenvalues/RealSchur_LAPACKE.h +0 -77
  720. casadi/include/include/eigen3/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h +0 -904
  721. casadi/include/include/eigen3/Eigen/src/Eigenvalues/SelfAdjointEigenSolver_LAPACKE.h +0 -87
  722. casadi/include/include/eigen3/Eigen/src/Eigenvalues/Tridiagonalization.h +0 -561
  723. casadi/include/include/eigen3/Eigen/src/Geometry/AlignedBox.h +0 -486
  724. casadi/include/include/eigen3/Eigen/src/Geometry/AngleAxis.h +0 -247
  725. casadi/include/include/eigen3/Eigen/src/Geometry/EulerAngles.h +0 -114
  726. casadi/include/include/eigen3/Eigen/src/Geometry/Homogeneous.h +0 -501
  727. casadi/include/include/eigen3/Eigen/src/Geometry/Hyperplane.h +0 -282
  728. casadi/include/include/eigen3/Eigen/src/Geometry/OrthoMethods.h +0 -235
  729. casadi/include/include/eigen3/Eigen/src/Geometry/ParametrizedLine.h +0 -232
  730. casadi/include/include/eigen3/Eigen/src/Geometry/Quaternion.h +0 -870
  731. casadi/include/include/eigen3/Eigen/src/Geometry/Rotation2D.h +0 -199
  732. casadi/include/include/eigen3/Eigen/src/Geometry/RotationBase.h +0 -206
  733. casadi/include/include/eigen3/Eigen/src/Geometry/Scaling.h +0 -188
  734. casadi/include/include/eigen3/Eigen/src/Geometry/Transform.h +0 -1563
  735. casadi/include/include/eigen3/Eigen/src/Geometry/Translation.h +0 -202
  736. casadi/include/include/eigen3/Eigen/src/Geometry/Umeyama.h +0 -166
  737. casadi/include/include/eigen3/Eigen/src/Geometry/arch/Geometry_SIMD.h +0 -168
  738. casadi/include/include/eigen3/Eigen/src/Householder/BlockHouseholder.h +0 -110
  739. casadi/include/include/eigen3/Eigen/src/Householder/Householder.h +0 -176
  740. casadi/include/include/eigen3/Eigen/src/Householder/HouseholderSequence.h +0 -545
  741. casadi/include/include/eigen3/Eigen/src/IterativeLinearSolvers/BasicPreconditioners.h +0 -226
  742. casadi/include/include/eigen3/Eigen/src/IterativeLinearSolvers/BiCGSTAB.h +0 -212
  743. casadi/include/include/eigen3/Eigen/src/IterativeLinearSolvers/ConjugateGradient.h +0 -229
  744. casadi/include/include/eigen3/Eigen/src/IterativeLinearSolvers/IncompleteCholesky.h +0 -394
  745. casadi/include/include/eigen3/Eigen/src/IterativeLinearSolvers/IncompleteLUT.h +0 -453
  746. casadi/include/include/eigen3/Eigen/src/IterativeLinearSolvers/IterativeSolverBase.h +0 -444
  747. casadi/include/include/eigen3/Eigen/src/IterativeLinearSolvers/LeastSquareConjugateGradient.h +0 -198
  748. casadi/include/include/eigen3/Eigen/src/IterativeLinearSolvers/SolveWithGuess.h +0 -117
  749. casadi/include/include/eigen3/Eigen/src/Jacobi/Jacobi.h +0 -483
  750. casadi/include/include/eigen3/Eigen/src/KLUSupport/KLUSupport.h +0 -358
  751. casadi/include/include/eigen3/Eigen/src/LU/Determinant.h +0 -117
  752. casadi/include/include/eigen3/Eigen/src/LU/FullPivLU.h +0 -877
  753. casadi/include/include/eigen3/Eigen/src/LU/InverseImpl.h +0 -432
  754. casadi/include/include/eigen3/Eigen/src/LU/PartialPivLU.h +0 -624
  755. casadi/include/include/eigen3/Eigen/src/LU/PartialPivLU_LAPACKE.h +0 -83
  756. casadi/include/include/eigen3/Eigen/src/LU/arch/InverseSize4.h +0 -351
  757. casadi/include/include/eigen3/Eigen/src/MetisSupport/MetisSupport.h +0 -137
  758. casadi/include/include/eigen3/Eigen/src/OrderingMethods/Amd.h +0 -435
  759. casadi/include/include/eigen3/Eigen/src/OrderingMethods/Eigen_Colamd.h +0 -1863
  760. casadi/include/include/eigen3/Eigen/src/OrderingMethods/Ordering.h +0 -153
  761. casadi/include/include/eigen3/Eigen/src/PaStiXSupport/PaStiXSupport.h +0 -678
  762. casadi/include/include/eigen3/Eigen/src/PardisoSupport/PardisoSupport.h +0 -545
  763. casadi/include/include/eigen3/Eigen/src/QR/ColPivHouseholderQR.h +0 -674
  764. casadi/include/include/eigen3/Eigen/src/QR/ColPivHouseholderQR_LAPACKE.h +0 -97
  765. casadi/include/include/eigen3/Eigen/src/QR/CompleteOrthogonalDecomposition.h +0 -635
  766. casadi/include/include/eigen3/Eigen/src/QR/FullPivHouseholderQR.h +0 -713
  767. casadi/include/include/eigen3/Eigen/src/QR/HouseholderQR.h +0 -434
  768. casadi/include/include/eigen3/Eigen/src/QR/HouseholderQR_LAPACKE.h +0 -68
  769. casadi/include/include/eigen3/Eigen/src/SPQRSupport/SuiteSparseQRSupport.h +0 -335
  770. casadi/include/include/eigen3/Eigen/src/SVD/BDCSVD.h +0 -1366
  771. casadi/include/include/eigen3/Eigen/src/SVD/JacobiSVD.h +0 -812
  772. casadi/include/include/eigen3/Eigen/src/SVD/JacobiSVD_LAPACKE.h +0 -91
  773. casadi/include/include/eigen3/Eigen/src/SVD/SVDBase.h +0 -376
  774. casadi/include/include/eigen3/Eigen/src/SVD/UpperBidiagonalization.h +0 -414
  775. casadi/include/include/eigen3/Eigen/src/SparseCholesky/SimplicialCholesky.h +0 -697
  776. casadi/include/include/eigen3/Eigen/src/SparseCholesky/SimplicialCholesky_impl.h +0 -174
  777. casadi/include/include/eigen3/Eigen/src/SparseCore/AmbiVector.h +0 -378
  778. casadi/include/include/eigen3/Eigen/src/SparseCore/CompressedStorage.h +0 -274
  779. casadi/include/include/eigen3/Eigen/src/SparseCore/ConservativeSparseSparseProduct.h +0 -352
  780. casadi/include/include/eigen3/Eigen/src/SparseCore/MappedSparseMatrix.h +0 -67
  781. casadi/include/include/eigen3/Eigen/src/SparseCore/SparseAssign.h +0 -270
  782. casadi/include/include/eigen3/Eigen/src/SparseCore/SparseBlock.h +0 -571
  783. casadi/include/include/eigen3/Eigen/src/SparseCore/SparseColEtree.h +0 -206
  784. casadi/include/include/eigen3/Eigen/src/SparseCore/SparseCompressedBase.h +0 -370
  785. casadi/include/include/eigen3/Eigen/src/SparseCore/SparseCwiseBinaryOp.h +0 -722
  786. casadi/include/include/eigen3/Eigen/src/SparseCore/SparseCwiseUnaryOp.h +0 -150
  787. casadi/include/include/eigen3/Eigen/src/SparseCore/SparseDenseProduct.h +0 -342
  788. casadi/include/include/eigen3/Eigen/src/SparseCore/SparseDiagonalProduct.h +0 -138
  789. casadi/include/include/eigen3/Eigen/src/SparseCore/SparseDot.h +0 -98
  790. casadi/include/include/eigen3/Eigen/src/SparseCore/SparseFuzzy.h +0 -29
  791. casadi/include/include/eigen3/Eigen/src/SparseCore/SparseMap.h +0 -305
  792. casadi/include/include/eigen3/Eigen/src/SparseCore/SparseMatrix.h +0 -1518
  793. casadi/include/include/eigen3/Eigen/src/SparseCore/SparseMatrixBase.h +0 -398
  794. casadi/include/include/eigen3/Eigen/src/SparseCore/SparsePermutation.h +0 -178
  795. casadi/include/include/eigen3/Eigen/src/SparseCore/SparseProduct.h +0 -181
  796. casadi/include/include/eigen3/Eigen/src/SparseCore/SparseRedux.h +0 -49
  797. casadi/include/include/eigen3/Eigen/src/SparseCore/SparseRef.h +0 -397
  798. casadi/include/include/eigen3/Eigen/src/SparseCore/SparseSelfAdjointView.h +0 -659
  799. casadi/include/include/eigen3/Eigen/src/SparseCore/SparseSolverBase.h +0 -124
  800. casadi/include/include/eigen3/Eigen/src/SparseCore/SparseSparseProductWithPruning.h +0 -198
  801. casadi/include/include/eigen3/Eigen/src/SparseCore/SparseTranspose.h +0 -92
  802. casadi/include/include/eigen3/Eigen/src/SparseCore/SparseTriangularView.h +0 -189
  803. casadi/include/include/eigen3/Eigen/src/SparseCore/SparseUtil.h +0 -186
  804. casadi/include/include/eigen3/Eigen/src/SparseCore/SparseVector.h +0 -478
  805. casadi/include/include/eigen3/Eigen/src/SparseCore/SparseView.h +0 -254
  806. casadi/include/include/eigen3/Eigen/src/SparseCore/TriangularSolver.h +0 -315
  807. casadi/include/include/eigen3/Eigen/src/SparseLU/SparseLU.h +0 -923
  808. casadi/include/include/eigen3/Eigen/src/SparseLU/SparseLUImpl.h +0 -66
  809. casadi/include/include/eigen3/Eigen/src/SparseLU/SparseLU_Memory.h +0 -226
  810. casadi/include/include/eigen3/Eigen/src/SparseLU/SparseLU_Structs.h +0 -110
  811. casadi/include/include/eigen3/Eigen/src/SparseLU/SparseLU_SupernodalMatrix.h +0 -375
  812. casadi/include/include/eigen3/Eigen/src/SparseLU/SparseLU_Utils.h +0 -80
  813. casadi/include/include/eigen3/Eigen/src/SparseLU/SparseLU_column_bmod.h +0 -181
  814. casadi/include/include/eigen3/Eigen/src/SparseLU/SparseLU_column_dfs.h +0 -179
  815. casadi/include/include/eigen3/Eigen/src/SparseLU/SparseLU_copy_to_ucol.h +0 -107
  816. casadi/include/include/eigen3/Eigen/src/SparseLU/SparseLU_gemm_kernel.h +0 -280
  817. casadi/include/include/eigen3/Eigen/src/SparseLU/SparseLU_heap_relax_snode.h +0 -126
  818. casadi/include/include/eigen3/Eigen/src/SparseLU/SparseLU_kernel_bmod.h +0 -130
  819. casadi/include/include/eigen3/Eigen/src/SparseLU/SparseLU_panel_bmod.h +0 -223
  820. casadi/include/include/eigen3/Eigen/src/SparseLU/SparseLU_panel_dfs.h +0 -258
  821. casadi/include/include/eigen3/Eigen/src/SparseLU/SparseLU_pivotL.h +0 -137
  822. casadi/include/include/eigen3/Eigen/src/SparseLU/SparseLU_pruneL.h +0 -136
  823. casadi/include/include/eigen3/Eigen/src/SparseLU/SparseLU_relax_snode.h +0 -83
  824. casadi/include/include/eigen3/Eigen/src/SparseQR/SparseQR.h +0 -758
  825. casadi/include/include/eigen3/Eigen/src/StlSupport/StdDeque.h +0 -116
  826. casadi/include/include/eigen3/Eigen/src/StlSupport/StdList.h +0 -106
  827. casadi/include/include/eigen3/Eigen/src/StlSupport/StdVector.h +0 -131
  828. casadi/include/include/eigen3/Eigen/src/StlSupport/details.h +0 -84
  829. casadi/include/include/eigen3/Eigen/src/SuperLUSupport/SuperLUSupport.h +0 -1025
  830. casadi/include/include/eigen3/Eigen/src/UmfPackSupport/UmfPackSupport.h +0 -642
  831. casadi/include/include/eigen3/Eigen/src/misc/Image.h +0 -82
  832. casadi/include/include/eigen3/Eigen/src/misc/Kernel.h +0 -79
  833. casadi/include/include/eigen3/Eigen/src/misc/RealSvd2x2.h +0 -55
  834. casadi/include/include/eigen3/Eigen/src/misc/blas.h +0 -440
  835. casadi/include/include/eigen3/Eigen/src/misc/lapack.h +0 -152
  836. casadi/include/include/eigen3/Eigen/src/misc/lapacke.h +0 -16292
  837. casadi/include/include/eigen3/Eigen/src/plugins/ArrayCwiseBinaryOps.h +0 -358
  838. casadi/include/include/eigen3/Eigen/src/plugins/ArrayCwiseUnaryOps.h +0 -696
  839. casadi/include/include/eigen3/Eigen/src/plugins/BlockMethods.h +0 -1442
  840. casadi/include/include/eigen3/Eigen/src/plugins/CommonCwiseBinaryOps.h +0 -115
  841. casadi/include/include/eigen3/Eigen/src/plugins/CommonCwiseUnaryOps.h +0 -177
  842. casadi/include/include/eigen3/Eigen/src/plugins/IndexedViewMethods.h +0 -262
  843. casadi/include/include/eigen3/Eigen/src/plugins/MatrixCwiseBinaryOps.h +0 -152
  844. casadi/include/include/eigen3/Eigen/src/plugins/MatrixCwiseUnaryOps.h +0 -95
  845. casadi/include/include/eigen3/Eigen/src/plugins/ReshapedMethods.h +0 -149
  846. casadi/include/include/eigen3/signature_of_eigen3_matrix_library +0 -1
  847. casadi/include/include/eigen3/unsupported/Eigen/AdolcForward +0 -159
  848. casadi/include/include/eigen3/unsupported/Eigen/AlignedVector3 +0 -234
  849. casadi/include/include/eigen3/unsupported/Eigen/ArpackSupport +0 -30
  850. casadi/include/include/eigen3/unsupported/Eigen/AutoDiff +0 -46
  851. casadi/include/include/eigen3/unsupported/Eigen/BVH +0 -95
  852. casadi/include/include/eigen3/unsupported/Eigen/CXX11/Tensor +0 -137
  853. casadi/include/include/eigen3/unsupported/Eigen/CXX11/TensorSymmetry +0 -42
  854. casadi/include/include/eigen3/unsupported/Eigen/CXX11/ThreadPool +0 -74
  855. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/Tensor.h +0 -554
  856. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorArgMax.h +0 -329
  857. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorAssign.h +0 -247
  858. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorBase.h +0 -1176
  859. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorBlock.h +0 -1559
  860. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorBroadcasting.h +0 -1093
  861. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorChipping.h +0 -518
  862. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorConcatenation.h +0 -377
  863. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContraction.h +0 -1023
  864. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionBlocking.h +0 -73
  865. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionCuda.h +0 -6
  866. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionGpu.h +0 -1413
  867. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionMapper.h +0 -575
  868. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionSycl.h +0 -1650
  869. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionThreadPool.h +0 -1679
  870. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorConversion.h +0 -456
  871. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorConvolution.h +0 -1132
  872. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorConvolutionSycl.h +0 -544
  873. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorCostModel.h +0 -214
  874. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorCustomOp.h +0 -347
  875. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDevice.h +0 -137
  876. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceCuda.h +0 -6
  877. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceDefault.h +0 -104
  878. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceGpu.h +0 -389
  879. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceSycl.h +0 -1048
  880. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceThreadPool.h +0 -409
  881. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDimensionList.h +0 -236
  882. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDimensions.h +0 -490
  883. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorEvalTo.h +0 -236
  884. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorEvaluator.h +0 -983
  885. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorExecutor.h +0 -703
  886. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorExpr.h +0 -388
  887. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorFFT.h +0 -669
  888. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorFixedSize.h +0 -379
  889. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorForcedEval.h +0 -237
  890. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorForwardDeclarations.h +0 -191
  891. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorFunctors.h +0 -488
  892. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorGenerator.h +0 -302
  893. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorGlobalFunctions.h +0 -33
  894. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorGpuHipCudaDefines.h +0 -99
  895. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorGpuHipCudaUndefines.h +0 -44
  896. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorIO.h +0 -79
  897. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorImagePatch.h +0 -603
  898. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorIndexList.h +0 -738
  899. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorInflation.h +0 -247
  900. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorInitializer.h +0 -82
  901. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorIntDiv.h +0 -263
  902. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorLayoutSwap.h +0 -216
  903. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorMacros.h +0 -98
  904. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorMap.h +0 -327
  905. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorMeta.h +0 -311
  906. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorMorphing.h +0 -1102
  907. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorPadding.h +0 -708
  908. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorPatch.h +0 -291
  909. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorRandom.h +0 -322
  910. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReduction.h +0 -998
  911. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReductionCuda.h +0 -6
  912. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReductionGpu.h +0 -966
  913. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReductionSycl.h +0 -582
  914. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorRef.h +0 -454
  915. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReverse.h +0 -465
  916. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorScan.h +0 -528
  917. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorScanSycl.h +0 -513
  918. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorShuffling.h +0 -471
  919. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorStorage.h +0 -161
  920. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorStriding.h +0 -346
  921. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorTrace.h +0 -303
  922. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorTraits.h +0 -264
  923. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorUInt128.h +0 -249
  924. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorVolumePatch.h +0 -629
  925. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/TensorSymmetry/DynamicSymmetry.h +0 -293
  926. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/TensorSymmetry/StaticSymmetry.h +0 -236
  927. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/TensorSymmetry/Symmetry.h +0 -338
  928. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/TensorSymmetry/util/TemplateGroupTheory.h +0 -669
  929. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/Barrier.h +0 -67
  930. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/EventCount.h +0 -249
  931. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/NonBlockingThreadPool.h +0 -486
  932. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/RunQueue.h +0 -236
  933. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/ThreadCancel.h +0 -23
  934. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/ThreadEnvironment.h +0 -40
  935. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/ThreadLocal.h +0 -301
  936. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/ThreadPoolInterface.h +0 -48
  937. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/ThreadYield.h +0 -20
  938. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/util/CXX11Meta.h +0 -537
  939. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/util/CXX11Workarounds.h +0 -88
  940. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/util/EmulateArray.h +0 -261
  941. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/util/MaxSizeVector.h +0 -158
  942. casadi/include/include/eigen3/unsupported/Eigen/EulerAngles +0 -43
  943. casadi/include/include/eigen3/unsupported/Eigen/FFT +0 -419
  944. casadi/include/include/eigen3/unsupported/Eigen/IterativeSolvers +0 -51
  945. casadi/include/include/eigen3/unsupported/Eigen/KroneckerProduct +0 -36
  946. casadi/include/include/eigen3/unsupported/Eigen/LevenbergMarquardt +0 -49
  947. casadi/include/include/eigen3/unsupported/Eigen/MPRealSupport +0 -213
  948. casadi/include/include/eigen3/unsupported/Eigen/MatrixFunctions +0 -504
  949. casadi/include/include/eigen3/unsupported/Eigen/MoreVectorization +0 -24
  950. casadi/include/include/eigen3/unsupported/Eigen/NonLinearOptimization +0 -140
  951. casadi/include/include/eigen3/unsupported/Eigen/NumericalDiff +0 -56
  952. casadi/include/include/eigen3/unsupported/Eigen/OpenGLSupport +0 -322
  953. casadi/include/include/eigen3/unsupported/Eigen/Polynomials +0 -137
  954. casadi/include/include/eigen3/unsupported/Eigen/Skyline +0 -39
  955. casadi/include/include/eigen3/unsupported/Eigen/SparseExtra +0 -54
  956. casadi/include/include/eigen3/unsupported/Eigen/SpecialFunctions +0 -103
  957. casadi/include/include/eigen3/unsupported/Eigen/Splines +0 -35
  958. casadi/include/include/eigen3/unsupported/Eigen/src/AutoDiff/AutoDiffJacobian.h +0 -108
  959. casadi/include/include/eigen3/unsupported/Eigen/src/AutoDiff/AutoDiffScalar.h +0 -730
  960. casadi/include/include/eigen3/unsupported/Eigen/src/AutoDiff/AutoDiffVector.h +0 -220
  961. casadi/include/include/eigen3/unsupported/Eigen/src/BVH/BVAlgorithms.h +0 -293
  962. casadi/include/include/eigen3/unsupported/Eigen/src/BVH/KdBVH.h +0 -223
  963. casadi/include/include/eigen3/unsupported/Eigen/src/Eigenvalues/ArpackSelfAdjointEigenSolver.h +0 -790
  964. casadi/include/include/eigen3/unsupported/Eigen/src/EulerAngles/EulerAngles.h +0 -355
  965. casadi/include/include/eigen3/unsupported/Eigen/src/EulerAngles/EulerSystem.h +0 -305
  966. casadi/include/include/eigen3/unsupported/Eigen/src/FFT/ei_fftw_impl.h +0 -261
  967. casadi/include/include/eigen3/unsupported/Eigen/src/FFT/ei_kissfft_impl.h +0 -449
  968. casadi/include/include/eigen3/unsupported/Eigen/src/IterativeSolvers/ConstrainedConjGrad.h +0 -187
  969. casadi/include/include/eigen3/unsupported/Eigen/src/IterativeSolvers/DGMRES.h +0 -511
  970. casadi/include/include/eigen3/unsupported/Eigen/src/IterativeSolvers/GMRES.h +0 -335
  971. casadi/include/include/eigen3/unsupported/Eigen/src/IterativeSolvers/IDRS.h +0 -436
  972. casadi/include/include/eigen3/unsupported/Eigen/src/IterativeSolvers/IncompleteLU.h +0 -90
  973. casadi/include/include/eigen3/unsupported/Eigen/src/IterativeSolvers/IterationController.h +0 -154
  974. casadi/include/include/eigen3/unsupported/Eigen/src/IterativeSolvers/MINRES.h +0 -267
  975. casadi/include/include/eigen3/unsupported/Eigen/src/IterativeSolvers/Scaling.h +0 -193
  976. casadi/include/include/eigen3/unsupported/Eigen/src/KroneckerProduct/KroneckerTensorProduct.h +0 -305
  977. casadi/include/include/eigen3/unsupported/Eigen/src/LevenbergMarquardt/LMcovar.h +0 -84
  978. casadi/include/include/eigen3/unsupported/Eigen/src/LevenbergMarquardt/LMonestep.h +0 -202
  979. casadi/include/include/eigen3/unsupported/Eigen/src/LevenbergMarquardt/LMpar.h +0 -160
  980. casadi/include/include/eigen3/unsupported/Eigen/src/LevenbergMarquardt/LMqrsolv.h +0 -188
  981. casadi/include/include/eigen3/unsupported/Eigen/src/LevenbergMarquardt/LevenbergMarquardt.h +0 -396
  982. casadi/include/include/eigen3/unsupported/Eigen/src/MatrixFunctions/MatrixExponential.h +0 -441
  983. casadi/include/include/eigen3/unsupported/Eigen/src/MatrixFunctions/MatrixFunction.h +0 -569
  984. casadi/include/include/eigen3/unsupported/Eigen/src/MatrixFunctions/MatrixLogarithm.h +0 -373
  985. casadi/include/include/eigen3/unsupported/Eigen/src/MatrixFunctions/MatrixPower.h +0 -705
  986. casadi/include/include/eigen3/unsupported/Eigen/src/MatrixFunctions/MatrixSquareRoot.h +0 -368
  987. casadi/include/include/eigen3/unsupported/Eigen/src/MatrixFunctions/StemFunction.h +0 -117
  988. casadi/include/include/eigen3/unsupported/Eigen/src/MoreVectorization/MathFunctions.h +0 -95
  989. casadi/include/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/HybridNonLinearSolver.h +0 -601
  990. casadi/include/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/LevenbergMarquardt.h +0 -657
  991. casadi/include/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/chkder.h +0 -66
  992. casadi/include/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/covar.h +0 -70
  993. casadi/include/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/dogleg.h +0 -107
  994. casadi/include/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/fdjac1.h +0 -79
  995. casadi/include/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/lmpar.h +0 -298
  996. casadi/include/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/qrsolv.h +0 -91
  997. casadi/include/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/r1mpyq.h +0 -30
  998. casadi/include/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/r1updt.h +0 -99
  999. casadi/include/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/rwupdt.h +0 -49
  1000. casadi/include/include/eigen3/unsupported/Eigen/src/NumericalDiff/NumericalDiff.h +0 -130
  1001. casadi/include/include/eigen3/unsupported/Eigen/src/Polynomials/Companion.h +0 -280
  1002. casadi/include/include/eigen3/unsupported/Eigen/src/Polynomials/PolynomialSolver.h +0 -428
  1003. casadi/include/include/eigen3/unsupported/Eigen/src/Polynomials/PolynomialUtils.h +0 -143
  1004. casadi/include/include/eigen3/unsupported/Eigen/src/Skyline/SkylineInplaceLU.h +0 -352
  1005. casadi/include/include/eigen3/unsupported/Eigen/src/Skyline/SkylineMatrix.h +0 -862
  1006. casadi/include/include/eigen3/unsupported/Eigen/src/Skyline/SkylineMatrixBase.h +0 -212
  1007. casadi/include/include/eigen3/unsupported/Eigen/src/Skyline/SkylineProduct.h +0 -295
  1008. casadi/include/include/eigen3/unsupported/Eigen/src/Skyline/SkylineStorage.h +0 -259
  1009. casadi/include/include/eigen3/unsupported/Eigen/src/Skyline/SkylineUtil.h +0 -89
  1010. casadi/include/include/eigen3/unsupported/Eigen/src/SparseExtra/BlockOfDynamicSparseMatrix.h +0 -122
  1011. casadi/include/include/eigen3/unsupported/Eigen/src/SparseExtra/BlockSparseMatrix.h +0 -1079
  1012. casadi/include/include/eigen3/unsupported/Eigen/src/SparseExtra/DynamicSparseMatrix.h +0 -404
  1013. casadi/include/include/eigen3/unsupported/Eigen/src/SparseExtra/MarketIO.h +0 -282
  1014. casadi/include/include/eigen3/unsupported/Eigen/src/SparseExtra/MatrixMarketIterator.h +0 -247
  1015. casadi/include/include/eigen3/unsupported/Eigen/src/SparseExtra/RandomSetter.h +0 -349
  1016. casadi/include/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsArrayAPI.h +0 -286
  1017. casadi/include/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsBFloat16.h +0 -68
  1018. casadi/include/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h +0 -357
  1019. casadi/include/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsHalf.h +0 -66
  1020. casadi/include/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h +0 -1959
  1021. casadi/include/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsPacketMath.h +0 -118
  1022. casadi/include/include/eigen3/unsupported/Eigen/src/SpecialFunctions/HipVectorCompatibility.h +0 -67
  1023. casadi/include/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsArrayAPI.h +0 -167
  1024. casadi/include/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsBFloat16.h +0 -58
  1025. casadi/include/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h +0 -330
  1026. casadi/include/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsHalf.h +0 -58
  1027. casadi/include/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h +0 -2045
  1028. casadi/include/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsPacketMath.h +0 -79
  1029. casadi/include/include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/AVX/BesselFunctions.h +0 -46
  1030. casadi/include/include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/AVX/SpecialFunctions.h +0 -16
  1031. casadi/include/include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/AVX512/BesselFunctions.h +0 -46
  1032. casadi/include/include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/AVX512/SpecialFunctions.h +0 -16
  1033. casadi/include/include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/GPU/SpecialFunctions.h +0 -369
  1034. casadi/include/include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/NEON/BesselFunctions.h +0 -54
  1035. casadi/include/include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/NEON/SpecialFunctions.h +0 -34
  1036. casadi/include/include/eigen3/unsupported/Eigen/src/Splines/Spline.h +0 -507
  1037. casadi/include/include/eigen3/unsupported/Eigen/src/Splines/SplineFitting.h +0 -431
  1038. casadi/include/include/eigen3/unsupported/Eigen/src/Splines/SplineFwd.h +0 -93
  1039. casadi/include/include/highs/HConfig.h +0 -20
  1040. casadi/include/include/highs/Highs.h +0 -1459
  1041. casadi/include/include/highs/filereaderlp/builder.hpp +0 -25
  1042. casadi/include/include/highs/filereaderlp/model.hpp +0 -68
  1043. casadi/include/include/highs/filereaderlp/reader.hpp +0 -10
  1044. casadi/include/include/highs/fortran/highs_fortran_api.mod +0 -0
  1045. casadi/include/include/highs/interfaces/highs_c_api.h +0 -2107
  1046. casadi/include/include/highs/io/Filereader.h +0 -47
  1047. casadi/include/include/highs/io/FilereaderEms.h +0 -33
  1048. casadi/include/include/highs/io/FilereaderLp.h +0 -54
  1049. casadi/include/include/highs/io/FilereaderMps.h +0 -30
  1050. casadi/include/include/highs/io/HMPSIO.h +0 -81
  1051. casadi/include/include/highs/io/HMpsFF.h +0 -233
  1052. casadi/include/include/highs/io/HighsIO.h +0 -99
  1053. casadi/include/include/highs/io/LoadOptions.h +0 -27
  1054. casadi/include/include/highs/ipm/IpxWrapper.h +0 -73
  1055. casadi/include/include/highs/lp_data/HConst.h +0 -295
  1056. casadi/include/include/highs/lp_data/HStruct.h +0 -124
  1057. casadi/include/include/highs/lp_data/HighsAnalysis.h +0 -26
  1058. casadi/include/include/highs/lp_data/HighsCallback.h +0 -33
  1059. casadi/include/include/highs/lp_data/HighsCallbackStruct.h +0 -36
  1060. casadi/include/include/highs/lp_data/HighsDebug.h +0 -37
  1061. casadi/include/include/highs/lp_data/HighsInfo.h +0 -304
  1062. casadi/include/include/highs/lp_data/HighsInfoDebug.h +0 -30
  1063. casadi/include/include/highs/lp_data/HighsLp.h +0 -85
  1064. casadi/include/include/highs/lp_data/HighsLpSolverObject.h +0 -48
  1065. casadi/include/include/highs/lp_data/HighsLpUtils.h +0 -266
  1066. casadi/include/include/highs/lp_data/HighsModelUtils.h +0 -109
  1067. casadi/include/include/highs/lp_data/HighsOptions.h +0 -1130
  1068. casadi/include/include/highs/lp_data/HighsRanging.h +0 -46
  1069. casadi/include/include/highs/lp_data/HighsRuntimeOptions.h +0 -276
  1070. casadi/include/include/highs/lp_data/HighsSolution.h +0 -137
  1071. casadi/include/include/highs/lp_data/HighsSolutionDebug.h +0 -90
  1072. casadi/include/include/highs/lp_data/HighsSolve.h +0 -24
  1073. casadi/include/include/highs/lp_data/HighsStatus.h +0 -32
  1074. casadi/include/include/highs/mip/HighsCliqueTable.h +0 -318
  1075. casadi/include/include/highs/mip/HighsConflictPool.h +0 -112
  1076. casadi/include/include/highs/mip/HighsCutGeneration.h +0 -96
  1077. casadi/include/include/highs/mip/HighsCutPool.h +0 -171
  1078. casadi/include/include/highs/mip/HighsDebugSol.h +0 -142
  1079. casadi/include/include/highs/mip/HighsDomain.h +0 -633
  1080. casadi/include/include/highs/mip/HighsDomainChange.h +0 -51
  1081. casadi/include/include/highs/mip/HighsDynamicRowMatrix.h +0 -105
  1082. casadi/include/include/highs/mip/HighsGFkSolve.h +0 -441
  1083. casadi/include/include/highs/mip/HighsImplications.h +0 -146
  1084. casadi/include/include/highs/mip/HighsLpAggregator.h +0 -53
  1085. casadi/include/include/highs/mip/HighsLpRelaxation.h +0 -355
  1086. casadi/include/include/highs/mip/HighsMipSolver.h +0 -103
  1087. casadi/include/include/highs/mip/HighsMipSolverData.h +0 -193
  1088. casadi/include/include/highs/mip/HighsModkSeparator.h +0 -63
  1089. casadi/include/include/highs/mip/HighsNodeQueue.h +0 -312
  1090. casadi/include/include/highs/mip/HighsObjectiveFunction.h +0 -74
  1091. casadi/include/include/highs/mip/HighsPathSeparator.h +0 -42
  1092. casadi/include/include/highs/mip/HighsPrimalHeuristics.h +0 -68
  1093. casadi/include/include/highs/mip/HighsPseudocost.h +0 -351
  1094. casadi/include/include/highs/mip/HighsRedcostFixing.h +0 -45
  1095. casadi/include/include/highs/mip/HighsSearch.h +0 -243
  1096. casadi/include/include/highs/mip/HighsSeparation.h +0 -44
  1097. casadi/include/include/highs/mip/HighsSeparator.h +0 -56
  1098. casadi/include/include/highs/mip/HighsTableauSeparator.h +0 -37
  1099. casadi/include/include/highs/mip/HighsTransformedLp.h +0 -66
  1100. casadi/include/include/highs/model/HighsHessian.h +0 -49
  1101. casadi/include/include/highs/model/HighsHessianUtils.h +0 -47
  1102. casadi/include/include/highs/model/HighsModel.h +0 -43
  1103. casadi/include/include/highs/parallel/HighsBinarySemaphore.h +0 -113
  1104. casadi/include/include/highs/parallel/HighsCacheAlign.h +0 -87
  1105. casadi/include/include/highs/parallel/HighsCombinable.h +0 -121
  1106. casadi/include/include/highs/parallel/HighsMutex.h +0 -128
  1107. casadi/include/include/highs/parallel/HighsParallel.h +0 -128
  1108. casadi/include/include/highs/parallel/HighsRaceTimer.h +0 -43
  1109. casadi/include/include/highs/parallel/HighsSchedulerConstants.h +0 -24
  1110. casadi/include/include/highs/parallel/HighsSpinMutex.h +0 -53
  1111. casadi/include/include/highs/parallel/HighsSplitDeque.h +0 -583
  1112. casadi/include/include/highs/parallel/HighsTask.h +0 -176
  1113. casadi/include/include/highs/parallel/HighsTaskExecutor.h +0 -209
  1114. casadi/include/include/highs/presolve/HPresolve.h +0 -352
  1115. casadi/include/include/highs/presolve/HPresolveAnalysis.h +0 -54
  1116. casadi/include/include/highs/presolve/HighsPostsolveStack.h +0 -883
  1117. casadi/include/include/highs/presolve/HighsSymmetry.h +0 -283
  1118. casadi/include/include/highs/presolve/ICrash.h +0 -121
  1119. casadi/include/include/highs/presolve/ICrashUtil.h +0 -65
  1120. casadi/include/include/highs/presolve/ICrashX.h +0 -26
  1121. casadi/include/include/highs/presolve/PresolveComponent.h +0 -93
  1122. casadi/include/include/highs/qpsolver/a_asm.hpp +0 -56
  1123. casadi/include/include/highs/qpsolver/a_quass.hpp +0 -12
  1124. casadi/include/include/highs/qpsolver/perturbation.hpp +0 -8
  1125. casadi/include/include/highs/qpsolver/quass.hpp +0 -20
  1126. casadi/include/include/highs/qpsolver/scaling.hpp +0 -8
  1127. casadi/include/include/highs/qpsolver/vector.hpp +0 -235
  1128. casadi/include/include/highs/simplex/HApp.h +0 -422
  1129. casadi/include/include/highs/simplex/HEkk.h +0 -369
  1130. casadi/include/include/highs/simplex/HEkkDual.h +0 -515
  1131. casadi/include/include/highs/simplex/HEkkDualRHS.h +0 -138
  1132. casadi/include/include/highs/simplex/HEkkDualRow.h +0 -204
  1133. casadi/include/include/highs/simplex/HEkkPrimal.h +0 -190
  1134. casadi/include/include/highs/simplex/HSimplex.h +0 -47
  1135. casadi/include/include/highs/simplex/HSimplexDebug.h +0 -51
  1136. casadi/include/include/highs/simplex/HSimplexNla.h +0 -184
  1137. casadi/include/include/highs/simplex/HSimplexReport.h +0 -24
  1138. casadi/include/include/highs/simplex/HighsSimplexAnalysis.h +0 -375
  1139. casadi/include/include/highs/simplex/SimplexConst.h +0 -274
  1140. casadi/include/include/highs/simplex/SimplexStruct.h +0 -264
  1141. casadi/include/include/highs/simplex/SimplexTimer.h +0 -427
  1142. casadi/include/include/highs/test/DevKkt.h +0 -146
  1143. casadi/include/include/highs/test/KktCh2.h +0 -82
  1144. casadi/include/include/highs/util/FactorTimer.h +0 -224
  1145. casadi/include/include/highs/util/HFactor.h +0 -558
  1146. casadi/include/include/highs/util/HFactorConst.h +0 -84
  1147. casadi/include/include/highs/util/HFactorDebug.h +0 -58
  1148. casadi/include/include/highs/util/HSet.h +0 -92
  1149. casadi/include/include/highs/util/HVector.h +0 -25
  1150. casadi/include/include/highs/util/HVectorBase.h +0 -105
  1151. casadi/include/include/highs/util/HighsCDouble.h +0 -310
  1152. casadi/include/include/highs/util/HighsComponent.h +0 -56
  1153. casadi/include/include/highs/util/HighsDataStack.h +0 -86
  1154. casadi/include/include/highs/util/HighsDisjointSets.h +0 -110
  1155. casadi/include/include/highs/util/HighsHash.h +0 -1270
  1156. casadi/include/include/highs/util/HighsHashTree.h +0 -1443
  1157. casadi/include/include/highs/util/HighsInt.h +0 -39
  1158. casadi/include/include/highs/util/HighsIntegers.h +0 -216
  1159. casadi/include/include/highs/util/HighsLinearSumBounds.h +0 -160
  1160. casadi/include/include/highs/util/HighsMatrixPic.h +0 -40
  1161. casadi/include/include/highs/util/HighsMatrixSlice.h +0 -561
  1162. casadi/include/include/highs/util/HighsMatrixUtils.h +0 -57
  1163. casadi/include/include/highs/util/HighsRandom.h +0 -233
  1164. casadi/include/include/highs/util/HighsRbTree.h +0 -455
  1165. casadi/include/include/highs/util/HighsSort.h +0 -134
  1166. casadi/include/include/highs/util/HighsSparseMatrix.h +0 -144
  1167. casadi/include/include/highs/util/HighsSparseVectorSum.h +0 -98
  1168. casadi/include/include/highs/util/HighsSplay.h +0 -138
  1169. casadi/include/include/highs/util/HighsTimer.h +0 -334
  1170. casadi/include/include/highs/util/HighsUtils.h +0 -203
  1171. casadi/include/include/highs/util/stringutil.h +0 -39
  1172. casadi/include/include/openblas/openblas/lapacke_mangling.h +0 -17
  1173. casadi/include/include/osqp/auxil.h +0 -181
  1174. casadi/include/include/osqp/constants.h +0 -129
  1175. casadi/include/include/osqp/cs.h +0 -180
  1176. casadi/include/include/osqp/ctrlc.h +0 -56
  1177. casadi/include/include/osqp/error.h +0 -38
  1178. casadi/include/include/osqp/glob_opts.h +0 -167
  1179. casadi/include/include/osqp/lin_alg.h +0 -216
  1180. casadi/include/include/osqp/lin_sys.h +0 -54
  1181. casadi/include/include/osqp/osqp.h +0 -430
  1182. casadi/include/include/osqp/osqp_configure.h +0 -49
  1183. casadi/include/include/osqp/polish.h +0 -25
  1184. casadi/include/include/osqp/proj.h +0 -37
  1185. casadi/include/include/osqp/scaling.h +0 -44
  1186. casadi/include/include/osqp/types.h +0 -326
  1187. casadi/include/include/osqp/util.h +0 -222
  1188. casadi/include/include/proxsuite/config.hpp +0 -68
  1189. casadi/include/include/proxsuite/deprecated.hpp +0 -56
  1190. casadi/include/include/proxsuite/fwd.hpp +0 -52
  1191. casadi/include/include/proxsuite/helpers/common.hpp +0 -70
  1192. casadi/include/include/proxsuite/helpers/instruction-set.hpp +0 -275
  1193. casadi/include/include/proxsuite/helpers/optional.hpp +0 -46
  1194. casadi/include/include/proxsuite/helpers/tl-optional.hpp +0 -2472
  1195. casadi/include/include/proxsuite/helpers/version.hpp +0 -39
  1196. casadi/include/include/proxsuite/linalg/dense/core.hpp +0 -863
  1197. casadi/include/include/proxsuite/linalg/dense/factorize.hpp +0 -375
  1198. casadi/include/include/proxsuite/linalg/dense/ldlt.hpp +0 -817
  1199. casadi/include/include/proxsuite/linalg/dense/modify.hpp +0 -333
  1200. casadi/include/include/proxsuite/linalg/dense/solve.hpp +0 -38
  1201. casadi/include/include/proxsuite/linalg/dense/update.hpp +0 -330
  1202. casadi/include/include/proxsuite/linalg/sparse/core.hpp +0 -531
  1203. casadi/include/include/proxsuite/linalg/sparse/factorize.hpp +0 -1303
  1204. casadi/include/include/proxsuite/linalg/sparse/rowmod.hpp +0 -443
  1205. casadi/include/include/proxsuite/linalg/sparse/update.hpp +0 -348
  1206. casadi/include/include/proxsuite/linalg/veg/internal/assert_impl.hpp +0 -20
  1207. casadi/include/include/proxsuite/linalg/veg/internal/collection_algo.hpp +0 -93
  1208. casadi/include/include/proxsuite/linalg/veg/internal/dbg.hpp +0 -15
  1209. casadi/include/include/proxsuite/linalg/veg/internal/delete_special_members.hpp +0 -77
  1210. casadi/include/include/proxsuite/linalg/veg/internal/dyn_index.hpp +0 -292
  1211. casadi/include/include/proxsuite/linalg/veg/internal/epilogue.hpp +0 -31
  1212. casadi/include/include/proxsuite/linalg/veg/internal/external/hedley.ext.hpp +0 -2074
  1213. casadi/include/include/proxsuite/linalg/veg/internal/external/unhedley.ext.hpp +0 -148
  1214. casadi/include/include/proxsuite/linalg/veg/internal/fix_index.hpp +0 -339
  1215. casadi/include/include/proxsuite/linalg/veg/internal/has_asan.hpp +0 -17
  1216. casadi/include/include/proxsuite/linalg/veg/internal/integer_seq.hpp +0 -248
  1217. casadi/include/include/proxsuite/linalg/veg/internal/macros.hpp +0 -1312
  1218. casadi/include/include/proxsuite/linalg/veg/internal/narrow.hpp +0 -46
  1219. casadi/include/include/proxsuite/linalg/veg/internal/preprocessor.hpp +0 -434
  1220. casadi/include/include/proxsuite/linalg/veg/internal/prologue.hpp +0 -157
  1221. casadi/include/include/proxsuite/linalg/veg/internal/std.hpp +0 -13
  1222. casadi/include/include/proxsuite/linalg/veg/internal/terminate.hpp +0 -22
  1223. casadi/include/include/proxsuite/linalg/veg/internal/typedefs.hpp +0 -58
  1224. casadi/include/include/proxsuite/linalg/veg/memory/address.hpp +0 -97
  1225. casadi/include/include/proxsuite/linalg/veg/memory/alloc.hpp +0 -352
  1226. casadi/include/include/proxsuite/linalg/veg/memory/dynamic_stack.hpp +0 -504
  1227. casadi/include/include/proxsuite/linalg/veg/memory/placement.hpp +0 -202
  1228. casadi/include/include/proxsuite/linalg/veg/memory/stack_alloc.hpp +0 -239
  1229. casadi/include/include/proxsuite/linalg/veg/ref.hpp +0 -148
  1230. casadi/include/include/proxsuite/linalg/veg/slice.hpp +0 -240
  1231. casadi/include/include/proxsuite/linalg/veg/tuple.hpp +0 -876
  1232. casadi/include/include/proxsuite/linalg/veg/type_traits/alloc.hpp +0 -169
  1233. casadi/include/include/proxsuite/linalg/veg/type_traits/assignable.hpp +0 -53
  1234. casadi/include/include/proxsuite/linalg/veg/type_traits/constructible.hpp +0 -217
  1235. casadi/include/include/proxsuite/linalg/veg/type_traits/core.hpp +0 -298
  1236. casadi/include/include/proxsuite/linalg/veg/type_traits/invocable.hpp +0 -47
  1237. casadi/include/include/proxsuite/linalg/veg/type_traits/primitives.hpp +0 -43
  1238. casadi/include/include/proxsuite/linalg/veg/type_traits/tags.hpp +0 -47
  1239. casadi/include/include/proxsuite/linalg/veg/util/assert.hpp +0 -48
  1240. casadi/include/include/proxsuite/linalg/veg/util/dbg.hpp +0 -6
  1241. casadi/include/include/proxsuite/linalg/veg/util/defer.hpp +0 -57
  1242. casadi/include/include/proxsuite/linalg/veg/util/dynstack_alloc.hpp +0 -19
  1243. casadi/include/include/proxsuite/linalg/veg/util/get.hpp +0 -153
  1244. casadi/include/include/proxsuite/linalg/veg/util/index.hpp +0 -6
  1245. casadi/include/include/proxsuite/linalg/veg/util/unreachable.hpp +0 -41
  1246. casadi/include/include/proxsuite/linalg/veg/vec.hpp +0 -1034
  1247. casadi/include/include/proxsuite/proxqp/dense/dense.hpp +0 -10
  1248. casadi/include/include/proxsuite/proxqp/dense/fwd.hpp +0 -55
  1249. casadi/include/include/proxsuite/proxqp/dense/helpers.hpp +0 -520
  1250. casadi/include/include/proxsuite/proxqp/dense/linesearch.hpp +0 -517
  1251. casadi/include/include/proxsuite/proxqp/dense/model.hpp +0 -147
  1252. casadi/include/include/proxsuite/proxqp/dense/preconditioner/identity.hpp +0 -113
  1253. casadi/include/include/proxsuite/proxqp/dense/preconditioner/ruiz.hpp +0 -571
  1254. casadi/include/include/proxsuite/proxqp/dense/solver.hpp +0 -1330
  1255. casadi/include/include/proxsuite/proxqp/dense/utils.hpp +0 -415
  1256. casadi/include/include/proxsuite/proxqp/dense/views.hpp +0 -1466
  1257. casadi/include/include/proxsuite/proxqp/dense/workspace.hpp +0 -264
  1258. casadi/include/include/proxsuite/proxqp/dense/wrapper.hpp +0 -491
  1259. casadi/include/include/proxsuite/proxqp/results.hpp +0 -212
  1260. casadi/include/include/proxsuite/proxqp/settings.hpp +0 -302
  1261. casadi/include/include/proxsuite/proxqp/sparse/fwd.hpp +0 -58
  1262. casadi/include/include/proxsuite/proxqp/sparse/helpers.hpp +0 -309
  1263. casadi/include/include/proxsuite/proxqp/sparse/model.hpp +0 -228
  1264. casadi/include/include/proxsuite/proxqp/sparse/preconditioner/identity.hpp +0 -64
  1265. casadi/include/include/proxsuite/proxqp/sparse/preconditioner/ruiz.hpp +0 -569
  1266. casadi/include/include/proxsuite/proxqp/sparse/solver.hpp +0 -1441
  1267. casadi/include/include/proxsuite/proxqp/sparse/sparse.hpp +0 -10
  1268. casadi/include/include/proxsuite/proxqp/sparse/utils.hpp +0 -815
  1269. casadi/include/include/proxsuite/proxqp/sparse/views.hpp +0 -63
  1270. casadi/include/include/proxsuite/proxqp/sparse/workspace.hpp +0 -790
  1271. casadi/include/include/proxsuite/proxqp/sparse/wrapper.hpp +0 -772
  1272. casadi/include/include/proxsuite/proxqp/status.hpp +0 -46
  1273. casadi/include/include/proxsuite/proxqp/timings.hpp +0 -101
  1274. casadi/include/include/proxsuite/proxqp/utils/prints.hpp +0 -47
  1275. casadi/include/include/proxsuite/proxqp/utils/random_qp_problems.hpp +0 -669
  1276. casadi/include/include/proxsuite/serialization/archive.hpp +0 -231
  1277. casadi/include/include/proxsuite/serialization/eigen.hpp +0 -107
  1278. casadi/include/include/proxsuite/serialization/model.hpp +0 -34
  1279. casadi/include/include/proxsuite/serialization/results.hpp +0 -74
  1280. casadi/include/include/proxsuite/serialization/settings.hpp +0 -60
  1281. casadi/include/include/proxsuite/serialization/wrapper.hpp +0 -24
  1282. casadi/include/include/proxsuite/warning.hpp +0 -35
  1283. casadi/include/include/simde/arm/neon/aba.h +0 -208
  1284. casadi/include/include/simde/arm/neon/abd.h +0 -384
  1285. casadi/include/include/simde/arm/neon/abdl.h +0 -147
  1286. casadi/include/include/simde/arm/neon/abs.h +0 -408
  1287. casadi/include/include/simde/arm/neon/add.h +0 -681
  1288. casadi/include/include/simde/arm/neon/addl.h +0 -127
  1289. casadi/include/include/simde/arm/neon/addl_high.h +0 -127
  1290. casadi/include/include/simde/arm/neon/addlv.h +0 -317
  1291. casadi/include/include/simde/arm/neon/addv.h +0 -447
  1292. casadi/include/include/simde/arm/neon/addw.h +0 -222
  1293. casadi/include/include/simde/arm/neon/addw_high.h +0 -193
  1294. casadi/include/include/simde/arm/neon/and.h +0 -552
  1295. casadi/include/include/simde/arm/neon/bic.h +0 -472
  1296. casadi/include/include/simde/arm/neon/bsl.h +0 -448
  1297. casadi/include/include/simde/arm/neon/cagt.h +0 -168
  1298. casadi/include/include/simde/arm/neon/ceq.h +0 -711
  1299. casadi/include/include/simde/arm/neon/ceqz.h +0 -335
  1300. casadi/include/include/simde/arm/neon/cge.h +0 -677
  1301. casadi/include/include/simde/arm/neon/cgez.h +0 -378
  1302. casadi/include/include/simde/arm/neon/cgt.h +0 -686
  1303. casadi/include/include/simde/arm/neon/cgtz.h +0 -380
  1304. casadi/include/include/simde/arm/neon/cle.h +0 -677
  1305. casadi/include/include/simde/arm/neon/clez.h +0 -378
  1306. casadi/include/include/simde/arm/neon/cls.h +0 -148
  1307. casadi/include/include/simde/arm/neon/clt.h +0 -679
  1308. casadi/include/include/simde/arm/neon/cltz.h +0 -263
  1309. casadi/include/include/simde/arm/neon/clz.h +0 -423
  1310. casadi/include/include/simde/arm/neon/cnt.h +0 -145
  1311. casadi/include/include/simde/arm/neon/combine.h +0 -343
  1312. casadi/include/include/simde/arm/neon/create.h +0 -186
  1313. casadi/include/include/simde/arm/neon/cvt.h +0 -492
  1314. casadi/include/include/simde/arm/neon/dot.h +0 -171
  1315. casadi/include/include/simde/arm/neon/dot_lane.h +0 -196
  1316. casadi/include/include/simde/arm/neon/dup_lane.h +0 -702
  1317. casadi/include/include/simde/arm/neon/dup_n.h +0 -534
  1318. casadi/include/include/simde/arm/neon/eor.h +0 -552
  1319. casadi/include/include/simde/arm/neon/ext.h +0 -887
  1320. casadi/include/include/simde/arm/neon/get_high.h +0 -260
  1321. casadi/include/include/simde/arm/neon/get_lane.h +0 -499
  1322. casadi/include/include/simde/arm/neon/get_low.h +0 -276
  1323. casadi/include/include/simde/arm/neon/hadd.h +0 -287
  1324. casadi/include/include/simde/arm/neon/hsub.h +0 -287
  1325. casadi/include/include/simde/arm/neon/ld1.h +0 -399
  1326. casadi/include/include/simde/arm/neon/ld3.h +0 -609
  1327. casadi/include/include/simde/arm/neon/ld4.h +0 -448
  1328. casadi/include/include/simde/arm/neon/max.h +0 -614
  1329. casadi/include/include/simde/arm/neon/maxnm.h +0 -215
  1330. casadi/include/include/simde/arm/neon/maxv.h +0 -400
  1331. casadi/include/include/simde/arm/neon/min.h +0 -660
  1332. casadi/include/include/simde/arm/neon/minnm.h +0 -215
  1333. casadi/include/include/simde/arm/neon/minv.h +0 -424
  1334. casadi/include/include/simde/arm/neon/mla.h +0 -530
  1335. casadi/include/include/simde/arm/neon/mla_n.h +0 -333
  1336. casadi/include/include/simde/arm/neon/mlal.h +0 -156
  1337. casadi/include/include/simde/arm/neon/mlal_high.h +0 -156
  1338. casadi/include/include/simde/arm/neon/mlal_n.h +0 -128
  1339. casadi/include/include/simde/arm/neon/mls.h +0 -264
  1340. casadi/include/include/simde/arm/neon/mlsl.h +0 -124
  1341. casadi/include/include/simde/arm/neon/mlsl_high.h +0 -124
  1342. casadi/include/include/simde/arm/neon/mlsl_n.h +0 -96
  1343. casadi/include/include/simde/arm/neon/movl.h +0 -208
  1344. casadi/include/include/simde/arm/neon/movl_high.h +0 -126
  1345. casadi/include/include/simde/arm/neon/movn.h +0 -195
  1346. casadi/include/include/simde/arm/neon/movn_high.h +0 -125
  1347. casadi/include/include/simde/arm/neon/mul.h +0 -594
  1348. casadi/include/include/simde/arm/neon/mul_lane.h +0 -472
  1349. casadi/include/include/simde/arm/neon/mul_n.h +0 -383
  1350. casadi/include/include/simde/arm/neon/mull.h +0 -236
  1351. casadi/include/include/simde/arm/neon/mull_high.h +0 -125
  1352. casadi/include/include/simde/arm/neon/mull_n.h +0 -158
  1353. casadi/include/include/simde/arm/neon/mvn.h +0 -426
  1354. casadi/include/include/simde/arm/neon/neg.h +0 -393
  1355. casadi/include/include/simde/arm/neon/orn.h +0 -505
  1356. casadi/include/include/simde/arm/neon/orr.h +0 -552
  1357. casadi/include/include/simde/arm/neon/padal.h +0 -211
  1358. casadi/include/include/simde/arm/neon/padd.h +0 -293
  1359. casadi/include/include/simde/arm/neon/paddl.h +0 -239
  1360. casadi/include/include/simde/arm/neon/pmax.h +0 -253
  1361. casadi/include/include/simde/arm/neon/pmin.h +0 -260
  1362. casadi/include/include/simde/arm/neon/qabs.h +0 -281
  1363. casadi/include/include/simde/arm/neon/qadd.h +0 -553
  1364. casadi/include/include/simde/arm/neon/qdmulh.h +0 -125
  1365. casadi/include/include/simde/arm/neon/qdmull.h +0 -125
  1366. casadi/include/include/simde/arm/neon/qmovn.h +0 -273
  1367. casadi/include/include/simde/arm/neon/qmovn_high.h +0 -127
  1368. casadi/include/include/simde/arm/neon/qmovun.h +0 -159
  1369. casadi/include/include/simde/arm/neon/qneg.h +0 -301
  1370. casadi/include/include/simde/arm/neon/qrdmulh.h +0 -165
  1371. casadi/include/include/simde/arm/neon/qrdmulh_n.h +0 -136
  1372. casadi/include/include/simde/arm/neon/qshl.h +0 -732
  1373. casadi/include/include/simde/arm/neon/qsub.h +0 -549
  1374. casadi/include/include/simde/arm/neon/qtbl.h +0 -455
  1375. casadi/include/include/simde/arm/neon/qtbx.h +0 -470
  1376. casadi/include/include/simde/arm/neon/rbit.h +0 -165
  1377. casadi/include/include/simde/arm/neon/reinterpret.h +0 -3101
  1378. casadi/include/include/simde/arm/neon/rev16.h +0 -137
  1379. casadi/include/include/simde/arm/neon/rev32.h +0 -235
  1380. casadi/include/include/simde/arm/neon/rev64.h +0 -358
  1381. casadi/include/include/simde/arm/neon/rhadd.h +0 -406
  1382. casadi/include/include/simde/arm/neon/rnd.h +0 -143
  1383. casadi/include/include/simde/arm/neon/rndi.h +0 -135
  1384. casadi/include/include/simde/arm/neon/rndm.h +0 -143
  1385. casadi/include/include/simde/arm/neon/rndn.h +0 -135
  1386. casadi/include/include/simde/arm/neon/rndp.h +0 -143
  1387. casadi/include/include/simde/arm/neon/rshl.h +0 -903
  1388. casadi/include/include/simde/arm/neon/rshr_n.h +0 -471
  1389. casadi/include/include/simde/arm/neon/rsra_n.h +0 -209
  1390. casadi/include/include/simde/arm/neon/set_lane.h +0 -422
  1391. casadi/include/include/simde/arm/neon/shl.h +0 -805
  1392. casadi/include/include/simde/arm/neon/shl_n.h +0 -560
  1393. casadi/include/include/simde/arm/neon/shr_n.h +0 -612
  1394. casadi/include/include/simde/arm/neon/sra_n.h +0 -202
  1395. casadi/include/include/simde/arm/neon/st1.h +0 -353
  1396. casadi/include/include/simde/arm/neon/st1_lane.h +0 -363
  1397. casadi/include/include/simde/arm/neon/st3.h +0 -426
  1398. casadi/include/include/simde/arm/neon/st4.h +0 -445
  1399. casadi/include/include/simde/arm/neon/sub.h +0 -659
  1400. casadi/include/include/simde/arm/neon/subl.h +0 -127
  1401. casadi/include/include/simde/arm/neon/subw.h +0 -221
  1402. casadi/include/include/simde/arm/neon/subw_high.h +0 -222
  1403. casadi/include/include/simde/arm/neon/tbl.h +0 -224
  1404. casadi/include/include/simde/arm/neon/tbx.h +0 -247
  1405. casadi/include/include/simde/arm/neon/trn.h +0 -252
  1406. casadi/include/include/simde/arm/neon/trn1.h +0 -500
  1407. casadi/include/include/simde/arm/neon/trn2.h +0 -499
  1408. casadi/include/include/simde/arm/neon/tst.h +0 -540
  1409. casadi/include/include/simde/arm/neon/types.h +0 -683
  1410. casadi/include/include/simde/arm/neon/uqadd.h +0 -325
  1411. casadi/include/include/simde/arm/neon/uzp.h +0 -252
  1412. casadi/include/include/simde/arm/neon/uzp1.h +0 -643
  1413. casadi/include/include/simde/arm/neon/uzp2.h +0 -647
  1414. casadi/include/include/simde/arm/neon/zip.h +0 -252
  1415. casadi/include/include/simde/arm/neon/zip1.h +0 -625
  1416. casadi/include/include/simde/arm/neon/zip2.h +0 -625
  1417. casadi/include/include/simde/arm/neon.h +0 -166
  1418. casadi/include/include/simde/check.h +0 -276
  1419. casadi/include/include/simde/debug-trap.h +0 -85
  1420. casadi/include/include/simde/hedley.h +0 -1971
  1421. casadi/include/include/simde/simde-align.h +0 -449
  1422. casadi/include/include/simde/simde-arch.h +0 -532
  1423. casadi/include/include/simde/simde-common.h +0 -890
  1424. casadi/include/include/simde/simde-complex.h +0 -148
  1425. casadi/include/include/simde/simde-constify.h +0 -397
  1426. casadi/include/include/simde/simde-detect-clang.h +0 -109
  1427. casadi/include/include/simde/simde-diagnostic.h +0 -428
  1428. casadi/include/include/simde/simde-features.h +0 -522
  1429. casadi/include/include/simde/simde-math.h +0 -1805
  1430. casadi/include/include/simde/x86/avx.h +0 -6193
  1431. casadi/include/include/simde/x86/avx2.h +0 -5660
  1432. casadi/include/include/simde/x86/avx512/2intersect.h +0 -250
  1433. casadi/include/include/simde/x86/avx512/abs.h +0 -562
  1434. casadi/include/include/simde/x86/avx512/add.h +0 -641
  1435. casadi/include/include/simde/x86/avx512/adds.h +0 -390
  1436. casadi/include/include/simde/x86/avx512/and.h +0 -305
  1437. casadi/include/include/simde/x86/avx512/andnot.h +0 -193
  1438. casadi/include/include/simde/x86/avx512/avg.h +0 -258
  1439. casadi/include/include/simde/x86/avx512/blend.h +0 -293
  1440. casadi/include/include/simde/x86/avx512/broadcast.h +0 -897
  1441. casadi/include/include/simde/x86/avx512/cast.h +0 -324
  1442. casadi/include/include/simde/x86/avx512/cmp.h +0 -587
  1443. casadi/include/include/simde/x86/avx512/cmpeq.h +0 -179
  1444. casadi/include/include/simde/x86/avx512/cmpge.h +0 -104
  1445. casadi/include/include/simde/x86/avx512/cmpgt.h +0 -189
  1446. casadi/include/include/simde/x86/avx512/cmple.h +0 -103
  1447. casadi/include/include/simde/x86/avx512/cmplt.h +0 -123
  1448. casadi/include/include/simde/x86/avx512/copysign.h +0 -86
  1449. casadi/include/include/simde/x86/avx512/cvt.h +0 -122
  1450. casadi/include/include/simde/x86/avx512/cvts.h +0 -723
  1451. casadi/include/include/simde/x86/avx512/div.h +0 -162
  1452. casadi/include/include/simde/x86/avx512/extract.h +0 -198
  1453. casadi/include/include/simde/x86/avx512/fmadd.h +0 -136
  1454. casadi/include/include/simde/x86/avx512/fmsub.h +0 -108
  1455. casadi/include/include/simde/x86/avx512/fnmadd.h +0 -108
  1456. casadi/include/include/simde/x86/avx512/fnmsub.h +0 -108
  1457. casadi/include/include/simde/x86/avx512/insert.h +0 -193
  1458. casadi/include/include/simde/x86/avx512/kshift.h +0 -152
  1459. casadi/include/include/simde/x86/avx512/load.h +0 -67
  1460. casadi/include/include/simde/x86/avx512/loadu.h +0 -113
  1461. casadi/include/include/simde/x86/avx512/lzcnt.h +0 -209
  1462. casadi/include/include/simde/x86/avx512/madd.h +0 -155
  1463. casadi/include/include/simde/x86/avx512/maddubs.h +0 -159
  1464. casadi/include/include/simde/x86/avx512/max.h +0 -587
  1465. casadi/include/include/simde/x86/avx512/min.h +0 -587
  1466. casadi/include/include/simde/x86/avx512/mov.h +0 -859
  1467. casadi/include/include/simde/x86/avx512/mov_mask.h +0 -372
  1468. casadi/include/include/simde/x86/avx512/movm.h +0 -460
  1469. casadi/include/include/simde/x86/avx512/mul.h +0 -279
  1470. casadi/include/include/simde/x86/avx512/mulhi.h +0 -65
  1471. casadi/include/include/simde/x86/avx512/mulhrs.h +0 -65
  1472. casadi/include/include/simde/x86/avx512/mullo.h +0 -117
  1473. casadi/include/include/simde/x86/avx512/negate.h +0 -88
  1474. casadi/include/include/simde/x86/avx512/or.h +0 -252
  1475. casadi/include/include/simde/x86/avx512/packs.h +0 -122
  1476. casadi/include/include/simde/x86/avx512/packus.h +0 -122
  1477. casadi/include/include/simde/x86/avx512/permutex2var.h +0 -1645
  1478. casadi/include/include/simde/x86/avx512/permutexvar.h +0 -1180
  1479. casadi/include/include/simde/x86/avx512/sad.h +0 -77
  1480. casadi/include/include/simde/x86/avx512/set.h +0 -477
  1481. casadi/include/include/simde/x86/avx512/set1.h +0 -331
  1482. casadi/include/include/simde/x86/avx512/set4.h +0 -140
  1483. casadi/include/include/simde/x86/avx512/setone.h +0 -66
  1484. casadi/include/include/simde/x86/avx512/setr.h +0 -144
  1485. casadi/include/include/simde/x86/avx512/setr4.h +0 -140
  1486. casadi/include/include/simde/x86/avx512/setzero.h +0 -90
  1487. casadi/include/include/simde/x86/avx512/shuffle.h +0 -176
  1488. casadi/include/include/simde/x86/avx512/sll.h +0 -247
  1489. casadi/include/include/simde/x86/avx512/slli.h +0 -179
  1490. casadi/include/include/simde/x86/avx512/sllv.h +0 -68
  1491. casadi/include/include/simde/x86/avx512/sqrt.h +0 -127
  1492. casadi/include/include/simde/x86/avx512/sra.h +0 -81
  1493. casadi/include/include/simde/x86/avx512/srai.h +0 -70
  1494. casadi/include/include/simde/x86/avx512/srav.h +0 -67
  1495. casadi/include/include/simde/x86/avx512/srl.h +0 -216
  1496. casadi/include/include/simde/x86/avx512/srli.h +0 -180
  1497. casadi/include/include/simde/x86/avx512/srlv.h +0 -282
  1498. casadi/include/include/simde/x86/avx512/store.h +0 -93
  1499. casadi/include/include/simde/x86/avx512/storeu.h +0 -93
  1500. casadi/include/include/simde/x86/avx512/sub.h +0 -351
  1501. casadi/include/include/simde/x86/avx512/subs.h +0 -222
  1502. casadi/include/include/simde/x86/avx512/test.h +0 -193
  1503. casadi/include/include/simde/x86/avx512/types.h +0 -380
  1504. casadi/include/include/simde/x86/avx512/unpackhi.h +0 -380
  1505. casadi/include/include/simde/x86/avx512/unpacklo.h +0 -104
  1506. casadi/include/include/simde/x86/avx512/xor.h +0 -263
  1507. casadi/include/include/simde/x86/avx512/xorsign.h +0 -72
  1508. casadi/include/include/simde/x86/avx512.h +0 -108
  1509. casadi/include/include/simde/x86/clmul.h +0 -414
  1510. casadi/include/include/simde/x86/fma.h +0 -724
  1511. casadi/include/include/simde/x86/gfni.h +0 -802
  1512. casadi/include/include/simde/x86/mmx.h +0 -2399
  1513. casadi/include/include/simde/x86/sse.h +0 -4471
  1514. casadi/include/include/simde/x86/sse2.h +0 -7389
  1515. casadi/include/include/simde/x86/sse3.h +0 -499
  1516. casadi/include/include/simde/x86/sse4.1.h +0 -2216
  1517. casadi/include/include/simde/x86/sse4.2.h +0 -347
  1518. casadi/include/include/simde/x86/ssse3.h +0 -1032
  1519. casadi/include/include/simde/x86/svml.h +0 -12139
  1520. casadi/include/include/simde/x86/xop.h +0 -3644
  1521. casadi/include/include/sleqp/defs.h +0 -58
  1522. casadi/include/include/superscs/cones.h +0 -185
  1523. casadi/include/include/superscs/constants.h +0 -144
  1524. casadi/include/include/superscs/cs.h +0 -109
  1525. casadi/include/include/superscs/ctrlc.h +0 -77
  1526. casadi/include/include/superscs/directions.h +0 -125
  1527. casadi/include/include/superscs/glbopts.h +0 -240
  1528. casadi/include/include/superscs/linAlg.h +0 -437
  1529. casadi/include/include/superscs/linSys.h +0 -205
  1530. casadi/include/include/superscs/linsys/amatrix.h +0 -77
  1531. casadi/include/include/superscs/linsys/common.h +0 -49
  1532. casadi/include/include/superscs/normalize.h +0 -138
  1533. casadi/include/include/superscs/scs.h +0 -656
  1534. casadi/include/include/superscs/scs_blas.h +0 -79
  1535. casadi/include/include/superscs/scs_parser.h +0 -187
  1536. casadi/include/include/superscs/unit_test_util.h +0 -210
  1537. casadi/include/include/superscs/util.h +0 -354
  1538. casadi/include/include/trlib/trlib_eigen_inverse.h +0 -118
  1539. casadi/include/include/trlib/trlib_krylov.h +0 -493
  1540. casadi/include/include/trlib/trlib_leftmost.h +0 -181
  1541. casadi/include/include/trlib/trlib_private.h +0 -109
  1542. casadi/include/include/trlib/trlib_quadratic_zero.h +0 -57
  1543. casadi/include/include/trlib/trlib_tri_factor.h +0 -409
  1544. casadi/include/include/trlib/trlib_types.h +0 -36
  1545. casadi/include/licenses/highs-external/LICENSE +0 -21
  1546. casadi/libFortranHighs.dll +0 -0
  1547. casadi/libFortranHighs.dll.a +0 -0
  1548. casadi-3.6.4.dist-info/METADATA +0 -37
  1549. casadi-3.6.4.dist-info/RECORD +0 -3211
  1550. /casadi/include/{include/alpaqa → alpaqa}/accelerators/anderson.hpp +0 -0
  1551. /casadi/include/{include/alpaqa → alpaqa}/accelerators/internal/anderson-helpers.hpp +0 -0
  1552. /casadi/include/{include/alpaqa → alpaqa}/accelerators/internal/limited-memory-qr.hpp +0 -0
  1553. /casadi/include/{include/alpaqa → alpaqa}/accelerators/lbfgs.hpp +0 -0
  1554. /casadi/include/{include/alpaqa → alpaqa}/accelerators/steihaugcg.hpp +0 -0
  1555. /casadi/include/{include/alpaqa → alpaqa}/alpaqa.hpp +0 -0
  1556. /casadi/include/{include/alpaqa → alpaqa}/casadi/CasADiControlProblem.hpp +0 -0
  1557. /casadi/include/{include/alpaqa → alpaqa}/casadi/CasADiFunctionWrapper.hpp +0 -0
  1558. /casadi/include/{include/alpaqa → alpaqa}/casadi/CasADiProblem.hpp +0 -0
  1559. /casadi/include/{include/alpaqa → alpaqa}/casadi-loader-export.hpp +0 -0
  1560. /casadi/include/{include/alpaqa → alpaqa}/casadi-ocp-loader-export.hpp +0 -0
  1561. /casadi/include/{include/alpaqa → alpaqa}/config/config.hpp +0 -0
  1562. /casadi/include/{include/alpaqa → alpaqa}/dl/dl-problem.h +0 -0
  1563. /casadi/include/{include/alpaqa → alpaqa}/dl/dl-problem.hpp +0 -0
  1564. /casadi/include/{include/alpaqa → alpaqa}/export.h +0 -0
  1565. /casadi/include/{include/alpaqa → alpaqa}/export.hpp +0 -0
  1566. /casadi/include/{include/alpaqa → alpaqa}/implementation/accelerators/lbfgs.tpp +0 -0
  1567. /casadi/include/{include/alpaqa → alpaqa}/implementation/casadi/CasADiControlProblem.tpp +0 -0
  1568. /casadi/include/{include/alpaqa → alpaqa}/implementation/casadi/CasADiLoader-util.hpp +0 -0
  1569. /casadi/include/{include/alpaqa → alpaqa}/implementation/casadi/CasADiProblem.tpp +0 -0
  1570. /casadi/include/{include/alpaqa → alpaqa}/implementation/inner/directions/panoc/structured-lbfgs.tpp +0 -0
  1571. /casadi/include/{include/alpaqa → alpaqa}/implementation/inner/panoc-helpers.tpp +0 -0
  1572. /casadi/include/{include/alpaqa → alpaqa}/implementation/inner/panoc-ocp.tpp +0 -0
  1573. /casadi/include/{include/alpaqa → alpaqa}/implementation/inner/panoc.tpp +0 -0
  1574. /casadi/include/{include/alpaqa → alpaqa}/implementation/inner/pantr.tpp +0 -0
  1575. /casadi/include/{include/alpaqa → alpaqa}/implementation/inner/zerofpr.tpp +0 -0
  1576. /casadi/include/{include/alpaqa → alpaqa}/implementation/outer/alm.tpp +0 -0
  1577. /casadi/include/{include/alpaqa → alpaqa}/implementation/outer/internal/alm-helpers.tpp +0 -0
  1578. /casadi/include/{include/alpaqa → alpaqa}/implementation/params/params.tpp +0 -0
  1579. /casadi/include/{include/alpaqa → alpaqa}/implementation/problem/ocproblem.tpp +0 -0
  1580. /casadi/include/{include/alpaqa → alpaqa}/implementation/problem/type-erased-problem.tpp +0 -0
  1581. /casadi/include/{include/alpaqa → alpaqa}/implementation/util/io/csv.tpp +0 -0
  1582. /casadi/include/{include/alpaqa → alpaqa}/implementation/util/print.tpp +0 -0
  1583. /casadi/include/{include/alpaqa → alpaqa}/inner/directions/panoc/anderson.hpp +0 -0
  1584. /casadi/include/{include/alpaqa → alpaqa}/inner/directions/panoc/lbfgs.hpp +0 -0
  1585. /casadi/include/{include/alpaqa → alpaqa}/inner/directions/panoc/structured-lbfgs.hpp +0 -0
  1586. /casadi/include/{include/alpaqa → alpaqa}/inner/directions/panoc/structured-newton.hpp +0 -0
  1587. /casadi/include/{include/alpaqa → alpaqa}/inner/directions/panoc-direction-update.hpp +0 -0
  1588. /casadi/include/{include/alpaqa → alpaqa}/inner/directions/panoc-ocp/lqr.hpp +0 -0
  1589. /casadi/include/{include/alpaqa → alpaqa}/inner/directions/panoc-ocp/ocp-vars.hpp +0 -0
  1590. /casadi/include/{include/alpaqa → alpaqa}/inner/directions/pantr/newton-tr.hpp +0 -0
  1591. /casadi/include/{include/alpaqa → alpaqa}/inner/directions/pantr/pantr-direction.hpp +0 -0
  1592. /casadi/include/{include/alpaqa → alpaqa}/inner/inner-solve-options.hpp +0 -0
  1593. /casadi/include/{include/alpaqa → alpaqa}/inner/internal/lipschitz.hpp +0 -0
  1594. /casadi/include/{include/alpaqa → alpaqa}/inner/internal/panoc-helpers.hpp +0 -0
  1595. /casadi/include/{include/alpaqa → alpaqa}/inner/internal/panoc-stop-crit.hpp +0 -0
  1596. /casadi/include/{include/alpaqa → alpaqa}/inner/internal/solverstatus.hpp +0 -0
  1597. /casadi/include/{include/alpaqa → alpaqa}/inner/panoc-ocp.hpp +0 -0
  1598. /casadi/include/{include/alpaqa → alpaqa}/inner/panoc.hpp +0 -0
  1599. /casadi/include/{include/alpaqa → alpaqa}/inner/pantr.hpp +0 -0
  1600. /casadi/include/{include/alpaqa → alpaqa}/inner/zerofpr.hpp +0 -0
  1601. /casadi/include/{include/alpaqa → alpaqa}/ipopt/ipopt-adapter.hpp +0 -0
  1602. /casadi/include/{include/alpaqa → alpaqa}/ipopt/ipopt-enums.hpp +0 -0
  1603. /casadi/include/{include/alpaqa → alpaqa}/lbfgsb/lbfgsb-adapter.hpp +0 -0
  1604. /casadi/include/{include/alpaqa → alpaqa}/newton-tr-pantr-alm.hpp +0 -0
  1605. /casadi/include/{include/alpaqa → alpaqa}/outer/alm.hpp +0 -0
  1606. /casadi/include/{include/alpaqa → alpaqa}/outer/internal/alm-helpers.hpp +0 -0
  1607. /casadi/include/{include/alpaqa → alpaqa}/panoc-alm.hpp +0 -0
  1608. /casadi/include/{include/alpaqa → alpaqa}/panoc-anderson-alm.hpp +0 -0
  1609. /casadi/include/{include/alpaqa → alpaqa}/params/params.hpp +0 -0
  1610. /casadi/include/{include/alpaqa → alpaqa}/problem/box-constr-problem.hpp +0 -0
  1611. /casadi/include/{include/alpaqa → alpaqa}/problem/box.hpp +0 -0
  1612. /casadi/include/{include/alpaqa → alpaqa}/problem/functional-problem.hpp +0 -0
  1613. /casadi/include/{include/alpaqa → alpaqa}/problem/kkt-error.hpp +0 -0
  1614. /casadi/include/{include/alpaqa → alpaqa}/problem/ocproblem-counters.hpp +0 -0
  1615. /casadi/include/{include/alpaqa → alpaqa}/problem/ocproblem.hpp +0 -0
  1616. /casadi/include/{include/alpaqa → alpaqa}/problem/problem-counters.hpp +0 -0
  1617. /casadi/include/{include/alpaqa → alpaqa}/problem/problem-with-counters.hpp +0 -0
  1618. /casadi/include/{include/alpaqa → alpaqa}/problem/type-erased-problem.hpp +0 -0
  1619. /casadi/include/{include/alpaqa → alpaqa}/problem/unconstr-problem.hpp +0 -0
  1620. /casadi/include/{include/alpaqa → alpaqa}/structured-panoc-alm.hpp +0 -0
  1621. /casadi/include/{include/alpaqa → alpaqa}/structured-zerofpr-alm.hpp +0 -0
  1622. /casadi/include/{include/alpaqa → alpaqa}/util/alloc-check.hpp +0 -0
  1623. /casadi/include/{include/alpaqa → alpaqa}/util/atomic-stop-signal.hpp +0 -0
  1624. /casadi/include/{include/alpaqa → alpaqa}/util/check-dim.hpp +0 -0
  1625. /casadi/include/{include/alpaqa → alpaqa}/util/copyable_unique_ptr.hpp +0 -0
  1626. /casadi/include/{include/alpaqa → alpaqa}/util/demangled-typename.hpp +0 -0
  1627. /casadi/include/{include/alpaqa → alpaqa}/util/enumerate.hpp +0 -0
  1628. /casadi/include/{include/alpaqa → alpaqa}/util/float.hpp +0 -0
  1629. /casadi/include/{include/alpaqa → alpaqa}/util/index-set.hpp +0 -0
  1630. /casadi/include/{include/alpaqa → alpaqa}/util/io/csv.hpp +0 -0
  1631. /casadi/include/{include/alpaqa → alpaqa}/util/iter-adapter.hpp +0 -0
  1632. /casadi/include/{include/alpaqa → alpaqa}/util/max-history.hpp +0 -0
  1633. /casadi/include/{include/alpaqa → alpaqa}/util/noop-delete.hpp +0 -0
  1634. /casadi/include/{include/alpaqa → alpaqa}/util/not-implemented.hpp +0 -0
  1635. /casadi/include/{include/alpaqa → alpaqa}/util/print.hpp +0 -0
  1636. /casadi/include/{include/alpaqa → alpaqa}/util/quadmath/quadmath-print.hpp +0 -0
  1637. /casadi/include/{include/alpaqa → alpaqa}/util/quadmath/quadmath.hpp +0 -0
  1638. /casadi/include/{include/alpaqa → alpaqa}/util/required-method.hpp +0 -0
  1639. /casadi/include/{include/alpaqa → alpaqa}/util/ringbuffer.hpp +0 -0
  1640. /casadi/include/{include/alpaqa → alpaqa}/util/set-intersection.hpp +0 -0
  1641. /casadi/include/{include/alpaqa → alpaqa}/util/sparse-ops.hpp +0 -0
  1642. /casadi/include/{include/alpaqa → alpaqa}/util/timed.hpp +0 -0
  1643. /casadi/include/{include/alpaqa → alpaqa}/util/type-erasure.hpp +0 -0
  1644. /casadi/include/{include/alpaqa → alpaqa}/util/type-traits.hpp +0 -0
  1645. /casadi/include/{include/alpaqa → alpaqa}/zerofpr-alm.hpp +0 -0
  1646. /casadi/include/{include/alpaqa → alpaqa}/zerofpr-anderson-alm.hpp +0 -0
  1647. /casadi/include/{include/alpaqa-version.h → alpaqa-version.h} +0 -0
  1648. /casadi/include/{include/blasfeo.h → blasfeo.h} +0 -0
  1649. /casadi/include/{include/blasfeo_block_size.h → blasfeo_block_size.h} +0 -0
  1650. /casadi/include/{include/blasfeo_common.h → blasfeo_common.h} +0 -0
  1651. /casadi/include/{include/blasfeo_d_aux.h → blasfeo_d_aux.h} +0 -0
  1652. /casadi/include/{include/blasfeo_d_aux_ext_dep.h → blasfeo_d_aux_ext_dep.h} +0 -0
  1653. /casadi/include/{include/blasfeo_d_aux_ext_dep_ref.h → blasfeo_d_aux_ext_dep_ref.h} +0 -0
  1654. /casadi/include/{include/blasfeo_d_aux_old.h → blasfeo_d_aux_old.h} +0 -0
  1655. /casadi/include/{include/blasfeo_d_aux_ref.h → blasfeo_d_aux_ref.h} +0 -0
  1656. /casadi/include/{include/blasfeo_d_aux_test.h → blasfeo_d_aux_test.h} +0 -0
  1657. /casadi/include/{include/blasfeo_d_blas.h → blasfeo_d_blas.h} +0 -0
  1658. /casadi/include/{include/blasfeo_d_blas_api.h → blasfeo_d_blas_api.h} +0 -0
  1659. /casadi/include/{include/blasfeo_d_blasfeo_api.h → blasfeo_d_blasfeo_api.h} +0 -0
  1660. /casadi/include/{include/blasfeo_d_blasfeo_api_ref.h → blasfeo_d_blasfeo_api_ref.h} +0 -0
  1661. /casadi/include/{include/blasfeo_d_blasfeo_hp_api.h → blasfeo_d_blasfeo_hp_api.h} +0 -0
  1662. /casadi/include/{include/blasfeo_d_blasfeo_ref_api.h → blasfeo_d_blasfeo_ref_api.h} +0 -0
  1663. /casadi/include/{include/blasfeo_d_kernel.h → blasfeo_d_kernel.h} +0 -0
  1664. /casadi/include/{include/blasfeo_i_aux_ext_dep.h → blasfeo_i_aux_ext_dep.h} +0 -0
  1665. /casadi/include/{include/blasfeo_m_aux.h → blasfeo_m_aux.h} +0 -0
  1666. /casadi/include/{include/blasfeo_memory.h → blasfeo_memory.h} +0 -0
  1667. /casadi/include/{include/blasfeo_naming.h → blasfeo_naming.h} +0 -0
  1668. /casadi/include/{include/blasfeo_processor_features.h → blasfeo_processor_features.h} +0 -0
  1669. /casadi/include/{include/blasfeo_s_aux.h → blasfeo_s_aux.h} +0 -0
  1670. /casadi/include/{include/blasfeo_s_aux_ext_dep.h → blasfeo_s_aux_ext_dep.h} +0 -0
  1671. /casadi/include/{include/blasfeo_s_aux_ext_dep_ref.h → blasfeo_s_aux_ext_dep_ref.h} +0 -0
  1672. /casadi/include/{include/blasfeo_s_aux_old.h → blasfeo_s_aux_old.h} +0 -0
  1673. /casadi/include/{include/blasfeo_s_aux_ref.h → blasfeo_s_aux_ref.h} +0 -0
  1674. /casadi/include/{include/blasfeo_s_aux_test.h → blasfeo_s_aux_test.h} +0 -0
  1675. /casadi/include/{include/blasfeo_s_blas.h → blasfeo_s_blas.h} +0 -0
  1676. /casadi/include/{include/blasfeo_s_blas_api.h → blasfeo_s_blas_api.h} +0 -0
  1677. /casadi/include/{include/blasfeo_s_blasfeo_api.h → blasfeo_s_blasfeo_api.h} +0 -0
  1678. /casadi/include/{include/blasfeo_s_blasfeo_api_ref.h → blasfeo_s_blasfeo_api_ref.h} +0 -0
  1679. /casadi/include/{include/blasfeo_s_blasfeo_ref_api.h → blasfeo_s_blasfeo_ref_api.h} +0 -0
  1680. /casadi/include/{include/blasfeo_s_kernel.h → blasfeo_s_kernel.h} +0 -0
  1681. /casadi/include/{include/blasfeo_stdlib.h → blasfeo_stdlib.h} +0 -0
  1682. /casadi/include/{include/blasfeo_target.h → blasfeo_target.h} +0 -0
  1683. /casadi/include/{include/blasfeo_timing.h → blasfeo_timing.h} +0 -0
  1684. /casadi/include/{include/blasfeo_v_aux_ext_dep.h → blasfeo_v_aux_ext_dep.h} +0 -0
  1685. /casadi/include/{include/coin → coin}/BonArraysHelpers.hpp +0 -0
  1686. /casadi/include/{include/coin → coin}/BonAuxInfos.hpp +0 -0
  1687. /casadi/include/{include/coin → coin}/BonBabInfos.hpp +0 -0
  1688. /casadi/include/{include/coin → coin}/BonBabSetupBase.hpp +0 -0
  1689. /casadi/include/{include/coin → coin}/BonBonminSetup.hpp +0 -0
  1690. /casadi/include/{include/coin → coin}/BonBranchingTQP.hpp +0 -0
  1691. /casadi/include/{include/coin → coin}/BonCbc.hpp +0 -0
  1692. /casadi/include/{include/coin → coin}/BonCbcLpStrategy.hpp +0 -0
  1693. /casadi/include/{include/coin → coin}/BonCbcNlpStrategy.hpp +0 -0
  1694. /casadi/include/{include/coin → coin}/BonCbcNode.hpp +0 -0
  1695. /casadi/include/{include/coin → coin}/BonChooseVariable.hpp +0 -0
  1696. /casadi/include/{include/coin → coin}/BonCurvBranchingSolver.hpp +0 -0
  1697. /casadi/include/{include/coin → coin}/BonCutStrengthener.hpp +0 -0
  1698. /casadi/include/{include/coin → coin}/BonDiver.hpp +0 -0
  1699. /casadi/include/{include/coin → coin}/BonDummyHeuristic.hpp +0 -0
  1700. /casadi/include/{include/coin → coin}/BonDummyPump.hpp +0 -0
  1701. /casadi/include/{include/coin → coin}/BonEcpCuts.hpp +0 -0
  1702. /casadi/include/{include/coin → coin}/BonExitCodes.hpp +0 -0
  1703. /casadi/include/{include/coin → coin}/BonFixAndSolveHeuristic.hpp +0 -0
  1704. /casadi/include/{include/coin → coin}/BonGuessHeuristic.hpp +0 -0
  1705. /casadi/include/{include/coin → coin}/BonHeuristicDive.hpp +0 -0
  1706. /casadi/include/{include/coin → coin}/BonHeuristicDiveFractional.hpp +0 -0
  1707. /casadi/include/{include/coin → coin}/BonHeuristicDiveMIP.hpp +0 -0
  1708. /casadi/include/{include/coin → coin}/BonHeuristicDiveMIPFractional.hpp +0 -0
  1709. /casadi/include/{include/coin → coin}/BonHeuristicDiveMIPVectorLength.hpp +0 -0
  1710. /casadi/include/{include/coin → coin}/BonHeuristicDiveVectorLength.hpp +0 -0
  1711. /casadi/include/{include/coin → coin}/BonHeuristicFPump.hpp +0 -0
  1712. /casadi/include/{include/coin → coin}/BonHeuristicLocalBranching.hpp +0 -0
  1713. /casadi/include/{include/coin → coin}/BonHeuristicRINS.hpp +0 -0
  1714. /casadi/include/{include/coin → coin}/BonIpoptInteriorWarmStarter.hpp +0 -0
  1715. /casadi/include/{include/coin → coin}/BonIpoptSolver.hpp +0 -0
  1716. /casadi/include/{include/coin → coin}/BonIpoptWarmStart.hpp +0 -0
  1717. /casadi/include/{include/coin → coin}/BonLinearCutsGenerator.hpp +0 -0
  1718. /casadi/include/{include/coin → coin}/BonLocalSolverBasedHeuristic.hpp +0 -0
  1719. /casadi/include/{include/coin → coin}/BonLpBranchingSolver.hpp +0 -0
  1720. /casadi/include/{include/coin → coin}/BonMilpRounding.hpp +0 -0
  1721. /casadi/include/{include/coin → coin}/BonOACutGenerator2.hpp +0 -0
  1722. /casadi/include/{include/coin → coin}/BonOAMessages.hpp +0 -0
  1723. /casadi/include/{include/coin → coin}/BonOaDecBase.hpp +0 -0
  1724. /casadi/include/{include/coin → coin}/BonOaFeasChecker.hpp +0 -0
  1725. /casadi/include/{include/coin → coin}/BonOaNlpOptim.hpp +0 -0
  1726. /casadi/include/{include/coin → coin}/BonOsiTMINLPInterface.hpp +0 -0
  1727. /casadi/include/{include/coin → coin}/BonOuterApprox.hpp +0 -0
  1728. /casadi/include/{include/coin → coin}/BonPseudoCosts.hpp +0 -0
  1729. /casadi/include/{include/coin → coin}/BonPumpForMinlp.hpp +0 -0
  1730. /casadi/include/{include/coin → coin}/BonQuadCut.hpp +0 -0
  1731. /casadi/include/{include/coin → coin}/BonQuadRow.hpp +0 -0
  1732. /casadi/include/{include/coin → coin}/BonRegisteredOptions.hpp +0 -0
  1733. /casadi/include/{include/coin → coin}/BonStrongBranchingSolver.hpp +0 -0
  1734. /casadi/include/{include/coin → coin}/BonSubMipSolver.hpp +0 -0
  1735. /casadi/include/{include/coin → coin}/BonTMINLP.hpp +0 -0
  1736. /casadi/include/{include/coin → coin}/BonTMINLP2OsiLP.hpp +0 -0
  1737. /casadi/include/{include/coin → coin}/BonTMINLP2Quad.hpp +0 -0
  1738. /casadi/include/{include/coin → coin}/BonTMINLP2TNLP.hpp +0 -0
  1739. /casadi/include/{include/coin → coin}/BonTMINLPLinObj.hpp +0 -0
  1740. /casadi/include/{include/coin → coin}/BonTMatrix.hpp +0 -0
  1741. /casadi/include/{include/coin → coin}/BonTNLP2FPNLP.hpp +0 -0
  1742. /casadi/include/{include/coin → coin}/BonTNLPSolver.hpp +0 -0
  1743. /casadi/include/{include/coin → coin}/BonTypes.hpp +0 -0
  1744. /casadi/include/{include/coin → coin}/BonminConfig.h +0 -0
  1745. /casadi/include/{include/coin → coin}/CbcBranchActual.hpp +0 -0
  1746. /casadi/include/{include/coin → coin}/CbcBranchAllDifferent.hpp +0 -0
  1747. /casadi/include/{include/coin → coin}/CbcBranchBase.hpp +0 -0
  1748. /casadi/include/{include/coin → coin}/CbcBranchCut.hpp +0 -0
  1749. /casadi/include/{include/coin → coin}/CbcBranchDecision.hpp +0 -0
  1750. /casadi/include/{include/coin → coin}/CbcBranchDefaultDecision.hpp +0 -0
  1751. /casadi/include/{include/coin → coin}/CbcBranchDynamic.hpp +0 -0
  1752. /casadi/include/{include/coin → coin}/CbcBranchLotsize.hpp +0 -0
  1753. /casadi/include/{include/coin → coin}/CbcBranchToFixLots.hpp +0 -0
  1754. /casadi/include/{include/coin → coin}/CbcBranchingObject.hpp +0 -0
  1755. /casadi/include/{include/coin → coin}/CbcClique.hpp +0 -0
  1756. /casadi/include/{include/coin → coin}/CbcCompare.hpp +0 -0
  1757. /casadi/include/{include/coin → coin}/CbcCompareActual.hpp +0 -0
  1758. /casadi/include/{include/coin → coin}/CbcCompareBase.hpp +0 -0
  1759. /casadi/include/{include/coin → coin}/CbcCompareDefault.hpp +0 -0
  1760. /casadi/include/{include/coin → coin}/CbcCompareDepth.hpp +0 -0
  1761. /casadi/include/{include/coin → coin}/CbcCompareEstimate.hpp +0 -0
  1762. /casadi/include/{include/coin → coin}/CbcCompareObjective.hpp +0 -0
  1763. /casadi/include/{include/coin → coin}/CbcConfig.h +0 -0
  1764. /casadi/include/{include/coin → coin}/CbcConsequence.hpp +0 -0
  1765. /casadi/include/{include/coin → coin}/CbcCountRowCut.hpp +0 -0
  1766. /casadi/include/{include/coin → coin}/CbcCutGenerator.hpp +0 -0
  1767. /casadi/include/{include/coin → coin}/CbcCutModifier.hpp +0 -0
  1768. /casadi/include/{include/coin → coin}/CbcCutSubsetModifier.hpp +0 -0
  1769. /casadi/include/{include/coin → coin}/CbcDummyBranchingObject.hpp +0 -0
  1770. /casadi/include/{include/coin → coin}/CbcEventHandler.hpp +0 -0
  1771. /casadi/include/{include/coin → coin}/CbcFathom.hpp +0 -0
  1772. /casadi/include/{include/coin → coin}/CbcFathomDynamicProgramming.hpp +0 -0
  1773. /casadi/include/{include/coin → coin}/CbcFeasibilityBase.hpp +0 -0
  1774. /casadi/include/{include/coin → coin}/CbcFixVariable.hpp +0 -0
  1775. /casadi/include/{include/coin → coin}/CbcFollowOn.hpp +0 -0
  1776. /casadi/include/{include/coin → coin}/CbcFullNodeInfo.hpp +0 -0
  1777. /casadi/include/{include/coin → coin}/CbcGeneral.hpp +0 -0
  1778. /casadi/include/{include/coin → coin}/CbcGeneralDepth.hpp +0 -0
  1779. /casadi/include/{include/coin → coin}/CbcHeuristic.hpp +0 -0
  1780. /casadi/include/{include/coin → coin}/CbcHeuristicDINS.hpp +0 -0
  1781. /casadi/include/{include/coin → coin}/CbcHeuristicDW.hpp +0 -0
  1782. /casadi/include/{include/coin → coin}/CbcHeuristicDive.hpp +0 -0
  1783. /casadi/include/{include/coin → coin}/CbcHeuristicDiveCoefficient.hpp +0 -0
  1784. /casadi/include/{include/coin → coin}/CbcHeuristicDiveFractional.hpp +0 -0
  1785. /casadi/include/{include/coin → coin}/CbcHeuristicDiveGuided.hpp +0 -0
  1786. /casadi/include/{include/coin → coin}/CbcHeuristicDiveLineSearch.hpp +0 -0
  1787. /casadi/include/{include/coin → coin}/CbcHeuristicDivePseudoCost.hpp +0 -0
  1788. /casadi/include/{include/coin → coin}/CbcHeuristicDiveVectorLength.hpp +0 -0
  1789. /casadi/include/{include/coin → coin}/CbcHeuristicFPump.hpp +0 -0
  1790. /casadi/include/{include/coin → coin}/CbcHeuristicGreedy.hpp +0 -0
  1791. /casadi/include/{include/coin → coin}/CbcHeuristicLocal.hpp +0 -0
  1792. /casadi/include/{include/coin → coin}/CbcHeuristicPivotAndFix.hpp +0 -0
  1793. /casadi/include/{include/coin → coin}/CbcHeuristicRENS.hpp +0 -0
  1794. /casadi/include/{include/coin → coin}/CbcHeuristicRINS.hpp +0 -0
  1795. /casadi/include/{include/coin → coin}/CbcHeuristicRandRound.hpp +0 -0
  1796. /casadi/include/{include/coin → coin}/CbcHeuristicVND.hpp +0 -0
  1797. /casadi/include/{include/coin → coin}/CbcLinked.hpp +0 -0
  1798. /casadi/include/{include/coin → coin}/CbcMessage.hpp +0 -0
  1799. /casadi/include/{include/coin → coin}/CbcMipStartIO.hpp +0 -0
  1800. /casadi/include/{include/coin → coin}/CbcModel.hpp +0 -0
  1801. /casadi/include/{include/coin → coin}/CbcNWay.hpp +0 -0
  1802. /casadi/include/{include/coin → coin}/CbcNode.hpp +0 -0
  1803. /casadi/include/{include/coin → coin}/CbcNodeInfo.hpp +0 -0
  1804. /casadi/include/{include/coin → coin}/CbcObject.hpp +0 -0
  1805. /casadi/include/{include/coin → coin}/CbcObjectUpdateData.hpp +0 -0
  1806. /casadi/include/{include/coin → coin}/CbcOrClpParam.cpp +0 -0
  1807. /casadi/include/{include/coin → coin}/CbcOrClpParam.hpp +0 -0
  1808. /casadi/include/{include/coin → coin}/CbcParam.hpp +0 -0
  1809. /casadi/include/{include/coin → coin}/CbcPartialNodeInfo.hpp +0 -0
  1810. /casadi/include/{include/coin → coin}/CbcSOS.hpp +0 -0
  1811. /casadi/include/{include/coin → coin}/CbcSimpleInteger.hpp +0 -0
  1812. /casadi/include/{include/coin → coin}/CbcSimpleIntegerDynamicPseudoCost.hpp +0 -0
  1813. /casadi/include/{include/coin → coin}/CbcSimpleIntegerPseudoCost.hpp +0 -0
  1814. /casadi/include/{include/coin → coin}/CbcSolver.hpp +0 -0
  1815. /casadi/include/{include/coin → coin}/CbcStrategy.hpp +0 -0
  1816. /casadi/include/{include/coin → coin}/CbcSubProblem.hpp +0 -0
  1817. /casadi/include/{include/coin → coin}/CbcTree.hpp +0 -0
  1818. /casadi/include/{include/coin → coin}/CbcTreeLocal.hpp +0 -0
  1819. /casadi/include/{include/coin → coin}/Cbc_C_Interface.h +0 -0
  1820. /casadi/include/{include/coin → coin}/Cgl012cut.hpp +0 -0
  1821. /casadi/include/{include/coin → coin}/CglAllDifferent.hpp +0 -0
  1822. /casadi/include/{include/coin → coin}/CglClique.hpp +0 -0
  1823. /casadi/include/{include/coin → coin}/CglConfig.h +0 -0
  1824. /casadi/include/{include/coin → coin}/CglCutGenerator.hpp +0 -0
  1825. /casadi/include/{include/coin → coin}/CglDuplicateRow.hpp +0 -0
  1826. /casadi/include/{include/coin → coin}/CglFlowCover.hpp +0 -0
  1827. /casadi/include/{include/coin → coin}/CglGMI.hpp +0 -0
  1828. /casadi/include/{include/coin → coin}/CglGMIParam.hpp +0 -0
  1829. /casadi/include/{include/coin → coin}/CglGomory.hpp +0 -0
  1830. /casadi/include/{include/coin → coin}/CglKnapsackCover.hpp +0 -0
  1831. /casadi/include/{include/coin → coin}/CglLandP.hpp +0 -0
  1832. /casadi/include/{include/coin → coin}/CglLandPValidator.hpp +0 -0
  1833. /casadi/include/{include/coin → coin}/CglLiftAndProject.hpp +0 -0
  1834. /casadi/include/{include/coin → coin}/CglMessage.hpp +0 -0
  1835. /casadi/include/{include/coin → coin}/CglMixedIntegerRounding.hpp +0 -0
  1836. /casadi/include/{include/coin → coin}/CglMixedIntegerRounding2.hpp +0 -0
  1837. /casadi/include/{include/coin → coin}/CglOddHole.hpp +0 -0
  1838. /casadi/include/{include/coin → coin}/CglParam.hpp +0 -0
  1839. /casadi/include/{include/coin → coin}/CglPreProcess.hpp +0 -0
  1840. /casadi/include/{include/coin → coin}/CglProbing.hpp +0 -0
  1841. /casadi/include/{include/coin → coin}/CglRedSplit.hpp +0 -0
  1842. /casadi/include/{include/coin → coin}/CglRedSplit2.hpp +0 -0
  1843. /casadi/include/{include/coin → coin}/CglRedSplit2Param.hpp +0 -0
  1844. /casadi/include/{include/coin → coin}/CglRedSplitParam.hpp +0 -0
  1845. /casadi/include/{include/coin → coin}/CglResidualCapacity.hpp +0 -0
  1846. /casadi/include/{include/coin → coin}/CglSimpleRounding.hpp +0 -0
  1847. /casadi/include/{include/coin → coin}/CglStored.hpp +0 -0
  1848. /casadi/include/{include/coin → coin}/CglTreeInfo.hpp +0 -0
  1849. /casadi/include/{include/coin → coin}/CglTwomir.hpp +0 -0
  1850. /casadi/include/{include/coin → coin}/CglZeroHalf.hpp +0 -0
  1851. /casadi/include/{include/coin → coin}/ClpAmplObjective.hpp +0 -0
  1852. /casadi/include/{include/coin → coin}/ClpCholeskyBase.hpp +0 -0
  1853. /casadi/include/{include/coin → coin}/ClpCholeskyDense.hpp +0 -0
  1854. /casadi/include/{include/coin → coin}/ClpCholeskyMumps.hpp +0 -0
  1855. /casadi/include/{include/coin → coin}/ClpCholeskyPardiso.hpp +0 -0
  1856. /casadi/include/{include/coin → coin}/ClpConfig.h +0 -0
  1857. /casadi/include/{include/coin → coin}/ClpConstraint.hpp +0 -0
  1858. /casadi/include/{include/coin → coin}/ClpConstraintAmpl.hpp +0 -0
  1859. /casadi/include/{include/coin → coin}/ClpConstraintLinear.hpp +0 -0
  1860. /casadi/include/{include/coin → coin}/ClpConstraintQuadratic.hpp +0 -0
  1861. /casadi/include/{include/coin → coin}/ClpDualRowDantzig.hpp +0 -0
  1862. /casadi/include/{include/coin → coin}/ClpDualRowPivot.hpp +0 -0
  1863. /casadi/include/{include/coin → coin}/ClpDualRowSteepest.hpp +0 -0
  1864. /casadi/include/{include/coin → coin}/ClpDummyMatrix.hpp +0 -0
  1865. /casadi/include/{include/coin → coin}/ClpDynamicExampleMatrix.hpp +0 -0
  1866. /casadi/include/{include/coin → coin}/ClpDynamicMatrix.hpp +0 -0
  1867. /casadi/include/{include/coin → coin}/ClpEventHandler.hpp +0 -0
  1868. /casadi/include/{include/coin → coin}/ClpFactorization.hpp +0 -0
  1869. /casadi/include/{include/coin → coin}/ClpGubDynamicMatrix.hpp +0 -0
  1870. /casadi/include/{include/coin → coin}/ClpGubMatrix.hpp +0 -0
  1871. /casadi/include/{include/coin → coin}/ClpInterior.hpp +0 -0
  1872. /casadi/include/{include/coin → coin}/ClpLinearObjective.hpp +0 -0
  1873. /casadi/include/{include/coin → coin}/ClpMatrixBase.hpp +0 -0
  1874. /casadi/include/{include/coin → coin}/ClpMessage.hpp +0 -0
  1875. /casadi/include/{include/coin → coin}/ClpModel.hpp +0 -0
  1876. /casadi/include/{include/coin → coin}/ClpNetworkMatrix.hpp +0 -0
  1877. /casadi/include/{include/coin → coin}/ClpNode.hpp +0 -0
  1878. /casadi/include/{include/coin → coin}/ClpNonLinearCost.hpp +0 -0
  1879. /casadi/include/{include/coin → coin}/ClpObjective.hpp +0 -0
  1880. /casadi/include/{include/coin → coin}/ClpPEDualRowDantzig.hpp +0 -0
  1881. /casadi/include/{include/coin → coin}/ClpPEDualRowSteepest.hpp +0 -0
  1882. /casadi/include/{include/coin → coin}/ClpPEPrimalColumnDantzig.hpp +0 -0
  1883. /casadi/include/{include/coin → coin}/ClpPEPrimalColumnSteepest.hpp +0 -0
  1884. /casadi/include/{include/coin → coin}/ClpPESimplex.hpp +0 -0
  1885. /casadi/include/{include/coin → coin}/ClpPackedMatrix.hpp +0 -0
  1886. /casadi/include/{include/coin → coin}/ClpParameters.hpp +0 -0
  1887. /casadi/include/{include/coin → coin}/ClpPdcoBase.hpp +0 -0
  1888. /casadi/include/{include/coin → coin}/ClpPlusMinusOneMatrix.hpp +0 -0
  1889. /casadi/include/{include/coin → coin}/ClpPresolve.hpp +0 -0
  1890. /casadi/include/{include/coin → coin}/ClpPrimalColumnDantzig.hpp +0 -0
  1891. /casadi/include/{include/coin → coin}/ClpPrimalColumnPivot.hpp +0 -0
  1892. /casadi/include/{include/coin → coin}/ClpPrimalColumnSteepest.hpp +0 -0
  1893. /casadi/include/{include/coin → coin}/ClpQuadraticObjective.hpp +0 -0
  1894. /casadi/include/{include/coin → coin}/ClpSimplex.hpp +0 -0
  1895. /casadi/include/{include/coin → coin}/ClpSimplexDual.hpp +0 -0
  1896. /casadi/include/{include/coin → coin}/ClpSimplexNonlinear.hpp +0 -0
  1897. /casadi/include/{include/coin → coin}/ClpSimplexOther.hpp +0 -0
  1898. /casadi/include/{include/coin → coin}/ClpSimplexPrimal.hpp +0 -0
  1899. /casadi/include/{include/coin → coin}/ClpSolve.hpp +0 -0
  1900. /casadi/include/{include/coin → coin}/Clp_C_Interface.h +0 -0
  1901. /casadi/include/{include/coin → coin}/CoinAlloc.hpp +0 -0
  1902. /casadi/include/{include/coin → coin}/CoinBuild.hpp +0 -0
  1903. /casadi/include/{include/coin → coin}/CoinDenseFactorization.hpp +0 -0
  1904. /casadi/include/{include/coin → coin}/CoinDenseVector.hpp +0 -0
  1905. /casadi/include/{include/coin → coin}/CoinDistance.hpp +0 -0
  1906. /casadi/include/{include/coin → coin}/CoinError.hpp +0 -0
  1907. /casadi/include/{include/coin → coin}/CoinFactorization.hpp +0 -0
  1908. /casadi/include/{include/coin → coin}/CoinFileIO.hpp +0 -0
  1909. /casadi/include/{include/coin → coin}/CoinFinite.hpp +0 -0
  1910. /casadi/include/{include/coin → coin}/CoinFloatEqual.hpp +0 -0
  1911. /casadi/include/{include/coin → coin}/CoinHelperFunctions.hpp +0 -0
  1912. /casadi/include/{include/coin → coin}/CoinIndexedVector.hpp +0 -0
  1913. /casadi/include/{include/coin → coin}/CoinLpIO.hpp +0 -0
  1914. /casadi/include/{include/coin → coin}/CoinMessage.hpp +0 -0
  1915. /casadi/include/{include/coin → coin}/CoinMessageHandler.hpp +0 -0
  1916. /casadi/include/{include/coin → coin}/CoinModel.hpp +0 -0
  1917. /casadi/include/{include/coin → coin}/CoinModelUseful.hpp +0 -0
  1918. /casadi/include/{include/coin → coin}/CoinMpsIO.hpp +0 -0
  1919. /casadi/include/{include/coin → coin}/CoinOslFactorization.hpp +0 -0
  1920. /casadi/include/{include/coin → coin}/CoinPackedMatrix.hpp +0 -0
  1921. /casadi/include/{include/coin → coin}/CoinPackedVector.hpp +0 -0
  1922. /casadi/include/{include/coin → coin}/CoinPackedVectorBase.hpp +0 -0
  1923. /casadi/include/{include/coin → coin}/CoinParam.hpp +0 -0
  1924. /casadi/include/{include/coin → coin}/CoinPragma.hpp +0 -0
  1925. /casadi/include/{include/coin → coin}/CoinPresolveDoubleton.hpp +0 -0
  1926. /casadi/include/{include/coin → coin}/CoinPresolveDual.hpp +0 -0
  1927. /casadi/include/{include/coin → coin}/CoinPresolveDupcol.hpp +0 -0
  1928. /casadi/include/{include/coin → coin}/CoinPresolveEmpty.hpp +0 -0
  1929. /casadi/include/{include/coin → coin}/CoinPresolveFixed.hpp +0 -0
  1930. /casadi/include/{include/coin → coin}/CoinPresolveForcing.hpp +0 -0
  1931. /casadi/include/{include/coin → coin}/CoinPresolveImpliedFree.hpp +0 -0
  1932. /casadi/include/{include/coin → coin}/CoinPresolveIsolated.hpp +0 -0
  1933. /casadi/include/{include/coin → coin}/CoinPresolveMatrix.hpp +0 -0
  1934. /casadi/include/{include/coin → coin}/CoinPresolveMonitor.hpp +0 -0
  1935. /casadi/include/{include/coin → coin}/CoinPresolvePsdebug.hpp +0 -0
  1936. /casadi/include/{include/coin → coin}/CoinPresolveSingleton.hpp +0 -0
  1937. /casadi/include/{include/coin → coin}/CoinPresolveSubst.hpp +0 -0
  1938. /casadi/include/{include/coin → coin}/CoinPresolveTighten.hpp +0 -0
  1939. /casadi/include/{include/coin → coin}/CoinPresolveTripleton.hpp +0 -0
  1940. /casadi/include/{include/coin → coin}/CoinPresolveUseless.hpp +0 -0
  1941. /casadi/include/{include/coin → coin}/CoinPresolveZeros.hpp +0 -0
  1942. /casadi/include/{include/coin → coin}/CoinRational.hpp +0 -0
  1943. /casadi/include/{include/coin → coin}/CoinSearchTree.hpp +0 -0
  1944. /casadi/include/{include/coin → coin}/CoinShallowPackedVector.hpp +0 -0
  1945. /casadi/include/{include/coin → coin}/CoinSignal.hpp +0 -0
  1946. /casadi/include/{include/coin → coin}/CoinSimpFactorization.hpp +0 -0
  1947. /casadi/include/{include/coin → coin}/CoinSmartPtr.hpp +0 -0
  1948. /casadi/include/{include/coin → coin}/CoinSnapshot.hpp +0 -0
  1949. /casadi/include/{include/coin → coin}/CoinSort.hpp +0 -0
  1950. /casadi/include/{include/coin → coin}/CoinStructuredModel.hpp +0 -0
  1951. /casadi/include/{include/coin → coin}/CoinTime.hpp +0 -0
  1952. /casadi/include/{include/coin → coin}/CoinTypes.hpp +0 -0
  1953. /casadi/include/{include/coin → coin}/CoinUtility.hpp +0 -0
  1954. /casadi/include/{include/coin → coin}/CoinUtilsConfig.h +0 -0
  1955. /casadi/include/{include/coin → coin}/CoinWarmStart.hpp +0 -0
  1956. /casadi/include/{include/coin → coin}/CoinWarmStartBasis.hpp +0 -0
  1957. /casadi/include/{include/coin → coin}/CoinWarmStartDual.hpp +0 -0
  1958. /casadi/include/{include/coin → coin}/CoinWarmStartPrimalDual.hpp +0 -0
  1959. /casadi/include/{include/coin → coin}/CoinWarmStartVector.hpp +0 -0
  1960. /casadi/include/{include/coin → coin}/Coin_C_defines.h +0 -0
  1961. /casadi/include/{include/coin → coin}/Idiot.hpp +0 -0
  1962. /casadi/include/{include/coin → coin}/OsiAuxInfo.hpp +0 -0
  1963. /casadi/include/{include/coin → coin}/OsiBranchingObject.hpp +0 -0
  1964. /casadi/include/{include/coin → coin}/OsiCbcSolverInterface.hpp +0 -0
  1965. /casadi/include/{include/coin → coin}/OsiChooseVariable.hpp +0 -0
  1966. /casadi/include/{include/coin → coin}/OsiClpSolverInterface.hpp +0 -0
  1967. /casadi/include/{include/coin → coin}/OsiColCut.hpp +0 -0
  1968. /casadi/include/{include/coin → coin}/OsiCollections.hpp +0 -0
  1969. /casadi/include/{include/coin → coin}/OsiConfig.h +0 -0
  1970. /casadi/include/{include/coin → coin}/OsiCut.hpp +0 -0
  1971. /casadi/include/{include/coin → coin}/OsiCuts.hpp +0 -0
  1972. /casadi/include/{include/coin → coin}/OsiPresolve.hpp +0 -0
  1973. /casadi/include/{include/coin → coin}/OsiRowCut.hpp +0 -0
  1974. /casadi/include/{include/coin → coin}/OsiRowCutDebugger.hpp +0 -0
  1975. /casadi/include/{include/coin → coin}/OsiSolverBranch.hpp +0 -0
  1976. /casadi/include/{include/coin → coin}/OsiSolverInterface.hpp +0 -0
  1977. /casadi/include/{include/coin → coin}/OsiSolverParameters.hpp +0 -0
  1978. /casadi/include/{include/coin → coin}/OsiUnitTests.hpp +0 -0
  1979. /casadi/include/{include/coin-or → coin-or}/IpAlgBuilder.hpp +0 -0
  1980. /casadi/include/{include/coin-or → coin-or}/IpAlgStrategy.hpp +0 -0
  1981. /casadi/include/{include/coin-or → coin-or}/IpAlgTypes.hpp +0 -0
  1982. /casadi/include/{include/coin-or → coin-or}/IpAugSystemSolver.hpp +0 -0
  1983. /casadi/include/{include/coin-or → coin-or}/IpBlas.hpp +0 -0
  1984. /casadi/include/{include/coin-or → coin-or}/IpCachedResults.hpp +0 -0
  1985. /casadi/include/{include/coin-or → coin-or}/IpCompoundMatrix.hpp +0 -0
  1986. /casadi/include/{include/coin-or → coin-or}/IpCompoundSymMatrix.hpp +0 -0
  1987. /casadi/include/{include/coin-or → coin-or}/IpCompoundVector.hpp +0 -0
  1988. /casadi/include/{include/coin-or → coin-or}/IpConvCheck.hpp +0 -0
  1989. /casadi/include/{include/coin-or → coin-or}/IpDebug.hpp +0 -0
  1990. /casadi/include/{include/coin-or → coin-or}/IpDenseVector.hpp +0 -0
  1991. /casadi/include/{include/coin-or → coin-or}/IpDiagMatrix.hpp +0 -0
  1992. /casadi/include/{include/coin-or → coin-or}/IpEqMultCalculator.hpp +0 -0
  1993. /casadi/include/{include/coin-or → coin-or}/IpException.hpp +0 -0
  1994. /casadi/include/{include/coin-or → coin-or}/IpExpansionMatrix.hpp +0 -0
  1995. /casadi/include/{include/coin-or → coin-or}/IpGenTMatrix.hpp +0 -0
  1996. /casadi/include/{include/coin-or → coin-or}/IpHessianUpdater.hpp +0 -0
  1997. /casadi/include/{include/coin-or → coin-or}/IpIdentityMatrix.hpp +0 -0
  1998. /casadi/include/{include/coin-or → coin-or}/IpIpoptAlg.hpp +0 -0
  1999. /casadi/include/{include/coin-or → coin-or}/IpIpoptApplication.hpp +0 -0
  2000. /casadi/include/{include/coin-or → coin-or}/IpIpoptCalculatedQuantities.hpp +0 -0
  2001. /casadi/include/{include/coin-or → coin-or}/IpIpoptData.hpp +0 -0
  2002. /casadi/include/{include/coin-or → coin-or}/IpIpoptNLP.hpp +0 -0
  2003. /casadi/include/{include/coin-or → coin-or}/IpIterateInitializer.hpp +0 -0
  2004. /casadi/include/{include/coin-or → coin-or}/IpIteratesVector.hpp +0 -0
  2005. /casadi/include/{include/coin-or → coin-or}/IpIterationOutput.hpp +0 -0
  2006. /casadi/include/{include/coin-or → coin-or}/IpJournalist.hpp +0 -0
  2007. /casadi/include/{include/coin-or → coin-or}/IpLapack.hpp +0 -0
  2008. /casadi/include/{include/coin-or → coin-or}/IpLibraryLoader.hpp +0 -0
  2009. /casadi/include/{include/coin-or → coin-or}/IpLineSearch.hpp +0 -0
  2010. /casadi/include/{include/coin-or → coin-or}/IpLinearSolvers.h +0 -0
  2011. /casadi/include/{include/coin-or → coin-or}/IpMatrix.hpp +0 -0
  2012. /casadi/include/{include/coin-or → coin-or}/IpMuUpdate.hpp +0 -0
  2013. /casadi/include/{include/coin-or → coin-or}/IpNLP.hpp +0 -0
  2014. /casadi/include/{include/coin-or → coin-or}/IpNLPScaling.hpp +0 -0
  2015. /casadi/include/{include/coin-or → coin-or}/IpObserver.hpp +0 -0
  2016. /casadi/include/{include/coin-or → coin-or}/IpOptionsList.hpp +0 -0
  2017. /casadi/include/{include/coin-or → coin-or}/IpOrigIpoptNLP.hpp +0 -0
  2018. /casadi/include/{include/coin-or → coin-or}/IpPDSystemSolver.hpp +0 -0
  2019. /casadi/include/{include/coin-or → coin-or}/IpReferenced.hpp +0 -0
  2020. /casadi/include/{include/coin-or → coin-or}/IpRegOptions.hpp +0 -0
  2021. /casadi/include/{include/coin-or → coin-or}/IpReturnCodes.h +0 -0
  2022. /casadi/include/{include/coin-or → coin-or}/IpReturnCodes.hpp +0 -0
  2023. /casadi/include/{include/coin-or → coin-or}/IpReturnCodes.inc +0 -0
  2024. /casadi/include/{include/coin-or → coin-or}/IpReturnCodes_inc.h +0 -0
  2025. /casadi/include/{include/coin-or → coin-or}/IpScaledMatrix.hpp +0 -0
  2026. /casadi/include/{include/coin-or → coin-or}/IpSearchDirCalculator.hpp +0 -0
  2027. /casadi/include/{include/coin-or → coin-or}/IpSmartPtr.hpp +0 -0
  2028. /casadi/include/{include/coin-or → coin-or}/IpSolveStatistics.hpp +0 -0
  2029. /casadi/include/{include/coin-or → coin-or}/IpSparseSymLinearSolverInterface.hpp +0 -0
  2030. /casadi/include/{include/coin-or → coin-or}/IpStdAugSystemSolver.cpp +0 -0
  2031. /casadi/include/{include/coin-or → coin-or}/IpStdCInterface.h +0 -0
  2032. /casadi/include/{include/coin-or → coin-or}/IpSumSymMatrix.hpp +0 -0
  2033. /casadi/include/{include/coin-or → coin-or}/IpSymLinearSolver.hpp +0 -0
  2034. /casadi/include/{include/coin-or → coin-or}/IpSymMatrix.hpp +0 -0
  2035. /casadi/include/{include/coin-or → coin-or}/IpSymScaledMatrix.hpp +0 -0
  2036. /casadi/include/{include/coin-or → coin-or}/IpSymTMatrix.hpp +0 -0
  2037. /casadi/include/{include/coin-or → coin-or}/IpTNLP.hpp +0 -0
  2038. /casadi/include/{include/coin-or → coin-or}/IpTNLPAdapter.hpp +0 -0
  2039. /casadi/include/{include/coin-or → coin-or}/IpTNLPReducer.hpp +0 -0
  2040. /casadi/include/{include/coin-or → coin-or}/IpTaggedObject.hpp +0 -0
  2041. /casadi/include/{include/coin-or → coin-or}/IpTimedTask.hpp +0 -0
  2042. /casadi/include/{include/coin-or → coin-or}/IpTimingStatistics.hpp +0 -0
  2043. /casadi/include/{include/coin-or → coin-or}/IpTripletHelper.hpp +0 -0
  2044. /casadi/include/{include/coin-or → coin-or}/IpTypes.h +0 -0
  2045. /casadi/include/{include/coin-or → coin-or}/IpTypes.hpp +0 -0
  2046. /casadi/include/{include/coin-or → coin-or}/IpUtils.hpp +0 -0
  2047. /casadi/include/{include/coin-or → coin-or}/IpVector.hpp +0 -0
  2048. /casadi/include/{include/coin-or → coin-or}/IpZeroSymMatrix.hpp +0 -0
  2049. /casadi/include/{include/coin-or → coin-or}/IpoptConfig.h +0 -0
  2050. /casadi/include/{include/coin-or → coin-or}/SensAlgorithm.hpp +0 -0
  2051. /casadi/include/{include/coin-or → coin-or}/SensApplication.hpp +0 -0
  2052. /casadi/include/{include/coin-or → coin-or}/SensBacksolver.hpp +0 -0
  2053. /casadi/include/{include/coin-or → coin-or}/SensMeasurement.hpp +0 -0
  2054. /casadi/include/{include/coin-or → coin-or}/SensPCalculator.hpp +0 -0
  2055. /casadi/include/{include/coin-or → coin-or}/SensRegOp.hpp +0 -0
  2056. /casadi/include/{include/coin-or → coin-or}/SensSchurData.hpp +0 -0
  2057. /casadi/include/{include/coin-or → coin-or}/SensSchurDriver.hpp +0 -0
  2058. /casadi/include/{include/coin-or → coin-or}/SensSimpleBacksolver.hpp +0 -0
  2059. /casadi/include/{include/coin-or → coin-or}/SensStepCalc.hpp +0 -0
  2060. /casadi/include/{include/coin-or → coin-or}/SensUtils.hpp +0 -0
  2061. /casadi/include/{include/coin-or → coin-or}/metis/defs.h +0 -0
  2062. /casadi/include/{include/coin-or → coin-or}/metis/macros.h +0 -0
  2063. /casadi/include/{include/coin-or → coin-or}/metis/metis.h +0 -0
  2064. /casadi/include/{include/coin-or → coin-or}/metis/proto.h +0 -0
  2065. /casadi/include/{include/coin-or → coin-or}/metis/rename.h +0 -0
  2066. /casadi/include/{include/coin-or → coin-or}/metis/struct.h +0 -0
  2067. /casadi/include/{include/coin-or → coin-or}/mumps/dmumps_c.h +0 -0
  2068. /casadi/include/{include/coin-or → coin-or}/mumps/mumps_c_types.h +0 -0
  2069. /casadi/include/{include/coin-or → coin-or}/mumps/mumps_compat.h +0 -0
  2070. /casadi/include/{include/coin-or → coin-or}/mumps/mumps_int_def.h +0 -0
  2071. /casadi/include/{include/coin-or → coin-or}/mumps/mumps_mpi.h +0 -0
  2072. /casadi/include/{include/d_blas.h → d_blas.h} +0 -0
  2073. /casadi/include/{include/d_blas_64.h → d_blas_64.h} +0 -0
  2074. /casadi/include/{include/highs_export.h → highs_export.h} +0 -0
  2075. /casadi/include/{include/hpipm_aux_mem.h → hpipm_aux_mem.h} +0 -0
  2076. /casadi/include/{include/hpipm_aux_string.h → hpipm_aux_string.h} +0 -0
  2077. /casadi/include/{include/hpipm_common.h → hpipm_common.h} +0 -0
  2078. /casadi/include/{include/hpipm_d_cast_qcqp.h → hpipm_d_cast_qcqp.h} +0 -0
  2079. /casadi/include/{include/hpipm_d_cond.h → hpipm_d_cond.h} +0 -0
  2080. /casadi/include/{include/hpipm_d_cond_aux.h → hpipm_d_cond_aux.h} +0 -0
  2081. /casadi/include/{include/hpipm_d_cond_qcqp.h → hpipm_d_cond_qcqp.h} +0 -0
  2082. /casadi/include/{include/hpipm_d_core_qp_ipm.h → hpipm_d_core_qp_ipm.h} +0 -0
  2083. /casadi/include/{include/hpipm_d_core_qp_ipm_aux.h → hpipm_d_core_qp_ipm_aux.h} +0 -0
  2084. /casadi/include/{include/hpipm_d_dense_qcqp.h → hpipm_d_dense_qcqp.h} +0 -0
  2085. /casadi/include/{include/hpipm_d_dense_qcqp_dim.h → hpipm_d_dense_qcqp_dim.h} +0 -0
  2086. /casadi/include/{include/hpipm_d_dense_qcqp_ipm.h → hpipm_d_dense_qcqp_ipm.h} +0 -0
  2087. /casadi/include/{include/hpipm_d_dense_qcqp_res.h → hpipm_d_dense_qcqp_res.h} +0 -0
  2088. /casadi/include/{include/hpipm_d_dense_qcqp_sol.h → hpipm_d_dense_qcqp_sol.h} +0 -0
  2089. /casadi/include/{include/hpipm_d_dense_qcqp_utils.h → hpipm_d_dense_qcqp_utils.h} +0 -0
  2090. /casadi/include/{include/hpipm_d_dense_qp.h → hpipm_d_dense_qp.h} +0 -0
  2091. /casadi/include/{include/hpipm_d_dense_qp_dim.h → hpipm_d_dense_qp_dim.h} +0 -0
  2092. /casadi/include/{include/hpipm_d_dense_qp_ipm.h → hpipm_d_dense_qp_ipm.h} +0 -0
  2093. /casadi/include/{include/hpipm_d_dense_qp_kkt.h → hpipm_d_dense_qp_kkt.h} +0 -0
  2094. /casadi/include/{include/hpipm_d_dense_qp_res.h → hpipm_d_dense_qp_res.h} +0 -0
  2095. /casadi/include/{include/hpipm_d_dense_qp_sol.h → hpipm_d_dense_qp_sol.h} +0 -0
  2096. /casadi/include/{include/hpipm_d_dense_qp_utils.h → hpipm_d_dense_qp_utils.h} +0 -0
  2097. /casadi/include/{include/hpipm_d_ocp_qcqp.h → hpipm_d_ocp_qcqp.h} +0 -0
  2098. /casadi/include/{include/hpipm_d_ocp_qcqp_dim.h → hpipm_d_ocp_qcqp_dim.h} +0 -0
  2099. /casadi/include/{include/hpipm_d_ocp_qcqp_ipm.h → hpipm_d_ocp_qcqp_ipm.h} +0 -0
  2100. /casadi/include/{include/hpipm_d_ocp_qcqp_red.h → hpipm_d_ocp_qcqp_red.h} +0 -0
  2101. /casadi/include/{include/hpipm_d_ocp_qcqp_res.h → hpipm_d_ocp_qcqp_res.h} +0 -0
  2102. /casadi/include/{include/hpipm_d_ocp_qcqp_sol.h → hpipm_d_ocp_qcqp_sol.h} +0 -0
  2103. /casadi/include/{include/hpipm_d_ocp_qcqp_utils.h → hpipm_d_ocp_qcqp_utils.h} +0 -0
  2104. /casadi/include/{include/hpipm_d_ocp_qp.h → hpipm_d_ocp_qp.h} +0 -0
  2105. /casadi/include/{include/hpipm_d_ocp_qp_dim.h → hpipm_d_ocp_qp_dim.h} +0 -0
  2106. /casadi/include/{include/hpipm_d_ocp_qp_ipm.h → hpipm_d_ocp_qp_ipm.h} +0 -0
  2107. /casadi/include/{include/hpipm_d_ocp_qp_kkt.h → hpipm_d_ocp_qp_kkt.h} +0 -0
  2108. /casadi/include/{include/hpipm_d_ocp_qp_red.h → hpipm_d_ocp_qp_red.h} +0 -0
  2109. /casadi/include/{include/hpipm_d_ocp_qp_res.h → hpipm_d_ocp_qp_res.h} +0 -0
  2110. /casadi/include/{include/hpipm_d_ocp_qp_sol.h → hpipm_d_ocp_qp_sol.h} +0 -0
  2111. /casadi/include/{include/hpipm_d_ocp_qp_utils.h → hpipm_d_ocp_qp_utils.h} +0 -0
  2112. /casadi/include/{include/hpipm_d_part_cond.h → hpipm_d_part_cond.h} +0 -0
  2113. /casadi/include/{include/hpipm_d_part_cond_qcqp.h → hpipm_d_part_cond_qcqp.h} +0 -0
  2114. /casadi/include/{include/hpipm_d_sim_erk.h → hpipm_d_sim_erk.h} +0 -0
  2115. /casadi/include/{include/hpipm_d_sim_rk.h → hpipm_d_sim_rk.h} +0 -0
  2116. /casadi/include/{include/hpipm_d_tree_ocp_qcqp.h → hpipm_d_tree_ocp_qcqp.h} +0 -0
  2117. /casadi/include/{include/hpipm_d_tree_ocp_qcqp_dim.h → hpipm_d_tree_ocp_qcqp_dim.h} +0 -0
  2118. /casadi/include/{include/hpipm_d_tree_ocp_qcqp_ipm.h → hpipm_d_tree_ocp_qcqp_ipm.h} +0 -0
  2119. /casadi/include/{include/hpipm_d_tree_ocp_qcqp_res.h → hpipm_d_tree_ocp_qcqp_res.h} +0 -0
  2120. /casadi/include/{include/hpipm_d_tree_ocp_qcqp_sol.h → hpipm_d_tree_ocp_qcqp_sol.h} +0 -0
  2121. /casadi/include/{include/hpipm_d_tree_ocp_qcqp_utils.h → hpipm_d_tree_ocp_qcqp_utils.h} +0 -0
  2122. /casadi/include/{include/hpipm_d_tree_ocp_qp.h → hpipm_d_tree_ocp_qp.h} +0 -0
  2123. /casadi/include/{include/hpipm_d_tree_ocp_qp_dim.h → hpipm_d_tree_ocp_qp_dim.h} +0 -0
  2124. /casadi/include/{include/hpipm_d_tree_ocp_qp_ipm.h → hpipm_d_tree_ocp_qp_ipm.h} +0 -0
  2125. /casadi/include/{include/hpipm_d_tree_ocp_qp_kkt.h → hpipm_d_tree_ocp_qp_kkt.h} +0 -0
  2126. /casadi/include/{include/hpipm_d_tree_ocp_qp_res.h → hpipm_d_tree_ocp_qp_res.h} +0 -0
  2127. /casadi/include/{include/hpipm_d_tree_ocp_qp_sol.h → hpipm_d_tree_ocp_qp_sol.h} +0 -0
  2128. /casadi/include/{include/hpipm_d_tree_ocp_qp_utils.h → hpipm_d_tree_ocp_qp_utils.h} +0 -0
  2129. /casadi/include/{include/hpipm_m_dense_qp.h → hpipm_m_dense_qp.h} +0 -0
  2130. /casadi/include/{include/hpipm_m_dense_qp_dim.h → hpipm_m_dense_qp_dim.h} +0 -0
  2131. /casadi/include/{include/hpipm_m_ocp_qp.h → hpipm_m_ocp_qp.h} +0 -0
  2132. /casadi/include/{include/hpipm_m_ocp_qp_ipm_hard.h → hpipm_m_ocp_qp_ipm_hard.h} +0 -0
  2133. /casadi/include/{include/hpipm_m_ocp_qp_kkt.h → hpipm_m_ocp_qp_kkt.h} +0 -0
  2134. /casadi/include/{include/hpipm_s_cast_qcqp.h → hpipm_s_cast_qcqp.h} +0 -0
  2135. /casadi/include/{include/hpipm_s_cond.h → hpipm_s_cond.h} +0 -0
  2136. /casadi/include/{include/hpipm_s_cond_aux.h → hpipm_s_cond_aux.h} +0 -0
  2137. /casadi/include/{include/hpipm_s_cond_qcqp.h → hpipm_s_cond_qcqp.h} +0 -0
  2138. /casadi/include/{include/hpipm_s_core_qp_ipm.h → hpipm_s_core_qp_ipm.h} +0 -0
  2139. /casadi/include/{include/hpipm_s_core_qp_ipm_aux.h → hpipm_s_core_qp_ipm_aux.h} +0 -0
  2140. /casadi/include/{include/hpipm_s_dense_qcqp.h → hpipm_s_dense_qcqp.h} +0 -0
  2141. /casadi/include/{include/hpipm_s_dense_qcqp_dim.h → hpipm_s_dense_qcqp_dim.h} +0 -0
  2142. /casadi/include/{include/hpipm_s_dense_qcqp_ipm.h → hpipm_s_dense_qcqp_ipm.h} +0 -0
  2143. /casadi/include/{include/hpipm_s_dense_qcqp_res.h → hpipm_s_dense_qcqp_res.h} +0 -0
  2144. /casadi/include/{include/hpipm_s_dense_qcqp_sol.h → hpipm_s_dense_qcqp_sol.h} +0 -0
  2145. /casadi/include/{include/hpipm_s_dense_qcqp_utils.h → hpipm_s_dense_qcqp_utils.h} +0 -0
  2146. /casadi/include/{include/hpipm_s_dense_qp.h → hpipm_s_dense_qp.h} +0 -0
  2147. /casadi/include/{include/hpipm_s_dense_qp_dim.h → hpipm_s_dense_qp_dim.h} +0 -0
  2148. /casadi/include/{include/hpipm_s_dense_qp_ipm.h → hpipm_s_dense_qp_ipm.h} +0 -0
  2149. /casadi/include/{include/hpipm_s_dense_qp_kkt.h → hpipm_s_dense_qp_kkt.h} +0 -0
  2150. /casadi/include/{include/hpipm_s_dense_qp_res.h → hpipm_s_dense_qp_res.h} +0 -0
  2151. /casadi/include/{include/hpipm_s_dense_qp_sol.h → hpipm_s_dense_qp_sol.h} +0 -0
  2152. /casadi/include/{include/hpipm_s_dense_qp_utils.h → hpipm_s_dense_qp_utils.h} +0 -0
  2153. /casadi/include/{include/hpipm_s_ocp_qcqp.h → hpipm_s_ocp_qcqp.h} +0 -0
  2154. /casadi/include/{include/hpipm_s_ocp_qcqp_dim.h → hpipm_s_ocp_qcqp_dim.h} +0 -0
  2155. /casadi/include/{include/hpipm_s_ocp_qcqp_ipm.h → hpipm_s_ocp_qcqp_ipm.h} +0 -0
  2156. /casadi/include/{include/hpipm_s_ocp_qcqp_red.h → hpipm_s_ocp_qcqp_red.h} +0 -0
  2157. /casadi/include/{include/hpipm_s_ocp_qcqp_res.h → hpipm_s_ocp_qcqp_res.h} +0 -0
  2158. /casadi/include/{include/hpipm_s_ocp_qcqp_sol.h → hpipm_s_ocp_qcqp_sol.h} +0 -0
  2159. /casadi/include/{include/hpipm_s_ocp_qcqp_utils.h → hpipm_s_ocp_qcqp_utils.h} +0 -0
  2160. /casadi/include/{include/hpipm_s_ocp_qp.h → hpipm_s_ocp_qp.h} +0 -0
  2161. /casadi/include/{include/hpipm_s_ocp_qp_dim.h → hpipm_s_ocp_qp_dim.h} +0 -0
  2162. /casadi/include/{include/hpipm_s_ocp_qp_ipm.h → hpipm_s_ocp_qp_ipm.h} +0 -0
  2163. /casadi/include/{include/hpipm_s_ocp_qp_kkt.h → hpipm_s_ocp_qp_kkt.h} +0 -0
  2164. /casadi/include/{include/hpipm_s_ocp_qp_red.h → hpipm_s_ocp_qp_red.h} +0 -0
  2165. /casadi/include/{include/hpipm_s_ocp_qp_res.h → hpipm_s_ocp_qp_res.h} +0 -0
  2166. /casadi/include/{include/hpipm_s_ocp_qp_sol.h → hpipm_s_ocp_qp_sol.h} +0 -0
  2167. /casadi/include/{include/hpipm_s_ocp_qp_utils.h → hpipm_s_ocp_qp_utils.h} +0 -0
  2168. /casadi/include/{include/hpipm_s_part_cond.h → hpipm_s_part_cond.h} +0 -0
  2169. /casadi/include/{include/hpipm_s_part_cond_qcqp.h → hpipm_s_part_cond_qcqp.h} +0 -0
  2170. /casadi/include/{include/hpipm_s_sim_erk.h → hpipm_s_sim_erk.h} +0 -0
  2171. /casadi/include/{include/hpipm_s_sim_rk.h → hpipm_s_sim_rk.h} +0 -0
  2172. /casadi/include/{include/hpipm_s_tree_ocp_qcqp.h → hpipm_s_tree_ocp_qcqp.h} +0 -0
  2173. /casadi/include/{include/hpipm_s_tree_ocp_qcqp_dim.h → hpipm_s_tree_ocp_qcqp_dim.h} +0 -0
  2174. /casadi/include/{include/hpipm_s_tree_ocp_qcqp_ipm.h → hpipm_s_tree_ocp_qcqp_ipm.h} +0 -0
  2175. /casadi/include/{include/hpipm_s_tree_ocp_qcqp_res.h → hpipm_s_tree_ocp_qcqp_res.h} +0 -0
  2176. /casadi/include/{include/hpipm_s_tree_ocp_qcqp_sol.h → hpipm_s_tree_ocp_qcqp_sol.h} +0 -0
  2177. /casadi/include/{include/hpipm_s_tree_ocp_qcqp_utils.h → hpipm_s_tree_ocp_qcqp_utils.h} +0 -0
  2178. /casadi/include/{include/hpipm_s_tree_ocp_qp.h → hpipm_s_tree_ocp_qp.h} +0 -0
  2179. /casadi/include/{include/hpipm_s_tree_ocp_qp_dim.h → hpipm_s_tree_ocp_qp_dim.h} +0 -0
  2180. /casadi/include/{include/hpipm_s_tree_ocp_qp_ipm.h → hpipm_s_tree_ocp_qp_ipm.h} +0 -0
  2181. /casadi/include/{include/hpipm_s_tree_ocp_qp_kkt.h → hpipm_s_tree_ocp_qp_kkt.h} +0 -0
  2182. /casadi/include/{include/hpipm_s_tree_ocp_qp_res.h → hpipm_s_tree_ocp_qp_res.h} +0 -0
  2183. /casadi/include/{include/hpipm_s_tree_ocp_qp_sol.h → hpipm_s_tree_ocp_qp_sol.h} +0 -0
  2184. /casadi/include/{include/hpipm_s_tree_ocp_qp_utils.h → hpipm_s_tree_ocp_qp_utils.h} +0 -0
  2185. /casadi/include/{include/hpipm_scenario_tree.h → hpipm_scenario_tree.h} +0 -0
  2186. /casadi/include/{include/hpipm_timing.h → hpipm_timing.h} +0 -0
  2187. /casadi/include/{include/hpipm_tree.h → hpipm_tree.h} +0 -0
  2188. /casadi/include/{include/openblas → openblas}/cblas.h +0 -0
  2189. /casadi/include/{include/openblas → openblas}/f77blas.h +0 -0
  2190. /casadi/include/{include/openblas → openblas}/lapack.h +0 -0
  2191. /casadi/include/{include/openblas → openblas}/lapacke.h +0 -0
  2192. /casadi/include/{include/openblas → openblas}/lapacke_config.h +0 -0
  2193. /casadi/include/{include/openblas → openblas}/lapacke_example_aux.h +0 -0
  2194. /casadi/include/{include/eigen3/Eigen/src/misc → openblas}/lapacke_mangling.h +0 -0
  2195. /casadi/include/{include/openblas → openblas}/lapacke_utils.h +0 -0
  2196. /casadi/include/{include → openblas}/openblas/lapacke_mangling.h +0 -0
  2197. /casadi/include/{include/openblas → openblas}/openblas_config.h +0 -0
  2198. /casadi/include/{include/qdldl → qdldl}/qdldl.h +0 -0
  2199. /casadi/include/{include/qdldl → qdldl}/qdldl_types.h +0 -0
  2200. /casadi/include/{include/s_blas.h → s_blas.h} +0 -0
  2201. /casadi/include/{include/s_blas_64.h → s_blas_64.h} +0 -0
  2202. /casadi/include/{include/sleqp → sleqp}/export.h +0 -0
  2203. /casadi/include/{include/sleqp → sleqp}/pub_cmp.h +0 -0
  2204. /casadi/include/{include/sleqp → sleqp}/pub_dyn.h +0 -0
  2205. /casadi/include/{include/sleqp → sleqp}/pub_error.h +0 -0
  2206. /casadi/include/{include/sleqp → sleqp}/pub_func.h +0 -0
  2207. /casadi/include/{include/sleqp → sleqp}/pub_hess_struct.h +0 -0
  2208. /casadi/include/{include/sleqp → sleqp}/pub_iterate.h +0 -0
  2209. /casadi/include/{include/sleqp → sleqp}/pub_log.h +0 -0
  2210. /casadi/include/{include/sleqp → sleqp}/pub_lsq.h +0 -0
  2211. /casadi/include/{include/sleqp → sleqp}/pub_mem.h +0 -0
  2212. /casadi/include/{include/sleqp → sleqp}/pub_problem.h +0 -0
  2213. /casadi/include/{include/sleqp → sleqp}/pub_scale.h +0 -0
  2214. /casadi/include/{include/sleqp → sleqp}/pub_settings.h +0 -0
  2215. /casadi/include/{include/sleqp → sleqp}/pub_solver.h +0 -0
  2216. /casadi/include/{include/sleqp → sleqp}/pub_types.h +0 -0
  2217. /casadi/include/{include/sleqp → sleqp}/pub_working_set.h +0 -0
  2218. /casadi/include/{include/sleqp → sleqp}/sparse/pub_mat.h +0 -0
  2219. /casadi/include/{include/sleqp → sleqp}/sparse/pub_vec.h +0 -0
  2220. /casadi/include/{include/sleqp.h → sleqp.h} +0 -0
  2221. /casadi/include/{include/spral.h → spral.h} +0 -0
  2222. /casadi/include/{include/spral_lsmr.h → spral_lsmr.h} +0 -0
  2223. /casadi/include/{include/spral_matrix_util.h → spral_matrix_util.h} +0 -0
  2224. /casadi/include/{include/spral_random.h → spral_random.h} +0 -0
  2225. /casadi/include/{include/spral_random_matrix.h → spral_random_matrix.h} +0 -0
  2226. /casadi/include/{include/spral_rutherford_boeing.h → spral_rutherford_boeing.h} +0 -0
  2227. /casadi/include/{include/spral_scaling.h → spral_scaling.h} +0 -0
  2228. /casadi/include/{include/spral_ssids.h → spral_ssids.h} +0 -0
  2229. /casadi/include/{include/spral_ssmfe.h → spral_ssmfe.h} +0 -0
  2230. /casadi/include/{include/trlib.h → trlib.h} +0 -0
  2231. {casadi-3.6.4.dist-info → casadi-3.6.7.dist-info}/WHEEL +0 -0
@@ -1,1679 +0,0 @@
1
- // This file is part of Eigen, a lightweight C++ template library
2
- // for linear algebra.
3
- //
4
- // Copyright (C) 2014 Benoit Steiner <benoit.steiner.goog@gmail.com>
5
- //
6
- // This Source Code Form is subject to the terms of the Mozilla
7
- // Public License v. 2.0. If a copy of the MPL was not distributed
8
- // with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
9
-
10
- #ifndef EIGEN_CXX11_TENSOR_TENSOR_CONTRACTION_THREAD_POOL_H
11
- #define EIGEN_CXX11_TENSOR_TENSOR_CONTRACTION_THREAD_POOL_H
12
-
13
- // evaluator for thread pool device
14
- #ifdef EIGEN_USE_THREADS
15
-
16
- namespace Eigen {
17
-
18
- template<typename Indices, typename LeftArgType, typename RightArgType, typename OutputKernelType>
19
- struct TensorEvaluator<const TensorContractionOp<Indices, LeftArgType, RightArgType, OutputKernelType>, ThreadPoolDevice> :
20
- public TensorContractionEvaluatorBase<TensorEvaluator<const TensorContractionOp<Indices, LeftArgType, RightArgType, OutputKernelType>, ThreadPoolDevice> > {
21
-
22
- typedef ThreadPoolDevice Device;
23
-
24
- typedef TensorEvaluator<const TensorContractionOp<Indices, LeftArgType, RightArgType, OutputKernelType>, Device> Self;
25
- typedef TensorContractionEvaluatorBase<Self> Base;
26
-
27
- typedef TensorContractionOp<Indices, LeftArgType, RightArgType, OutputKernelType> XprType;
28
- typedef typename internal::remove_const<typename XprType::Scalar>::type Scalar;
29
- typedef typename XprType::Index Index;
30
- typedef typename XprType::CoeffReturnType CoeffReturnType;
31
- typedef typename PacketType<CoeffReturnType, Device>::type PacketReturnType;
32
-
33
- enum {
34
- Layout = TensorEvaluator<LeftArgType, Device>::Layout,
35
- };
36
-
37
- // Most of the code is assuming that both input tensors are ColMajor. If the
38
- // inputs are RowMajor, we will "cheat" by swapping the LHS and RHS:
39
- // If we want to compute A * B = C, where A is LHS and B is RHS, the code
40
- // will pretend B is LHS and A is RHS.
41
- typedef typename internal::conditional<
42
- static_cast<int>(Layout) == static_cast<int>(ColMajor), LeftArgType, RightArgType>::type EvalLeftArgType;
43
- typedef typename internal::conditional<
44
- static_cast<int>(Layout) == static_cast<int>(ColMajor), RightArgType, LeftArgType>::type EvalRightArgType;
45
-
46
- static const int LDims =
47
- internal::array_size<typename TensorEvaluator<EvalLeftArgType, Device>::Dimensions>::value;
48
- static const int RDims =
49
- internal::array_size<typename TensorEvaluator<EvalRightArgType, Device>::Dimensions>::value;
50
- static const int ContractDims = internal::array_size<Indices>::value;
51
-
52
- typedef array<Index, LDims> left_dim_mapper_t;
53
- typedef array<Index, RDims> right_dim_mapper_t;
54
-
55
- typedef array<Index, ContractDims> contract_t;
56
- typedef array<Index, LDims - ContractDims> left_nocontract_t;
57
- typedef array<Index, RDims - ContractDims> right_nocontract_t;
58
-
59
- static const int NumDims = LDims + RDims - 2 * ContractDims;
60
-
61
- typedef DSizes<Index, NumDims> Dimensions;
62
-
63
- // typedefs needed in evalTo
64
- typedef typename internal::remove_const<typename EvalLeftArgType::Scalar>::type LhsScalar;
65
- typedef typename internal::remove_const<typename EvalRightArgType::Scalar>::type RhsScalar;
66
- typedef typename internal::gebp_traits<LhsScalar, RhsScalar> Traits;
67
-
68
- typedef TensorEvaluator<EvalLeftArgType, Device> LeftEvaluator;
69
- typedef TensorEvaluator<EvalRightArgType, Device> RightEvaluator;
70
-
71
- TensorEvaluator(const XprType& op, const Device& device) :
72
- Base(op, device) {}
73
-
74
- template <int Alignment>
75
- void evalProduct(Scalar* buffer) const {
76
- evalProductImpl<NoCallback, Alignment>(buffer, NoCallback());
77
- }
78
-
79
- template <typename EvalToCallback, int Alignment>
80
- void evalProductAsync(Scalar* buffer, EvalToCallback done) const {
81
- evalProductImpl<EvalToCallback, Alignment>(buffer, std::move(done));
82
- }
83
-
84
- template <typename DoneCallback, int Alignment>
85
- void evalProductImpl(Scalar* buffer, DoneCallback done) const {
86
- // This function computes a lot of heuristics in multiple steps, and it
87
- // also has multiple exit points. To keep it sane, readable and all in one
88
- // place, sync/async execution decision is made at runtime at the very end.
89
- //
90
- // (1) In sync mode we allocate Context on the stack, submit computations
91
- // to the device thread pool, and block on a barrier until it is
92
- // completed.
93
- //
94
- // (2) In async mode we allocate Context on the heap, and after all tasks
95
- // are finished, we call provided the done callback, and delete a
96
- // context from the heap.
97
- //
98
- // (*) EvalParallelContext & EvalShardedByInnerDimContext owns all the state
99
- // and temporary buffers, requried for executing the tensor contraction.
100
- // They are responsible for cleaning it up after contraction is done.
101
- static const bool IsEvalInSyncMode =
102
- std::is_same<DoneCallback, NoCallback>::value;
103
-
104
- const Index m = this->m_i_size;
105
- const Index n = this->m_j_size;
106
- const Index k = this->m_k_size;
107
- if (m == 0 || n == 0 || k == 0) return;
108
-
109
- // Compute a set of algorithm parameters:
110
- // - kernel block sizes (bm, bn, bk)
111
- // - task grain sizes (number of kernels executed per task: gm, gn)
112
- // - number of threads
113
- // - sharding by row/column
114
- // - parallel packing or first lhs then rhs
115
- // and some derived parameters:
116
- // - number of tasks (nm, nn, nk)
117
- // - number of kernels (nm0, nn0)
118
- // Unfortunately, all these parameters are tightly interdependent.
119
- // So in some cases we first compute approximate values, then compute other
120
- // values based on these approximations and then refine the approximations.
121
-
122
- // There are lots of heuristics here. There is some reasoning behind them,
123
- // but ultimately they are just tuned on contraction benchmarks for
124
- // different input configurations, thread counts and instruction sets.
125
- // So feel free to question any of them.
126
-
127
- // Compute whether we want to shard by row or by column.
128
- // This is a first approximation, it will be refined later. Since we don't
129
- // know number of threads yet we use 2, because what's we are most
130
- // interested in at this point is whether it makes sense to use
131
- // parallelization at all or not.
132
- bool shard_by_col = shardByCol(m, n, 2);
133
-
134
- // First approximation of kernel blocking sizes.
135
- // Again, we don't know number of threads yet, so we use 2.
136
- Index bm, bn, bk;
137
- if (shard_by_col) {
138
- internal::TensorContractionBlocking<Scalar, LhsScalar, RhsScalar, Index,
139
- internal::ShardByCol>
140
- blocking(k, m, n, 2);
141
- bm = blocking.mc();
142
- bn = blocking.nc();
143
- bk = blocking.kc();
144
- } else {
145
- internal::TensorContractionBlocking<Scalar, LhsScalar, RhsScalar, Index,
146
- internal::ShardByRow>
147
- blocking(k, m, n, 2);
148
- bm = blocking.mc();
149
- bn = blocking.nc();
150
- bk = blocking.kc();
151
- }
152
-
153
- // Compute optimal number of threads.
154
- // Note: we use bk instead of k here because we are interested in amount of
155
- // _parallelizable_ computations, and computations are not parallelizable
156
- // across k dimension.
157
- const TensorOpCost cost =
158
- contractionCost(m, n, bm, bn, bk, shard_by_col, false);
159
- int num_threads = TensorCostModel<ThreadPoolDevice>::numThreads(
160
- static_cast<double>(n) * m, cost, this->m_device.numThreads());
161
- int num_threads_by_k = numThreadsInnerDim(m, n, k);
162
- if (shardByInnerDim(m, n, k, num_threads, num_threads_by_k)) {
163
- // We are in the scenario where it is more effective to shard by the
164
- // inner dimension.
165
- if (IsEvalInSyncMode) {
166
- EvalShardedByInnerDimContext<DoneCallback> ctx(
167
- this, num_threads_by_k, buffer, m, n, k, std::move(done));
168
- ctx.template run<Alignment>();
169
- } else {
170
- auto* ctx = new EvalShardedByInnerDimContext<DoneCallback>(
171
- this, num_threads_by_k, buffer, m, n, k, std::move(done));
172
- ctx->template runAsync<Alignment>();
173
- }
174
-
175
- return;
176
- }
177
-
178
- // TODO(dvyukov): this is a stop-gap to prevent regressions while the cost
179
- // model is not tuned. Remove this when the cost model is tuned.
180
- if (n == 1) num_threads = 1;
181
-
182
- if (num_threads == 1) {
183
- TENSOR_CONTRACTION_DISPATCH(this->template evalProductSequential,
184
- Unaligned, (buffer));
185
- if (!IsEvalInSyncMode) done();
186
- return;
187
- }
188
-
189
- // Now that we know number of threads, recalculate sharding and blocking.
190
- shard_by_col = shardByCol(m, n, num_threads);
191
- if (shard_by_col) {
192
- internal::TensorContractionBlocking<Scalar, LhsScalar, RhsScalar, Index,
193
- internal::ShardByCol>
194
- blocking(k, m, n, num_threads);
195
- bm = blocking.mc();
196
- bn = blocking.nc();
197
- bk = blocking.kc();
198
- } else {
199
- internal::TensorContractionBlocking<Scalar, LhsScalar, RhsScalar, Index,
200
- internal::ShardByRow>
201
- blocking(k, m, n, num_threads);
202
- bm = blocking.mc();
203
- bn = blocking.nc();
204
- bk = blocking.kc();
205
- }
206
-
207
- // Number of kernels for each dimension.
208
- Index nm0 = divup(m, bm);
209
- Index nn0 = divup(n, bn);
210
- Index nk = divup(k, bk);
211
-
212
- // Calculate task grain size (number of kernels executed per task).
213
- // This task size coarsening serves two purposes:
214
- // 1. It reduces per-task overheads including synchronization overheads.
215
- // 2. It allows to use caches better (reuse the same packed rhs in several
216
- // consecutive kernels).
217
- Index gm = 1;
218
- Index gn = 1;
219
- // If we are sharding by column, then we prefer to reduce rows first.
220
- if (shard_by_col) {
221
- gm = coarsenM(m, n, bm, bn, bk, gn, num_threads, shard_by_col);
222
- gn = coarsenN(m, n, bm, bn, bk, gm, num_threads, shard_by_col);
223
- } else {
224
- gn = coarsenN(m, n, bm, bn, bk, gm, num_threads, shard_by_col);
225
- gm = coarsenM(m, n, bm, bn, bk, gn, num_threads, shard_by_col);
226
- }
227
- // Number of tasks in each dimension.
228
- Index nm = divup(nm0, gm);
229
- Index nn = divup(nn0, gn);
230
-
231
- // If there is enough concurrency in the sharding dimension, we choose not
232
- // to paralellize by the other dimension, and execute all kernels in sync
233
- // mode. This reduces parallelism from the nm x nn down to nn
234
- // (shard_by_col==true) or nm (shard_by_col==false).
235
- const Index sharding_dim_tasks = shard_by_col ? nn : nm;
236
- const int num_worker_threads = this->m_device.numThreadsInPool();
237
-
238
- // With small number of threads we want to make sure that we do not reduce
239
- // parallelism too much. With large number of threads we trade maximum
240
- // parallelism for better memory locality.
241
- const float oversharding_factor =
242
- num_worker_threads <= 4 ? 8.0 :
243
- num_worker_threads <= 8 ? 4.0 :
244
- num_worker_threads <= 16 ? 2.0 :
245
- num_worker_threads <= 32 ? 1.0 :
246
- num_worker_threads <= 64 ? 0.8 : /* num_worker_threads > 64 */ 0.6;
247
-
248
- const bool parallelize_by_sharding_dim_only =
249
- sharding_dim_tasks >= oversharding_factor * num_worker_threads;
250
-
251
- // Last by not least, decide whether we want to issue both lhs and rhs
252
- // packing in parallel; or issue lhs packing first, and then issue rhs
253
- // packing when lhs packing completes (for !shard_by_col lhs and rhs are
254
- // swapped). Parallel packing allows more parallelism (for both packing and
255
- // kernels), while sequential packing provides better locality (once
256
- // a thread finishes rhs packing it proceed to kernels with that rhs).
257
- // First, we are interested in parallel packing if there are few tasks.
258
- bool parallel_pack = num_threads >= nm * nn;
259
- // Also do parallel packing if all data fits into L2$.
260
- if (m * bk * Index(sizeof(LhsScalar)) + n * bk * Index(sizeof(RhsScalar)) <=
261
- l2CacheSize() * num_threads)
262
- parallel_pack = true;
263
- // But don't do it if we will use each rhs only once. Locality seems to be
264
- // more important in this case.
265
- if ((shard_by_col ? nm : nn) == 1) parallel_pack = false;
266
- // Also don't get in the way of parallelize_by_sharding_dim_only
267
- // optimization.
268
- if (parallelize_by_sharding_dim_only) parallel_pack = false;
269
-
270
- // TODO(ezhulnev): With if contexpr we don't need SyncEvalParallelContext.
271
- if (IsEvalInSyncMode) {
272
- #define CONTEXT_ARGS \
273
- (this, num_threads, buffer, m, n, k, bm, bn, bk, nm, nn, nk, gm, gn, nm0, \
274
- nn0, shard_by_col, parallel_pack, parallelize_by_sharding_dim_only, \
275
- NoCallback()) \
276
- .run()
277
- TENSOR_CONTRACTION_DISPATCH(SyncEvalParallelContext, Alignment,
278
- CONTEXT_ARGS);
279
- #undef CONTEXT_ARGS
280
-
281
- } else {
282
- #define CONTEXT_ARGS \
283
- (this, num_threads, buffer, m, n, k, bm, bn, bk, nm, nn, nk, gm, gn, nm0, \
284
- nn0, shard_by_col, parallel_pack, parallelize_by_sharding_dim_only, \
285
- std::move(done))
286
- TENSOR_CONTRACTION_ASYNC_DISPATCH(EvalParallelContext, DoneCallback,
287
- Alignment, CONTEXT_ARGS, run());
288
- #undef CONTEXT_ARGS
289
- }
290
- }
291
-
292
- // ------------------------------------------------------------------------ //
293
-
294
- // Dummy struct to represent an empty DoneCallback.
295
-
296
- struct NoCallback {
297
- void operator()() {
298
- eigen_assert(false && "NoCallback should never be called");
299
- }
300
- };
301
-
302
- // ------------------------------------------------------------------------ //
303
-
304
- template <typename DoneCallback, typename Context>
305
- class EvalParallelNotification;
306
-
307
- // Synchronous evaluation notification that blocks caller thread in Wait().
308
- template <typename Context>
309
- class EvalParallelNotification<NoCallback, Context> {
310
- public:
311
- EvalParallelNotification(Context*, NoCallback) {}
312
- void Notify() { done_.Notify(); }
313
- void Wait() { done_.Wait(); }
314
- private:
315
- Eigen::Notification done_;
316
- };
317
-
318
- // Asynchronous evaluation notification that does not block in Wait().
319
- template <typename DoneCallback, typename Context>
320
- class EvalParallelNotification {
321
- public:
322
- EvalParallelNotification(Context* ctx, DoneCallback done)
323
- : ctx_(ctx), done_(std::move(done)) {}
324
-
325
- void Notify() {
326
- // Make a copy of done callback, because it will be destructed when we
327
- // will delete context in the next line (EvalParallelNotification is a
328
- // data member of EvalParallelContext class).
329
- DoneCallback done_copy = std::move(done_);
330
-
331
- // Delete parallel evaluation context.
332
- delete ctx_;
333
-
334
- // Now safely call the done callback.
335
- done_copy();
336
- }
337
-
338
- void Wait() {}
339
-
340
- private:
341
- Context* ctx_;
342
- DoneCallback done_;
343
- };
344
-
345
- // Context orchestrates sync/async parallel contraction evaluation. When it is
346
- // executed in asynchronous mode, it owns all the shared state that might be
347
- // accessible by block packing and kernel tasks.
348
-
349
- template <typename DoneCallback, bool lhs_inner_dim_contiguous,
350
- bool rhs_inner_dim_contiguous, bool rhs_inner_dim_reordered,
351
- int Alignment>
352
- class EvalParallelContext {
353
- public:
354
- typedef internal::TensorContractionInputMapper<
355
- LhsScalar, Index, internal::Lhs, LeftEvaluator, left_nocontract_t,
356
- contract_t, internal::packet_traits<LhsScalar>::size,
357
- lhs_inner_dim_contiguous, false, Unaligned>
358
- LhsMapper;
359
- typedef internal::TensorContractionInputMapper<
360
- RhsScalar, Index, internal::Rhs, RightEvaluator, right_nocontract_t,
361
- contract_t, internal::packet_traits<RhsScalar>::size,
362
- rhs_inner_dim_contiguous, rhs_inner_dim_reordered, Unaligned>
363
- RhsMapper;
364
-
365
- typedef internal::blas_data_mapper<Scalar, Index, ColMajor> OutputMapper;
366
-
367
- typedef internal::TensorContractionKernel<
368
- Scalar, LhsScalar, RhsScalar, Index, OutputMapper, LhsMapper, RhsMapper>
369
- TensorContractionKernel;
370
-
371
- typedef typename TensorContractionKernel::LhsBlock LhsBlock;
372
- typedef typename TensorContractionKernel::RhsBlock RhsBlock;
373
- typedef typename TensorContractionKernel::BlockMemHandle BlockMemHandle;
374
-
375
- EvalParallelContext(const Self* self, int num_threads, Scalar* buffer,
376
- Index tm, Index tn, Index tk, Index bm, Index bn,
377
- Index bk, Index nm, Index nn, Index nk, Index gm,
378
- Index gn, Index nm0, Index nn0, bool shard_by_col,
379
- bool parallel_pack,
380
- bool parallelize_by_sharding_dim_only,
381
- DoneCallback done)
382
- : created_by_thread_id_(std::this_thread::get_id()),
383
- done_(this, std::move(done)),
384
- device_(self->m_device),
385
- lhs_(self->m_leftImpl, self->m_left_nocontract_strides,
386
- self->m_i_strides, self->m_left_contracting_strides,
387
- self->m_k_strides),
388
- rhs_(self->m_rightImpl, self->m_right_nocontract_strides,
389
- self->m_j_strides, self->m_right_contracting_strides,
390
- self->m_k_strides),
391
- buffer_(buffer),
392
- output_(buffer, tm),
393
- output_kernel_(self->m_output_kernel),
394
- tensor_contraction_params_(self->m_tensor_contraction_params),
395
- num_threads_(num_threads),
396
- shard_by_col_(shard_by_col),
397
- parallel_pack_(parallel_pack),
398
- parallelize_by_sharding_dim_only_(parallelize_by_sharding_dim_only),
399
- m_(tm),
400
- n_(tn),
401
- k_(tk),
402
- bm_(bm),
403
- bn_(bn),
404
- bk_(bk),
405
- nm_(nm),
406
- nn_(nn),
407
- nk_(nk),
408
- gm_(gm),
409
- gn_(gn),
410
- nm0_(nm0),
411
- nn0_(nn0),
412
- kernel_(m_, k_, n_, bm_, bk_, bn_),
413
- num_thread_local_allocations_(0),
414
- // We reserve 2X more capacity for a thread local values, than the
415
- // number of threads in the pool to efficiently handle task stealing
416
- // by threads that are not managed by the pool.
417
- thread_local_capacity(2 * (parallelize_by_sharding_dim_only_
418
- ? device_.numThreadsInPool()
419
- : 0)),
420
- // We will use only one of the Lhs/Rhs thread local storage depending
421
- // on the shard_by_col value and we parallelize by sharding dim ONLY.
422
- lhs_thread_local_blocks_(shard_by_col_ ? 0 : thread_local_capacity,
423
- {*this}, {*this}),
424
- rhs_thread_local_blocks_(shard_by_col_ ? thread_local_capacity : 0,
425
- {*this}, {*this}) {
426
- // These two options are mutually exclusive.
427
- eigen_assert(!(parallel_pack && parallelize_by_sharding_dim_only));
428
-
429
- for (Index x = 0; x < P; x++) {
430
- // Normal number of notifications for k slice switch is
431
- // nm_ + nn_ + nm_ * nn_. However, first P - 1 slices will receive only
432
- // nm_ + nn_ notifications, because they will not receive notifications
433
- // from preceding kernels.
434
- state_switch_[x] =
435
- x == 0
436
- ? 1
437
- : (parallel_pack_ ? nn_ + nm_ : (shard_by_col_ ? nn_ : nm_)) +
438
- (x == P - 1 ? nm_ * nn_ : 0);
439
- state_packing_ready_[x] =
440
- parallel_pack_ ? 0 : (shard_by_col_ ? nm_ : nn_);
441
- state_kernel_[x] = new std::atomic<uint8_t>*[nm_];
442
- for (Index m = 0; m < nm_; m++) {
443
- state_kernel_[x][m] = new std::atomic<uint8_t>[nn_];
444
- // Kernels generally receive 3 notifications (previous kernel + 2
445
- // packing), but the first slice won't get notifications from previous
446
- // kernels.
447
- for (Index n = 0; n < nn_; n++)
448
- state_kernel_[x][m][n].store(
449
- (x == 0 ? 0 : 1) + (parallel_pack_ ? 2 : 1),
450
- std::memory_order_relaxed);
451
- }
452
- }
453
-
454
- // Allocate memory for packed rhs/lhs matrices.
455
- packed_mem_ = kernel_.allocateSlices( //
456
- device_, //
457
- /*num_lhs=*/nm0_, //
458
- /*num_rhs=*/nn0_, //
459
- /*num_slices=*/std::min<Index>(nk_, P - 1), //
460
- packed_lhs_, packed_rhs_);
461
-
462
- if (parallelize_by_sharding_dim_only_) {
463
- const int num_worker_threads = device_.numThreadsInPool();
464
-
465
- if (shard_by_col) {
466
- can_use_thread_local_packed_ = new std::atomic<bool>[nn_];
467
- for (int i = 0; i < nn_; ++i)
468
- can_use_thread_local_packed_[i].store(true,
469
- std::memory_order_relaxed);
470
-
471
- Index num_blocks = num_worker_threads * gn_;
472
- thread_local_pre_alocated_mem_ = kernel_.allocateSlices( //
473
- device_, //
474
- /*num_lhs=*/0, //
475
- /*num_rhs=*/num_blocks, //
476
- /*num_slices=*/1, //
477
- /*lhs_blocks=*/nullptr, &rhs_thread_local_pre_allocated_);
478
-
479
- } else {
480
- can_use_thread_local_packed_ = new std::atomic<bool>[nm_];
481
- for (int i = 0; i < nm_; ++i)
482
- can_use_thread_local_packed_[i].store(true,
483
- std::memory_order_relaxed);
484
-
485
- Index num_blocks = num_worker_threads * gm_;
486
- thread_local_pre_alocated_mem_ = kernel_.allocateSlices( //
487
- device_, //
488
- /*num_lhs=*/num_blocks, //
489
- /*num_rhs=*/0, //
490
- /*num_slices=*/1, &lhs_thread_local_pre_allocated_, //
491
- /*rhs_blocks=*/nullptr);
492
- }
493
- }
494
- }
495
-
496
- ~EvalParallelContext() {
497
- for (Index x = 0; x < P; x++) {
498
- for (Index m = 0; m < nm_; m++) delete[] state_kernel_[x][m];
499
- delete[] state_kernel_[x];
500
- }
501
- kernel_.deallocate(device_, packed_mem_);
502
- if (parallelize_by_sharding_dim_only_) {
503
- kernel_.deallocate(device_, thread_local_pre_alocated_mem_);
504
- delete[] can_use_thread_local_packed_;
505
- }
506
- }
507
-
508
- void run() {
509
- // Kick off packing of the first slice.
510
- signal_switch(0, 1);
511
-
512
- // Wait for overall completion.
513
- //
514
- // If parallel evaluation is executed in async mode, this is a no-op, and
515
- // Wait() will return immediately. In synchronous mode it will block the
516
- // caller thread until it will receive notification from last task.
517
- //
518
- // In async mode, last task when completed will call done callback from
519
- // the same thread, and will delete this context.
520
- //
521
- // TODO(dvyukov): This wait can lead to deadlock if contraction is
522
- // evaluated in synchronous mode. If nthreads contractions are
523
- // concurrently submitted from worker threads, this wait will block all
524
- // worker threads and the system will deadlock.
525
- done_.Wait();
526
- }
527
-
528
- private:
529
- std::thread::id created_by_thread_id_;
530
-
531
- // This notification is specialized on the type of DoneCallback and can be
532
- // blocking or non-blocking.
533
- EvalParallelNotification<DoneCallback, EvalParallelContext> done_;
534
-
535
- const Device& device_;
536
- LhsMapper lhs_;
537
- RhsMapper rhs_;
538
- Scalar* const buffer_;
539
- OutputMapper output_;
540
- OutputKernelType output_kernel_;
541
- TensorContractionParams tensor_contraction_params_;
542
- const int num_threads_;
543
- const bool shard_by_col_;
544
- const bool parallel_pack_;
545
- const bool parallelize_by_sharding_dim_only_;
546
- // Matrix sizes.
547
- const Index m_;
548
- const Index n_;
549
- const Index k_;
550
- // Block sizes.
551
- const Index bm_;
552
- const Index bn_;
553
- const Index bk_;
554
- // Number of tasks.
555
- const Index nm_;
556
- const Index nn_;
557
- const Index nk_;
558
- // Task grain sizes (number of kernels executed per task).
559
- const Index gm_;
560
- const Index gn_;
561
- // Number of blocks (this is different from ni_/nn_ because of task size
562
- // coarsening).
563
- const Index nm0_;
564
- const Index nn0_;
565
- // Tensor contraction kernel.
566
- TensorContractionKernel kernel_;
567
-
568
- // Parallelization strategy.
569
- //
570
- // Blocks related to the same k block can run in parallel because they write
571
- // to different output blocks. So we parallelize within k slices, this
572
- // gives us parallelism level of m x n. Before we can start any kernels
573
- // related to k-th slice, we need to issue m lhs packing tasks and n rhs
574
- // packing tasks.
575
- //
576
- // However, there is a bottleneck when we are finishing kernels for k-th
577
- // slice (at the very end there is only 1 runnable kernel). To mitigate this
578
- // bottleneck we allow kernels from k-th and k+1-th slices to run in
579
- // parallel. Note that (m, n, k) and (m, n, k+1) kernels write to the same
580
- // output block, so they must not run in parallel.
581
- //
582
- // This gives us the following dependency graph.
583
- // On each k slice we have m x n kernel tasks, m lhs paking tasks and n rhs
584
- // packing tasks.
585
- // Kernel (m, n, k) can start when:
586
- // - kernel (m, n, k-1) has finished
587
- // - lhs packing (m, k) has finished
588
- // - rhs packing (n, k) has finished
589
- // Lhs/rhs packing can start when:
590
- // - all k-1 packing has finished (artificially imposed to limit amount of
591
- // parallel packing)
592
- //
593
- // On top of that we limit runnable tasks to two consecutive k slices.
594
- // This is done to limit amount of memory we need for packed lhs/rhs
595
- // (for each k slice we need m*bk + n*bk memory in packed_lhs_/packed_rhs_).
596
- //
597
- // state_switch_ tracks when we are ready to switch to the next k slice.
598
- // state_kernel_[m][n] tracks when we are ready to kick off kernel (m, n).
599
- // These variable are rolling over 3 consecutive k slices: first two we are
600
- // actively executing + one to track completion of kernels in the second
601
- // slice.
602
- static const Index P = 3;
603
-
604
- // Handle to the allocated temporary storage for Lhs/Rhs blocks.
605
- BlockMemHandle packed_mem_;
606
- std::vector<LhsBlock> packed_lhs_[P - 1];
607
- std::vector<RhsBlock> packed_rhs_[P - 1];
608
-
609
- // If we choose to parallelize only by the sharding dimension, each thread
610
- // will have it's own "thead local" (not a c++ thread local storage) memory
611
- // for packed_lhs or packed_rhs (shard_by_col = false of true). This memory
612
- // can't be passed to a kernel that might execute on a different thread.
613
- //
614
- // In practice when we are ready to pack memory for the sharding dimension
615
- // (rhs if shard_by_col==true) of the K-th slice, all kernels for K-1 slice
616
- // already computed (99% of the time), and we can pack data into the thread
617
- // local storage, and guarantee that all the kernels will be executed
618
- // immediately in the same thread. This significantly increases L1 cache hit
619
- // ratio and reduces pressure on the memory bus.
620
- //
621
- // It's still possible that kernel for the K-th slice will be ready before
622
- // completion of the K-1 kernel, so we have to allocate "global" packed_lhs_
623
- // and packed_rhs_ to allow kernels to be executed later on a thread
624
- // different from the thread that was used for packing.
625
-
626
- // Handle for pre-allocated thread local memory buffers.
627
- BlockMemHandle thread_local_pre_alocated_mem_;
628
-
629
- // Only one of these will be initialized depending on shard_by_col value
630
- // (the size will be `num_worker_threads * num_grains_in_the_sharding_dim`).
631
- std::vector<LhsBlock> lhs_thread_local_pre_allocated_;
632
- std::vector<RhsBlock> rhs_thread_local_pre_allocated_;
633
-
634
- // How many thread local blocks were already allocated.
635
- std::atomic<int> num_thread_local_allocations_;
636
- const int thread_local_capacity;
637
-
638
- // We will use pre-allocated Lhs/Rhs blocks defined above, if the number of
639
- // unique threads in a system is below or equal to the number of threads in
640
- // a thread pool. We will fallback on dynamic memory allocation after that.
641
-
642
- // ThreadLocalBlocks is a container for Lhs or Rhs thread local buffers. Its
643
- // size is equal to the grain size in Lhs/Rhs sharding dimension.
644
- template <typename BlockType>
645
- class ThreadLocalBlocks {
646
- public:
647
- ThreadLocalBlocks() = default;
648
-
649
- ThreadLocalBlocks(BlockType* base, size_t grain_size)
650
- : is_pre_allocated_(true),
651
- thread_local_pre_allocated_base_(base),
652
- grain_size_(grain_size) {}
653
-
654
- ThreadLocalBlocks(BlockMemHandle mem_handle,
655
- std::vector<BlockType> blocks)
656
- : is_pre_allocated_(false),
657
- mem_handle_(std::move(mem_handle)),
658
- blocks_(std::move(blocks)) {}
659
-
660
- BlockType& block(int grain_index) {
661
- eigen_assert(grain_index >= 0);
662
- eigen_assert(static_cast<size_t>(grain_index) < size());
663
- return is_pre_allocated_ ? thread_local_pre_allocated_base_[grain_index]
664
- : blocks_[grain_index];
665
- }
666
-
667
- void Release(EvalParallelContext& ctx) const {
668
- if (!is_pre_allocated_) {
669
- ctx.kernel_.deallocate(ctx.device_, mem_handle_);
670
- }
671
- }
672
-
673
- size_t size() const {
674
- return is_pre_allocated_ ? grain_size_ : blocks_.size();
675
- }
676
-
677
- private:
678
- bool is_pre_allocated_;
679
-
680
- // Reuse pre-allocated thread local buffers.
681
- BlockType* thread_local_pre_allocated_base_ = nullptr;
682
- size_t grain_size_ = 0;
683
-
684
- // These will be initialized only if `is_pre_allocated == false`.
685
- BlockMemHandle mem_handle_{};
686
- std::vector<BlockType> blocks_;
687
- };
688
-
689
- // ThreadLocalBlocksInitialize callable does custom thread local blocks
690
- // initialization, and will reuse pre-allocated buffers if possible, or will
691
- // dynamically allocate new memory.
692
- //
693
- // Lhs/Rhs blocks might be of the same type, so we have to pass explicitly
694
- // for what side do we plan to do block allocation.
695
- template <typename BlockType, bool is_rhs>
696
- class ThreadLocalBlocksInitialize {
697
- static constexpr bool kIsLhs =
698
- !is_rhs && std::is_same<BlockType, LhsBlock>::value;
699
- static const bool kIsRhs =
700
- is_rhs && std::is_same<BlockType, RhsBlock>::value;
701
- static_assert(kIsLhs || kIsRhs, "Unkown block type");
702
-
703
- using Blocks = ThreadLocalBlocks<BlockType>;
704
-
705
- public:
706
- ThreadLocalBlocksInitialize(EvalParallelContext& ctx)
707
- : ctx_(ctx),
708
- num_worker_threads_(ctx_.device_.numThreadsInPool()) {}
709
-
710
- void operator()(Blocks& blocks) {
711
- const int n = ctx_.num_thread_local_allocations_.fetch_add(
712
- 1, std::memory_order_relaxed);
713
-
714
- if (n >= num_worker_threads_) {
715
- ThreadLocalBlocksAllocator<is_rhs>::allocate(ctx_, blocks);
716
- } else {
717
- ThreadLocalBlocksAllocator<is_rhs>::reuse(ctx_, n, blocks);
718
- }
719
- }
720
-
721
- private:
722
- // NOTE(ezhulenev): Without 'if constexpr' we have to put calls to
723
- // TensorContractionKernel::allocateSlices into template specializations.
724
- // Also explicit specializations are not allowed at class scope in C++03,
725
- // EvalCtx type parameter is just a workaround for that limitation.
726
- template <bool pack_rhs, typename EvalCtx = EvalParallelContext>
727
- struct ThreadLocalBlocksAllocator;
728
-
729
- template <typename EvalCtx>
730
- struct ThreadLocalBlocksAllocator</*pack_rhs=*/true, EvalCtx> {
731
- static void allocate(EvalCtx& ctx, Blocks& blocks) {
732
- std::vector<RhsBlock> rhs_blocks;
733
- BlockMemHandle mem_handle = ctx.kernel_.allocateSlices(
734
- ctx.device_,
735
- /*num_lhs=*/0,
736
- /*num_rhs=*/ctx.gn_,
737
- /*num_slices=*/1,
738
- /*lhs_blocks=*/nullptr, /*rhs_blocks=*/&rhs_blocks);
739
-
740
- blocks = ThreadLocalBlocks<RhsBlock>(std::move(mem_handle),
741
- std::move(rhs_blocks));
742
- }
743
-
744
- static void reuse(EvalCtx& ctx, int index, Blocks& blocks) {
745
- RhsBlock* ptr = &ctx.rhs_thread_local_pre_allocated_[ctx.gn_ * index];
746
- blocks = ThreadLocalBlocks<RhsBlock>(ptr, ctx.gn_);
747
- }
748
- };
749
-
750
- template <typename EvalCtx>
751
- struct ThreadLocalBlocksAllocator</*pack_rhs=*/false, EvalCtx> {
752
- static void allocate(EvalCtx& ctx, Blocks& blocks) {
753
- std::vector<LhsBlock> lhs_blocks;
754
- BlockMemHandle mem_handle = ctx.kernel_.allocateSlices(
755
- ctx.device_,
756
- /*num_lhs=*/ctx.gm_,
757
- /*num_rhs=*/0,
758
- /*num_slices=*/1,
759
- /*lhs_blocks=*/&lhs_blocks, /*rhs_blocks=*/nullptr);
760
-
761
- blocks = ThreadLocalBlocks<LhsBlock>(std::move(mem_handle),
762
- std::move(lhs_blocks));
763
- }
764
-
765
- static void reuse(EvalCtx& ctx, int index, Blocks& blocks) {
766
- LhsBlock* ptr = &ctx.lhs_thread_local_pre_allocated_[ctx.gm_ * index];
767
- blocks = ThreadLocalBlocks<LhsBlock>(ptr, ctx.gm_);
768
- }
769
- };
770
-
771
- EvalParallelContext& ctx_;
772
- const int num_worker_threads_;
773
- };
774
-
775
- template <typename BlockType>
776
- class ThreadLocalBlocksRelease {
777
- public:
778
- using Blocks = ThreadLocalBlocks<BlockType>;
779
- ThreadLocalBlocksRelease(EvalParallelContext& ctx) : ctx_(ctx) {}
780
- void operator()(Blocks& blocks) { blocks.Release(ctx_); }
781
-
782
- private:
783
- EvalParallelContext& ctx_;
784
- };
785
-
786
- // ThreadLocalBlocks initialization callables.
787
- using ThreadLocalLhsInit =
788
- ThreadLocalBlocksInitialize<LhsBlock, /*is_rhs=*/false>;
789
- using ThreadLocalRhsInit =
790
- ThreadLocalBlocksInitialize<RhsBlock, /*is_rhs=*/true>;
791
-
792
- // ThreadLocalBlocks release callables.
793
- using ThreadLocalLhsRelease = ThreadLocalBlocksRelease<LhsBlock>;
794
- using ThreadLocalRhsRelease = ThreadLocalBlocksRelease<RhsBlock>;
795
-
796
- // Thread local containers for Lhs/Rhs block packs. In practice only one of
797
- // them will be used, depending on the shard_by_col value.
798
- Eigen::ThreadLocal<ThreadLocalBlocks<LhsBlock>, ThreadLocalLhsInit,
799
- ThreadLocalLhsRelease>
800
- lhs_thread_local_blocks_;
801
- Eigen::ThreadLocal<ThreadLocalBlocks<RhsBlock>, ThreadLocalRhsInit,
802
- ThreadLocalRhsRelease>
803
- rhs_thread_local_blocks_;
804
-
805
- // After a particular shard for Kth slice missed thread local execution
806
- // opportunity (K-1 slice didn't complete kernels execution), we can no
807
- // longer schedule K+1 and following slices in thread local mode, because
808
- // there is no more guarantee that previous kernels were executed
809
- // sequentially in the same thread (size is nn_ or nm_).
810
- std::atomic<bool>* can_use_thread_local_packed_;
811
-
812
- std::atomic<uint8_t>** state_kernel_[P];
813
- // state_switch_ is frequently modified by worker threads, while other
814
- // fields are read-only after constructor. Let's move it to a separate cache
815
- // line to reduce cache-coherency traffic.
816
- char pad_[128];
817
- std::atomic<Index> state_packing_ready_[P];
818
- std::atomic<Index> state_switch_[P];
819
-
820
- LhsBlock& packed_lhs(Index m, Index k, Index m1, bool use_thread_local) {
821
- if (use_thread_local) {
822
- eigen_assert(!shard_by_col_);
823
- ThreadLocalBlocks<LhsBlock>& blocks = lhs_thread_local_blocks_.local();
824
-
825
- Index grain_index = m1 - m * gm_;
826
- return blocks.block(internal::convert_index<int>(grain_index)); // FIXME better make ThreadLocalBlocks use Eigen::Index?
827
- } else {
828
- return packed_lhs_[k % (P - 1)][m1];
829
- }
830
- }
831
-
832
- RhsBlock& packed_rhs(Index n, Index k, Index n1, bool use_thread_local) {
833
- if (use_thread_local) {
834
- eigen_assert(shard_by_col_);
835
- ThreadLocalBlocks<RhsBlock>& blocks = rhs_thread_local_blocks_.local();
836
-
837
- Index grain_index = n1 - n * gn_;
838
- return blocks.block(internal::convert_index<int>(grain_index)); // FIXME better make ThreadLocalBlocks use Eigen::Index?
839
- } else {
840
- return packed_rhs_[k % (P - 1)][n1];
841
- }
842
- }
843
-
844
- // In following two methods (pack_lhs and pack_rhs), if we know for sure
845
- // that we'll be able to immediately call a kernel with packed data, and do
846
- // not submit it to the thread pool, we can use thread local memory for
847
- // packed data.
848
- //
849
- // We can only reliably check it if we are running all kernels in sync mode
850
- // (parallelize only by sharding dim). If kernel for m==0 (n==0) is ready to
851
- // run, it's guaranteed that all kernels with larger values of m (n) are
852
- // also ready, because we execute them in the same order for all K slices.
853
-
854
- void pack_lhs(Index m, Index k) {
855
- bool use_thread_local = false;
856
-
857
- if (parallelize_by_sharding_dim_only_ && !shard_by_col_ &&
858
- can_use_thread_local_packed_[m].load(std::memory_order_relaxed)) {
859
- if (state_kernel_[k % P][m][0].load(std::memory_order_relaxed) == 1) {
860
- use_thread_local = true;
861
- } else {
862
- // If we can't guarantee that all kernels in `k` slice will be
863
- // executed sequentially in current thread, it's no longer safe to use
864
- // thread local memory in following slices along the k dimensions.
865
- eigen_assert(k > 0);
866
- can_use_thread_local_packed_[m].store(false,
867
- std::memory_order_relaxed);
868
- }
869
- }
870
-
871
- const Index mend = m * gm_ + gm(m);
872
- for (Index m1 = m * gm_; m1 < mend; m1++)
873
- kernel_.packLhs(&packed_lhs(m, k, m1, use_thread_local),
874
- lhs_.getSubMapper(m1 * bm_, k * bk_), bk(k), bm(m1));
875
-
876
- if (!parallel_pack_ && shard_by_col_) {
877
- assert(!use_thread_local);
878
- signal_packing(k);
879
- } else {
880
- signal_switch(k + 1);
881
- for (Index n = nn_ - 1; n >= 0; n--) {
882
- bool sync = parallelize_by_sharding_dim_only_ || n == 0;
883
- signal_kernel(m, n, k, sync, use_thread_local);
884
- }
885
- }
886
- }
887
-
888
- void pack_rhs(Index n, Index k) {
889
- bool use_thread_local = false;
890
-
891
- if (parallelize_by_sharding_dim_only_ && shard_by_col_ &&
892
- can_use_thread_local_packed_[n].load(std::memory_order_relaxed)) {
893
- if (state_kernel_[k % P][0][n].load(std::memory_order_relaxed) == 1) {
894
- use_thread_local = true;
895
- } else {
896
- // If we can't guarantee that all kernels in `k` slice will be
897
- // executed sequentially in current thread, it's no longer safe to use
898
- // thread local memory in followig slices along the k dimensions.
899
- eigen_assert(k > 0);
900
- can_use_thread_local_packed_[n].store(false,
901
- std::memory_order_relaxed);
902
- }
903
- }
904
-
905
- const Index nend = n * gn_ + gn(n);
906
- for (Index n1 = n * gn_; n1 < nend; n1++) {
907
- if (!TensorContractionKernel::HasBeta && k == 0) {
908
- // Zero the output memory in parallel, only if contraction kernel does
909
- // not support `beta`. Otherwise we will pass beta 0.0 to the first
910
- // call to the `TensorContractionKernel::invoke()`.
911
- //
912
- // On 10000x2x10000 mm zeroing can easily take half of time. Zero (bn
913
- // x m) row. Safe to do here because all kernels that will write to
914
- // this memory depend on completion of this task. Note: don't call
915
- // device_.memset() here. device_.memset() blocks on thread pool
916
- // worker thread, which can lead to underutilization and deadlocks.
917
- memset(buffer_ + n1 * bn_ * m_, 0, bn(n1) * m_ * sizeof(Scalar));
918
- }
919
- kernel_.packRhs(&packed_rhs(n, k, n1, use_thread_local),
920
- rhs_.getSubMapper(k * bk_, n1 * bn_), bk(k), bn(n1));
921
- }
922
-
923
- if (parallel_pack_ || shard_by_col_) {
924
- signal_switch(k + 1);
925
- for (Index m = nm_ - 1; m >= 0; m--) {
926
- bool sync = parallelize_by_sharding_dim_only_ || m == 0;
927
- signal_kernel(m, n, k, sync, use_thread_local);
928
- }
929
- } else {
930
- assert(!use_thread_local);
931
- signal_packing(k);
932
- }
933
- }
934
-
935
- void kernel(Index m, Index n, Index k, bool use_thread_local) {
936
- // Note: order of iteration matters here. Iteration over m is innermost
937
- // because we want to reuse the same packed rhs in consecutive tasks
938
- // (rhs fits into L2$ while lhs only into L3$).
939
- const Index nend = n * gn_ + gn(n);
940
- const Index mend = m * gm_ + gm(m);
941
-
942
- // NOTE: output = alpha * LHS * RHS + beta * output.
943
- const Scalar alpha = Scalar(1);
944
- const Scalar beta =
945
- (TensorContractionKernel::HasBeta && k == 0) ? Scalar(0) : Scalar(1);
946
-
947
- if (shard_by_col_) {
948
- for (Index n1 = n * gn_; n1 < nend; n1++) {
949
- for (Index m1 = m * gm_; m1 < mend; m1++) {
950
- const auto output_mapper = output_.getSubMapper(m1 * bm_, n1 * bn_);
951
- kernel_.invoke(
952
- output_mapper,
953
- packed_lhs(m, k, m1, !shard_by_col_ && use_thread_local),
954
- packed_rhs(n, k, n1, shard_by_col_ && use_thread_local), bm(m1),
955
- bk(k), bn(n1), alpha, beta);
956
-
957
- // We are done with the last task for the [m1, n1] block.
958
- if (k + 1 == nk_) {
959
- output_kernel_(output_mapper, tensor_contraction_params_,
960
- m1 * bm_, n1 * bn_, bm(m1), bn(n1));
961
- }
962
- }
963
- }
964
- } else {
965
- for (Index m1 = m * gm_; m1 < mend; m1++)
966
- for (Index n1 = n * gn_; n1 < nend; n1++) {
967
- const auto output_mapper = output_.getSubMapper(m1 * bm_, n1 * bn_);
968
- kernel_.invoke(
969
- output_mapper,
970
- packed_lhs(m, k, m1, !shard_by_col_ && use_thread_local),
971
- packed_rhs(n, k, n1, shard_by_col_ && use_thread_local), bm(m1),
972
- bk(k), bn(n1), alpha, beta);
973
-
974
- // We are done with the last task for the [m1, n1] block.
975
- if (k + 1 == nk_) {
976
- output_kernel_(output_mapper, tensor_contraction_params_,
977
- m1 * bm_, n1 * bn_, bm(m1), bn(n1));
978
- }
979
- }
980
- }
981
- signal_kernel(m, n, k + 1, /*sync=*/false, /*use_thread_local=*/false);
982
- signal_switch(k + 2);
983
- }
984
-
985
- void signal_packing(Index k) {
986
- eigen_assert(!parallel_pack_);
987
- Index s = state_packing_ready_[k % P].fetch_sub(1);
988
- eigen_assert(s > 0);
989
- if (s != 1) return;
990
- state_packing_ready_[k % P] = shard_by_col_ ? nm_ : nn_;
991
- enqueue_packing(k, shard_by_col_);
992
- }
993
-
994
- void signal_kernel(Index m, Index n, Index k, bool sync,
995
- bool use_thread_local) {
996
- std::atomic<uint8_t>* state = &state_kernel_[k % P][m][n];
997
- Index s = state->load();
998
- eigen_assert(s > 0);
999
- if (s != 1 && state->fetch_sub(1) != 1) {
1000
- eigen_assert(!use_thread_local);
1001
- return;
1002
- }
1003
- state->store(parallel_pack_ ? 3 : 2, std::memory_order_relaxed);
1004
- if (sync) {
1005
- kernel(m, n, k, use_thread_local);
1006
- } else {
1007
- eigen_assert(!use_thread_local);
1008
- device_.enqueueNoNotification(
1009
- [=]() { kernel(m, n, k, use_thread_local); });
1010
- }
1011
- }
1012
-
1013
- void signal_switch(Index k, Index v = 1) {
1014
- Index s = state_switch_[k % P].fetch_sub(v);
1015
- eigen_assert(s >= v);
1016
- if (s != v) return;
1017
-
1018
- // Ready to switch to the next k slice.
1019
- // Reset counter for the next iteration.
1020
- state_switch_[k % P] =
1021
- (parallel_pack_ ? nm_ + nn_ : (shard_by_col_ ? nn_ : nm_)) +
1022
- nm_ * nn_;
1023
- if (k < nk_) {
1024
- // Issue lhs/rhs packing. Their completion will in turn kick off
1025
- // kernels.
1026
- if (parallel_pack_) {
1027
- enqueue_packing(k, !shard_by_col_);
1028
- enqueue_packing(k, shard_by_col_);
1029
- } else if (shard_by_col_) {
1030
- enqueue_packing(k, false);
1031
- } else {
1032
- enqueue_packing(k, true);
1033
- }
1034
-
1035
- // Termination handling.
1036
- // Because kernel completion signals k + 2 switch, we need to finish nk
1037
- // + 2 slices without issuing any tasks on nk + 1 slice. So here we
1038
- // pretend that all nk + 1 packing tasks just finish instantly; so that
1039
- // nk + 2 switch only waits for completion of nk kernels.
1040
- } else if (k == nk_) {
1041
- signal_switch(k + 1,
1042
- parallel_pack_ ? nm_ + nn_ : (shard_by_col_ ? nn_ : nm_));
1043
- } else {
1044
- done_.Notify();
1045
- }
1046
- }
1047
-
1048
- // Enqueue all rhs/lhs packing for k-th slice.
1049
- void enqueue_packing(Index k, bool rhs) {
1050
- enqueue_packing_helper(0, rhs ? nn_ : nm_, k, rhs);
1051
- }
1052
-
1053
- void enqueue_packing_helper(Index start, Index end, Index k, bool rhs) {
1054
- if (end - start == 1) {
1055
- if (rhs)
1056
- pack_rhs(start, k);
1057
- else
1058
- pack_lhs(start, k);
1059
- } else {
1060
- while (end - start > 1) {
1061
- Index mid = (start + end) / 2;
1062
- device_.enqueueNoNotification(
1063
- [=]() { enqueue_packing_helper(mid, end, k, rhs); });
1064
- end = mid;
1065
- }
1066
-
1067
- // Decide if we want to run first packing task (start == 0) in
1068
- // async mode if we parallelize only by sharding dim:
1069
- // (1) pack_lhs and pack_rhs call signal_switch before completing
1070
- // all calls to signal_kernel, which in sync mode might lead
1071
- // to the execution of the first kernel of the k+1 slice, before
1072
- // completing a call to the last kernel of the k slice.
1073
- // (2) all pack tasks for sharded dim must be executed in a thread
1074
- // pool to get pre-allocated thead local buffers.
1075
- bool pack_async =
1076
- (start == 0) &&
1077
- (parallelize_by_sharding_dim_only_&& shard_by_col_ == rhs) &&
1078
- (k > 0 || std::this_thread::get_id() == created_by_thread_id_);
1079
-
1080
- if (pack_async) {
1081
- device_.enqueueNoNotification(
1082
- [=]() { enqueue_packing_helper(start, end, k, rhs); });
1083
- } else {
1084
- enqueue_packing_helper(start, end, k, rhs);
1085
- }
1086
- }
1087
- }
1088
-
1089
- // Block sizes with accounting for potentially incomplete last block.
1090
- Index bm(Index m) const { return m + 1 < nm0_ ? bm_ : m_ + bm_ - bm_ * nm0_; }
1091
- Index bn(Index n) const { return n + 1 < nn0_ ? bn_ : n_ + bn_ - bn_ * nn0_; }
1092
- Index bk(Index k) const { return k + 1 < nk_ ? bk_ : k_ + bk_ - bk_ * nk_; }
1093
- // Task grain sizes accounting for potentially incomplete last task.
1094
- Index gm(Index m) const { return m + 1 < nm_ ? gm_ : nm0_ + gm_ - gm_ * nm_; }
1095
- Index gn(Index n) const { return n + 1 < nn_ ? gn_ : nn0_ + gn_ - gn_ * nn_; }
1096
-
1097
- EvalParallelContext(const EvalParallelContext&) = delete;
1098
- void operator=(const EvalParallelContext&) = delete;
1099
- };
1100
-
1101
- template <bool lhs_inner_dim_contiguous, bool rhs_inner_dim_contiguous,
1102
- bool rhs_inner_dim_reordered, int Alignment>
1103
- using SyncEvalParallelContext =
1104
- EvalParallelContext<NoCallback, lhs_inner_dim_contiguous,
1105
- rhs_inner_dim_contiguous, rhs_inner_dim_reordered,
1106
- Alignment>;
1107
-
1108
- // ------------------------------------------------------------------------ //
1109
-
1110
- // EvalShardedByInnerDimContext orchestrates sync/async contraction
1111
- // evaluation, when we shard by inner dimension. When it is executed in
1112
- // asynchronous mode, it owns all the shared state that might be accessible by
1113
- // block processing tasks.
1114
-
1115
- template <typename DoneCallback>
1116
- struct EvalShardedByInnerDimContext {
1117
- EvalShardedByInnerDimContext(const Self* self, int num_threads,
1118
- Scalar* result_buffer,
1119
- Index m_size, Index n_size, Index k_size,
1120
- DoneCallback done_callback)
1121
- : evaluator(self),
1122
- m_lhs_inner_dim_contiguous(evaluator->m_lhs_inner_dim_contiguous),
1123
- m_rhs_inner_dim_contiguous(evaluator->m_rhs_inner_dim_contiguous),
1124
- m_rhs_inner_dim_reordered(evaluator->m_rhs_inner_dim_reordered),
1125
- result(result_buffer),
1126
- m(m_size),
1127
- n(n_size),
1128
- k(k_size),
1129
- done(std::move(done_callback)),
1130
- buffer_size_bytes(m * n * sizeof(Scalar)),
1131
- block_size(blockSize(k, num_threads)),
1132
- num_blocks(divup<Index>(k, block_size)),
1133
- num_pending_blocks(internal::convert_index<int>(num_blocks)),
1134
- l0_ranges(divup<Index>(num_blocks, l0_size)),
1135
- l0_state(l0_ranges),
1136
- block_buffers(num_blocks) {
1137
- // Keep count of pending gemm tasks for each l0 range.
1138
- for (int i = 0; i < l0_ranges; ++i) {
1139
- const Index num_pending_tasks = actualRangeSize(l0_ranges, l0_size, i);
1140
- l0_state.emplace_back(internal::convert_index<int>(num_pending_tasks));
1141
- }
1142
-
1143
- // Allocate temporary buffers for each block.
1144
- for (Index block_idx = 0; block_idx < num_blocks; ++block_idx) {
1145
- Scalar* buf = block_idx == 0
1146
- ? result
1147
- : static_cast<Scalar*>(evaluator->m_device.allocate(
1148
- buffer_size_bytes));
1149
- block_buffers.emplace_back(buf);
1150
- }
1151
- }
1152
-
1153
- ~EvalShardedByInnerDimContext() {
1154
- for (Index i = 1; i < num_blocks; ++i) {
1155
- evaluator->m_device.deallocate(block_buffers[i]);
1156
- }
1157
- }
1158
-
1159
- template <int Alignment>
1160
- void run() {
1161
- Barrier barrier(internal::convert_index<int>(num_blocks));
1162
- eval<Alignment>(barrier, 0, num_blocks);
1163
- barrier.Wait();
1164
-
1165
- // Aggregate partial sums from l0 ranges.
1166
- aggregateL0Blocks<Alignment>();
1167
-
1168
- // Apply output kernel.
1169
- applyOutputKernel();
1170
- }
1171
-
1172
- template <int Alignment>
1173
- void runAsync() {
1174
- evalAsync<Alignment>(0, num_blocks);
1175
- }
1176
-
1177
- private:
1178
- // The underlying GEMM kernel assumes that k is a multiple of
1179
- // the packet size and subtle breakage occurs if this is violated.
1180
- static const Index packet_size = internal::packet_traits<RhsScalar>::size;
1181
-
1182
- const Self* evaluator; // TensorContraction evaluator
1183
-
1184
- // These fields required fromTENSOR_CONTRACTION_DISPATCH macro.
1185
- bool m_lhs_inner_dim_contiguous;
1186
- bool m_rhs_inner_dim_contiguous;
1187
- bool m_rhs_inner_dim_reordered;
1188
-
1189
- Scalar* result;
1190
-
1191
- Index m;
1192
- Index n;
1193
- Index k;
1194
-
1195
- DoneCallback done;
1196
-
1197
- // ----------------------------------------------------------------------//
1198
- // Algorithm parameters.
1199
-
1200
- // We will compute partial results into the buffers of this size.
1201
- Index buffer_size_bytes;
1202
-
1203
- Index block_size;
1204
- Index num_blocks;
1205
-
1206
- // Keep track of pending tasks when evaluate in async mode.
1207
- std::atomic<int> num_pending_blocks;
1208
-
1209
- // We compute partial gemm results in parallel, and to get the final result
1210
- // we need to add them all together. For the large number of threads (>= 48)
1211
- // this adds a very expensive sequential step at the end.
1212
- //
1213
- // We split the [0, num_blocks) into small ranges, and when a task for the
1214
- // block finishes its partial gemm computation, it checks if it was the last
1215
- // gemm in the range, and if so, it will add all blocks of the range.
1216
- //
1217
- // After all tasks done, we need to add only these pre-aggregated blocks.
1218
-
1219
- // For now we use just a single level of ranges to compute pre-aggregated
1220
- // partial sums, but in general we can use more layers to compute tree
1221
- // aggregation in parallel and reduce the size of the sequential step.
1222
- //
1223
- // TODO(ezhulenev): Add multilevel tree aggregation? Probably will make
1224
- // sense only if number of threads >= ~128?
1225
- static const Index l0_size = 4;
1226
- Index l0_ranges;
1227
-
1228
- // Keep count of pending gemm tasks for each l0 range.
1229
- MaxSizeVector<std::atomic<int>> l0_state; // [0, l0_ranges)
1230
-
1231
- // Buffers allocated for each temporary block computation.
1232
- MaxSizeVector<Scalar*> block_buffers; // [0, num_blocks)
1233
-
1234
- template <int Alignment>
1235
- void processBlock(Index block_idx, Index begin, Index end) {
1236
- Scalar* buf = block_buffers[block_idx];
1237
-
1238
- TENSOR_CONTRACTION_DISPATCH(
1239
- evaluator->template evalGemmPartialWithoutOutputKernel, Alignment,
1240
- (buf, begin, end,
1241
- /*num_threads=*/internal::convert_index<int>(num_blocks)));
1242
-
1243
- // Check if it was the last task in l0 range.
1244
- const Index l0_index = block_idx / l0_size;
1245
- const int v = l0_state[l0_index].fetch_sub(1);
1246
- eigen_assert(v >= 1);
1247
-
1248
- // If we processed the last block of the range, we can aggregate all
1249
- // partial results into the first block of the range.
1250
- if (v == 1) {
1251
- const Index rng_size = actualRangeSize(l0_ranges, l0_size, l0_index);
1252
- const Index dst_block_idx = l0_index * l0_size;
1253
-
1254
- if (rng_size == l0_size) {
1255
- addAllToBuffer<Alignment>(
1256
- m * n,
1257
- /*src_buf0=*/block_buffers[dst_block_idx + 1],
1258
- /*src_buf1=*/block_buffers[dst_block_idx + 2],
1259
- /*src_buf2=*/block_buffers[dst_block_idx + 3],
1260
- /*dst_buf= */ block_buffers[dst_block_idx]);
1261
- } else {
1262
- // Aggregate blocks of potentially incomplete last range.
1263
- for (int i = 1; i < rng_size; ++i) {
1264
- addToBuffer<Alignment>(m * n,
1265
- /*src_buf=*/block_buffers[dst_block_idx + i],
1266
- /*dst_buf=*/block_buffers[dst_block_idx]);
1267
- }
1268
- }
1269
- }
1270
- }
1271
-
1272
- // Aggregate partial sums from l0 ranges.
1273
- template <int Alignment>
1274
- void aggregateL0Blocks() const {
1275
- Index l0_index = 1;
1276
-
1277
- for (; l0_index + 2 < l0_ranges; l0_index += 3) {
1278
- addAllToBuffer<Alignment>(
1279
- m * n,
1280
- /*src_buf0=*/block_buffers[(l0_index + 0) * l0_size],
1281
- /*src_buf1=*/block_buffers[(l0_index + 1) * l0_size],
1282
- /*src_buf2=*/block_buffers[(l0_index + 2) * l0_size],
1283
- /*dst_buf= */ block_buffers[0]);
1284
- }
1285
-
1286
- for (; l0_index < l0_ranges; ++l0_index) {
1287
- addToBuffer<Alignment>(m * n, block_buffers[l0_index * l0_size],
1288
- block_buffers[0]);
1289
- }
1290
- }
1291
-
1292
- void applyOutputKernel() const {
1293
- typedef internal::blas_data_mapper<Scalar, Index, ColMajor> OutputMapper;
1294
- evaluator->m_output_kernel(
1295
- OutputMapper(result, m), evaluator->m_tensor_contraction_params,
1296
- static_cast<Eigen::Index>(0), static_cast<Eigen::Index>(0), m, n);
1297
- }
1298
-
1299
- // Compute block size with accounting for potentially incomplete last block.
1300
- Index actualBlockSize(Index block_idx) const {
1301
- return block_idx + 1 < num_blocks
1302
- ? block_size
1303
- : k + block_size - block_size * num_blocks;
1304
- };
1305
-
1306
- // Compute range size with accounting for potentially incomplete last range.
1307
- Index actualRangeSize(Index num_ranges, Index range_size,
1308
- Index range_idx) const {
1309
- eigen_assert(range_idx < num_ranges);
1310
- return range_idx + 1 < num_ranges
1311
- ? range_size
1312
- : num_blocks + range_size - range_size * num_ranges;
1313
- };
1314
-
1315
- template <int Alignment>
1316
- EIGEN_STRONG_INLINE static void addToBuffer(size_t n, const Scalar* src_buf,
1317
- Scalar* tgt_buf) {
1318
- const int output_packet_size =
1319
- internal::unpacket_traits<PacketReturnType>::size;
1320
- size_t i = 0;
1321
- const size_t num_packets = n / output_packet_size;
1322
- for (; i < output_packet_size * num_packets; i += output_packet_size) {
1323
- const PacketReturnType src_val =
1324
- internal::pload<PacketReturnType>(src_buf + i);
1325
- const PacketReturnType tgt_val =
1326
- internal::ploadt<PacketReturnType, Alignment>(tgt_buf + i);
1327
- const PacketReturnType sum = internal::padd(src_val, tgt_val);
1328
- internal::pstoret<Scalar, PacketReturnType, Alignment>(tgt_buf + i,
1329
- sum);
1330
- }
1331
- for (; i < n; ++i) {
1332
- tgt_buf[i] += src_buf[i];
1333
- }
1334
- }
1335
-
1336
- template <int Alignment>
1337
- EIGEN_STRONG_INLINE static void addAllToBuffer(size_t n,
1338
- const Scalar* src_buf0,
1339
- const Scalar* src_buf1,
1340
- const Scalar* src_buf2,
1341
- Scalar* dst_buf) {
1342
- using ::Eigen::internal::padd;
1343
- using ::Eigen::internal::pload;
1344
- using ::Eigen::internal::ploadt;
1345
- using ::Eigen::internal::pstoret;
1346
-
1347
- const int output_packet_size =
1348
- internal::unpacket_traits<PacketReturnType>::size;
1349
-
1350
- size_t i = 0;
1351
- const size_t num_packets = n / output_packet_size;
1352
- for (; i < output_packet_size * num_packets; i += output_packet_size) {
1353
- const auto src_val0 = pload<PacketReturnType>(src_buf0 + i);
1354
- const auto src_val1 = pload<PacketReturnType>(src_buf1 + i);
1355
- const auto src_val2 = pload<PacketReturnType>(src_buf2 + i);
1356
-
1357
- const auto dst_val = ploadt<PacketReturnType, Alignment>(dst_buf + i);
1358
- const auto sum =
1359
- padd(padd(dst_val, src_val0), padd(src_val1, src_val2));
1360
-
1361
- pstoret<Scalar, PacketReturnType, Alignment>(dst_buf + i, sum);
1362
- }
1363
- for (; i < n; ++i) {
1364
- dst_buf[i] += src_buf0[i] + src_buf1[i] + src_buf2[i];
1365
- }
1366
- }
1367
-
1368
- template <int Alignment>
1369
- void eval(Barrier& barrier, Index start_block_idx, Index end_block_idx) {
1370
- while (end_block_idx - start_block_idx > 1) {
1371
- Index mid_block_idx = (start_block_idx + end_block_idx) / 2;
1372
- evaluator->m_device.enqueueNoNotification(
1373
- [this, &barrier, mid_block_idx, end_block_idx]() {
1374
- eval<Alignment>(barrier, mid_block_idx, end_block_idx);
1375
- });
1376
- end_block_idx = mid_block_idx;
1377
- }
1378
-
1379
- Index block_idx = start_block_idx;
1380
- Index block_start = block_idx * block_size;
1381
- Index block_end = block_start + actualBlockSize(block_idx);
1382
-
1383
- processBlock<Alignment>(block_idx, block_start, block_end);
1384
- barrier.Notify();
1385
- }
1386
-
1387
- template <int Alignment>
1388
- void evalAsync(Index start_block_idx, Index end_block_idx) {
1389
- while (end_block_idx - start_block_idx > 1) {
1390
- Index mid_block_idx = (start_block_idx + end_block_idx) / 2;
1391
- evaluator->m_device.enqueueNoNotification(
1392
- [this, mid_block_idx, end_block_idx]() {
1393
- evalAsync<Alignment>(mid_block_idx, end_block_idx);
1394
- });
1395
- end_block_idx = mid_block_idx;
1396
- }
1397
-
1398
- Index block_idx = start_block_idx;
1399
-
1400
- Index block_start = block_idx * block_size;
1401
- Index block_end = block_start + actualBlockSize(block_idx);
1402
-
1403
- processBlock<Alignment>(block_idx, block_start, block_end);
1404
-
1405
- int v = num_pending_blocks.fetch_sub(1);
1406
- eigen_assert(v >= 1);
1407
-
1408
- if (v == 1) {
1409
- // Aggregate partial sums from l0 ranges.
1410
- aggregateL0Blocks<Alignment>();
1411
-
1412
- // Apply output kernel.
1413
- applyOutputKernel();
1414
-
1415
- // NOTE: If we call `done` callback before deleting this (context),
1416
- // it might deallocate Self* pointer captured by context, and we'll
1417
- // fail in destructor trying to deallocate temporary buffers.
1418
-
1419
- // Move done call back from context before it will be destructed.
1420
- DoneCallback done_copy = std::move(done);
1421
-
1422
- // We are confident that we are the last one who touches context.
1423
- delete this;
1424
-
1425
- // Now safely call the done callback.
1426
- done_copy();
1427
- }
1428
- }
1429
-
1430
- // Cost model doesn't capture well the cost associated with constructing
1431
- // tensor contraction mappers and computing loop bounds in gemm_pack_lhs
1432
- // and gemm_pack_rhs, so we specify minimum desired block size.
1433
- static Index blockSize(Index k, int num_threads) {
1434
- const auto round_up = [=](Index index) -> Index {
1435
- const Index kmultiple = packet_size <= 8 ? 8 : packet_size;
1436
- return divup<Index>(index, kmultiple) * kmultiple;
1437
- };
1438
-
1439
- const Index target_block_size = round_up(divup<Index>(k, num_threads));
1440
- const Index desired_min_block_size = 12 * packet_size;
1441
-
1442
- return numext::mini<Index>(
1443
- k, numext::maxi<Index>(desired_min_block_size, target_block_size));
1444
- }
1445
-
1446
- EvalShardedByInnerDimContext(const EvalShardedByInnerDimContext&) = delete;
1447
- void operator=(const EvalShardedByInnerDimContext&) = delete;
1448
- };
1449
-
1450
- // ------------------------------------------------------------------------ //
1451
-
1452
- // Below are the function used by evalProductImpl heuristics, trying to select
1453
- // optimcal parameters for parallelization algorithm.
1454
-
1455
- // Decide whether we want to shard m x n contraction by columns or by rows.
1456
- static bool shardByCol(Index m, Index n, Index num_threads) {
1457
- // Note: we are comparing both n and m against Traits::nr, it is not
1458
- // a mistake. We are trying to figure out how both n and m will fit into
1459
- // the main sharding dimension.
1460
-
1461
- // Sharding by column is the default
1462
- // ... unless there is enough data for vectorization over rows
1463
- if (m / num_threads >= Traits::nr &&
1464
- // and not enough data for vectorization over columns
1465
- (n / num_threads < Traits::nr ||
1466
- // ... or barely enough data for vectorization over columns,
1467
- // but it is not evenly dividable across threads
1468
- (n / num_threads < 4 * Traits::nr &&
1469
- (n % (num_threads * Traits::nr)) != 0 &&
1470
- // ... and it is evenly dividable across threads for rows
1471
- ((m % (num_threads * Traits::nr)) == 0 ||
1472
- // .. or it is not evenly dividable for both dimensions but
1473
- // there is much more data over rows so that corner effects are
1474
- // mitigated.
1475
- (m / n >= 6)))))
1476
- return false;
1477
- // Wait, or if matrices are just substantially prolonged over the other
1478
- // dimension.
1479
- if (n / num_threads < 16 * Traits::nr && m > n * 32) return false;
1480
- return true;
1481
- }
1482
-
1483
- Index coarsenM(Index m, Index n, Index bm, Index bn, Index bk, Index gn,
1484
- int num_threads, bool shard_by_col) const {
1485
- Index gm = 1;
1486
- Index gm1 = 1;
1487
- Index nm0 = divup(m, bm);
1488
- Index nm1 = nm0;
1489
- for (;;) {
1490
- // Find the next candidate for m grain size. It needs to result in
1491
- // different number of blocks. E.g. if we have 10 kernels, we want to try
1492
- // 5 and 10, but not 6, 7, 8 and 9.
1493
- while (gm1 <= nm0 && nm1 == divup(nm0, gm1)) gm1++;
1494
- if (gm1 > nm0) break;
1495
- // Check the candidate.
1496
- int res = checkGrain(m, n, bm, bn, bk, gm1, gn, gm, gn, num_threads,
1497
- shard_by_col);
1498
- if (res < 0) break;
1499
- nm1 = divup(nm0, gm1);
1500
- if (res == 0) continue;
1501
- // Commit new grain size.
1502
- gm = gm1;
1503
- }
1504
- return gm;
1505
- }
1506
-
1507
- Index coarsenN(Index m, Index n, Index bm, Index bn, Index bk, Index gm,
1508
- int num_threads, bool shard_by_col) const {
1509
- Index gn = 1;
1510
- Index gn1 = 1;
1511
- Index nn0 = divup(n, bn);
1512
- Index nn1 = nn0;
1513
- for (;;) {
1514
- while (gn1 <= nn0 && nn1 == divup(nn0, gn1)) gn1++;
1515
- if (gn1 > nn0) break;
1516
- int res = checkGrain(m, n, bm, bn, bk, gm, gn1, gm, gn, num_threads,
1517
- shard_by_col);
1518
- if (res < 0) break;
1519
- nn1 = divup(nn0, gn1);
1520
- if (res == 0) continue;
1521
- gn = gn1;
1522
- }
1523
- return gn;
1524
- }
1525
-
1526
- // checkGrain checks whether grain (gm, gn) is suitable and is better than
1527
- // (oldgm, oldgn).
1528
- int checkGrain(Index m, Index n, Index bm, Index bn, Index bk, Index gm,
1529
- Index gn, Index oldgm, Index oldgn, int num_threads,
1530
- bool shard_by_col) const {
1531
- const TensorOpCost cost =
1532
- contractionCost(bm * gm, bn * gn, bm, bn, bk, shard_by_col, true);
1533
- double taskSize = TensorCostModel<ThreadPoolDevice>::taskSize(
1534
- static_cast<double>(bm) * gm * bn * gn, cost);
1535
- // If the task is too small, then we agree on it regardless of anything
1536
- // else. Otherwise synchronization overheads will dominate.
1537
- if (taskSize < 1) return 1;
1538
- // If it is too large, then we reject it and all larger tasks.
1539
- if (taskSize > 2) return -1;
1540
- // Now we are in presumably good task size range.
1541
- // The main deciding factor here is parallelism. Consider that we have 12
1542
- // kernels and 4 threads. Grains of 2, 3 and 4 all yield good task sizes.
1543
- // But 2/4 yield 6/3 tasks, which gives us parallelism of 0.75 (at most 3/4
1544
- // of cores will be busy). While grain size 3 gives us 4 tasks, which gives
1545
- // us parallelism of 1 (we can load all cores).
1546
- Index nm0 = divup(m, bm);
1547
- Index nn0 = divup(n, bn);
1548
- Index new_tasks = divup(nm0, gm) * divup(nn0, gn);
1549
- double new_parallelism = static_cast<double>(new_tasks) /
1550
- (divup<int>(new_tasks, num_threads) * num_threads);
1551
- Index old_tasks = divup(nm0, oldgm) * divup(nn0, oldgn);
1552
- double old_parallelism = static_cast<double>(old_tasks) /
1553
- (divup<int>(old_tasks, num_threads) * num_threads);
1554
- if (new_parallelism > old_parallelism || new_parallelism == 1) return 1;
1555
- return 0;
1556
- }
1557
-
1558
- TensorOpCost contractionCost(Index m, Index n, Index bm, Index bn, Index bk,
1559
- bool shard_by_col, bool prepacked) const {
1560
- const int packed_size = std::min<int>(PacketType<LhsScalar, Device>::size,
1561
- PacketType<RhsScalar, Device>::size);
1562
- const int output_packet_size = internal::unpacket_traits<PacketReturnType>::size;
1563
- const double kd = static_cast<double>(bk);
1564
- double compute_bandwidth = computeBandwidth(false, bm, bn, bk);
1565
- // Computations.
1566
- TensorOpCost cost = TensorOpCost(0, 0, kd * compute_bandwidth, true, packed_size);
1567
- // Output stores.
1568
- cost += TensorOpCost(0, sizeof(CoeffReturnType), 0, true, output_packet_size);
1569
- if (prepacked) {
1570
- // Packing and kernels are executed in different tasks. When we calculate
1571
- // task grain size we look only at kernel cost assuming that kernel
1572
- // is more expensive than packing.
1573
- return cost;
1574
- }
1575
- // Lhs/rhs loads + computations.
1576
- TensorOpCost lhsCost = this->m_leftImpl.costPerCoeff(true) * (kd / n);
1577
- TensorOpCost rhsCost = this->m_rightImpl.costPerCoeff(true) * (kd / m);
1578
- // Lhs packing memory cost does not contribute considerably to overall
1579
- // execution time because lhs is prefetched early and accessed sequentially.
1580
- if (shard_by_col)
1581
- lhsCost.dropMemoryCost();
1582
- else
1583
- rhsCost.dropMemoryCost();
1584
- return cost + lhsCost + rhsCost;
1585
- }
1586
-
1587
- // Decide whether we want to shard m x k x n contraction over the inner
1588
- // (contraction) dimension (k).
1589
- static bool shardByInnerDim(Index m, Index n, Index k, int num_threads,
1590
- int num_threads_by_k) {
1591
- std::ptrdiff_t bufsize = m * n * sizeof(Scalar);
1592
- bool shard_by_k = false;
1593
- if (n == 1 || // If mat*vec or...
1594
- num_threads_by_k < 2 || // running single threaded or...
1595
- num_threads_by_k <
1596
- num_threads || // sharding by k gives less parallelism or...
1597
- bufsize > l3CacheSize() / num_threads_by_k || // need more buffer space
1598
- // than L3 cache or...
1599
- k / num_threads_by_k < 2 * Traits::nr) { // k per thread is tiny.
1600
- shard_by_k = false;
1601
- } else if (numext::maxi(m, n) / num_threads <
1602
- Traits::nr || // both other dimensions are tiny or...
1603
- // k per thread is not small and...
1604
- (k / num_threads_by_k > 8 * Traits::nr &&
1605
- // one of the outer dimensions is tiny or sharding by k offers
1606
- // more parallelism.
1607
- (numext::mini(m, n) < 2 * Traits::nr ||
1608
- num_threads_by_k > num_threads))) {
1609
- shard_by_k = true;
1610
- }
1611
- return shard_by_k;
1612
- }
1613
-
1614
- TensorOpCost contractionCostPerInnerDim(Index m, Index n, Index k) const {
1615
- // Compute cost.
1616
- const int output_packet_size = internal::unpacket_traits<PacketReturnType>::size;
1617
- TensorOpCost cost(0, 0, (computeBandwidth(true, m, n, k) * m) * n, true, output_packet_size);
1618
- // Output stores.
1619
- cost += TensorOpCost(0, sizeof(CoeffReturnType), 0, true, output_packet_size);
1620
- TensorOpCost lhsCost = this->m_leftImpl.costPerCoeff(true) * m;
1621
- TensorOpCost rhsCost = this->m_rightImpl.costPerCoeff(true) * n;
1622
- // Since the inner gemm kernel is always sharded by column, the lhs
1623
- // load cost is negligible.
1624
- lhsCost.dropMemoryCost();
1625
- return cost + lhsCost + rhsCost;
1626
- }
1627
-
1628
- int numThreadsInnerDim(Index m, Index n, Index k) const {
1629
- const int output_packet_size = internal::unpacket_traits<PacketReturnType>::size;
1630
- TensorOpCost cost = contractionCostPerInnerDim(m, n, k);
1631
- double total_parallel_cost =
1632
- TensorCostModel<ThreadPoolDevice>::totalCost(k, cost);
1633
- // Cost of reduction step accumulating the m*n per-thread buffers into the
1634
- // result.
1635
- double reduction_cost = TensorCostModel<ThreadPoolDevice>::totalCost(
1636
- m * n, TensorOpCost(2, 1, 1, true, output_packet_size));
1637
- int num_threads = 1;
1638
- double min_cost = total_parallel_cost;
1639
- double kPerThreadOverHead = 3000;
1640
- double kFixedOverHead = 100000;
1641
- for (int nt = 2; nt <= this->m_device.numThreads(); nt += 2) {
1642
- double sequential_cost =
1643
- kFixedOverHead + nt * (reduction_cost + kPerThreadOverHead);
1644
- double parallel_cost = total_parallel_cost / nt + sequential_cost;
1645
- if (parallel_cost < min_cost) {
1646
- num_threads = nt;
1647
- min_cost = parallel_cost;
1648
- }
1649
- }
1650
- return num_threads;
1651
- }
1652
-
1653
- double computeBandwidth(bool shard_by_col, Index bm, Index bn,
1654
- Index bk) const {
1655
- // Peak VFMA bandwidth is 0.5. However if we have not enough data for
1656
- // vectorization bandwidth drops. The 4.0 and 2.0 bandwidth is determined
1657
- // experimentally.
1658
- double computeBandwidth =
1659
- bk == 1 ? 4.0
1660
- : (shard_by_col ? bn : bm) < Traits::nr ||
1661
- (shard_by_col ? bm : bn) < Traits::mr
1662
- ? 2.0
1663
- : 0.5;
1664
- #ifndef EIGEN_VECTORIZE_FMA
1665
- // Bandwidth of all of VFMA/MULPS/ADDPS is 0.5 on latest Intel processors.
1666
- // However for MULPS/ADDPS we have dependent sequence of 2 such
1667
- // instructions,
1668
- // so overall bandwidth is 1.0.
1669
- if (computeBandwidth == 0.5) computeBandwidth = 1.0;
1670
- #endif
1671
- return computeBandwidth;
1672
- }
1673
-
1674
- };
1675
-
1676
- } // end namespace Eigen
1677
-
1678
- #endif // EIGEN_USE_THREADS
1679
- #endif // EIGEN_CXX11_TENSOR_TENSOR_CONTRACTION_THREAD_POOL_H