casadi 3.6.3__cp311-none-win_amd64.whl → 3.6.4__cp311-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 (2074) 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 +87 -10
  7. casadi/cbc.exe +0 -0
  8. casadi/clp.exe +0 -0
  9. casadi/cmake/alpaqa/alpaqaConfig.cmake +24 -0
  10. casadi/cmake/alpaqa/alpaqaConfigVersion.cmake +67 -0
  11. casadi/cmake/alpaqa/alpaqaTargets-release.cmake +19 -0
  12. casadi/cmake/alpaqa/alpaqaTargets.cmake +108 -0
  13. casadi/cmake/casadi-config-version.cmake +1 -1
  14. casadi/cmake/highs/highs-config.cmake +18 -4
  15. casadi/cmake/sleqp/sleqp-config-version.cmake +67 -0
  16. casadi/cmake/sleqp/sleqp-config.cmake +1 -0
  17. casadi/cmake/sleqp/sleqp-targets-release.cmake +20 -0
  18. casadi/cmake/sleqp/sleqp-targets.cmake +94 -0
  19. casadi/cmake/trlib/trlib-config-release.cmake +19 -0
  20. casadi/cmake/trlib/trlib-config-version.cmake +59 -0
  21. casadi/cmake/trlib/trlib-config.cmake +99 -0
  22. casadi/highs.exe +0 -0
  23. casadi/highs.lib +0 -0
  24. casadi/hpipm.lib +0 -0
  25. casadi/include/casadi/casadi.i +13 -3
  26. casadi/include/casadi/config.h +8 -8
  27. casadi/include/casadi/core/calculus.hpp +1 -1
  28. casadi/include/casadi/core/fmu.hpp +29 -1
  29. casadi/include/casadi/core/nlpsol.hpp +0 -2
  30. casadi/include/casadi/core/serializing_stream.hpp +12 -0
  31. casadi/include/casadi/doc.i +407 -125
  32. casadi/include/casadi/doc_merged.i +324 -70
  33. casadi/include/highs/HConfig.h +4 -7
  34. casadi/include/highs/Highs.h +240 -51
  35. casadi/include/highs/filereaderlp/builder.hpp +12 -13
  36. casadi/include/highs/filereaderlp/model.hpp +32 -35
  37. casadi/include/highs/fortran/highs_fortran_api.mod +0 -0
  38. casadi/include/highs/interfaces/highs_c_api.h +964 -577
  39. casadi/include/highs/io/Filereader.h +2 -4
  40. casadi/include/highs/io/FilereaderEms.h +2 -4
  41. casadi/include/highs/io/FilereaderLp.h +2 -4
  42. casadi/include/highs/io/FilereaderMps.h +2 -4
  43. casadi/include/highs/io/HMPSIO.h +2 -4
  44. casadi/include/highs/io/HMpsFF.h +2 -4
  45. casadi/include/highs/io/HighsIO.h +19 -13
  46. casadi/include/highs/io/LoadOptions.h +7 -6
  47. casadi/include/highs/ipm/IpxWrapper.h +4 -5
  48. casadi/include/highs/lp_data/HConst.h +60 -15
  49. casadi/include/highs/lp_data/HStruct.h +32 -8
  50. casadi/include/highs/lp_data/HighsAnalysis.h +2 -4
  51. casadi/include/highs/lp_data/HighsCallback.h +33 -0
  52. casadi/include/highs/lp_data/HighsCallbackStruct.h +36 -0
  53. casadi/include/highs/lp_data/HighsDebug.h +2 -4
  54. casadi/include/highs/lp_data/HighsInfo.h +22 -23
  55. casadi/include/highs/lp_data/HighsInfoDebug.h +2 -4
  56. casadi/include/highs/lp_data/HighsLp.h +14 -6
  57. casadi/include/highs/lp_data/HighsLpSolverObject.h +6 -5
  58. casadi/include/highs/lp_data/HighsLpUtils.h +23 -12
  59. casadi/include/highs/lp_data/HighsModelUtils.h +22 -8
  60. casadi/include/highs/lp_data/HighsOptions.h +175 -106
  61. casadi/include/highs/lp_data/HighsRanging.h +2 -4
  62. casadi/include/highs/lp_data/HighsRuntimeOptions.h +21 -6
  63. casadi/include/highs/lp_data/HighsSolution.h +4 -4
  64. casadi/include/highs/lp_data/HighsSolutionDebug.h +2 -4
  65. casadi/include/highs/lp_data/HighsSolve.h +2 -4
  66. casadi/include/highs/lp_data/HighsStatus.h +2 -4
  67. casadi/include/highs/mip/HighsCliqueTable.h +18 -20
  68. casadi/include/highs/mip/HighsConflictPool.h +2 -4
  69. casadi/include/highs/mip/HighsCutGeneration.h +2 -4
  70. casadi/include/highs/mip/HighsCutPool.h +2 -4
  71. casadi/include/highs/mip/HighsDebugSol.h +2 -4
  72. casadi/include/highs/mip/HighsDomain.h +5 -5
  73. casadi/include/highs/mip/HighsDomainChange.h +2 -4
  74. casadi/include/highs/mip/HighsDynamicRowMatrix.h +2 -4
  75. casadi/include/highs/mip/HighsGFkSolve.h +2 -4
  76. casadi/include/highs/mip/HighsImplications.h +2 -4
  77. casadi/include/highs/mip/HighsLpAggregator.h +2 -4
  78. casadi/include/highs/mip/HighsLpRelaxation.h +2 -4
  79. casadi/include/highs/mip/HighsMipSolver.h +18 -6
  80. casadi/include/highs/mip/HighsMipSolverData.h +8 -4
  81. casadi/include/highs/mip/HighsModkSeparator.h +2 -4
  82. casadi/include/highs/mip/HighsNodeQueue.h +3 -9
  83. casadi/include/highs/mip/HighsObjectiveFunction.h +2 -4
  84. casadi/include/highs/mip/HighsPathSeparator.h +2 -4
  85. casadi/include/highs/mip/HighsPrimalHeuristics.h +2 -4
  86. casadi/include/highs/mip/HighsPseudocost.h +2 -4
  87. casadi/include/highs/mip/HighsRedcostFixing.h +2 -4
  88. casadi/include/highs/mip/HighsSearch.h +2 -4
  89. casadi/include/highs/mip/HighsSeparation.h +2 -4
  90. casadi/include/highs/mip/HighsSeparator.h +2 -4
  91. casadi/include/highs/mip/HighsTableauSeparator.h +2 -4
  92. casadi/include/highs/mip/HighsTransformedLp.h +2 -4
  93. casadi/include/highs/model/HighsHessian.h +3 -1
  94. casadi/include/highs/model/HighsModel.h +2 -0
  95. casadi/include/highs/parallel/HighsSpinMutex.h +2 -1
  96. casadi/include/highs/parallel/HighsSplitDeque.h +1 -1
  97. casadi/include/highs/parallel/HighsTaskExecutor.h +10 -2
  98. casadi/include/highs/presolve/HPresolve.h +9 -6
  99. casadi/include/highs/presolve/HPresolveAnalysis.h +5 -4
  100. casadi/include/highs/presolve/HighsPostsolveStack.h +50 -13
  101. casadi/include/highs/presolve/HighsSymmetry.h +2 -4
  102. casadi/include/highs/presolve/ICrash.h +4 -3
  103. casadi/include/highs/presolve/ICrashUtil.h +2 -2
  104. casadi/include/highs/presolve/ICrashX.h +4 -6
  105. casadi/include/highs/presolve/PresolveComponent.h +4 -42
  106. casadi/include/highs/qpsolver/a_asm.hpp +56 -0
  107. casadi/include/highs/qpsolver/a_quass.hpp +12 -0
  108. casadi/include/highs/qpsolver/quass.hpp +1 -4
  109. casadi/include/highs/simplex/HApp.h +14 -16
  110. casadi/include/highs/simplex/HEkk.h +12 -11
  111. casadi/include/highs/simplex/HEkkDual.h +2 -4
  112. casadi/include/highs/simplex/HEkkDualRHS.h +5 -6
  113. casadi/include/highs/simplex/HEkkDualRow.h +2 -4
  114. casadi/include/highs/simplex/HEkkPrimal.h +2 -4
  115. casadi/include/highs/simplex/HSimplex.h +2 -4
  116. casadi/include/highs/simplex/HSimplexDebug.h +2 -4
  117. casadi/include/highs/simplex/HSimplexNla.h +2 -4
  118. casadi/include/highs/simplex/HSimplexReport.h +3 -5
  119. casadi/include/highs/simplex/HighsSimplexAnalysis.h +2 -4
  120. casadi/include/highs/simplex/SimplexConst.h +7 -5
  121. casadi/include/highs/simplex/SimplexStruct.h +11 -5
  122. casadi/include/highs/simplex/SimplexTimer.h +2 -4
  123. casadi/include/highs/test/DevKkt.h +2 -4
  124. casadi/include/highs/test/KktCh2.h +2 -4
  125. casadi/include/highs/util/FactorTimer.h +2 -4
  126. casadi/include/highs/util/HFactor.h +2 -4
  127. casadi/include/highs/util/HFactorConst.h +2 -4
  128. casadi/include/highs/util/HFactorDebug.h +2 -4
  129. casadi/include/highs/util/HSet.h +3 -5
  130. casadi/include/highs/util/HVector.h +2 -4
  131. casadi/include/highs/util/HVectorBase.h +2 -4
  132. casadi/include/highs/util/HighsCDouble.h +2 -4
  133. casadi/include/highs/util/HighsComponent.h +2 -4
  134. casadi/include/highs/util/HighsDataStack.h +3 -5
  135. casadi/include/highs/util/HighsDisjointSets.h +8 -10
  136. casadi/include/highs/util/HighsHash.h +22 -7
  137. casadi/include/highs/util/HighsHashTree.h +25 -7
  138. casadi/include/highs/util/HighsInt.h +2 -4
  139. casadi/include/highs/util/HighsIntegers.h +2 -4
  140. casadi/include/highs/util/HighsLinearSumBounds.h +2 -4
  141. casadi/include/highs/util/HighsMatrixPic.h +2 -4
  142. casadi/include/highs/util/HighsMatrixSlice.h +2 -4
  143. casadi/include/highs/util/HighsMatrixUtils.h +2 -4
  144. casadi/include/highs/util/HighsRandom.h +2 -4
  145. casadi/include/highs/util/HighsRbTree.h +2 -4
  146. casadi/include/highs/util/HighsSort.h +2 -4
  147. casadi/include/highs/util/HighsSparseMatrix.h +11 -7
  148. casadi/include/highs/util/HighsSparseVectorSum.h +2 -4
  149. casadi/include/highs/util/HighsSplay.h +2 -4
  150. casadi/include/highs/util/HighsTimer.h +3 -4
  151. casadi/include/highs/util/HighsUtils.h +14 -4
  152. casadi/include/highs/util/stringutil.h +2 -4
  153. casadi/include/include/alpaqa/accelerators/anderson.hpp +133 -0
  154. casadi/include/include/alpaqa/accelerators/internal/anderson-helpers.hpp +92 -0
  155. casadi/include/include/alpaqa/accelerators/internal/limited-memory-qr.hpp +295 -0
  156. casadi/include/include/alpaqa/accelerators/lbfgs.hpp +244 -0
  157. casadi/include/include/alpaqa/accelerators/steihaugcg.hpp +143 -0
  158. casadi/include/include/alpaqa/alpaqa.hpp +3 -0
  159. casadi/include/include/alpaqa/casadi/CasADiControlProblem.hpp +185 -0
  160. casadi/include/include/alpaqa/casadi/CasADiFunctionWrapper.hpp +104 -0
  161. casadi/include/include/alpaqa/casadi/CasADiProblem.hpp +102 -0
  162. casadi/include/include/alpaqa/casadi-loader-export.hpp +15 -0
  163. casadi/include/include/alpaqa/casadi-ocp-loader-export.hpp +15 -0
  164. casadi/include/include/alpaqa/config/config.hpp +165 -0
  165. casadi/include/include/alpaqa/dl/dl-problem.h +476 -0
  166. casadi/include/include/alpaqa/dl/dl-problem.hpp +301 -0
  167. casadi/include/include/alpaqa/export.h +42 -0
  168. casadi/include/include/alpaqa/export.hpp +30 -0
  169. casadi/include/include/alpaqa/implementation/accelerators/lbfgs.tpp +240 -0
  170. casadi/include/include/alpaqa/implementation/casadi/CasADiControlProblem.tpp +594 -0
  171. casadi/include/include/alpaqa/implementation/casadi/CasADiLoader-util.hpp +50 -0
  172. casadi/include/include/alpaqa/implementation/casadi/CasADiProblem.tpp +425 -0
  173. casadi/include/include/alpaqa/implementation/inner/directions/panoc/structured-lbfgs.tpp +164 -0
  174. casadi/include/include/alpaqa/implementation/inner/panoc-helpers.tpp +389 -0
  175. casadi/include/include/alpaqa/implementation/inner/panoc-ocp.tpp +798 -0
  176. casadi/include/include/alpaqa/implementation/inner/panoc.tpp +448 -0
  177. casadi/include/include/alpaqa/implementation/inner/pantr.tpp +474 -0
  178. casadi/include/include/alpaqa/implementation/inner/zerofpr.tpp +482 -0
  179. casadi/include/include/alpaqa/implementation/outer/alm.tpp +228 -0
  180. casadi/include/include/alpaqa/implementation/outer/internal/alm-helpers.tpp +80 -0
  181. casadi/include/include/alpaqa/implementation/params/params.tpp +158 -0
  182. casadi/include/include/alpaqa/implementation/problem/ocproblem.tpp +56 -0
  183. casadi/include/include/alpaqa/implementation/problem/type-erased-problem.tpp +211 -0
  184. casadi/include/include/alpaqa/implementation/util/io/csv.tpp +120 -0
  185. casadi/include/include/alpaqa/implementation/util/print.tpp +151 -0
  186. casadi/include/include/alpaqa/inner/directions/panoc/anderson.hpp +98 -0
  187. casadi/include/include/alpaqa/inner/directions/panoc/lbfgs.hpp +94 -0
  188. casadi/include/include/alpaqa/inner/directions/panoc/structured-lbfgs.hpp +146 -0
  189. casadi/include/include/alpaqa/inner/directions/panoc/structured-newton.hpp +264 -0
  190. casadi/include/include/alpaqa/inner/directions/panoc-direction-update.hpp +96 -0
  191. casadi/include/include/alpaqa/inner/directions/panoc-ocp/lqr.hpp +181 -0
  192. casadi/include/include/alpaqa/inner/directions/panoc-ocp/ocp-vars.hpp +492 -0
  193. casadi/include/include/alpaqa/inner/directions/pantr/newton-tr.hpp +192 -0
  194. casadi/include/include/alpaqa/inner/directions/pantr/pantr-direction.hpp +99 -0
  195. casadi/include/include/alpaqa/inner/inner-solve-options.hpp +30 -0
  196. casadi/include/include/alpaqa/inner/internal/lipschitz.hpp +27 -0
  197. casadi/include/include/alpaqa/inner/internal/panoc-helpers.hpp +10 -0
  198. casadi/include/include/alpaqa/inner/internal/panoc-stop-crit.hpp +124 -0
  199. casadi/include/include/alpaqa/inner/internal/solverstatus.hpp +42 -0
  200. casadi/include/include/alpaqa/inner/panoc-ocp.hpp +302 -0
  201. casadi/include/include/alpaqa/inner/panoc.hpp +274 -0
  202. casadi/include/include/alpaqa/inner/pantr.hpp +284 -0
  203. casadi/include/include/alpaqa/inner/zerofpr.hpp +274 -0
  204. casadi/include/include/alpaqa/ipopt/ipopt-adapter.hpp +81 -0
  205. casadi/include/include/alpaqa/ipopt/ipopt-enums.hpp +35 -0
  206. casadi/include/include/alpaqa/lbfgsb/lbfgsb-adapter.hpp +111 -0
  207. casadi/include/include/alpaqa/newton-tr-pantr-alm.hpp +27 -0
  208. casadi/include/include/alpaqa/outer/alm.hpp +190 -0
  209. casadi/include/include/alpaqa/outer/internal/alm-helpers.hpp +10 -0
  210. casadi/include/include/alpaqa/panoc-alm.hpp +27 -0
  211. casadi/include/include/alpaqa/panoc-anderson-alm.hpp +27 -0
  212. casadi/include/include/alpaqa/params/params.hpp +60 -0
  213. casadi/include/include/alpaqa/problem/box-constr-problem.hpp +220 -0
  214. casadi/include/include/alpaqa/problem/box.hpp +82 -0
  215. casadi/include/include/alpaqa/problem/functional-problem.hpp +73 -0
  216. casadi/include/include/alpaqa/problem/kkt-error.hpp +43 -0
  217. casadi/include/include/alpaqa/problem/ocproblem-counters.hpp +116 -0
  218. casadi/include/include/alpaqa/problem/ocproblem.hpp +662 -0
  219. casadi/include/include/alpaqa/problem/problem-counters.hpp +116 -0
  220. casadi/include/include/alpaqa/problem/problem-with-counters.hpp +141 -0
  221. casadi/include/include/alpaqa/problem/type-erased-problem.hpp +874 -0
  222. casadi/include/include/alpaqa/problem/unconstr-problem.hpp +37 -0
  223. casadi/include/include/alpaqa/structured-panoc-alm.hpp +27 -0
  224. casadi/include/include/alpaqa/structured-zerofpr-alm.hpp +27 -0
  225. casadi/include/include/alpaqa/util/alloc-check.hpp +23 -0
  226. casadi/include/include/alpaqa/util/atomic-stop-signal.hpp +24 -0
  227. casadi/include/include/alpaqa/util/check-dim.hpp +64 -0
  228. casadi/include/include/alpaqa/util/copyable_unique_ptr.hpp +32 -0
  229. casadi/include/include/alpaqa/util/demangled-typename.hpp +9 -0
  230. casadi/include/include/alpaqa/util/enumerate.hpp +70 -0
  231. casadi/include/include/alpaqa/util/float.hpp +25 -0
  232. casadi/include/include/alpaqa/util/index-set.hpp +97 -0
  233. casadi/include/include/alpaqa/util/io/csv.hpp +43 -0
  234. casadi/include/include/alpaqa/util/iter-adapter.hpp +68 -0
  235. casadi/include/include/alpaqa/util/max-history.hpp +47 -0
  236. casadi/include/include/alpaqa/util/noop-delete.hpp +15 -0
  237. casadi/include/include/alpaqa/util/not-implemented.hpp +12 -0
  238. casadi/include/include/alpaqa/util/print.hpp +78 -0
  239. casadi/include/include/alpaqa/util/quadmath/quadmath-print.hpp +20 -0
  240. casadi/include/include/alpaqa/util/quadmath/quadmath.hpp +137 -0
  241. casadi/include/include/alpaqa/util/required-method.hpp +29 -0
  242. casadi/include/include/alpaqa/util/ringbuffer.hpp +212 -0
  243. casadi/include/include/alpaqa/util/set-intersection.hpp +129 -0
  244. casadi/include/include/alpaqa/util/sparse-ops.hpp +164 -0
  245. casadi/include/include/alpaqa/util/timed.hpp +22 -0
  246. casadi/include/include/alpaqa/util/type-erasure.hpp +568 -0
  247. casadi/include/include/alpaqa/util/type-traits.hpp +58 -0
  248. casadi/include/include/alpaqa/zerofpr-alm.hpp +27 -0
  249. casadi/include/include/alpaqa/zerofpr-anderson-alm.hpp +27 -0
  250. casadi/include/include/alpaqa-version.h +8 -0
  251. casadi/include/include/coin/BonArraysHelpers.hpp +52 -0
  252. casadi/include/include/coin/BonAuxInfos.hpp +110 -0
  253. casadi/include/include/coin/BonBabInfos.hpp +57 -0
  254. casadi/include/include/coin/BonBabSetupBase.hpp +386 -0
  255. casadi/include/include/coin/BonBonminSetup.hpp +95 -0
  256. casadi/include/include/coin/BonBranchingTQP.hpp +197 -0
  257. casadi/include/include/coin/BonCbc.hpp +127 -0
  258. casadi/include/include/coin/BonCbcLpStrategy.hpp +45 -0
  259. casadi/include/include/coin/BonCbcNlpStrategy.hpp +98 -0
  260. casadi/include/include/coin/BonCbcNode.hpp +133 -0
  261. casadi/include/include/coin/BonChooseVariable.hpp +345 -0
  262. casadi/include/include/coin/BonCurvBranchingSolver.hpp +77 -0
  263. casadi/include/include/coin/BonCutStrengthener.hpp +244 -0
  264. casadi/include/include/coin/BonDiver.hpp +424 -0
  265. casadi/include/include/coin/BonDummyHeuristic.hpp +53 -0
  266. casadi/include/include/coin/BonDummyPump.hpp +43 -0
  267. casadi/include/include/coin/BonEcpCuts.hpp +97 -0
  268. casadi/include/include/coin/BonExitCodes.hpp +12 -0
  269. casadi/include/include/coin/BonFixAndSolveHeuristic.hpp +43 -0
  270. casadi/include/include/coin/BonGuessHeuristic.hpp +46 -0
  271. casadi/include/include/coin/BonHeuristicDive.hpp +88 -0
  272. casadi/include/include/coin/BonHeuristicDiveFractional.hpp +67 -0
  273. casadi/include/include/coin/BonHeuristicDiveMIP.hpp +83 -0
  274. casadi/include/include/coin/BonHeuristicDiveMIPFractional.hpp +67 -0
  275. casadi/include/include/coin/BonHeuristicDiveMIPVectorLength.hpp +74 -0
  276. casadi/include/include/coin/BonHeuristicDiveVectorLength.hpp +74 -0
  277. casadi/include/include/coin/BonHeuristicFPump.hpp +111 -0
  278. casadi/include/include/coin/BonHeuristicLocalBranching.hpp +59 -0
  279. casadi/include/include/coin/BonHeuristicRINS.hpp +55 -0
  280. casadi/include/include/coin/BonIpoptInteriorWarmStarter.hpp +103 -0
  281. casadi/include/include/coin/BonIpoptSolver.hpp +188 -0
  282. casadi/include/include/coin/BonIpoptWarmStart.hpp +148 -0
  283. casadi/include/include/coin/BonLinearCutsGenerator.hpp +75 -0
  284. casadi/include/include/coin/BonLocalSolverBasedHeuristic.hpp +102 -0
  285. casadi/include/include/coin/BonLpBranchingSolver.hpp +80 -0
  286. casadi/include/include/coin/BonMilpRounding.hpp +74 -0
  287. casadi/include/include/coin/BonOACutGenerator2.hpp +56 -0
  288. casadi/include/include/coin/BonOAMessages.hpp +44 -0
  289. casadi/include/include/coin/BonOaDecBase.hpp +297 -0
  290. casadi/include/include/coin/BonOaFeasChecker.hpp +73 -0
  291. casadi/include/include/coin/BonOaNlpOptim.hpp +116 -0
  292. casadi/include/include/coin/BonOsiTMINLPInterface.hpp +1342 -0
  293. casadi/include/include/coin/BonOuterApprox.hpp +123 -0
  294. casadi/include/include/coin/BonPseudoCosts.hpp +91 -0
  295. casadi/include/include/coin/BonPumpForMinlp.hpp +45 -0
  296. casadi/include/include/coin/BonQuadCut.hpp +217 -0
  297. casadi/include/include/coin/BonQuadRow.hpp +122 -0
  298. casadi/include/include/coin/BonRegisteredOptions.hpp +225 -0
  299. casadi/include/include/coin/BonStrongBranchingSolver.hpp +69 -0
  300. casadi/include/include/coin/BonSubMipSolver.hpp +143 -0
  301. casadi/include/include/coin/BonTMINLP.hpp +420 -0
  302. casadi/include/include/coin/BonTMINLP2OsiLP.hpp +164 -0
  303. casadi/include/include/coin/BonTMINLP2Quad.hpp +191 -0
  304. casadi/include/include/coin/BonTMINLP2TNLP.hpp +509 -0
  305. casadi/include/include/coin/BonTMINLPLinObj.hpp +216 -0
  306. casadi/include/include/coin/BonTMatrix.hpp +167 -0
  307. casadi/include/include/coin/BonTNLP2FPNLP.hpp +264 -0
  308. casadi/include/include/coin/BonTNLPSolver.hpp +241 -0
  309. casadi/include/include/coin/BonTypes.hpp +95 -0
  310. casadi/include/include/coin/BonminConfig.h +19 -0
  311. casadi/include/include/coin/CbcBranchActual.hpp +26 -0
  312. casadi/include/include/coin/CbcBranchAllDifferent.hpp +61 -0
  313. casadi/include/include/coin/CbcBranchBase.hpp +79 -0
  314. casadi/include/include/coin/CbcBranchCut.hpp +182 -0
  315. casadi/include/include/coin/CbcBranchDecision.hpp +135 -0
  316. casadi/include/include/coin/CbcBranchDefaultDecision.hpp +101 -0
  317. casadi/include/include/coin/CbcBranchDynamic.hpp +210 -0
  318. casadi/include/include/coin/CbcBranchLotsize.hpp +249 -0
  319. casadi/include/include/coin/CbcBranchToFixLots.hpp +94 -0
  320. casadi/include/include/coin/CbcBranchingObject.hpp +245 -0
  321. casadi/include/include/coin/CbcClique.hpp +309 -0
  322. casadi/include/include/coin/CbcCompare.hpp +46 -0
  323. casadi/include/include/coin/CbcCompareActual.hpp +16 -0
  324. casadi/include/include/coin/CbcCompareBase.hpp +155 -0
  325. casadi/include/include/coin/CbcCompareDefault.hpp +129 -0
  326. casadi/include/include/coin/CbcCompareDepth.hpp +48 -0
  327. casadi/include/include/coin/CbcCompareEstimate.hpp +48 -0
  328. casadi/include/include/coin/CbcCompareObjective.hpp +50 -0
  329. casadi/include/include/coin/CbcConfig.h +18 -0
  330. casadi/include/include/coin/CbcConsequence.hpp +50 -0
  331. casadi/include/include/coin/CbcCountRowCut.hpp +176 -0
  332. casadi/include/include/coin/CbcCutGenerator.hpp +550 -0
  333. casadi/include/include/coin/CbcCutModifier.hpp +59 -0
  334. casadi/include/include/coin/CbcCutSubsetModifier.hpp +69 -0
  335. casadi/include/include/coin/CbcDummyBranchingObject.hpp +83 -0
  336. casadi/include/include/coin/CbcEventHandler.hpp +250 -0
  337. casadi/include/include/coin/CbcFathom.hpp +136 -0
  338. casadi/include/include/coin/CbcFathomDynamicProgramming.hpp +177 -0
  339. casadi/include/include/coin/CbcFeasibilityBase.hpp +60 -0
  340. casadi/include/include/coin/CbcFixVariable.hpp +68 -0
  341. casadi/include/include/coin/CbcFollowOn.hpp +207 -0
  342. casadi/include/include/coin/CbcFullNodeInfo.hpp +171 -0
  343. casadi/include/include/coin/CbcGeneral.hpp +60 -0
  344. casadi/include/include/coin/CbcGeneralDepth.hpp +289 -0
  345. casadi/include/include/coin/CbcHeuristic.hpp +735 -0
  346. casadi/include/include/coin/CbcHeuristicDINS.hpp +98 -0
  347. casadi/include/include/coin/CbcHeuristicDW.hpp +374 -0
  348. casadi/include/include/coin/CbcHeuristicDive.hpp +198 -0
  349. casadi/include/include/coin/CbcHeuristicDiveCoefficient.hpp +52 -0
  350. casadi/include/include/coin/CbcHeuristicDiveFractional.hpp +52 -0
  351. casadi/include/include/coin/CbcHeuristicDiveGuided.hpp +55 -0
  352. casadi/include/include/coin/CbcHeuristicDiveLineSearch.hpp +52 -0
  353. casadi/include/include/coin/CbcHeuristicDivePseudoCost.hpp +60 -0
  354. casadi/include/include/coin/CbcHeuristicDiveVectorLength.hpp +52 -0
  355. casadi/include/include/coin/CbcHeuristicFPump.hpp +375 -0
  356. casadi/include/include/coin/CbcHeuristicGreedy.hpp +289 -0
  357. casadi/include/include/coin/CbcHeuristicLocal.hpp +276 -0
  358. casadi/include/include/coin/CbcHeuristicPivotAndFix.hpp +58 -0
  359. casadi/include/include/coin/CbcHeuristicRENS.hpp +79 -0
  360. casadi/include/include/coin/CbcHeuristicRINS.hpp +106 -0
  361. casadi/include/include/coin/CbcHeuristicRandRound.hpp +58 -0
  362. casadi/include/include/coin/CbcHeuristicVND.hpp +95 -0
  363. casadi/include/include/coin/CbcLinked.hpp +1443 -0
  364. casadi/include/include/coin/CbcMessage.hpp +94 -0
  365. casadi/include/include/coin/CbcMipStartIO.hpp +29 -0
  366. casadi/include/include/coin/CbcModel.hpp +3296 -0
  367. casadi/include/include/coin/CbcNWay.hpp +171 -0
  368. casadi/include/include/coin/CbcNode.hpp +380 -0
  369. casadi/include/include/coin/CbcNodeInfo.hpp +377 -0
  370. casadi/include/include/coin/CbcObject.hpp +288 -0
  371. casadi/include/include/coin/CbcObjectUpdateData.hpp +63 -0
  372. casadi/include/include/coin/CbcOrClpParam.cpp +4321 -0
  373. casadi/include/include/coin/CbcOrClpParam.hpp +585 -0
  374. casadi/include/include/coin/CbcParam.hpp +338 -0
  375. casadi/include/include/coin/CbcPartialNodeInfo.hpp +116 -0
  376. casadi/include/include/coin/CbcSOS.hpp +290 -0
  377. casadi/include/include/coin/CbcSimpleInteger.hpp +299 -0
  378. casadi/include/include/coin/CbcSimpleIntegerDynamicPseudoCost.hpp +619 -0
  379. casadi/include/include/coin/CbcSimpleIntegerPseudoCost.hpp +122 -0
  380. casadi/include/include/coin/CbcSolver.hpp +460 -0
  381. casadi/include/include/coin/CbcStrategy.hpp +269 -0
  382. casadi/include/include/coin/CbcSubProblem.hpp +84 -0
  383. casadi/include/include/coin/CbcTree.hpp +493 -0
  384. casadi/include/include/coin/CbcTreeLocal.hpp +393 -0
  385. casadi/include/include/coin/Cbc_C_Interface.h +904 -0
  386. casadi/include/include/coin/Cgl012cut.hpp +464 -0
  387. casadi/include/include/coin/CglAllDifferent.hpp +115 -0
  388. casadi/include/include/coin/CglClique.hpp +312 -0
  389. casadi/include/include/coin/CglConfig.h +19 -0
  390. casadi/include/include/coin/CglCutGenerator.hpp +133 -0
  391. casadi/include/include/coin/CglDuplicateRow.hpp +189 -0
  392. casadi/include/include/coin/CglFlowCover.hpp +371 -0
  393. casadi/include/include/coin/CglGMI.hpp +364 -0
  394. casadi/include/include/coin/CglGMIParam.hpp +313 -0
  395. casadi/include/include/coin/CglGomory.hpp +204 -0
  396. casadi/include/include/coin/CglKnapsackCover.hpp +310 -0
  397. casadi/include/include/coin/CglLandP.hpp +306 -0
  398. casadi/include/include/coin/CglLandPValidator.hpp +130 -0
  399. casadi/include/include/coin/CglLiftAndProject.hpp +104 -0
  400. casadi/include/include/coin/CglMessage.hpp +49 -0
  401. casadi/include/include/coin/CglMixedIntegerRounding.hpp +429 -0
  402. casadi/include/include/coin/CglMixedIntegerRounding2.hpp +427 -0
  403. casadi/include/include/coin/CglOddHole.hpp +160 -0
  404. casadi/include/include/coin/CglParam.hpp +93 -0
  405. casadi/include/include/coin/CglPreProcess.hpp +600 -0
  406. casadi/include/include/coin/CglProbing.hpp +543 -0
  407. casadi/include/include/coin/CglRedSplit.hpp +448 -0
  408. casadi/include/include/coin/CglRedSplit2.hpp +494 -0
  409. casadi/include/include/coin/CglRedSplit2Param.hpp +495 -0
  410. casadi/include/include/coin/CglRedSplitParam.hpp +272 -0
  411. casadi/include/include/coin/CglResidualCapacity.hpp +240 -0
  412. casadi/include/include/coin/CglSimpleRounding.hpp +174 -0
  413. casadi/include/include/coin/CglStored.hpp +140 -0
  414. casadi/include/include/coin/CglTreeInfo.hpp +216 -0
  415. casadi/include/include/coin/CglTwomir.hpp +562 -0
  416. casadi/include/include/coin/CglZeroHalf.hpp +133 -0
  417. casadi/include/include/coin/ClpAmplObjective.hpp +113 -0
  418. casadi/include/include/coin/ClpCholeskyBase.hpp +321 -0
  419. casadi/include/include/coin/ClpCholeskyDense.hpp +157 -0
  420. casadi/include/include/coin/ClpCholeskyMumps.hpp +65 -0
  421. casadi/include/include/coin/ClpCholeskyPardiso.hpp +67 -0
  422. casadi/include/include/coin/ClpConfig.h +17 -0
  423. casadi/include/include/coin/ClpConstraint.hpp +129 -0
  424. casadi/include/include/coin/ClpConstraintAmpl.hpp +109 -0
  425. casadi/include/include/coin/ClpConstraintLinear.hpp +113 -0
  426. casadi/include/include/coin/ClpConstraintQuadratic.hpp +123 -0
  427. casadi/include/include/coin/ClpDualRowDantzig.hpp +72 -0
  428. casadi/include/include/coin/ClpDualRowPivot.hpp +136 -0
  429. casadi/include/include/coin/ClpDualRowSteepest.hpp +160 -0
  430. casadi/include/include/coin/ClpDummyMatrix.hpp +186 -0
  431. casadi/include/include/coin/ClpDynamicExampleMatrix.hpp +199 -0
  432. casadi/include/include/coin/ClpDynamicMatrix.hpp +420 -0
  433. casadi/include/include/coin/ClpEventHandler.hpp +193 -0
  434. casadi/include/include/coin/ClpFactorization.hpp +556 -0
  435. casadi/include/include/coin/ClpGubDynamicMatrix.hpp +270 -0
  436. casadi/include/include/coin/ClpGubMatrix.hpp +373 -0
  437. casadi/include/include/coin/ClpInterior.hpp +622 -0
  438. casadi/include/include/coin/ClpLinearObjective.hpp +104 -0
  439. casadi/include/include/coin/ClpMatrixBase.hpp +561 -0
  440. casadi/include/include/coin/ClpMessage.hpp +131 -0
  441. casadi/include/include/coin/ClpModel.hpp +1442 -0
  442. casadi/include/include/coin/ClpNetworkMatrix.hpp +235 -0
  443. casadi/include/include/coin/ClpNode.hpp +364 -0
  444. casadi/include/include/coin/ClpNonLinearCost.hpp +432 -0
  445. casadi/include/include/coin/ClpObjective.hpp +142 -0
  446. casadi/include/include/coin/ClpPEDualRowDantzig.hpp +84 -0
  447. casadi/include/include/coin/ClpPEDualRowSteepest.hpp +100 -0
  448. casadi/include/include/coin/ClpPEPrimalColumnDantzig.hpp +71 -0
  449. casadi/include/include/coin/ClpPEPrimalColumnSteepest.hpp +107 -0
  450. casadi/include/include/coin/ClpPESimplex.hpp +231 -0
  451. casadi/include/include/coin/ClpPackedMatrix.hpp +778 -0
  452. casadi/include/include/coin/ClpParameters.hpp +132 -0
  453. casadi/include/include/coin/ClpPdcoBase.hpp +110 -0
  454. casadi/include/include/coin/ClpPlusMinusOneMatrix.hpp +565 -0
  455. casadi/include/include/coin/ClpPresolve.hpp +379 -0
  456. casadi/include/include/coin/ClpPrimalColumnDantzig.hpp +74 -0
  457. casadi/include/include/coin/ClpPrimalColumnPivot.hpp +163 -0
  458. casadi/include/include/coin/ClpPrimalColumnSteepest.hpp +281 -0
  459. casadi/include/include/coin/ClpQuadraticObjective.hpp +161 -0
  460. casadi/include/include/coin/ClpSimplex.hpp +2137 -0
  461. casadi/include/include/coin/ClpSimplexDual.hpp +304 -0
  462. casadi/include/include/coin/ClpSimplexNonlinear.hpp +117 -0
  463. casadi/include/include/coin/ClpSimplexOther.hpp +282 -0
  464. casadi/include/include/coin/ClpSimplexPrimal.hpp +244 -0
  465. casadi/include/include/coin/ClpSolve.hpp +505 -0
  466. casadi/include/include/coin/Clp_C_Interface.h +554 -0
  467. casadi/include/include/coin/CoinAlloc.hpp +179 -0
  468. casadi/include/include/coin/CoinBuild.hpp +159 -0
  469. casadi/include/include/coin/CoinDenseFactorization.hpp +452 -0
  470. casadi/include/include/coin/CoinDenseVector.hpp +401 -0
  471. casadi/include/include/coin/CoinDistance.hpp +51 -0
  472. casadi/include/include/coin/CoinError.hpp +274 -0
  473. casadi/include/include/coin/CoinFactorization.hpp +2178 -0
  474. casadi/include/include/coin/CoinFileIO.hpp +185 -0
  475. casadi/include/include/coin/CoinFinite.hpp +37 -0
  476. casadi/include/include/coin/CoinFloatEqual.hpp +204 -0
  477. casadi/include/include/coin/CoinHelperFunctions.hpp +1270 -0
  478. casadi/include/include/coin/CoinIndexedVector.hpp +1437 -0
  479. casadi/include/include/coin/CoinLpIO.hpp +836 -0
  480. casadi/include/include/coin/CoinMessage.hpp +95 -0
  481. casadi/include/include/coin/CoinMessageHandler.hpp +717 -0
  482. casadi/include/include/coin/CoinModel.hpp +1214 -0
  483. casadi/include/include/coin/CoinModelUseful.hpp +518 -0
  484. casadi/include/include/coin/CoinMpsIO.hpp +1142 -0
  485. casadi/include/include/coin/CoinOslFactorization.hpp +287 -0
  486. casadi/include/include/coin/CoinPackedMatrix.hpp +956 -0
  487. casadi/include/include/coin/CoinPackedVector.hpp +670 -0
  488. casadi/include/include/coin/CoinPackedVectorBase.hpp +274 -0
  489. casadi/include/include/coin/CoinParam.hpp +644 -0
  490. casadi/include/include/coin/CoinPragma.hpp +29 -0
  491. casadi/include/include/coin/CoinPresolveDoubleton.hpp +76 -0
  492. casadi/include/include/coin/CoinPresolveDual.hpp +84 -0
  493. casadi/include/include/coin/CoinPresolveDupcol.hpp +259 -0
  494. casadi/include/include/coin/CoinPresolveEmpty.hpp +120 -0
  495. casadi/include/include/coin/CoinPresolveFixed.hpp +185 -0
  496. casadi/include/include/coin/CoinPresolveForcing.hpp +69 -0
  497. casadi/include/include/coin/CoinPresolveImpliedFree.hpp +66 -0
  498. casadi/include/include/coin/CoinPresolveIsolated.hpp +59 -0
  499. casadi/include/include/coin/CoinPresolveMatrix.hpp +1996 -0
  500. casadi/include/include/coin/CoinPresolveMonitor.hpp +105 -0
  501. casadi/include/include/coin/CoinPresolvePsdebug.hpp +169 -0
  502. casadi/include/include/coin/CoinPresolveSingleton.hpp +115 -0
  503. casadi/include/include/coin/CoinPresolveSubst.hpp +103 -0
  504. casadi/include/include/coin/CoinPresolveTighten.hpp +58 -0
  505. casadi/include/include/coin/CoinPresolveTripleton.hpp +69 -0
  506. casadi/include/include/coin/CoinPresolveUseless.hpp +63 -0
  507. casadi/include/include/coin/CoinPresolveZeros.hpp +65 -0
  508. casadi/include/include/coin/CoinRational.hpp +43 -0
  509. casadi/include/include/coin/CoinSearchTree.hpp +523 -0
  510. casadi/include/include/coin/CoinShallowPackedVector.hpp +149 -0
  511. casadi/include/include/coin/CoinSignal.hpp +127 -0
  512. casadi/include/include/coin/CoinSimpFactorization.hpp +432 -0
  513. casadi/include/include/coin/CoinSmartPtr.hpp +548 -0
  514. casadi/include/include/coin/CoinSnapshot.hpp +572 -0
  515. casadi/include/include/coin/CoinSort.hpp +753 -0
  516. casadi/include/include/coin/CoinStructuredModel.hpp +270 -0
  517. casadi/include/include/coin/CoinTime.hpp +350 -0
  518. casadi/include/include/coin/CoinTypes.hpp +67 -0
  519. casadi/include/include/coin/CoinUtility.hpp +26 -0
  520. casadi/include/include/coin/CoinUtilsConfig.h +34 -0
  521. casadi/include/include/coin/CoinWarmStart.hpp +56 -0
  522. casadi/include/include/coin/CoinWarmStartBasis.hpp +468 -0
  523. casadi/include/include/coin/CoinWarmStartDual.hpp +180 -0
  524. casadi/include/include/coin/CoinWarmStartPrimalDual.hpp +233 -0
  525. casadi/include/include/coin/CoinWarmStartVector.hpp +523 -0
  526. casadi/include/include/coin/Coin_C_defines.h +149 -0
  527. casadi/include/include/coin/Idiot.hpp +327 -0
  528. casadi/include/include/coin/OsiAuxInfo.hpp +261 -0
  529. casadi/include/include/coin/OsiBranchingObject.hpp +1097 -0
  530. casadi/include/include/coin/OsiCbcSolverInterface.hpp +791 -0
  531. casadi/include/include/coin/OsiChooseVariable.hpp +645 -0
  532. casadi/include/include/coin/OsiClpSolverInterface.hpp +1604 -0
  533. casadi/include/include/coin/OsiColCut.hpp +322 -0
  534. casadi/include/include/coin/OsiCollections.hpp +34 -0
  535. casadi/include/include/coin/OsiConfig.h +19 -0
  536. casadi/include/include/coin/OsiCut.hpp +251 -0
  537. casadi/include/include/coin/OsiCuts.hpp +505 -0
  538. casadi/include/include/coin/OsiPresolve.hpp +272 -0
  539. casadi/include/include/coin/OsiRowCut.hpp +345 -0
  540. casadi/include/include/coin/OsiRowCutDebugger.hpp +190 -0
  541. casadi/include/include/coin/OsiSolverBranch.hpp +169 -0
  542. casadi/include/include/coin/OsiSolverInterface.hpp +2221 -0
  543. casadi/include/include/coin/OsiSolverParameters.hpp +144 -0
  544. casadi/include/include/coin/OsiUnitTests.hpp +390 -0
  545. casadi/include/include/coin-or/IpAlgBuilder.hpp +417 -0
  546. casadi/include/include/coin-or/IpAlgStrategy.hpp +201 -0
  547. casadi/include/include/coin-or/IpAlgTypes.hpp +64 -0
  548. casadi/include/include/coin-or/IpAugSystemSolver.hpp +212 -0
  549. casadi/include/include/coin-or/IpBlas.hpp +426 -0
  550. casadi/include/include/coin-or/IpCachedResults.hpp +897 -0
  551. casadi/include/include/coin-or/IpCompoundMatrix.hpp +423 -0
  552. casadi/include/include/coin-or/IpCompoundSymMatrix.hpp +348 -0
  553. casadi/include/include/coin-or/IpCompoundVector.hpp +395 -0
  554. casadi/include/include/coin-or/IpConvCheck.hpp +97 -0
  555. casadi/include/include/coin-or/IpDebug.hpp +167 -0
  556. casadi/include/include/coin-or/IpDenseVector.hpp +626 -0
  557. casadi/include/include/coin-or/IpDiagMatrix.hpp +158 -0
  558. casadi/include/include/coin-or/IpEqMultCalculator.hpp +76 -0
  559. casadi/include/include/coin-or/IpException.hpp +156 -0
  560. casadi/include/include/coin-or/IpExpansionMatrix.hpp +245 -0
  561. casadi/include/include/coin-or/IpGenTMatrix.hpp +290 -0
  562. casadi/include/include/coin-or/IpHessianUpdater.hpp +73 -0
  563. casadi/include/include/coin-or/IpIdentityMatrix.hpp +167 -0
  564. casadi/include/include/coin-or/IpIpoptAlg.hpp +257 -0
  565. casadi/include/include/coin-or/IpIpoptApplication.hpp +367 -0
  566. casadi/include/include/coin-or/IpIpoptCalculatedQuantities.hpp +1009 -0
  567. casadi/include/include/coin-or/IpIpoptData.hpp +966 -0
  568. casadi/include/include/coin-or/IpIpoptNLP.hpp +328 -0
  569. casadi/include/include/coin-or/IpIterateInitializer.hpp +68 -0
  570. casadi/include/include/coin-or/IpIteratesVector.hpp +840 -0
  571. casadi/include/include/coin-or/IpIterationOutput.hpp +78 -0
  572. casadi/include/include/coin-or/IpJournalist.hpp +573 -0
  573. casadi/include/include/coin-or/IpLapack.hpp +227 -0
  574. casadi/include/include/coin-or/IpLibraryLoader.hpp +76 -0
  575. casadi/include/include/coin-or/IpLineSearch.hpp +106 -0
  576. casadi/include/include/coin-or/IpLinearSolvers.h +46 -0
  577. casadi/include/include/coin-or/IpMatrix.hpp +434 -0
  578. casadi/include/include/coin-or/IpMuUpdate.hpp +77 -0
  579. casadi/include/include/coin-or/IpNLP.hpp +306 -0
  580. casadi/include/include/coin-or/IpNLPScaling.hpp +582 -0
  581. casadi/include/include/coin-or/IpObserver.hpp +422 -0
  582. casadi/include/include/coin-or/IpOptionsList.hpp +412 -0
  583. casadi/include/include/coin-or/IpOrigIpoptNLP.hpp +603 -0
  584. casadi/include/include/coin-or/IpPDSystemSolver.hpp +137 -0
  585. casadi/include/include/coin-or/IpReferenced.hpp +262 -0
  586. casadi/include/include/coin-or/IpRegOptions.hpp +1152 -0
  587. casadi/include/include/coin-or/IpReturnCodes.h +23 -0
  588. casadi/include/include/coin-or/IpReturnCodes.hpp +18 -0
  589. casadi/include/include/coin-or/IpReturnCodes.inc +71 -0
  590. casadi/include/include/coin-or/IpReturnCodes_inc.h +45 -0
  591. casadi/include/include/coin-or/IpScaledMatrix.hpp +291 -0
  592. casadi/include/include/coin-or/IpSearchDirCalculator.hpp +72 -0
  593. casadi/include/include/coin-or/IpSmartPtr.hpp +865 -0
  594. casadi/include/include/coin-or/IpSolveStatistics.hpp +210 -0
  595. casadi/include/include/coin-or/IpSparseSymLinearSolverInterface.hpp +260 -0
  596. casadi/include/include/coin-or/IpStdAugSystemSolver.cpp +555 -0
  597. casadi/include/include/coin-or/IpStdCInterface.h +428 -0
  598. casadi/include/include/coin-or/IpSumSymMatrix.hpp +186 -0
  599. casadi/include/include/coin-or/IpSymLinearSolver.hpp +141 -0
  600. casadi/include/include/coin-or/IpSymMatrix.hpp +167 -0
  601. casadi/include/include/coin-or/IpSymScaledMatrix.hpp +255 -0
  602. casadi/include/include/coin-or/IpSymTMatrix.hpp +275 -0
  603. casadi/include/include/coin-or/IpTNLP.hpp +820 -0
  604. casadi/include/include/coin-or/IpTNLPAdapter.hpp +648 -0
  605. casadi/include/include/coin-or/IpTNLPReducer.hpp +274 -0
  606. casadi/include/include/coin-or/IpTaggedObject.hpp +128 -0
  607. casadi/include/include/coin-or/IpTimedTask.hpp +218 -0
  608. casadi/include/include/coin-or/IpTimingStatistics.hpp +323 -0
  609. casadi/include/include/coin-or/IpTripletHelper.hpp +308 -0
  610. casadi/include/include/coin-or/IpTypes.h +81 -0
  611. casadi/include/include/coin-or/IpTypes.hpp +30 -0
  612. casadi/include/include/coin-or/IpUtils.hpp +166 -0
  613. casadi/include/include/coin-or/IpVector.hpp +892 -0
  614. casadi/include/include/coin-or/IpZeroSymMatrix.hpp +155 -0
  615. casadi/include/include/coin-or/IpoptConfig.h +45 -0
  616. casadi/include/include/coin-or/SensAlgorithm.hpp +114 -0
  617. casadi/include/include/coin-or/SensApplication.hpp +188 -0
  618. casadi/include/include/coin-or/SensBacksolver.hpp +36 -0
  619. casadi/include/include/coin-or/SensMeasurement.hpp +56 -0
  620. casadi/include/include/coin-or/SensPCalculator.hpp +137 -0
  621. casadi/include/include/coin-or/SensRegOp.hpp +21 -0
  622. casadi/include/include/coin-or/SensSchurData.hpp +182 -0
  623. casadi/include/include/coin-or/SensSchurDriver.hpp +118 -0
  624. casadi/include/include/coin-or/SensSimpleBacksolver.hpp +49 -0
  625. casadi/include/include/coin-or/SensStepCalc.hpp +85 -0
  626. casadi/include/include/coin-or/SensUtils.hpp +63 -0
  627. casadi/include/include/coin-or/metis/defs.h +161 -0
  628. casadi/include/include/coin-or/metis/macros.h +143 -0
  629. casadi/include/include/coin-or/metis/metis.h +37 -0
  630. casadi/include/include/coin-or/metis/proto.h +505 -0
  631. casadi/include/include/coin-or/metis/rename.h +418 -0
  632. casadi/include/include/coin-or/metis/struct.h +251 -0
  633. casadi/include/include/coin-or/mumps/dmumps_c.h +142 -0
  634. casadi/include/include/coin-or/mumps/mumps_c_types.h +72 -0
  635. casadi/include/include/coin-or/mumps/mumps_compat.h +27 -0
  636. casadi/include/include/coin-or/mumps/mumps_int_def.h +11 -0
  637. casadi/include/include/coin-or/mumps/mumps_mpi.h +67 -0
  638. casadi/include/include/d_blas.h +78 -0
  639. casadi/include/include/d_blas_64.h +73 -0
  640. casadi/include/include/eigen3/Eigen/Cholesky +45 -0
  641. casadi/include/include/eigen3/Eigen/CholmodSupport +48 -0
  642. casadi/include/include/eigen3/Eigen/Core +384 -0
  643. casadi/include/include/eigen3/Eigen/Dense +7 -0
  644. casadi/include/include/eigen3/Eigen/Eigen +2 -0
  645. casadi/include/include/eigen3/Eigen/Eigenvalues +60 -0
  646. casadi/include/include/eigen3/Eigen/Geometry +59 -0
  647. casadi/include/include/eigen3/Eigen/Householder +29 -0
  648. casadi/include/include/eigen3/Eigen/IterativeLinearSolvers +48 -0
  649. casadi/include/include/eigen3/Eigen/Jacobi +32 -0
  650. casadi/include/include/eigen3/Eigen/KLUSupport +41 -0
  651. casadi/include/include/eigen3/Eigen/LU +47 -0
  652. casadi/include/include/eigen3/Eigen/MetisSupport +35 -0
  653. casadi/include/include/eigen3/Eigen/OrderingMethods +70 -0
  654. casadi/include/include/eigen3/Eigen/PaStiXSupport +49 -0
  655. casadi/include/include/eigen3/Eigen/PardisoSupport +35 -0
  656. casadi/include/include/eigen3/Eigen/QR +50 -0
  657. casadi/include/include/eigen3/Eigen/QtAlignedMalloc +39 -0
  658. casadi/include/include/eigen3/Eigen/SPQRSupport +34 -0
  659. casadi/include/include/eigen3/Eigen/SVD +50 -0
  660. casadi/include/include/eigen3/Eigen/Sparse +34 -0
  661. casadi/include/include/eigen3/Eigen/SparseCholesky +37 -0
  662. casadi/include/include/eigen3/Eigen/SparseCore +69 -0
  663. casadi/include/include/eigen3/Eigen/SparseLU +50 -0
  664. casadi/include/include/eigen3/Eigen/SparseQR +36 -0
  665. casadi/include/include/eigen3/Eigen/StdDeque +27 -0
  666. casadi/include/include/eigen3/Eigen/StdList +26 -0
  667. casadi/include/include/eigen3/Eigen/StdVector +27 -0
  668. casadi/include/include/eigen3/Eigen/SuperLUSupport +64 -0
  669. casadi/include/include/eigen3/Eigen/UmfPackSupport +40 -0
  670. casadi/include/include/eigen3/Eigen/src/Cholesky/LDLT.h +688 -0
  671. casadi/include/include/eigen3/Eigen/src/Cholesky/LLT.h +558 -0
  672. casadi/include/include/eigen3/Eigen/src/Cholesky/LLT_LAPACKE.h +99 -0
  673. casadi/include/include/eigen3/Eigen/src/CholmodSupport/CholmodSupport.h +682 -0
  674. casadi/include/include/eigen3/Eigen/src/Core/ArithmeticSequence.h +413 -0
  675. casadi/include/include/eigen3/Eigen/src/Core/Array.h +417 -0
  676. casadi/include/include/eigen3/Eigen/src/Core/ArrayBase.h +226 -0
  677. casadi/include/include/eigen3/Eigen/src/Core/ArrayWrapper.h +209 -0
  678. casadi/include/include/eigen3/Eigen/src/Core/Assign.h +90 -0
  679. casadi/include/include/eigen3/Eigen/src/Core/AssignEvaluator.h +1010 -0
  680. casadi/include/include/eigen3/Eigen/src/Core/Assign_MKL.h +178 -0
  681. casadi/include/include/eigen3/Eigen/src/Core/BandMatrix.h +353 -0
  682. casadi/include/include/eigen3/Eigen/src/Core/Block.h +448 -0
  683. casadi/include/include/eigen3/Eigen/src/Core/BooleanRedux.h +162 -0
  684. casadi/include/include/eigen3/Eigen/src/Core/CommaInitializer.h +164 -0
  685. casadi/include/include/eigen3/Eigen/src/Core/ConditionEstimator.h +175 -0
  686. casadi/include/include/eigen3/Eigen/src/Core/CoreEvaluators.h +1741 -0
  687. casadi/include/include/eigen3/Eigen/src/Core/CoreIterators.h +132 -0
  688. casadi/include/include/eigen3/Eigen/src/Core/CwiseBinaryOp.h +183 -0
  689. casadi/include/include/eigen3/Eigen/src/Core/CwiseNullaryOp.h +1001 -0
  690. casadi/include/include/eigen3/Eigen/src/Core/CwiseTernaryOp.h +197 -0
  691. casadi/include/include/eigen3/Eigen/src/Core/CwiseUnaryOp.h +103 -0
  692. casadi/include/include/eigen3/Eigen/src/Core/CwiseUnaryView.h +132 -0
  693. casadi/include/include/eigen3/Eigen/src/Core/DenseBase.h +701 -0
  694. casadi/include/include/eigen3/Eigen/src/Core/DenseCoeffsBase.h +685 -0
  695. casadi/include/include/eigen3/Eigen/src/Core/DenseStorage.h +652 -0
  696. casadi/include/include/eigen3/Eigen/src/Core/Diagonal.h +258 -0
  697. casadi/include/include/eigen3/Eigen/src/Core/DiagonalMatrix.h +391 -0
  698. casadi/include/include/eigen3/Eigen/src/Core/DiagonalProduct.h +28 -0
  699. casadi/include/include/eigen3/Eigen/src/Core/Dot.h +318 -0
  700. casadi/include/include/eigen3/Eigen/src/Core/EigenBase.h +160 -0
  701. casadi/include/include/eigen3/Eigen/src/Core/ForceAlignedAccess.h +150 -0
  702. casadi/include/include/eigen3/Eigen/src/Core/Fuzzy.h +155 -0
  703. casadi/include/include/eigen3/Eigen/src/Core/GeneralProduct.h +465 -0
  704. casadi/include/include/eigen3/Eigen/src/Core/GenericPacketMath.h +1040 -0
  705. casadi/include/include/eigen3/Eigen/src/Core/GlobalFunctions.h +194 -0
  706. casadi/include/include/eigen3/Eigen/src/Core/IO.h +258 -0
  707. casadi/include/include/eigen3/Eigen/src/Core/IndexedView.h +237 -0
  708. casadi/include/include/eigen3/Eigen/src/Core/Inverse.h +117 -0
  709. casadi/include/include/eigen3/Eigen/src/Core/Map.h +171 -0
  710. casadi/include/include/eigen3/Eigen/src/Core/MapBase.h +310 -0
  711. casadi/include/include/eigen3/Eigen/src/Core/MathFunctions.h +2057 -0
  712. casadi/include/include/eigen3/Eigen/src/Core/MathFunctionsImpl.h +200 -0
  713. casadi/include/include/eigen3/Eigen/src/Core/Matrix.h +565 -0
  714. casadi/include/include/eigen3/Eigen/src/Core/MatrixBase.h +547 -0
  715. casadi/include/include/eigen3/Eigen/src/Core/NestByValue.h +85 -0
  716. casadi/include/include/eigen3/Eigen/src/Core/NoAlias.h +109 -0
  717. casadi/include/include/eigen3/Eigen/src/Core/NumTraits.h +335 -0
  718. casadi/include/include/eigen3/Eigen/src/Core/PartialReduxEvaluator.h +232 -0
  719. casadi/include/include/eigen3/Eigen/src/Core/PermutationMatrix.h +605 -0
  720. casadi/include/include/eigen3/Eigen/src/Core/PlainObjectBase.h +1128 -0
  721. casadi/include/include/eigen3/Eigen/src/Core/Product.h +191 -0
  722. casadi/include/include/eigen3/Eigen/src/Core/ProductEvaluators.h +1179 -0
  723. casadi/include/include/eigen3/Eigen/src/Core/Random.h +218 -0
  724. casadi/include/include/eigen3/Eigen/src/Core/Redux.h +515 -0
  725. casadi/include/include/eigen3/Eigen/src/Core/Ref.h +381 -0
  726. casadi/include/include/eigen3/Eigen/src/Core/Replicate.h +142 -0
  727. casadi/include/include/eigen3/Eigen/src/Core/Reshaped.h +454 -0
  728. casadi/include/include/eigen3/Eigen/src/Core/ReturnByValue.h +119 -0
  729. casadi/include/include/eigen3/Eigen/src/Core/Reverse.h +217 -0
  730. casadi/include/include/eigen3/Eigen/src/Core/Select.h +164 -0
  731. casadi/include/include/eigen3/Eigen/src/Core/SelfAdjointView.h +365 -0
  732. casadi/include/include/eigen3/Eigen/src/Core/SelfCwiseBinaryOp.h +47 -0
  733. casadi/include/include/eigen3/Eigen/src/Core/Solve.h +188 -0
  734. casadi/include/include/eigen3/Eigen/src/Core/SolveTriangular.h +235 -0
  735. casadi/include/include/eigen3/Eigen/src/Core/SolverBase.h +168 -0
  736. casadi/include/include/eigen3/Eigen/src/Core/StableNorm.h +251 -0
  737. casadi/include/include/eigen3/Eigen/src/Core/StlIterators.h +463 -0
  738. casadi/include/include/eigen3/Eigen/src/Core/Stride.h +116 -0
  739. casadi/include/include/eigen3/Eigen/src/Core/Swap.h +68 -0
  740. casadi/include/include/eigen3/Eigen/src/Core/Transpose.h +464 -0
  741. casadi/include/include/eigen3/Eigen/src/Core/Transpositions.h +386 -0
  742. casadi/include/include/eigen3/Eigen/src/Core/TriangularMatrix.h +1001 -0
  743. casadi/include/include/eigen3/Eigen/src/Core/VectorBlock.h +96 -0
  744. casadi/include/include/eigen3/Eigen/src/Core/VectorwiseOp.h +784 -0
  745. casadi/include/include/eigen3/Eigen/src/Core/Visitor.h +381 -0
  746. casadi/include/include/eigen3/Eigen/src/Core/arch/AVX/Complex.h +372 -0
  747. casadi/include/include/eigen3/Eigen/src/Core/arch/AVX/MathFunctions.h +228 -0
  748. casadi/include/include/eigen3/Eigen/src/Core/arch/AVX/PacketMath.h +1574 -0
  749. casadi/include/include/eigen3/Eigen/src/Core/arch/AVX/TypeCasting.h +115 -0
  750. casadi/include/include/eigen3/Eigen/src/Core/arch/AVX512/Complex.h +422 -0
  751. casadi/include/include/eigen3/Eigen/src/Core/arch/AVX512/MathFunctions.h +362 -0
  752. casadi/include/include/eigen3/Eigen/src/Core/arch/AVX512/PacketMath.h +2303 -0
  753. casadi/include/include/eigen3/Eigen/src/Core/arch/AVX512/TypeCasting.h +89 -0
  754. casadi/include/include/eigen3/Eigen/src/Core/arch/AltiVec/Complex.h +417 -0
  755. casadi/include/include/eigen3/Eigen/src/Core/arch/AltiVec/MathFunctions.h +90 -0
  756. casadi/include/include/eigen3/Eigen/src/Core/arch/AltiVec/MatrixProduct.h +2937 -0
  757. casadi/include/include/eigen3/Eigen/src/Core/arch/AltiVec/MatrixProductCommon.h +221 -0
  758. casadi/include/include/eigen3/Eigen/src/Core/arch/AltiVec/MatrixProductMMA.h +629 -0
  759. casadi/include/include/eigen3/Eigen/src/Core/arch/AltiVec/PacketMath.h +2711 -0
  760. casadi/include/include/eigen3/Eigen/src/Core/arch/CUDA/Complex.h +258 -0
  761. casadi/include/include/eigen3/Eigen/src/Core/arch/Default/BFloat16.h +700 -0
  762. casadi/include/include/eigen3/Eigen/src/Core/arch/Default/ConjHelper.h +117 -0
  763. casadi/include/include/eigen3/Eigen/src/Core/arch/Default/GenericPacketMathFunctions.h +1649 -0
  764. casadi/include/include/eigen3/Eigen/src/Core/arch/Default/GenericPacketMathFunctionsFwd.h +110 -0
  765. casadi/include/include/eigen3/Eigen/src/Core/arch/Default/Half.h +942 -0
  766. casadi/include/include/eigen3/Eigen/src/Core/arch/Default/Settings.h +49 -0
  767. casadi/include/include/eigen3/Eigen/src/Core/arch/Default/TypeCasting.h +120 -0
  768. casadi/include/include/eigen3/Eigen/src/Core/arch/GPU/MathFunctions.h +103 -0
  769. casadi/include/include/eigen3/Eigen/src/Core/arch/GPU/PacketMath.h +1685 -0
  770. casadi/include/include/eigen3/Eigen/src/Core/arch/GPU/TypeCasting.h +80 -0
  771. casadi/include/include/eigen3/Eigen/src/Core/arch/HIP/hcc/math_constants.h +23 -0
  772. casadi/include/include/eigen3/Eigen/src/Core/arch/MSA/Complex.h +648 -0
  773. casadi/include/include/eigen3/Eigen/src/Core/arch/MSA/MathFunctions.h +387 -0
  774. casadi/include/include/eigen3/Eigen/src/Core/arch/MSA/PacketMath.h +1233 -0
  775. casadi/include/include/eigen3/Eigen/src/Core/arch/NEON/Complex.h +584 -0
  776. casadi/include/include/eigen3/Eigen/src/Core/arch/NEON/GeneralBlockPanelKernel.h +183 -0
  777. casadi/include/include/eigen3/Eigen/src/Core/arch/NEON/MathFunctions.h +75 -0
  778. casadi/include/include/eigen3/Eigen/src/Core/arch/NEON/PacketMath.h +4587 -0
  779. casadi/include/include/eigen3/Eigen/src/Core/arch/NEON/TypeCasting.h +1419 -0
  780. casadi/include/include/eigen3/Eigen/src/Core/arch/SSE/Complex.h +351 -0
  781. casadi/include/include/eigen3/Eigen/src/Core/arch/SSE/MathFunctions.h +199 -0
  782. casadi/include/include/eigen3/Eigen/src/Core/arch/SSE/PacketMath.h +1505 -0
  783. casadi/include/include/eigen3/Eigen/src/Core/arch/SSE/TypeCasting.h +142 -0
  784. casadi/include/include/eigen3/Eigen/src/Core/arch/SVE/MathFunctions.h +44 -0
  785. casadi/include/include/eigen3/Eigen/src/Core/arch/SVE/PacketMath.h +752 -0
  786. casadi/include/include/eigen3/Eigen/src/Core/arch/SVE/TypeCasting.h +49 -0
  787. casadi/include/include/eigen3/Eigen/src/Core/arch/SYCL/InteropHeaders.h +232 -0
  788. casadi/include/include/eigen3/Eigen/src/Core/arch/SYCL/MathFunctions.h +301 -0
  789. casadi/include/include/eigen3/Eigen/src/Core/arch/SYCL/PacketMath.h +670 -0
  790. casadi/include/include/eigen3/Eigen/src/Core/arch/SYCL/SyclMemoryModel.h +694 -0
  791. casadi/include/include/eigen3/Eigen/src/Core/arch/SYCL/TypeCasting.h +85 -0
  792. casadi/include/include/eigen3/Eigen/src/Core/arch/ZVector/Complex.h +426 -0
  793. casadi/include/include/eigen3/Eigen/src/Core/arch/ZVector/MathFunctions.h +233 -0
  794. casadi/include/include/eigen3/Eigen/src/Core/arch/ZVector/PacketMath.h +1060 -0
  795. casadi/include/include/eigen3/Eigen/src/Core/functors/AssignmentFunctors.h +177 -0
  796. casadi/include/include/eigen3/Eigen/src/Core/functors/BinaryFunctors.h +541 -0
  797. casadi/include/include/eigen3/Eigen/src/Core/functors/NullaryFunctors.h +189 -0
  798. casadi/include/include/eigen3/Eigen/src/Core/functors/StlFunctors.h +166 -0
  799. casadi/include/include/eigen3/Eigen/src/Core/functors/TernaryFunctors.h +25 -0
  800. casadi/include/include/eigen3/Eigen/src/Core/functors/UnaryFunctors.h +1131 -0
  801. casadi/include/include/eigen3/Eigen/src/Core/products/GeneralBlockPanelKernel.h +2645 -0
  802. casadi/include/include/eigen3/Eigen/src/Core/products/GeneralMatrixMatrix.h +517 -0
  803. casadi/include/include/eigen3/Eigen/src/Core/products/GeneralMatrixMatrixTriangular.h +317 -0
  804. casadi/include/include/eigen3/Eigen/src/Core/products/GeneralMatrixMatrixTriangular_BLAS.h +145 -0
  805. casadi/include/include/eigen3/Eigen/src/Core/products/GeneralMatrixMatrix_BLAS.h +124 -0
  806. casadi/include/include/eigen3/Eigen/src/Core/products/GeneralMatrixVector.h +518 -0
  807. casadi/include/include/eigen3/Eigen/src/Core/products/GeneralMatrixVector_BLAS.h +136 -0
  808. casadi/include/include/eigen3/Eigen/src/Core/products/Parallelizer.h +180 -0
  809. casadi/include/include/eigen3/Eigen/src/Core/products/SelfadjointMatrixMatrix.h +544 -0
  810. casadi/include/include/eigen3/Eigen/src/Core/products/SelfadjointMatrixMatrix_BLAS.h +295 -0
  811. casadi/include/include/eigen3/Eigen/src/Core/products/SelfadjointMatrixVector.h +262 -0
  812. casadi/include/include/eigen3/Eigen/src/Core/products/SelfadjointMatrixVector_BLAS.h +118 -0
  813. casadi/include/include/eigen3/Eigen/src/Core/products/SelfadjointProduct.h +133 -0
  814. casadi/include/include/eigen3/Eigen/src/Core/products/SelfadjointRank2Update.h +94 -0
  815. casadi/include/include/eigen3/Eigen/src/Core/products/TriangularMatrixMatrix.h +472 -0
  816. casadi/include/include/eigen3/Eigen/src/Core/products/TriangularMatrixMatrix_BLAS.h +317 -0
  817. casadi/include/include/eigen3/Eigen/src/Core/products/TriangularMatrixVector.h +350 -0
  818. casadi/include/include/eigen3/Eigen/src/Core/products/TriangularMatrixVector_BLAS.h +255 -0
  819. casadi/include/include/eigen3/Eigen/src/Core/products/TriangularSolverMatrix.h +337 -0
  820. casadi/include/include/eigen3/Eigen/src/Core/products/TriangularSolverMatrix_BLAS.h +167 -0
  821. casadi/include/include/eigen3/Eigen/src/Core/products/TriangularSolverVector.h +148 -0
  822. casadi/include/include/eigen3/Eigen/src/Core/util/BlasUtil.h +583 -0
  823. casadi/include/include/eigen3/Eigen/src/Core/util/ConfigureVectorization.h +512 -0
  824. casadi/include/include/eigen3/Eigen/src/Core/util/Constants.h +563 -0
  825. casadi/include/include/eigen3/Eigen/src/Core/util/DisableStupidWarnings.h +106 -0
  826. casadi/include/include/eigen3/Eigen/src/Core/util/ForwardDeclarations.h +322 -0
  827. casadi/include/include/eigen3/Eigen/src/Core/util/IndexedViewHelper.h +186 -0
  828. casadi/include/include/eigen3/Eigen/src/Core/util/IntegralConstant.h +272 -0
  829. casadi/include/include/eigen3/Eigen/src/Core/util/MKL_support.h +137 -0
  830. casadi/include/include/eigen3/Eigen/src/Core/util/Macros.h +1464 -0
  831. casadi/include/include/eigen3/Eigen/src/Core/util/Memory.h +1163 -0
  832. casadi/include/include/eigen3/Eigen/src/Core/util/Meta.h +812 -0
  833. casadi/include/include/eigen3/Eigen/src/Core/util/NonMPL2.h +3 -0
  834. casadi/include/include/eigen3/Eigen/src/Core/util/ReenableStupidWarnings.h +31 -0
  835. casadi/include/include/eigen3/Eigen/src/Core/util/ReshapedHelper.h +51 -0
  836. casadi/include/include/eigen3/Eigen/src/Core/util/StaticAssert.h +221 -0
  837. casadi/include/include/eigen3/Eigen/src/Core/util/SymbolicIndex.h +293 -0
  838. casadi/include/include/eigen3/Eigen/src/Core/util/XprHelper.h +856 -0
  839. casadi/include/include/eigen3/Eigen/src/Eigenvalues/ComplexEigenSolver.h +346 -0
  840. casadi/include/include/eigen3/Eigen/src/Eigenvalues/ComplexSchur.h +462 -0
  841. casadi/include/include/eigen3/Eigen/src/Eigenvalues/ComplexSchur_LAPACKE.h +91 -0
  842. casadi/include/include/eigen3/Eigen/src/Eigenvalues/EigenSolver.h +622 -0
  843. casadi/include/include/eigen3/Eigen/src/Eigenvalues/GeneralizedEigenSolver.h +418 -0
  844. casadi/include/include/eigen3/Eigen/src/Eigenvalues/GeneralizedSelfAdjointEigenSolver.h +226 -0
  845. casadi/include/include/eigen3/Eigen/src/Eigenvalues/HessenbergDecomposition.h +374 -0
  846. casadi/include/include/eigen3/Eigen/src/Eigenvalues/MatrixBaseEigenvalues.h +158 -0
  847. casadi/include/include/eigen3/Eigen/src/Eigenvalues/RealQZ.h +657 -0
  848. casadi/include/include/eigen3/Eigen/src/Eigenvalues/RealSchur.h +558 -0
  849. casadi/include/include/eigen3/Eigen/src/Eigenvalues/RealSchur_LAPACKE.h +77 -0
  850. casadi/include/include/eigen3/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h +904 -0
  851. casadi/include/include/eigen3/Eigen/src/Eigenvalues/SelfAdjointEigenSolver_LAPACKE.h +87 -0
  852. casadi/include/include/eigen3/Eigen/src/Eigenvalues/Tridiagonalization.h +561 -0
  853. casadi/include/include/eigen3/Eigen/src/Geometry/AlignedBox.h +486 -0
  854. casadi/include/include/eigen3/Eigen/src/Geometry/AngleAxis.h +247 -0
  855. casadi/include/include/eigen3/Eigen/src/Geometry/EulerAngles.h +114 -0
  856. casadi/include/include/eigen3/Eigen/src/Geometry/Homogeneous.h +501 -0
  857. casadi/include/include/eigen3/Eigen/src/Geometry/Hyperplane.h +282 -0
  858. casadi/include/include/eigen3/Eigen/src/Geometry/OrthoMethods.h +235 -0
  859. casadi/include/include/eigen3/Eigen/src/Geometry/ParametrizedLine.h +232 -0
  860. casadi/include/include/eigen3/Eigen/src/Geometry/Quaternion.h +870 -0
  861. casadi/include/include/eigen3/Eigen/src/Geometry/Rotation2D.h +199 -0
  862. casadi/include/include/eigen3/Eigen/src/Geometry/RotationBase.h +206 -0
  863. casadi/include/include/eigen3/Eigen/src/Geometry/Scaling.h +188 -0
  864. casadi/include/include/eigen3/Eigen/src/Geometry/Transform.h +1563 -0
  865. casadi/include/include/eigen3/Eigen/src/Geometry/Translation.h +202 -0
  866. casadi/include/include/eigen3/Eigen/src/Geometry/Umeyama.h +166 -0
  867. casadi/include/include/eigen3/Eigen/src/Geometry/arch/Geometry_SIMD.h +168 -0
  868. casadi/include/include/eigen3/Eigen/src/Householder/BlockHouseholder.h +110 -0
  869. casadi/include/include/eigen3/Eigen/src/Householder/Householder.h +176 -0
  870. casadi/include/include/eigen3/Eigen/src/Householder/HouseholderSequence.h +545 -0
  871. casadi/include/include/eigen3/Eigen/src/IterativeLinearSolvers/BasicPreconditioners.h +226 -0
  872. casadi/include/include/eigen3/Eigen/src/IterativeLinearSolvers/BiCGSTAB.h +212 -0
  873. casadi/include/include/eigen3/Eigen/src/IterativeLinearSolvers/ConjugateGradient.h +229 -0
  874. casadi/include/include/eigen3/Eigen/src/IterativeLinearSolvers/IncompleteCholesky.h +394 -0
  875. casadi/include/include/eigen3/Eigen/src/IterativeLinearSolvers/IncompleteLUT.h +453 -0
  876. casadi/include/include/eigen3/Eigen/src/IterativeLinearSolvers/IterativeSolverBase.h +444 -0
  877. casadi/include/include/eigen3/Eigen/src/IterativeLinearSolvers/LeastSquareConjugateGradient.h +198 -0
  878. casadi/include/include/eigen3/Eigen/src/IterativeLinearSolvers/SolveWithGuess.h +117 -0
  879. casadi/include/include/eigen3/Eigen/src/Jacobi/Jacobi.h +483 -0
  880. casadi/include/include/eigen3/Eigen/src/KLUSupport/KLUSupport.h +358 -0
  881. casadi/include/include/eigen3/Eigen/src/LU/Determinant.h +117 -0
  882. casadi/include/include/eigen3/Eigen/src/LU/FullPivLU.h +877 -0
  883. casadi/include/include/eigen3/Eigen/src/LU/InverseImpl.h +432 -0
  884. casadi/include/include/eigen3/Eigen/src/LU/PartialPivLU.h +624 -0
  885. casadi/include/include/eigen3/Eigen/src/LU/PartialPivLU_LAPACKE.h +83 -0
  886. casadi/include/include/eigen3/Eigen/src/LU/arch/InverseSize4.h +351 -0
  887. casadi/include/include/eigen3/Eigen/src/MetisSupport/MetisSupport.h +137 -0
  888. casadi/include/include/eigen3/Eigen/src/OrderingMethods/Amd.h +435 -0
  889. casadi/include/include/eigen3/Eigen/src/OrderingMethods/Eigen_Colamd.h +1863 -0
  890. casadi/include/include/eigen3/Eigen/src/OrderingMethods/Ordering.h +153 -0
  891. casadi/include/include/eigen3/Eigen/src/PaStiXSupport/PaStiXSupport.h +678 -0
  892. casadi/include/include/eigen3/Eigen/src/PardisoSupport/PardisoSupport.h +545 -0
  893. casadi/include/include/eigen3/Eigen/src/QR/ColPivHouseholderQR.h +674 -0
  894. casadi/include/include/eigen3/Eigen/src/QR/ColPivHouseholderQR_LAPACKE.h +97 -0
  895. casadi/include/include/eigen3/Eigen/src/QR/CompleteOrthogonalDecomposition.h +635 -0
  896. casadi/include/include/eigen3/Eigen/src/QR/FullPivHouseholderQR.h +713 -0
  897. casadi/include/include/eigen3/Eigen/src/QR/HouseholderQR.h +434 -0
  898. casadi/include/include/eigen3/Eigen/src/QR/HouseholderQR_LAPACKE.h +68 -0
  899. casadi/include/include/eigen3/Eigen/src/SPQRSupport/SuiteSparseQRSupport.h +335 -0
  900. casadi/include/include/eigen3/Eigen/src/SVD/BDCSVD.h +1366 -0
  901. casadi/include/include/eigen3/Eigen/src/SVD/JacobiSVD.h +812 -0
  902. casadi/include/include/eigen3/Eigen/src/SVD/JacobiSVD_LAPACKE.h +91 -0
  903. casadi/include/include/eigen3/Eigen/src/SVD/SVDBase.h +376 -0
  904. casadi/include/include/eigen3/Eigen/src/SVD/UpperBidiagonalization.h +414 -0
  905. casadi/include/include/eigen3/Eigen/src/SparseCholesky/SimplicialCholesky.h +697 -0
  906. casadi/include/include/eigen3/Eigen/src/SparseCholesky/SimplicialCholesky_impl.h +174 -0
  907. casadi/include/include/eigen3/Eigen/src/SparseCore/AmbiVector.h +378 -0
  908. casadi/include/include/eigen3/Eigen/src/SparseCore/CompressedStorage.h +274 -0
  909. casadi/include/include/eigen3/Eigen/src/SparseCore/ConservativeSparseSparseProduct.h +352 -0
  910. casadi/include/include/eigen3/Eigen/src/SparseCore/MappedSparseMatrix.h +67 -0
  911. casadi/include/include/eigen3/Eigen/src/SparseCore/SparseAssign.h +270 -0
  912. casadi/include/include/eigen3/Eigen/src/SparseCore/SparseBlock.h +571 -0
  913. casadi/include/include/eigen3/Eigen/src/SparseCore/SparseColEtree.h +206 -0
  914. casadi/include/include/eigen3/Eigen/src/SparseCore/SparseCompressedBase.h +370 -0
  915. casadi/include/include/eigen3/Eigen/src/SparseCore/SparseCwiseBinaryOp.h +722 -0
  916. casadi/include/include/eigen3/Eigen/src/SparseCore/SparseCwiseUnaryOp.h +150 -0
  917. casadi/include/include/eigen3/Eigen/src/SparseCore/SparseDenseProduct.h +342 -0
  918. casadi/include/include/eigen3/Eigen/src/SparseCore/SparseDiagonalProduct.h +138 -0
  919. casadi/include/include/eigen3/Eigen/src/SparseCore/SparseDot.h +98 -0
  920. casadi/include/include/eigen3/Eigen/src/SparseCore/SparseFuzzy.h +29 -0
  921. casadi/include/include/eigen3/Eigen/src/SparseCore/SparseMap.h +305 -0
  922. casadi/include/include/eigen3/Eigen/src/SparseCore/SparseMatrix.h +1518 -0
  923. casadi/include/include/eigen3/Eigen/src/SparseCore/SparseMatrixBase.h +398 -0
  924. casadi/include/include/eigen3/Eigen/src/SparseCore/SparsePermutation.h +178 -0
  925. casadi/include/include/eigen3/Eigen/src/SparseCore/SparseProduct.h +181 -0
  926. casadi/include/include/eigen3/Eigen/src/SparseCore/SparseRedux.h +49 -0
  927. casadi/include/include/eigen3/Eigen/src/SparseCore/SparseRef.h +397 -0
  928. casadi/include/include/eigen3/Eigen/src/SparseCore/SparseSelfAdjointView.h +659 -0
  929. casadi/include/include/eigen3/Eigen/src/SparseCore/SparseSolverBase.h +124 -0
  930. casadi/include/include/eigen3/Eigen/src/SparseCore/SparseSparseProductWithPruning.h +198 -0
  931. casadi/include/include/eigen3/Eigen/src/SparseCore/SparseTranspose.h +92 -0
  932. casadi/include/include/eigen3/Eigen/src/SparseCore/SparseTriangularView.h +189 -0
  933. casadi/include/include/eigen3/Eigen/src/SparseCore/SparseUtil.h +186 -0
  934. casadi/include/include/eigen3/Eigen/src/SparseCore/SparseVector.h +478 -0
  935. casadi/include/include/eigen3/Eigen/src/SparseCore/SparseView.h +254 -0
  936. casadi/include/include/eigen3/Eigen/src/SparseCore/TriangularSolver.h +315 -0
  937. casadi/include/include/eigen3/Eigen/src/SparseLU/SparseLU.h +923 -0
  938. casadi/include/include/eigen3/Eigen/src/SparseLU/SparseLUImpl.h +66 -0
  939. casadi/include/include/eigen3/Eigen/src/SparseLU/SparseLU_Memory.h +226 -0
  940. casadi/include/include/eigen3/Eigen/src/SparseLU/SparseLU_Structs.h +110 -0
  941. casadi/include/include/eigen3/Eigen/src/SparseLU/SparseLU_SupernodalMatrix.h +375 -0
  942. casadi/include/include/eigen3/Eigen/src/SparseLU/SparseLU_Utils.h +80 -0
  943. casadi/include/include/eigen3/Eigen/src/SparseLU/SparseLU_column_bmod.h +181 -0
  944. casadi/include/include/eigen3/Eigen/src/SparseLU/SparseLU_column_dfs.h +179 -0
  945. casadi/include/include/eigen3/Eigen/src/SparseLU/SparseLU_copy_to_ucol.h +107 -0
  946. casadi/include/include/eigen3/Eigen/src/SparseLU/SparseLU_gemm_kernel.h +280 -0
  947. casadi/include/include/eigen3/Eigen/src/SparseLU/SparseLU_heap_relax_snode.h +126 -0
  948. casadi/include/include/eigen3/Eigen/src/SparseLU/SparseLU_kernel_bmod.h +130 -0
  949. casadi/include/include/eigen3/Eigen/src/SparseLU/SparseLU_panel_bmod.h +223 -0
  950. casadi/include/include/eigen3/Eigen/src/SparseLU/SparseLU_panel_dfs.h +258 -0
  951. casadi/include/include/eigen3/Eigen/src/SparseLU/SparseLU_pivotL.h +137 -0
  952. casadi/include/include/eigen3/Eigen/src/SparseLU/SparseLU_pruneL.h +136 -0
  953. casadi/include/include/eigen3/Eigen/src/SparseLU/SparseLU_relax_snode.h +83 -0
  954. casadi/include/include/eigen3/Eigen/src/SparseQR/SparseQR.h +758 -0
  955. casadi/include/include/eigen3/Eigen/src/StlSupport/StdDeque.h +116 -0
  956. casadi/include/include/eigen3/Eigen/src/StlSupport/StdList.h +106 -0
  957. casadi/include/include/eigen3/Eigen/src/StlSupport/StdVector.h +131 -0
  958. casadi/include/include/eigen3/Eigen/src/StlSupport/details.h +84 -0
  959. casadi/include/include/eigen3/Eigen/src/SuperLUSupport/SuperLUSupport.h +1025 -0
  960. casadi/include/include/eigen3/Eigen/src/UmfPackSupport/UmfPackSupport.h +642 -0
  961. casadi/include/include/eigen3/Eigen/src/misc/Image.h +82 -0
  962. casadi/include/include/eigen3/Eigen/src/misc/Kernel.h +79 -0
  963. casadi/include/include/eigen3/Eigen/src/misc/RealSvd2x2.h +55 -0
  964. casadi/include/include/eigen3/Eigen/src/misc/blas.h +440 -0
  965. casadi/include/include/eigen3/Eigen/src/misc/lapack.h +152 -0
  966. casadi/include/include/eigen3/Eigen/src/misc/lapacke.h +16292 -0
  967. casadi/include/include/eigen3/Eigen/src/misc/lapacke_mangling.h +17 -0
  968. casadi/include/include/eigen3/Eigen/src/plugins/ArrayCwiseBinaryOps.h +358 -0
  969. casadi/include/include/eigen3/Eigen/src/plugins/ArrayCwiseUnaryOps.h +696 -0
  970. casadi/include/include/eigen3/Eigen/src/plugins/BlockMethods.h +1442 -0
  971. casadi/include/include/eigen3/Eigen/src/plugins/CommonCwiseBinaryOps.h +115 -0
  972. casadi/include/include/eigen3/Eigen/src/plugins/CommonCwiseUnaryOps.h +177 -0
  973. casadi/include/include/eigen3/Eigen/src/plugins/IndexedViewMethods.h +262 -0
  974. casadi/include/include/eigen3/Eigen/src/plugins/MatrixCwiseBinaryOps.h +152 -0
  975. casadi/include/include/eigen3/Eigen/src/plugins/MatrixCwiseUnaryOps.h +95 -0
  976. casadi/include/include/eigen3/Eigen/src/plugins/ReshapedMethods.h +149 -0
  977. casadi/include/include/eigen3/signature_of_eigen3_matrix_library +1 -0
  978. casadi/include/include/eigen3/unsupported/Eigen/AdolcForward +159 -0
  979. casadi/include/include/eigen3/unsupported/Eigen/AlignedVector3 +234 -0
  980. casadi/include/include/eigen3/unsupported/Eigen/ArpackSupport +30 -0
  981. casadi/include/include/eigen3/unsupported/Eigen/AutoDiff +46 -0
  982. casadi/include/include/eigen3/unsupported/Eigen/BVH +95 -0
  983. casadi/include/include/eigen3/unsupported/Eigen/CXX11/Tensor +137 -0
  984. casadi/include/include/eigen3/unsupported/Eigen/CXX11/TensorSymmetry +42 -0
  985. casadi/include/include/eigen3/unsupported/Eigen/CXX11/ThreadPool +74 -0
  986. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/Tensor.h +554 -0
  987. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorArgMax.h +329 -0
  988. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorAssign.h +247 -0
  989. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorBase.h +1176 -0
  990. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorBlock.h +1559 -0
  991. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorBroadcasting.h +1093 -0
  992. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorChipping.h +518 -0
  993. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorConcatenation.h +377 -0
  994. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContraction.h +1023 -0
  995. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionBlocking.h +73 -0
  996. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionCuda.h +6 -0
  997. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionGpu.h +1413 -0
  998. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionMapper.h +575 -0
  999. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionSycl.h +1650 -0
  1000. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionThreadPool.h +1679 -0
  1001. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorConversion.h +456 -0
  1002. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorConvolution.h +1132 -0
  1003. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorConvolutionSycl.h +544 -0
  1004. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorCostModel.h +214 -0
  1005. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorCustomOp.h +347 -0
  1006. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDevice.h +137 -0
  1007. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceCuda.h +6 -0
  1008. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceDefault.h +104 -0
  1009. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceGpu.h +389 -0
  1010. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceSycl.h +1048 -0
  1011. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceThreadPool.h +409 -0
  1012. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDimensionList.h +236 -0
  1013. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDimensions.h +490 -0
  1014. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorEvalTo.h +236 -0
  1015. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorEvaluator.h +983 -0
  1016. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorExecutor.h +703 -0
  1017. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorExpr.h +388 -0
  1018. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorFFT.h +669 -0
  1019. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorFixedSize.h +379 -0
  1020. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorForcedEval.h +237 -0
  1021. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorForwardDeclarations.h +191 -0
  1022. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorFunctors.h +488 -0
  1023. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorGenerator.h +302 -0
  1024. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorGlobalFunctions.h +33 -0
  1025. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorGpuHipCudaDefines.h +99 -0
  1026. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorGpuHipCudaUndefines.h +44 -0
  1027. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorIO.h +79 -0
  1028. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorImagePatch.h +603 -0
  1029. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorIndexList.h +738 -0
  1030. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorInflation.h +247 -0
  1031. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorInitializer.h +82 -0
  1032. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorIntDiv.h +263 -0
  1033. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorLayoutSwap.h +216 -0
  1034. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorMacros.h +98 -0
  1035. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorMap.h +327 -0
  1036. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorMeta.h +311 -0
  1037. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorMorphing.h +1102 -0
  1038. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorPadding.h +708 -0
  1039. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorPatch.h +291 -0
  1040. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorRandom.h +322 -0
  1041. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReduction.h +998 -0
  1042. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReductionCuda.h +6 -0
  1043. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReductionGpu.h +966 -0
  1044. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReductionSycl.h +582 -0
  1045. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorRef.h +454 -0
  1046. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReverse.h +465 -0
  1047. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorScan.h +528 -0
  1048. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorScanSycl.h +513 -0
  1049. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorShuffling.h +471 -0
  1050. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorStorage.h +161 -0
  1051. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorStriding.h +346 -0
  1052. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorTrace.h +303 -0
  1053. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorTraits.h +264 -0
  1054. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorUInt128.h +249 -0
  1055. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorVolumePatch.h +629 -0
  1056. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/TensorSymmetry/DynamicSymmetry.h +293 -0
  1057. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/TensorSymmetry/StaticSymmetry.h +236 -0
  1058. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/TensorSymmetry/Symmetry.h +338 -0
  1059. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/TensorSymmetry/util/TemplateGroupTheory.h +669 -0
  1060. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/Barrier.h +67 -0
  1061. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/EventCount.h +249 -0
  1062. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/NonBlockingThreadPool.h +486 -0
  1063. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/RunQueue.h +236 -0
  1064. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/ThreadCancel.h +23 -0
  1065. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/ThreadEnvironment.h +40 -0
  1066. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/ThreadLocal.h +301 -0
  1067. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/ThreadPoolInterface.h +48 -0
  1068. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/ThreadYield.h +20 -0
  1069. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/util/CXX11Meta.h +537 -0
  1070. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/util/CXX11Workarounds.h +88 -0
  1071. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/util/EmulateArray.h +261 -0
  1072. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/util/MaxSizeVector.h +158 -0
  1073. casadi/include/include/eigen3/unsupported/Eigen/EulerAngles +43 -0
  1074. casadi/include/include/eigen3/unsupported/Eigen/FFT +419 -0
  1075. casadi/include/include/eigen3/unsupported/Eigen/IterativeSolvers +51 -0
  1076. casadi/include/include/eigen3/unsupported/Eigen/KroneckerProduct +36 -0
  1077. casadi/include/include/eigen3/unsupported/Eigen/LevenbergMarquardt +49 -0
  1078. casadi/include/include/eigen3/unsupported/Eigen/MPRealSupport +213 -0
  1079. casadi/include/include/eigen3/unsupported/Eigen/MatrixFunctions +504 -0
  1080. casadi/include/include/eigen3/unsupported/Eigen/MoreVectorization +24 -0
  1081. casadi/include/include/eigen3/unsupported/Eigen/NonLinearOptimization +140 -0
  1082. casadi/include/include/eigen3/unsupported/Eigen/NumericalDiff +56 -0
  1083. casadi/include/include/eigen3/unsupported/Eigen/OpenGLSupport +322 -0
  1084. casadi/include/include/eigen3/unsupported/Eigen/Polynomials +137 -0
  1085. casadi/include/include/eigen3/unsupported/Eigen/Skyline +39 -0
  1086. casadi/include/include/eigen3/unsupported/Eigen/SparseExtra +54 -0
  1087. casadi/include/include/eigen3/unsupported/Eigen/SpecialFunctions +103 -0
  1088. casadi/include/include/eigen3/unsupported/Eigen/Splines +35 -0
  1089. casadi/include/include/eigen3/unsupported/Eigen/src/AutoDiff/AutoDiffJacobian.h +108 -0
  1090. casadi/include/include/eigen3/unsupported/Eigen/src/AutoDiff/AutoDiffScalar.h +730 -0
  1091. casadi/include/include/eigen3/unsupported/Eigen/src/AutoDiff/AutoDiffVector.h +220 -0
  1092. casadi/include/include/eigen3/unsupported/Eigen/src/BVH/BVAlgorithms.h +293 -0
  1093. casadi/include/include/eigen3/unsupported/Eigen/src/BVH/KdBVH.h +223 -0
  1094. casadi/include/include/eigen3/unsupported/Eigen/src/Eigenvalues/ArpackSelfAdjointEigenSolver.h +790 -0
  1095. casadi/include/include/eigen3/unsupported/Eigen/src/EulerAngles/EulerAngles.h +355 -0
  1096. casadi/include/include/eigen3/unsupported/Eigen/src/EulerAngles/EulerSystem.h +305 -0
  1097. casadi/include/include/eigen3/unsupported/Eigen/src/FFT/ei_fftw_impl.h +261 -0
  1098. casadi/include/include/eigen3/unsupported/Eigen/src/FFT/ei_kissfft_impl.h +449 -0
  1099. casadi/include/include/eigen3/unsupported/Eigen/src/IterativeSolvers/ConstrainedConjGrad.h +187 -0
  1100. casadi/include/include/eigen3/unsupported/Eigen/src/IterativeSolvers/DGMRES.h +511 -0
  1101. casadi/include/include/eigen3/unsupported/Eigen/src/IterativeSolvers/GMRES.h +335 -0
  1102. casadi/include/include/eigen3/unsupported/Eigen/src/IterativeSolvers/IDRS.h +436 -0
  1103. casadi/include/include/eigen3/unsupported/Eigen/src/IterativeSolvers/IncompleteLU.h +90 -0
  1104. casadi/include/include/eigen3/unsupported/Eigen/src/IterativeSolvers/IterationController.h +154 -0
  1105. casadi/include/include/eigen3/unsupported/Eigen/src/IterativeSolvers/MINRES.h +267 -0
  1106. casadi/include/include/eigen3/unsupported/Eigen/src/IterativeSolvers/Scaling.h +193 -0
  1107. casadi/include/include/eigen3/unsupported/Eigen/src/KroneckerProduct/KroneckerTensorProduct.h +305 -0
  1108. casadi/include/include/eigen3/unsupported/Eigen/src/LevenbergMarquardt/LMcovar.h +84 -0
  1109. casadi/include/include/eigen3/unsupported/Eigen/src/LevenbergMarquardt/LMonestep.h +202 -0
  1110. casadi/include/include/eigen3/unsupported/Eigen/src/LevenbergMarquardt/LMpar.h +160 -0
  1111. casadi/include/include/eigen3/unsupported/Eigen/src/LevenbergMarquardt/LMqrsolv.h +188 -0
  1112. casadi/include/include/eigen3/unsupported/Eigen/src/LevenbergMarquardt/LevenbergMarquardt.h +396 -0
  1113. casadi/include/include/eigen3/unsupported/Eigen/src/MatrixFunctions/MatrixExponential.h +441 -0
  1114. casadi/include/include/eigen3/unsupported/Eigen/src/MatrixFunctions/MatrixFunction.h +569 -0
  1115. casadi/include/include/eigen3/unsupported/Eigen/src/MatrixFunctions/MatrixLogarithm.h +373 -0
  1116. casadi/include/include/eigen3/unsupported/Eigen/src/MatrixFunctions/MatrixPower.h +705 -0
  1117. casadi/include/include/eigen3/unsupported/Eigen/src/MatrixFunctions/MatrixSquareRoot.h +368 -0
  1118. casadi/include/include/eigen3/unsupported/Eigen/src/MatrixFunctions/StemFunction.h +117 -0
  1119. casadi/include/include/eigen3/unsupported/Eigen/src/MoreVectorization/MathFunctions.h +95 -0
  1120. casadi/include/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/HybridNonLinearSolver.h +601 -0
  1121. casadi/include/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/LevenbergMarquardt.h +657 -0
  1122. casadi/include/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/chkder.h +66 -0
  1123. casadi/include/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/covar.h +70 -0
  1124. casadi/include/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/dogleg.h +107 -0
  1125. casadi/include/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/fdjac1.h +79 -0
  1126. casadi/include/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/lmpar.h +298 -0
  1127. casadi/include/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/qrsolv.h +91 -0
  1128. casadi/include/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/r1mpyq.h +30 -0
  1129. casadi/include/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/r1updt.h +99 -0
  1130. casadi/include/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/rwupdt.h +49 -0
  1131. casadi/include/include/eigen3/unsupported/Eigen/src/NumericalDiff/NumericalDiff.h +130 -0
  1132. casadi/include/include/eigen3/unsupported/Eigen/src/Polynomials/Companion.h +280 -0
  1133. casadi/include/include/eigen3/unsupported/Eigen/src/Polynomials/PolynomialSolver.h +428 -0
  1134. casadi/include/include/eigen3/unsupported/Eigen/src/Polynomials/PolynomialUtils.h +143 -0
  1135. casadi/include/include/eigen3/unsupported/Eigen/src/Skyline/SkylineInplaceLU.h +352 -0
  1136. casadi/include/include/eigen3/unsupported/Eigen/src/Skyline/SkylineMatrix.h +862 -0
  1137. casadi/include/include/eigen3/unsupported/Eigen/src/Skyline/SkylineMatrixBase.h +212 -0
  1138. casadi/include/include/eigen3/unsupported/Eigen/src/Skyline/SkylineProduct.h +295 -0
  1139. casadi/include/include/eigen3/unsupported/Eigen/src/Skyline/SkylineStorage.h +259 -0
  1140. casadi/include/include/eigen3/unsupported/Eigen/src/Skyline/SkylineUtil.h +89 -0
  1141. casadi/include/include/eigen3/unsupported/Eigen/src/SparseExtra/BlockOfDynamicSparseMatrix.h +122 -0
  1142. casadi/include/include/eigen3/unsupported/Eigen/src/SparseExtra/BlockSparseMatrix.h +1079 -0
  1143. casadi/include/include/eigen3/unsupported/Eigen/src/SparseExtra/DynamicSparseMatrix.h +404 -0
  1144. casadi/include/include/eigen3/unsupported/Eigen/src/SparseExtra/MarketIO.h +282 -0
  1145. casadi/include/include/eigen3/unsupported/Eigen/src/SparseExtra/MatrixMarketIterator.h +247 -0
  1146. casadi/include/include/eigen3/unsupported/Eigen/src/SparseExtra/RandomSetter.h +349 -0
  1147. casadi/include/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsArrayAPI.h +286 -0
  1148. casadi/include/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsBFloat16.h +68 -0
  1149. casadi/include/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h +357 -0
  1150. casadi/include/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsHalf.h +66 -0
  1151. casadi/include/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h +1959 -0
  1152. casadi/include/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsPacketMath.h +118 -0
  1153. casadi/include/include/eigen3/unsupported/Eigen/src/SpecialFunctions/HipVectorCompatibility.h +67 -0
  1154. casadi/include/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsArrayAPI.h +167 -0
  1155. casadi/include/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsBFloat16.h +58 -0
  1156. casadi/include/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h +330 -0
  1157. casadi/include/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsHalf.h +58 -0
  1158. casadi/include/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h +2045 -0
  1159. casadi/include/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsPacketMath.h +79 -0
  1160. casadi/include/include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/AVX/BesselFunctions.h +46 -0
  1161. casadi/include/include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/AVX/SpecialFunctions.h +16 -0
  1162. casadi/include/include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/AVX512/BesselFunctions.h +46 -0
  1163. casadi/include/include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/AVX512/SpecialFunctions.h +16 -0
  1164. casadi/include/include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/GPU/SpecialFunctions.h +369 -0
  1165. casadi/include/include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/NEON/BesselFunctions.h +54 -0
  1166. casadi/include/include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/NEON/SpecialFunctions.h +34 -0
  1167. casadi/include/include/eigen3/unsupported/Eigen/src/Splines/Spline.h +507 -0
  1168. casadi/include/include/eigen3/unsupported/Eigen/src/Splines/SplineFitting.h +431 -0
  1169. casadi/include/include/eigen3/unsupported/Eigen/src/Splines/SplineFwd.h +93 -0
  1170. casadi/include/include/highs/HConfig.h +20 -0
  1171. casadi/include/include/highs/Highs.h +1459 -0
  1172. casadi/include/include/highs/filereaderlp/builder.hpp +25 -0
  1173. casadi/include/include/highs/filereaderlp/model.hpp +68 -0
  1174. casadi/include/include/highs/filereaderlp/reader.hpp +10 -0
  1175. casadi/include/include/highs/fortran/highs_fortran_api.mod +0 -0
  1176. casadi/include/include/highs/interfaces/highs_c_api.h +2107 -0
  1177. casadi/include/include/highs/io/Filereader.h +47 -0
  1178. casadi/include/include/highs/io/FilereaderEms.h +33 -0
  1179. casadi/include/include/highs/io/FilereaderLp.h +54 -0
  1180. casadi/include/include/highs/io/FilereaderMps.h +30 -0
  1181. casadi/include/include/highs/io/HMPSIO.h +81 -0
  1182. casadi/include/include/highs/io/HMpsFF.h +233 -0
  1183. casadi/include/include/highs/io/HighsIO.h +99 -0
  1184. casadi/include/include/highs/io/LoadOptions.h +27 -0
  1185. casadi/include/include/highs/ipm/IpxWrapper.h +73 -0
  1186. casadi/include/include/highs/lp_data/HConst.h +295 -0
  1187. casadi/include/include/highs/lp_data/HStruct.h +124 -0
  1188. casadi/include/include/highs/lp_data/HighsAnalysis.h +26 -0
  1189. casadi/include/include/highs/lp_data/HighsCallback.h +33 -0
  1190. casadi/include/include/highs/lp_data/HighsCallbackStruct.h +36 -0
  1191. casadi/include/include/highs/lp_data/HighsDebug.h +37 -0
  1192. casadi/include/include/highs/lp_data/HighsInfo.h +304 -0
  1193. casadi/include/include/highs/lp_data/HighsInfoDebug.h +30 -0
  1194. casadi/include/include/highs/lp_data/HighsLp.h +85 -0
  1195. casadi/include/include/highs/lp_data/HighsLpSolverObject.h +48 -0
  1196. casadi/include/include/highs/lp_data/HighsLpUtils.h +266 -0
  1197. casadi/include/include/highs/lp_data/HighsModelUtils.h +109 -0
  1198. casadi/include/include/highs/lp_data/HighsOptions.h +1130 -0
  1199. casadi/include/include/highs/lp_data/HighsRanging.h +46 -0
  1200. casadi/include/include/highs/lp_data/HighsRuntimeOptions.h +276 -0
  1201. casadi/include/include/highs/lp_data/HighsSolution.h +137 -0
  1202. casadi/include/include/highs/lp_data/HighsSolutionDebug.h +90 -0
  1203. casadi/include/include/highs/lp_data/HighsSolve.h +24 -0
  1204. casadi/include/include/highs/lp_data/HighsStatus.h +32 -0
  1205. casadi/include/include/highs/mip/HighsCliqueTable.h +318 -0
  1206. casadi/include/include/highs/mip/HighsConflictPool.h +112 -0
  1207. casadi/include/include/highs/mip/HighsCutGeneration.h +96 -0
  1208. casadi/include/include/highs/mip/HighsCutPool.h +171 -0
  1209. casadi/include/include/highs/mip/HighsDebugSol.h +142 -0
  1210. casadi/include/include/highs/mip/HighsDomain.h +633 -0
  1211. casadi/include/include/highs/mip/HighsDomainChange.h +51 -0
  1212. casadi/include/include/highs/mip/HighsDynamicRowMatrix.h +105 -0
  1213. casadi/include/include/highs/mip/HighsGFkSolve.h +441 -0
  1214. casadi/include/include/highs/mip/HighsImplications.h +146 -0
  1215. casadi/include/include/highs/mip/HighsLpAggregator.h +53 -0
  1216. casadi/include/include/highs/mip/HighsLpRelaxation.h +355 -0
  1217. casadi/include/include/highs/mip/HighsMipSolver.h +103 -0
  1218. casadi/include/include/highs/mip/HighsMipSolverData.h +193 -0
  1219. casadi/include/include/highs/mip/HighsModkSeparator.h +63 -0
  1220. casadi/include/include/highs/mip/HighsNodeQueue.h +312 -0
  1221. casadi/include/include/highs/mip/HighsObjectiveFunction.h +74 -0
  1222. casadi/include/include/highs/mip/HighsPathSeparator.h +42 -0
  1223. casadi/include/include/highs/mip/HighsPrimalHeuristics.h +68 -0
  1224. casadi/include/include/highs/mip/HighsPseudocost.h +351 -0
  1225. casadi/include/include/highs/mip/HighsRedcostFixing.h +45 -0
  1226. casadi/include/include/highs/mip/HighsSearch.h +243 -0
  1227. casadi/include/include/highs/mip/HighsSeparation.h +44 -0
  1228. casadi/include/include/highs/mip/HighsSeparator.h +56 -0
  1229. casadi/include/include/highs/mip/HighsTableauSeparator.h +37 -0
  1230. casadi/include/include/highs/mip/HighsTransformedLp.h +66 -0
  1231. casadi/include/include/highs/model/HighsHessian.h +49 -0
  1232. casadi/include/include/highs/model/HighsHessianUtils.h +47 -0
  1233. casadi/include/include/highs/model/HighsModel.h +43 -0
  1234. casadi/include/include/highs/parallel/HighsBinarySemaphore.h +113 -0
  1235. casadi/include/include/highs/parallel/HighsCacheAlign.h +87 -0
  1236. casadi/include/include/highs/parallel/HighsCombinable.h +121 -0
  1237. casadi/include/include/highs/parallel/HighsMutex.h +128 -0
  1238. casadi/include/include/highs/parallel/HighsParallel.h +128 -0
  1239. casadi/include/include/highs/parallel/HighsRaceTimer.h +43 -0
  1240. casadi/include/include/highs/parallel/HighsSchedulerConstants.h +24 -0
  1241. casadi/include/include/highs/parallel/HighsSpinMutex.h +53 -0
  1242. casadi/include/include/highs/parallel/HighsSplitDeque.h +583 -0
  1243. casadi/include/include/highs/parallel/HighsTask.h +176 -0
  1244. casadi/include/include/highs/parallel/HighsTaskExecutor.h +209 -0
  1245. casadi/include/include/highs/presolve/HPresolve.h +352 -0
  1246. casadi/include/include/highs/presolve/HPresolveAnalysis.h +54 -0
  1247. casadi/include/include/highs/presolve/HighsPostsolveStack.h +883 -0
  1248. casadi/include/include/highs/presolve/HighsSymmetry.h +283 -0
  1249. casadi/include/include/highs/presolve/ICrash.h +121 -0
  1250. casadi/include/include/highs/presolve/ICrashUtil.h +65 -0
  1251. casadi/include/include/highs/presolve/ICrashX.h +26 -0
  1252. casadi/include/include/highs/presolve/PresolveComponent.h +93 -0
  1253. casadi/include/include/highs/qpsolver/a_asm.hpp +56 -0
  1254. casadi/include/include/highs/qpsolver/a_quass.hpp +12 -0
  1255. casadi/include/include/highs/qpsolver/perturbation.hpp +8 -0
  1256. casadi/include/include/highs/qpsolver/quass.hpp +20 -0
  1257. casadi/include/include/highs/qpsolver/scaling.hpp +8 -0
  1258. casadi/include/include/highs/qpsolver/vector.hpp +235 -0
  1259. casadi/include/include/highs/simplex/HApp.h +422 -0
  1260. casadi/include/include/highs/simplex/HEkk.h +369 -0
  1261. casadi/include/include/highs/simplex/HEkkDual.h +515 -0
  1262. casadi/include/include/highs/simplex/HEkkDualRHS.h +138 -0
  1263. casadi/include/include/highs/simplex/HEkkDualRow.h +204 -0
  1264. casadi/include/include/highs/simplex/HEkkPrimal.h +190 -0
  1265. casadi/include/include/highs/simplex/HSimplex.h +47 -0
  1266. casadi/include/include/highs/simplex/HSimplexDebug.h +51 -0
  1267. casadi/include/include/highs/simplex/HSimplexNla.h +184 -0
  1268. casadi/include/include/highs/simplex/HSimplexReport.h +24 -0
  1269. casadi/include/include/highs/simplex/HighsSimplexAnalysis.h +375 -0
  1270. casadi/include/include/highs/simplex/SimplexConst.h +274 -0
  1271. casadi/include/include/highs/simplex/SimplexStruct.h +264 -0
  1272. casadi/include/include/highs/simplex/SimplexTimer.h +427 -0
  1273. casadi/include/include/highs/test/DevKkt.h +146 -0
  1274. casadi/include/include/highs/test/KktCh2.h +82 -0
  1275. casadi/include/include/highs/util/FactorTimer.h +224 -0
  1276. casadi/include/include/highs/util/HFactor.h +558 -0
  1277. casadi/include/include/highs/util/HFactorConst.h +84 -0
  1278. casadi/include/include/highs/util/HFactorDebug.h +58 -0
  1279. casadi/include/include/highs/util/HSet.h +92 -0
  1280. casadi/include/include/highs/util/HVector.h +25 -0
  1281. casadi/include/include/highs/util/HVectorBase.h +105 -0
  1282. casadi/include/include/highs/util/HighsCDouble.h +310 -0
  1283. casadi/include/include/highs/util/HighsComponent.h +56 -0
  1284. casadi/include/include/highs/util/HighsDataStack.h +86 -0
  1285. casadi/include/include/highs/util/HighsDisjointSets.h +110 -0
  1286. casadi/include/include/highs/util/HighsHash.h +1270 -0
  1287. casadi/include/include/highs/util/HighsHashTree.h +1443 -0
  1288. casadi/include/include/highs/util/HighsInt.h +39 -0
  1289. casadi/include/include/highs/util/HighsIntegers.h +216 -0
  1290. casadi/include/include/highs/util/HighsLinearSumBounds.h +160 -0
  1291. casadi/include/include/highs/util/HighsMatrixPic.h +40 -0
  1292. casadi/include/include/highs/util/HighsMatrixSlice.h +561 -0
  1293. casadi/include/include/highs/util/HighsMatrixUtils.h +57 -0
  1294. casadi/include/include/highs/util/HighsRandom.h +233 -0
  1295. casadi/include/include/highs/util/HighsRbTree.h +455 -0
  1296. casadi/include/include/highs/util/HighsSort.h +134 -0
  1297. casadi/include/include/highs/util/HighsSparseMatrix.h +144 -0
  1298. casadi/include/include/highs/util/HighsSparseVectorSum.h +98 -0
  1299. casadi/include/include/highs/util/HighsSplay.h +138 -0
  1300. casadi/include/include/highs/util/HighsTimer.h +334 -0
  1301. casadi/include/include/highs/util/HighsUtils.h +203 -0
  1302. casadi/include/include/highs/util/stringutil.h +39 -0
  1303. casadi/include/include/highs_export.h +42 -0
  1304. casadi/include/include/openblas/cblas.h +411 -0
  1305. casadi/include/include/openblas/f77blas.h +796 -0
  1306. casadi/include/include/openblas/lapack.h +22997 -0
  1307. casadi/include/include/openblas/lapacke.h +12665 -0
  1308. casadi/include/include/openblas/lapacke_config.h +119 -0
  1309. casadi/include/include/openblas/lapacke_example_aux.h +9 -0
  1310. casadi/include/include/openblas/lapacke_mangling.h +17 -0
  1311. casadi/include/include/openblas/lapacke_utils.h +582 -0
  1312. casadi/include/include/openblas/openblas/lapacke_mangling.h +17 -0
  1313. casadi/include/include/openblas/openblas_config.h +140 -0
  1314. casadi/include/include/osqp/auxil.h +181 -0
  1315. casadi/include/include/osqp/constants.h +129 -0
  1316. casadi/include/include/osqp/cs.h +180 -0
  1317. casadi/include/include/osqp/ctrlc.h +56 -0
  1318. casadi/include/include/osqp/error.h +38 -0
  1319. casadi/include/include/osqp/glob_opts.h +167 -0
  1320. casadi/include/include/osqp/lin_alg.h +216 -0
  1321. casadi/include/include/osqp/lin_sys.h +54 -0
  1322. casadi/include/include/osqp/osqp.h +430 -0
  1323. casadi/include/include/osqp/osqp_configure.h +49 -0
  1324. casadi/include/include/osqp/polish.h +25 -0
  1325. casadi/include/include/osqp/proj.h +37 -0
  1326. casadi/include/include/osqp/scaling.h +44 -0
  1327. casadi/include/include/osqp/types.h +326 -0
  1328. casadi/include/include/osqp/util.h +222 -0
  1329. casadi/include/include/proxsuite/config.hpp +68 -0
  1330. casadi/include/include/proxsuite/deprecated.hpp +56 -0
  1331. casadi/include/include/proxsuite/fwd.hpp +52 -0
  1332. casadi/include/include/proxsuite/helpers/common.hpp +70 -0
  1333. casadi/include/include/proxsuite/helpers/instruction-set.hpp +275 -0
  1334. casadi/include/include/proxsuite/helpers/optional.hpp +46 -0
  1335. casadi/include/include/proxsuite/helpers/tl-optional.hpp +2472 -0
  1336. casadi/include/include/proxsuite/helpers/version.hpp +39 -0
  1337. casadi/include/include/proxsuite/linalg/dense/core.hpp +863 -0
  1338. casadi/include/include/proxsuite/linalg/dense/factorize.hpp +375 -0
  1339. casadi/include/include/proxsuite/linalg/dense/ldlt.hpp +817 -0
  1340. casadi/include/include/proxsuite/linalg/dense/modify.hpp +333 -0
  1341. casadi/include/include/proxsuite/linalg/dense/solve.hpp +38 -0
  1342. casadi/include/include/proxsuite/linalg/dense/update.hpp +330 -0
  1343. casadi/include/include/proxsuite/linalg/sparse/core.hpp +531 -0
  1344. casadi/include/include/proxsuite/linalg/sparse/factorize.hpp +1303 -0
  1345. casadi/include/include/proxsuite/linalg/sparse/rowmod.hpp +443 -0
  1346. casadi/include/include/proxsuite/linalg/sparse/update.hpp +348 -0
  1347. casadi/include/include/proxsuite/linalg/veg/internal/assert_impl.hpp +20 -0
  1348. casadi/include/include/proxsuite/linalg/veg/internal/collection_algo.hpp +93 -0
  1349. casadi/include/include/proxsuite/linalg/veg/internal/dbg.hpp +15 -0
  1350. casadi/include/include/proxsuite/linalg/veg/internal/delete_special_members.hpp +77 -0
  1351. casadi/include/include/proxsuite/linalg/veg/internal/dyn_index.hpp +292 -0
  1352. casadi/include/include/proxsuite/linalg/veg/internal/epilogue.hpp +31 -0
  1353. casadi/include/include/proxsuite/linalg/veg/internal/external/hedley.ext.hpp +2074 -0
  1354. casadi/include/include/proxsuite/linalg/veg/internal/external/unhedley.ext.hpp +148 -0
  1355. casadi/include/include/proxsuite/linalg/veg/internal/fix_index.hpp +339 -0
  1356. casadi/include/include/proxsuite/linalg/veg/internal/has_asan.hpp +17 -0
  1357. casadi/include/include/proxsuite/linalg/veg/internal/integer_seq.hpp +248 -0
  1358. casadi/include/include/proxsuite/linalg/veg/internal/macros.hpp +1312 -0
  1359. casadi/include/include/proxsuite/linalg/veg/internal/narrow.hpp +46 -0
  1360. casadi/include/include/proxsuite/linalg/veg/internal/preprocessor.hpp +434 -0
  1361. casadi/include/include/proxsuite/linalg/veg/internal/prologue.hpp +157 -0
  1362. casadi/include/include/proxsuite/linalg/veg/internal/std.hpp +13 -0
  1363. casadi/include/include/proxsuite/linalg/veg/internal/terminate.hpp +22 -0
  1364. casadi/include/include/proxsuite/linalg/veg/internal/typedefs.hpp +58 -0
  1365. casadi/include/include/proxsuite/linalg/veg/memory/address.hpp +97 -0
  1366. casadi/include/include/proxsuite/linalg/veg/memory/alloc.hpp +352 -0
  1367. casadi/include/include/proxsuite/linalg/veg/memory/dynamic_stack.hpp +504 -0
  1368. casadi/include/include/proxsuite/linalg/veg/memory/placement.hpp +202 -0
  1369. casadi/include/include/proxsuite/linalg/veg/memory/stack_alloc.hpp +239 -0
  1370. casadi/include/include/proxsuite/linalg/veg/ref.hpp +148 -0
  1371. casadi/include/include/proxsuite/linalg/veg/slice.hpp +240 -0
  1372. casadi/include/include/proxsuite/linalg/veg/tuple.hpp +876 -0
  1373. casadi/include/include/proxsuite/linalg/veg/type_traits/alloc.hpp +169 -0
  1374. casadi/include/include/proxsuite/linalg/veg/type_traits/assignable.hpp +53 -0
  1375. casadi/include/include/proxsuite/linalg/veg/type_traits/constructible.hpp +217 -0
  1376. casadi/include/include/proxsuite/linalg/veg/type_traits/core.hpp +298 -0
  1377. casadi/include/include/proxsuite/linalg/veg/type_traits/invocable.hpp +47 -0
  1378. casadi/include/include/proxsuite/linalg/veg/type_traits/primitives.hpp +43 -0
  1379. casadi/include/include/proxsuite/linalg/veg/type_traits/tags.hpp +47 -0
  1380. casadi/include/include/proxsuite/linalg/veg/util/assert.hpp +48 -0
  1381. casadi/include/include/proxsuite/linalg/veg/util/dbg.hpp +6 -0
  1382. casadi/include/include/proxsuite/linalg/veg/util/defer.hpp +57 -0
  1383. casadi/include/include/proxsuite/linalg/veg/util/dynstack_alloc.hpp +19 -0
  1384. casadi/include/include/proxsuite/linalg/veg/util/get.hpp +153 -0
  1385. casadi/include/include/proxsuite/linalg/veg/util/index.hpp +6 -0
  1386. casadi/include/include/proxsuite/linalg/veg/util/unreachable.hpp +41 -0
  1387. casadi/include/include/proxsuite/linalg/veg/vec.hpp +1034 -0
  1388. casadi/include/include/proxsuite/proxqp/dense/dense.hpp +10 -0
  1389. casadi/include/include/proxsuite/proxqp/dense/fwd.hpp +55 -0
  1390. casadi/include/include/proxsuite/proxqp/dense/helpers.hpp +520 -0
  1391. casadi/include/include/proxsuite/proxqp/dense/linesearch.hpp +517 -0
  1392. casadi/include/include/proxsuite/proxqp/dense/model.hpp +147 -0
  1393. casadi/include/include/proxsuite/proxqp/dense/preconditioner/identity.hpp +113 -0
  1394. casadi/include/include/proxsuite/proxqp/dense/preconditioner/ruiz.hpp +571 -0
  1395. casadi/include/include/proxsuite/proxqp/dense/solver.hpp +1330 -0
  1396. casadi/include/include/proxsuite/proxqp/dense/utils.hpp +415 -0
  1397. casadi/include/include/proxsuite/proxqp/dense/views.hpp +1466 -0
  1398. casadi/include/include/proxsuite/proxqp/dense/workspace.hpp +264 -0
  1399. casadi/include/include/proxsuite/proxqp/dense/wrapper.hpp +491 -0
  1400. casadi/include/include/proxsuite/proxqp/results.hpp +212 -0
  1401. casadi/include/include/proxsuite/proxqp/settings.hpp +302 -0
  1402. casadi/include/include/proxsuite/proxqp/sparse/fwd.hpp +58 -0
  1403. casadi/include/include/proxsuite/proxqp/sparse/helpers.hpp +309 -0
  1404. casadi/include/include/proxsuite/proxqp/sparse/model.hpp +228 -0
  1405. casadi/include/include/proxsuite/proxqp/sparse/preconditioner/identity.hpp +64 -0
  1406. casadi/include/include/proxsuite/proxqp/sparse/preconditioner/ruiz.hpp +569 -0
  1407. casadi/include/include/proxsuite/proxqp/sparse/solver.hpp +1441 -0
  1408. casadi/include/include/proxsuite/proxqp/sparse/sparse.hpp +10 -0
  1409. casadi/include/include/proxsuite/proxqp/sparse/utils.hpp +815 -0
  1410. casadi/include/include/proxsuite/proxqp/sparse/views.hpp +63 -0
  1411. casadi/include/include/proxsuite/proxqp/sparse/workspace.hpp +790 -0
  1412. casadi/include/include/proxsuite/proxqp/sparse/wrapper.hpp +772 -0
  1413. casadi/include/include/proxsuite/proxqp/status.hpp +46 -0
  1414. casadi/include/include/proxsuite/proxqp/timings.hpp +101 -0
  1415. casadi/include/include/proxsuite/proxqp/utils/prints.hpp +47 -0
  1416. casadi/include/include/proxsuite/proxqp/utils/random_qp_problems.hpp +669 -0
  1417. casadi/include/include/proxsuite/serialization/archive.hpp +231 -0
  1418. casadi/include/include/proxsuite/serialization/eigen.hpp +107 -0
  1419. casadi/include/include/proxsuite/serialization/model.hpp +34 -0
  1420. casadi/include/include/proxsuite/serialization/results.hpp +74 -0
  1421. casadi/include/include/proxsuite/serialization/settings.hpp +60 -0
  1422. casadi/include/include/proxsuite/serialization/wrapper.hpp +24 -0
  1423. casadi/include/include/proxsuite/warning.hpp +35 -0
  1424. casadi/include/include/qdldl/qdldl.h +169 -0
  1425. casadi/include/include/qdldl/qdldl_types.h +23 -0
  1426. casadi/include/include/s_blas.h +78 -0
  1427. casadi/include/include/s_blas_64.h +73 -0
  1428. casadi/include/include/simde/arm/neon/aba.h +208 -0
  1429. casadi/include/include/simde/arm/neon/abd.h +384 -0
  1430. casadi/include/include/simde/arm/neon/abdl.h +147 -0
  1431. casadi/include/include/simde/arm/neon/abs.h +408 -0
  1432. casadi/include/include/simde/arm/neon/add.h +681 -0
  1433. casadi/include/include/simde/arm/neon/addl.h +127 -0
  1434. casadi/include/include/simde/arm/neon/addl_high.h +127 -0
  1435. casadi/include/include/simde/arm/neon/addlv.h +317 -0
  1436. casadi/include/include/simde/arm/neon/addv.h +447 -0
  1437. casadi/include/include/simde/arm/neon/addw.h +222 -0
  1438. casadi/include/include/simde/arm/neon/addw_high.h +193 -0
  1439. casadi/include/include/simde/arm/neon/and.h +552 -0
  1440. casadi/include/include/simde/arm/neon/bic.h +472 -0
  1441. casadi/include/include/simde/arm/neon/bsl.h +448 -0
  1442. casadi/include/include/simde/arm/neon/cagt.h +168 -0
  1443. casadi/include/include/simde/arm/neon/ceq.h +711 -0
  1444. casadi/include/include/simde/arm/neon/ceqz.h +335 -0
  1445. casadi/include/include/simde/arm/neon/cge.h +677 -0
  1446. casadi/include/include/simde/arm/neon/cgez.h +378 -0
  1447. casadi/include/include/simde/arm/neon/cgt.h +686 -0
  1448. casadi/include/include/simde/arm/neon/cgtz.h +380 -0
  1449. casadi/include/include/simde/arm/neon/cle.h +677 -0
  1450. casadi/include/include/simde/arm/neon/clez.h +378 -0
  1451. casadi/include/include/simde/arm/neon/cls.h +148 -0
  1452. casadi/include/include/simde/arm/neon/clt.h +679 -0
  1453. casadi/include/include/simde/arm/neon/cltz.h +263 -0
  1454. casadi/include/include/simde/arm/neon/clz.h +423 -0
  1455. casadi/include/include/simde/arm/neon/cnt.h +145 -0
  1456. casadi/include/include/simde/arm/neon/combine.h +343 -0
  1457. casadi/include/include/simde/arm/neon/create.h +186 -0
  1458. casadi/include/include/simde/arm/neon/cvt.h +492 -0
  1459. casadi/include/include/simde/arm/neon/dot.h +171 -0
  1460. casadi/include/include/simde/arm/neon/dot_lane.h +196 -0
  1461. casadi/include/include/simde/arm/neon/dup_lane.h +702 -0
  1462. casadi/include/include/simde/arm/neon/dup_n.h +534 -0
  1463. casadi/include/include/simde/arm/neon/eor.h +552 -0
  1464. casadi/include/include/simde/arm/neon/ext.h +887 -0
  1465. casadi/include/include/simde/arm/neon/get_high.h +260 -0
  1466. casadi/include/include/simde/arm/neon/get_lane.h +499 -0
  1467. casadi/include/include/simde/arm/neon/get_low.h +276 -0
  1468. casadi/include/include/simde/arm/neon/hadd.h +287 -0
  1469. casadi/include/include/simde/arm/neon/hsub.h +287 -0
  1470. casadi/include/include/simde/arm/neon/ld1.h +399 -0
  1471. casadi/include/include/simde/arm/neon/ld3.h +609 -0
  1472. casadi/include/include/simde/arm/neon/ld4.h +448 -0
  1473. casadi/include/include/simde/arm/neon/max.h +614 -0
  1474. casadi/include/include/simde/arm/neon/maxnm.h +215 -0
  1475. casadi/include/include/simde/arm/neon/maxv.h +400 -0
  1476. casadi/include/include/simde/arm/neon/min.h +660 -0
  1477. casadi/include/include/simde/arm/neon/minnm.h +215 -0
  1478. casadi/include/include/simde/arm/neon/minv.h +424 -0
  1479. casadi/include/include/simde/arm/neon/mla.h +530 -0
  1480. casadi/include/include/simde/arm/neon/mla_n.h +333 -0
  1481. casadi/include/include/simde/arm/neon/mlal.h +156 -0
  1482. casadi/include/include/simde/arm/neon/mlal_high.h +156 -0
  1483. casadi/include/include/simde/arm/neon/mlal_n.h +128 -0
  1484. casadi/include/include/simde/arm/neon/mls.h +264 -0
  1485. casadi/include/include/simde/arm/neon/mlsl.h +124 -0
  1486. casadi/include/include/simde/arm/neon/mlsl_high.h +124 -0
  1487. casadi/include/include/simde/arm/neon/mlsl_n.h +96 -0
  1488. casadi/include/include/simde/arm/neon/movl.h +208 -0
  1489. casadi/include/include/simde/arm/neon/movl_high.h +126 -0
  1490. casadi/include/include/simde/arm/neon/movn.h +195 -0
  1491. casadi/include/include/simde/arm/neon/movn_high.h +125 -0
  1492. casadi/include/include/simde/arm/neon/mul.h +594 -0
  1493. casadi/include/include/simde/arm/neon/mul_lane.h +472 -0
  1494. casadi/include/include/simde/arm/neon/mul_n.h +383 -0
  1495. casadi/include/include/simde/arm/neon/mull.h +236 -0
  1496. casadi/include/include/simde/arm/neon/mull_high.h +125 -0
  1497. casadi/include/include/simde/arm/neon/mull_n.h +158 -0
  1498. casadi/include/include/simde/arm/neon/mvn.h +426 -0
  1499. casadi/include/include/simde/arm/neon/neg.h +393 -0
  1500. casadi/include/include/simde/arm/neon/orn.h +505 -0
  1501. casadi/include/include/simde/arm/neon/orr.h +552 -0
  1502. casadi/include/include/simde/arm/neon/padal.h +211 -0
  1503. casadi/include/include/simde/arm/neon/padd.h +293 -0
  1504. casadi/include/include/simde/arm/neon/paddl.h +239 -0
  1505. casadi/include/include/simde/arm/neon/pmax.h +253 -0
  1506. casadi/include/include/simde/arm/neon/pmin.h +260 -0
  1507. casadi/include/include/simde/arm/neon/qabs.h +281 -0
  1508. casadi/include/include/simde/arm/neon/qadd.h +553 -0
  1509. casadi/include/include/simde/arm/neon/qdmulh.h +125 -0
  1510. casadi/include/include/simde/arm/neon/qdmull.h +125 -0
  1511. casadi/include/include/simde/arm/neon/qmovn.h +273 -0
  1512. casadi/include/include/simde/arm/neon/qmovn_high.h +127 -0
  1513. casadi/include/include/simde/arm/neon/qmovun.h +159 -0
  1514. casadi/include/include/simde/arm/neon/qneg.h +301 -0
  1515. casadi/include/include/simde/arm/neon/qrdmulh.h +165 -0
  1516. casadi/include/include/simde/arm/neon/qrdmulh_n.h +136 -0
  1517. casadi/include/include/simde/arm/neon/qshl.h +732 -0
  1518. casadi/include/include/simde/arm/neon/qsub.h +549 -0
  1519. casadi/include/include/simde/arm/neon/qtbl.h +455 -0
  1520. casadi/include/include/simde/arm/neon/qtbx.h +470 -0
  1521. casadi/include/include/simde/arm/neon/rbit.h +165 -0
  1522. casadi/include/include/simde/arm/neon/reinterpret.h +3101 -0
  1523. casadi/include/include/simde/arm/neon/rev16.h +137 -0
  1524. casadi/include/include/simde/arm/neon/rev32.h +235 -0
  1525. casadi/include/include/simde/arm/neon/rev64.h +358 -0
  1526. casadi/include/include/simde/arm/neon/rhadd.h +406 -0
  1527. casadi/include/include/simde/arm/neon/rnd.h +143 -0
  1528. casadi/include/include/simde/arm/neon/rndi.h +135 -0
  1529. casadi/include/include/simde/arm/neon/rndm.h +143 -0
  1530. casadi/include/include/simde/arm/neon/rndn.h +135 -0
  1531. casadi/include/include/simde/arm/neon/rndp.h +143 -0
  1532. casadi/include/include/simde/arm/neon/rshl.h +903 -0
  1533. casadi/include/include/simde/arm/neon/rshr_n.h +471 -0
  1534. casadi/include/include/simde/arm/neon/rsra_n.h +209 -0
  1535. casadi/include/include/simde/arm/neon/set_lane.h +422 -0
  1536. casadi/include/include/simde/arm/neon/shl.h +805 -0
  1537. casadi/include/include/simde/arm/neon/shl_n.h +560 -0
  1538. casadi/include/include/simde/arm/neon/shr_n.h +612 -0
  1539. casadi/include/include/simde/arm/neon/sra_n.h +202 -0
  1540. casadi/include/include/simde/arm/neon/st1.h +353 -0
  1541. casadi/include/include/simde/arm/neon/st1_lane.h +363 -0
  1542. casadi/include/include/simde/arm/neon/st3.h +426 -0
  1543. casadi/include/include/simde/arm/neon/st4.h +445 -0
  1544. casadi/include/include/simde/arm/neon/sub.h +659 -0
  1545. casadi/include/include/simde/arm/neon/subl.h +127 -0
  1546. casadi/include/include/simde/arm/neon/subw.h +221 -0
  1547. casadi/include/include/simde/arm/neon/subw_high.h +222 -0
  1548. casadi/include/include/simde/arm/neon/tbl.h +224 -0
  1549. casadi/include/include/simde/arm/neon/tbx.h +247 -0
  1550. casadi/include/include/simde/arm/neon/trn.h +252 -0
  1551. casadi/include/include/simde/arm/neon/trn1.h +500 -0
  1552. casadi/include/include/simde/arm/neon/trn2.h +499 -0
  1553. casadi/include/include/simde/arm/neon/tst.h +540 -0
  1554. casadi/include/include/simde/arm/neon/types.h +683 -0
  1555. casadi/include/include/simde/arm/neon/uqadd.h +325 -0
  1556. casadi/include/include/simde/arm/neon/uzp.h +252 -0
  1557. casadi/include/include/simde/arm/neon/uzp1.h +643 -0
  1558. casadi/include/include/simde/arm/neon/uzp2.h +647 -0
  1559. casadi/include/include/simde/arm/neon/zip.h +252 -0
  1560. casadi/include/include/simde/arm/neon/zip1.h +625 -0
  1561. casadi/include/include/simde/arm/neon/zip2.h +625 -0
  1562. casadi/include/include/simde/arm/neon.h +166 -0
  1563. casadi/include/include/simde/check.h +276 -0
  1564. casadi/include/include/simde/debug-trap.h +85 -0
  1565. casadi/include/include/simde/hedley.h +1971 -0
  1566. casadi/include/include/simde/simde-align.h +449 -0
  1567. casadi/include/include/simde/simde-arch.h +532 -0
  1568. casadi/include/include/simde/simde-common.h +890 -0
  1569. casadi/include/include/simde/simde-complex.h +148 -0
  1570. casadi/include/include/simde/simde-constify.h +397 -0
  1571. casadi/include/include/simde/simde-detect-clang.h +109 -0
  1572. casadi/include/include/simde/simde-diagnostic.h +428 -0
  1573. casadi/include/include/simde/simde-features.h +522 -0
  1574. casadi/include/include/simde/simde-math.h +1805 -0
  1575. casadi/include/include/simde/x86/avx.h +6193 -0
  1576. casadi/include/include/simde/x86/avx2.h +5660 -0
  1577. casadi/include/include/simde/x86/avx512/2intersect.h +250 -0
  1578. casadi/include/include/simde/x86/avx512/abs.h +562 -0
  1579. casadi/include/include/simde/x86/avx512/add.h +641 -0
  1580. casadi/include/include/simde/x86/avx512/adds.h +390 -0
  1581. casadi/include/include/simde/x86/avx512/and.h +305 -0
  1582. casadi/include/include/simde/x86/avx512/andnot.h +193 -0
  1583. casadi/include/include/simde/x86/avx512/avg.h +258 -0
  1584. casadi/include/include/simde/x86/avx512/blend.h +293 -0
  1585. casadi/include/include/simde/x86/avx512/broadcast.h +897 -0
  1586. casadi/include/include/simde/x86/avx512/cast.h +324 -0
  1587. casadi/include/include/simde/x86/avx512/cmp.h +587 -0
  1588. casadi/include/include/simde/x86/avx512/cmpeq.h +179 -0
  1589. casadi/include/include/simde/x86/avx512/cmpge.h +104 -0
  1590. casadi/include/include/simde/x86/avx512/cmpgt.h +189 -0
  1591. casadi/include/include/simde/x86/avx512/cmple.h +103 -0
  1592. casadi/include/include/simde/x86/avx512/cmplt.h +123 -0
  1593. casadi/include/include/simde/x86/avx512/copysign.h +86 -0
  1594. casadi/include/include/simde/x86/avx512/cvt.h +122 -0
  1595. casadi/include/include/simde/x86/avx512/cvts.h +723 -0
  1596. casadi/include/include/simde/x86/avx512/div.h +162 -0
  1597. casadi/include/include/simde/x86/avx512/extract.h +198 -0
  1598. casadi/include/include/simde/x86/avx512/fmadd.h +136 -0
  1599. casadi/include/include/simde/x86/avx512/fmsub.h +108 -0
  1600. casadi/include/include/simde/x86/avx512/fnmadd.h +108 -0
  1601. casadi/include/include/simde/x86/avx512/fnmsub.h +108 -0
  1602. casadi/include/include/simde/x86/avx512/insert.h +193 -0
  1603. casadi/include/include/simde/x86/avx512/kshift.h +152 -0
  1604. casadi/include/include/simde/x86/avx512/load.h +67 -0
  1605. casadi/include/include/simde/x86/avx512/loadu.h +113 -0
  1606. casadi/include/include/simde/x86/avx512/lzcnt.h +209 -0
  1607. casadi/include/include/simde/x86/avx512/madd.h +155 -0
  1608. casadi/include/include/simde/x86/avx512/maddubs.h +159 -0
  1609. casadi/include/include/simde/x86/avx512/max.h +587 -0
  1610. casadi/include/include/simde/x86/avx512/min.h +587 -0
  1611. casadi/include/include/simde/x86/avx512/mov.h +859 -0
  1612. casadi/include/include/simde/x86/avx512/mov_mask.h +372 -0
  1613. casadi/include/include/simde/x86/avx512/movm.h +460 -0
  1614. casadi/include/include/simde/x86/avx512/mul.h +279 -0
  1615. casadi/include/include/simde/x86/avx512/mulhi.h +65 -0
  1616. casadi/include/include/simde/x86/avx512/mulhrs.h +65 -0
  1617. casadi/include/include/simde/x86/avx512/mullo.h +117 -0
  1618. casadi/include/include/simde/x86/avx512/negate.h +88 -0
  1619. casadi/include/include/simde/x86/avx512/or.h +252 -0
  1620. casadi/include/include/simde/x86/avx512/packs.h +122 -0
  1621. casadi/include/include/simde/x86/avx512/packus.h +122 -0
  1622. casadi/include/include/simde/x86/avx512/permutex2var.h +1645 -0
  1623. casadi/include/include/simde/x86/avx512/permutexvar.h +1180 -0
  1624. casadi/include/include/simde/x86/avx512/sad.h +77 -0
  1625. casadi/include/include/simde/x86/avx512/set.h +477 -0
  1626. casadi/include/include/simde/x86/avx512/set1.h +331 -0
  1627. casadi/include/include/simde/x86/avx512/set4.h +140 -0
  1628. casadi/include/include/simde/x86/avx512/setone.h +66 -0
  1629. casadi/include/include/simde/x86/avx512/setr.h +144 -0
  1630. casadi/include/include/simde/x86/avx512/setr4.h +140 -0
  1631. casadi/include/include/simde/x86/avx512/setzero.h +90 -0
  1632. casadi/include/include/simde/x86/avx512/shuffle.h +176 -0
  1633. casadi/include/include/simde/x86/avx512/sll.h +247 -0
  1634. casadi/include/include/simde/x86/avx512/slli.h +179 -0
  1635. casadi/include/include/simde/x86/avx512/sllv.h +68 -0
  1636. casadi/include/include/simde/x86/avx512/sqrt.h +127 -0
  1637. casadi/include/include/simde/x86/avx512/sra.h +81 -0
  1638. casadi/include/include/simde/x86/avx512/srai.h +70 -0
  1639. casadi/include/include/simde/x86/avx512/srav.h +67 -0
  1640. casadi/include/include/simde/x86/avx512/srl.h +216 -0
  1641. casadi/include/include/simde/x86/avx512/srli.h +180 -0
  1642. casadi/include/include/simde/x86/avx512/srlv.h +282 -0
  1643. casadi/include/include/simde/x86/avx512/store.h +93 -0
  1644. casadi/include/include/simde/x86/avx512/storeu.h +93 -0
  1645. casadi/include/include/simde/x86/avx512/sub.h +351 -0
  1646. casadi/include/include/simde/x86/avx512/subs.h +222 -0
  1647. casadi/include/include/simde/x86/avx512/test.h +193 -0
  1648. casadi/include/include/simde/x86/avx512/types.h +380 -0
  1649. casadi/include/include/simde/x86/avx512/unpackhi.h +380 -0
  1650. casadi/include/include/simde/x86/avx512/unpacklo.h +104 -0
  1651. casadi/include/include/simde/x86/avx512/xor.h +263 -0
  1652. casadi/include/include/simde/x86/avx512/xorsign.h +72 -0
  1653. casadi/include/include/simde/x86/avx512.h +108 -0
  1654. casadi/include/include/simde/x86/clmul.h +414 -0
  1655. casadi/include/include/simde/x86/fma.h +724 -0
  1656. casadi/include/include/simde/x86/gfni.h +802 -0
  1657. casadi/include/include/simde/x86/mmx.h +2399 -0
  1658. casadi/include/include/simde/x86/sse.h +4471 -0
  1659. casadi/include/include/simde/x86/sse2.h +7389 -0
  1660. casadi/include/include/simde/x86/sse3.h +499 -0
  1661. casadi/include/include/simde/x86/sse4.1.h +2216 -0
  1662. casadi/include/include/simde/x86/sse4.2.h +347 -0
  1663. casadi/include/include/simde/x86/ssse3.h +1032 -0
  1664. casadi/include/include/simde/x86/svml.h +12139 -0
  1665. casadi/include/include/simde/x86/xop.h +3644 -0
  1666. casadi/include/include/sleqp/defs.h +58 -0
  1667. casadi/include/include/sleqp/export.h +42 -0
  1668. casadi/include/include/sleqp/pub_cmp.h +18 -0
  1669. casadi/include/include/sleqp/pub_dyn.h +140 -0
  1670. casadi/include/include/sleqp/pub_error.h +50 -0
  1671. casadi/include/include/sleqp/pub_func.h +257 -0
  1672. casadi/include/include/sleqp/pub_hess_struct.h +105 -0
  1673. casadi/include/include/sleqp/pub_iterate.h +88 -0
  1674. casadi/include/include/sleqp/pub_log.h +88 -0
  1675. casadi/include/include/sleqp/pub_lsq.h +158 -0
  1676. casadi/include/include/sleqp/pub_mem.h +52 -0
  1677. casadi/include/include/sleqp/pub_problem.h +213 -0
  1678. casadi/include/include/sleqp/pub_scale.h +150 -0
  1679. casadi/include/include/sleqp/pub_settings.h +162 -0
  1680. casadi/include/include/sleqp/pub_solver.h +155 -0
  1681. casadi/include/include/sleqp/pub_types.h +230 -0
  1682. casadi/include/include/sleqp/pub_working_set.h +135 -0
  1683. casadi/include/include/sleqp/sparse/pub_mat.h +153 -0
  1684. casadi/include/include/sleqp/sparse/pub_vec.h +336 -0
  1685. casadi/include/include/sleqp.h +38 -0
  1686. casadi/include/include/spral.h +13 -0
  1687. casadi/include/include/spral_lsmr.h +57 -0
  1688. casadi/include/include/spral_matrix_util.h +40 -0
  1689. casadi/include/include/spral_random.h +26 -0
  1690. casadi/include/include/spral_random_matrix.h +27 -0
  1691. casadi/include/include/spral_rutherford_boeing.h +51 -0
  1692. casadi/include/include/spral_scaling.h +139 -0
  1693. casadi/include/include/spral_ssids.h +121 -0
  1694. casadi/include/include/spral_ssmfe.h +268 -0
  1695. casadi/include/include/superscs/cones.h +185 -0
  1696. casadi/include/include/superscs/constants.h +144 -0
  1697. casadi/include/include/superscs/cs.h +109 -0
  1698. casadi/include/include/superscs/ctrlc.h +77 -0
  1699. casadi/include/include/superscs/directions.h +125 -0
  1700. casadi/include/include/superscs/glbopts.h +240 -0
  1701. casadi/include/include/superscs/linAlg.h +437 -0
  1702. casadi/include/include/superscs/linSys.h +205 -0
  1703. casadi/include/include/superscs/linsys/amatrix.h +77 -0
  1704. casadi/include/include/superscs/linsys/common.h +49 -0
  1705. casadi/include/include/superscs/normalize.h +138 -0
  1706. casadi/include/include/superscs/scs.h +656 -0
  1707. casadi/include/include/superscs/scs_blas.h +79 -0
  1708. casadi/include/include/superscs/scs_parser.h +187 -0
  1709. casadi/include/include/superscs/unit_test_util.h +210 -0
  1710. casadi/include/include/superscs/util.h +354 -0
  1711. casadi/include/include/trlib/trlib_eigen_inverse.h +118 -0
  1712. casadi/include/include/trlib/trlib_krylov.h +493 -0
  1713. casadi/include/include/trlib/trlib_leftmost.h +181 -0
  1714. casadi/include/include/trlib/trlib_private.h +109 -0
  1715. casadi/include/include/trlib/trlib_quadratic_zero.h +57 -0
  1716. casadi/include/include/trlib/trlib_tri_factor.h +409 -0
  1717. casadi/include/include/trlib/trlib_types.h +36 -0
  1718. casadi/include/include/trlib.h +44 -0
  1719. casadi/include/licenses/alpaqa-external/LICENSE +165 -0
  1720. casadi/include/licenses/highs-external/LICENSE +1 -1
  1721. casadi/include/licenses/sleqp-external/LICENSE +165 -0
  1722. casadi/include/licenses/trlib-external/LICENSE +21 -0
  1723. casadi/include/trlib/trlib_eigen_inverse.h +118 -0
  1724. casadi/include/trlib/trlib_krylov.h +493 -0
  1725. casadi/include/trlib/trlib_leftmost.h +181 -0
  1726. casadi/include/trlib/trlib_private.h +109 -0
  1727. casadi/include/trlib/trlib_quadratic_zero.h +57 -0
  1728. casadi/include/trlib/trlib_tri_factor.h +409 -0
  1729. casadi/include/trlib/trlib_types.h +36 -0
  1730. casadi/lapack.lib +0 -0
  1731. casadi/lib/libtinyxml2.dll.a +0 -0
  1732. casadi/libCbc-3.dll +0 -0
  1733. casadi/libCbc.dll.a +0 -0
  1734. casadi/libCbc.la +1 -1
  1735. casadi/libCbcSolver-3.dll +0 -0
  1736. casadi/libCbcSolver.dll.a +0 -0
  1737. casadi/libCbcSolver.la +1 -1
  1738. casadi/libCgl-1.dll +0 -0
  1739. casadi/libCgl.dll.a +0 -0
  1740. casadi/libCgl.la +1 -1
  1741. casadi/libClp-1.dll +0 -0
  1742. casadi/libClp.dll.a +0 -0
  1743. casadi/libClp.la +1 -1
  1744. casadi/libClpSolver-1.dll +0 -0
  1745. casadi/libClpSolver.dll.a +0 -0
  1746. casadi/libClpSolver.la +1 -1
  1747. casadi/libCoinUtils-3.dll +0 -0
  1748. casadi/libCoinUtils.dll.a +0 -0
  1749. casadi/libCoinUtils.la +1 -1
  1750. casadi/libFortranHighs.dll +0 -0
  1751. casadi/libFortranHighs.dll.a +0 -0
  1752. casadi/libOsi-1.dll +0 -0
  1753. casadi/libOsi.dll.a +0 -0
  1754. casadi/libOsi.la +1 -1
  1755. casadi/libOsiCbc-3.dll +0 -0
  1756. casadi/libOsiCbc.dll.a +0 -0
  1757. casadi/libOsiCbc.la +1 -1
  1758. casadi/libOsiClp-1.dll +0 -0
  1759. casadi/libOsiClp.dll.a +0 -0
  1760. casadi/libOsiClp.la +1 -1
  1761. casadi/libOsiCommonTests-1.dll +0 -0
  1762. casadi/libOsiCommonTests.dll.a +0 -0
  1763. casadi/libOsiCommonTests.la +1 -1
  1764. casadi/libalpaqa.dll +0 -0
  1765. casadi/libalpaqa.dll.a +0 -0
  1766. casadi/libblasfeo.dll +0 -0
  1767. casadi/libblasfeo.dll.a +0 -0
  1768. casadi/libbonmin-4.dll +0 -0
  1769. casadi/libbonmin.dll.a +0 -0
  1770. casadi/libbonmin.la +1 -1
  1771. casadi/libcasadi-tp-openblas.dll +0 -0
  1772. casadi/libcasadi-tp-openblas.dll.a +0 -0
  1773. casadi/libcasadi.dll +0 -0
  1774. casadi/libcasadi.dll.a +0 -0
  1775. casadi/libcasadi_conic_cbc.dll +0 -0
  1776. casadi/libcasadi_conic_cbc.dll.a +0 -0
  1777. casadi/libcasadi_conic_clp.dll +0 -0
  1778. casadi/libcasadi_conic_clp.dll.a +0 -0
  1779. casadi/libcasadi_conic_cplex.dll +0 -0
  1780. casadi/libcasadi_conic_cplex.dll.a +0 -0
  1781. casadi/libcasadi_conic_gurobi.dll +0 -0
  1782. casadi/libcasadi_conic_gurobi.dll.a +0 -0
  1783. casadi/libcasadi_conic_highs.dll +0 -0
  1784. casadi/libcasadi_conic_highs.dll.a +0 -0
  1785. casadi/libcasadi_conic_hpipm.dll +0 -0
  1786. casadi/libcasadi_conic_hpipm.dll.a +0 -0
  1787. casadi/libcasadi_conic_ipqp.dll +0 -0
  1788. casadi/libcasadi_conic_ipqp.dll.a +0 -0
  1789. casadi/libcasadi_conic_nlpsol.dll +0 -0
  1790. casadi/libcasadi_conic_nlpsol.dll.a +0 -0
  1791. casadi/libcasadi_conic_osqp.dll +0 -0
  1792. casadi/libcasadi_conic_osqp.dll.a +0 -0
  1793. casadi/libcasadi_conic_proxqp.dll +0 -0
  1794. casadi/libcasadi_conic_proxqp.dll.a +0 -0
  1795. casadi/libcasadi_conic_qpoases.dll +0 -0
  1796. casadi/libcasadi_conic_qpoases.dll.a +0 -0
  1797. casadi/libcasadi_conic_qrqp.dll +0 -0
  1798. casadi/libcasadi_conic_qrqp.dll.a +0 -0
  1799. casadi/libcasadi_conic_superscs.dll +0 -0
  1800. casadi/libcasadi_conic_superscs.dll.a +0 -0
  1801. casadi/libcasadi_importer_shell.dll +0 -0
  1802. casadi/libcasadi_importer_shell.dll.a +0 -0
  1803. casadi/libcasadi_integrator_collocation.dll +0 -0
  1804. casadi/libcasadi_integrator_collocation.dll.a +0 -0
  1805. casadi/libcasadi_integrator_cvodes.dll +0 -0
  1806. casadi/libcasadi_integrator_cvodes.dll.a +0 -0
  1807. casadi/libcasadi_integrator_idas.dll +0 -0
  1808. casadi/libcasadi_integrator_idas.dll.a +0 -0
  1809. casadi/libcasadi_integrator_rk.dll +0 -0
  1810. casadi/libcasadi_integrator_rk.dll.a +0 -0
  1811. casadi/libcasadi_interpolant_bspline.dll +0 -0
  1812. casadi/libcasadi_interpolant_bspline.dll.a +0 -0
  1813. casadi/libcasadi_interpolant_linear.dll +0 -0
  1814. casadi/libcasadi_interpolant_linear.dll.a +0 -0
  1815. casadi/libcasadi_linsol_csparse.dll +0 -0
  1816. casadi/libcasadi_linsol_csparse.dll.a +0 -0
  1817. casadi/libcasadi_linsol_csparsecholesky.dll +0 -0
  1818. casadi/libcasadi_linsol_csparsecholesky.dll.a +0 -0
  1819. casadi/libcasadi_linsol_lapacklu.dll +0 -0
  1820. casadi/libcasadi_linsol_lapacklu.dll.a +0 -0
  1821. casadi/libcasadi_linsol_lapackqr.dll +0 -0
  1822. casadi/libcasadi_linsol_lapackqr.dll.a +0 -0
  1823. casadi/libcasadi_linsol_ldl.dll +0 -0
  1824. casadi/libcasadi_linsol_ldl.dll.a +0 -0
  1825. casadi/libcasadi_linsol_lsqr.dll +0 -0
  1826. casadi/libcasadi_linsol_lsqr.dll.a +0 -0
  1827. casadi/libcasadi_linsol_ma27.dll +0 -0
  1828. casadi/libcasadi_linsol_ma27.dll.a +0 -0
  1829. casadi/libcasadi_linsol_mumps.dll +0 -0
  1830. casadi/libcasadi_linsol_mumps.dll.a +0 -0
  1831. casadi/libcasadi_linsol_qr.dll +0 -0
  1832. casadi/libcasadi_linsol_qr.dll.a +0 -0
  1833. casadi/libcasadi_linsol_symbolicqr.dll +0 -0
  1834. casadi/libcasadi_linsol_symbolicqr.dll.a +0 -0
  1835. casadi/libcasadi_linsol_tridiag.dll +0 -0
  1836. casadi/libcasadi_linsol_tridiag.dll.a +0 -0
  1837. casadi/libcasadi_nlpsol_alpaqa.dll +0 -0
  1838. casadi/libcasadi_nlpsol_alpaqa.dll.a +0 -0
  1839. casadi/libcasadi_nlpsol_ampl.dll +0 -0
  1840. casadi/libcasadi_nlpsol_ampl.dll.a +0 -0
  1841. casadi/libcasadi_nlpsol_blocksqp.dll +0 -0
  1842. casadi/libcasadi_nlpsol_blocksqp.dll.a +0 -0
  1843. casadi/libcasadi_nlpsol_bonmin.dll +0 -0
  1844. casadi/libcasadi_nlpsol_bonmin.dll.a +0 -0
  1845. casadi/libcasadi_nlpsol_feasiblesqpmethod.dll +0 -0
  1846. casadi/libcasadi_nlpsol_feasiblesqpmethod.dll.a +0 -0
  1847. casadi/libcasadi_nlpsol_ipopt.dll +0 -0
  1848. casadi/libcasadi_nlpsol_ipopt.dll.a +0 -0
  1849. casadi/libcasadi_nlpsol_knitro.dll +0 -0
  1850. casadi/libcasadi_nlpsol_knitro.dll.a +0 -0
  1851. casadi/libcasadi_nlpsol_qrsqp.dll +0 -0
  1852. casadi/libcasadi_nlpsol_qrsqp.dll.a +0 -0
  1853. casadi/libcasadi_nlpsol_scpgen.dll +0 -0
  1854. casadi/libcasadi_nlpsol_scpgen.dll.a +0 -0
  1855. casadi/libcasadi_nlpsol_sleqp.dll +0 -0
  1856. casadi/libcasadi_nlpsol_sleqp.dll.a +0 -0
  1857. casadi/libcasadi_nlpsol_snopt.dll +0 -0
  1858. casadi/libcasadi_nlpsol_snopt.dll.a +0 -0
  1859. casadi/libcasadi_nlpsol_sqpmethod.dll +0 -0
  1860. casadi/libcasadi_nlpsol_sqpmethod.dll.a +0 -0
  1861. casadi/libcasadi_nlpsol_worhp.dll +0 -0
  1862. casadi/libcasadi_nlpsol_worhp.dll.a +0 -0
  1863. casadi/libcasadi_rootfinder_fast_newton.dll +0 -0
  1864. casadi/libcasadi_rootfinder_fast_newton.dll.a +0 -0
  1865. casadi/libcasadi_rootfinder_kinsol.dll +0 -0
  1866. casadi/libcasadi_rootfinder_kinsol.dll.a +0 -0
  1867. casadi/libcasadi_rootfinder_newton.dll +0 -0
  1868. casadi/libcasadi_rootfinder_newton.dll.a +0 -0
  1869. casadi/libcasadi_rootfinder_nlpsol.dll +0 -0
  1870. casadi/libcasadi_rootfinder_nlpsol.dll.a +0 -0
  1871. casadi/libcasadi_sundials_common.dll +0 -0
  1872. casadi/libcasadi_sundials_common.dll.a +0 -0
  1873. casadi/libcasadi_xmlfile_tinyxml.dll +0 -0
  1874. casadi/libcasadi_xmlfile_tinyxml.dll.a +0 -0
  1875. casadi/libcoinmetis-2.dll +0 -0
  1876. casadi/libcoinmetis.dll.a +0 -0
  1877. casadi/libcoinmumps-3.dll +0 -0
  1878. casadi/libcoinmumps.dll.a +0 -0
  1879. casadi/libcplex_adaptor.dll +0 -0
  1880. casadi/libgurobi_adaptor.dll +0 -0
  1881. casadi/libhighs.dll +0 -0
  1882. casadi/libhighs.dll.a +0 -0
  1883. casadi/libhpipm.dll +0 -0
  1884. casadi/libhpipm.dll.a +0 -0
  1885. casadi/libipopt-3.dll +0 -0
  1886. casadi/libipopt.dll.a +0 -0
  1887. casadi/libosqp.dll +0 -0
  1888. casadi/libosqp.dll.a +0 -0
  1889. casadi/libqdldl.dll +0 -0
  1890. casadi/libqdldl.dll.a +0 -0
  1891. casadi/libsipopt-3.dll +0 -0
  1892. casadi/libsipopt.dll.a +0 -0
  1893. casadi/libsleqp.dll +0 -0
  1894. casadi/libsleqp.dll.a +0 -0
  1895. casadi/libtinyxml2.dll +0 -0
  1896. casadi/libtrlib.dll +0 -0
  1897. casadi/libtrlib.dll.a +0 -0
  1898. casadi/osqp.lib +0 -0
  1899. casadi/pkgconfig/blas.pc +11 -0
  1900. casadi/pkgconfig/bonmin.pc +1 -1
  1901. casadi/pkgconfig/casadi.pc +1 -1
  1902. casadi/pkgconfig/cbc.pc +2 -2
  1903. casadi/pkgconfig/cgl.pc +2 -2
  1904. casadi/pkgconfig/clp.pc +1 -1
  1905. casadi/pkgconfig/coinutils.pc +1 -1
  1906. casadi/pkgconfig/highs.pc +3 -3
  1907. casadi/pkgconfig/lapack.pc +11 -0
  1908. casadi/pkgconfig/openblas.pc +1 -1
  1909. casadi/pkgconfig/osi-cbc.pc +1 -1
  1910. casadi/pkgconfig/osi-clp.pc +1 -1
  1911. casadi/pkgconfig/osi-unittests.pc +1 -1
  1912. casadi/pkgconfig/osi.pc +1 -1
  1913. casadi/pkgconfig/sleqp.pc +10 -0
  1914. casadi/sleqp.lib +0 -0
  1915. casadi/spral_ssids.exe +0 -0
  1916. casadi-3.6.4.dist-info/METADATA +37 -0
  1917. casadi-3.6.4.dist-info/RECORD +3211 -0
  1918. casadi/include/highs/interfaces/OsiHiGHSSolverInterface.hpp +0 -415
  1919. casadi/libOsiHighs.dll +0 -0
  1920. casadi/libOsiHighs.dll.a +0 -0
  1921. casadi/pkgconfig/osi-highs.pc +0 -11
  1922. casadi-3.6.3.dist-info/METADATA +0 -37
  1923. casadi-3.6.3.dist-info/RECORD +0 -1610
  1924. /casadi/include/{blasfeo.h → include/blasfeo.h} +0 -0
  1925. /casadi/include/{blasfeo_block_size.h → include/blasfeo_block_size.h} +0 -0
  1926. /casadi/include/{blasfeo_common.h → include/blasfeo_common.h} +0 -0
  1927. /casadi/include/{blasfeo_d_aux.h → include/blasfeo_d_aux.h} +0 -0
  1928. /casadi/include/{blasfeo_d_aux_ext_dep.h → include/blasfeo_d_aux_ext_dep.h} +0 -0
  1929. /casadi/include/{blasfeo_d_aux_ext_dep_ref.h → include/blasfeo_d_aux_ext_dep_ref.h} +0 -0
  1930. /casadi/include/{blasfeo_d_aux_old.h → include/blasfeo_d_aux_old.h} +0 -0
  1931. /casadi/include/{blasfeo_d_aux_ref.h → include/blasfeo_d_aux_ref.h} +0 -0
  1932. /casadi/include/{blasfeo_d_aux_test.h → include/blasfeo_d_aux_test.h} +0 -0
  1933. /casadi/include/{blasfeo_d_blas.h → include/blasfeo_d_blas.h} +0 -0
  1934. /casadi/include/{blasfeo_d_blas_api.h → include/blasfeo_d_blas_api.h} +0 -0
  1935. /casadi/include/{blasfeo_d_blasfeo_api.h → include/blasfeo_d_blasfeo_api.h} +0 -0
  1936. /casadi/include/{blasfeo_d_blasfeo_api_ref.h → include/blasfeo_d_blasfeo_api_ref.h} +0 -0
  1937. /casadi/include/{blasfeo_d_blasfeo_hp_api.h → include/blasfeo_d_blasfeo_hp_api.h} +0 -0
  1938. /casadi/include/{blasfeo_d_blasfeo_ref_api.h → include/blasfeo_d_blasfeo_ref_api.h} +0 -0
  1939. /casadi/include/{blasfeo_d_kernel.h → include/blasfeo_d_kernel.h} +0 -0
  1940. /casadi/include/{blasfeo_i_aux_ext_dep.h → include/blasfeo_i_aux_ext_dep.h} +0 -0
  1941. /casadi/include/{blasfeo_m_aux.h → include/blasfeo_m_aux.h} +0 -0
  1942. /casadi/include/{blasfeo_memory.h → include/blasfeo_memory.h} +0 -0
  1943. /casadi/include/{blasfeo_naming.h → include/blasfeo_naming.h} +0 -0
  1944. /casadi/include/{blasfeo_processor_features.h → include/blasfeo_processor_features.h} +0 -0
  1945. /casadi/include/{blasfeo_s_aux.h → include/blasfeo_s_aux.h} +0 -0
  1946. /casadi/include/{blasfeo_s_aux_ext_dep.h → include/blasfeo_s_aux_ext_dep.h} +0 -0
  1947. /casadi/include/{blasfeo_s_aux_ext_dep_ref.h → include/blasfeo_s_aux_ext_dep_ref.h} +0 -0
  1948. /casadi/include/{blasfeo_s_aux_old.h → include/blasfeo_s_aux_old.h} +0 -0
  1949. /casadi/include/{blasfeo_s_aux_ref.h → include/blasfeo_s_aux_ref.h} +0 -0
  1950. /casadi/include/{blasfeo_s_aux_test.h → include/blasfeo_s_aux_test.h} +0 -0
  1951. /casadi/include/{blasfeo_s_blas.h → include/blasfeo_s_blas.h} +0 -0
  1952. /casadi/include/{blasfeo_s_blas_api.h → include/blasfeo_s_blas_api.h} +0 -0
  1953. /casadi/include/{blasfeo_s_blasfeo_api.h → include/blasfeo_s_blasfeo_api.h} +0 -0
  1954. /casadi/include/{blasfeo_s_blasfeo_api_ref.h → include/blasfeo_s_blasfeo_api_ref.h} +0 -0
  1955. /casadi/include/{blasfeo_s_blasfeo_ref_api.h → include/blasfeo_s_blasfeo_ref_api.h} +0 -0
  1956. /casadi/include/{blasfeo_s_kernel.h → include/blasfeo_s_kernel.h} +0 -0
  1957. /casadi/include/{blasfeo_stdlib.h → include/blasfeo_stdlib.h} +0 -0
  1958. /casadi/include/{blasfeo_target.h → include/blasfeo_target.h} +0 -0
  1959. /casadi/include/{blasfeo_timing.h → include/blasfeo_timing.h} +0 -0
  1960. /casadi/include/{blasfeo_v_aux_ext_dep.h → include/blasfeo_v_aux_ext_dep.h} +0 -0
  1961. /casadi/include/{hpipm_aux_mem.h → include/hpipm_aux_mem.h} +0 -0
  1962. /casadi/include/{hpipm_aux_string.h → include/hpipm_aux_string.h} +0 -0
  1963. /casadi/include/{hpipm_common.h → include/hpipm_common.h} +0 -0
  1964. /casadi/include/{hpipm_d_cast_qcqp.h → include/hpipm_d_cast_qcqp.h} +0 -0
  1965. /casadi/include/{hpipm_d_cond.h → include/hpipm_d_cond.h} +0 -0
  1966. /casadi/include/{hpipm_d_cond_aux.h → include/hpipm_d_cond_aux.h} +0 -0
  1967. /casadi/include/{hpipm_d_cond_qcqp.h → include/hpipm_d_cond_qcqp.h} +0 -0
  1968. /casadi/include/{hpipm_d_core_qp_ipm.h → include/hpipm_d_core_qp_ipm.h} +0 -0
  1969. /casadi/include/{hpipm_d_core_qp_ipm_aux.h → include/hpipm_d_core_qp_ipm_aux.h} +0 -0
  1970. /casadi/include/{hpipm_d_dense_qcqp.h → include/hpipm_d_dense_qcqp.h} +0 -0
  1971. /casadi/include/{hpipm_d_dense_qcqp_dim.h → include/hpipm_d_dense_qcqp_dim.h} +0 -0
  1972. /casadi/include/{hpipm_d_dense_qcqp_ipm.h → include/hpipm_d_dense_qcqp_ipm.h} +0 -0
  1973. /casadi/include/{hpipm_d_dense_qcqp_res.h → include/hpipm_d_dense_qcqp_res.h} +0 -0
  1974. /casadi/include/{hpipm_d_dense_qcqp_sol.h → include/hpipm_d_dense_qcqp_sol.h} +0 -0
  1975. /casadi/include/{hpipm_d_dense_qcqp_utils.h → include/hpipm_d_dense_qcqp_utils.h} +0 -0
  1976. /casadi/include/{hpipm_d_dense_qp.h → include/hpipm_d_dense_qp.h} +0 -0
  1977. /casadi/include/{hpipm_d_dense_qp_dim.h → include/hpipm_d_dense_qp_dim.h} +0 -0
  1978. /casadi/include/{hpipm_d_dense_qp_ipm.h → include/hpipm_d_dense_qp_ipm.h} +0 -0
  1979. /casadi/include/{hpipm_d_dense_qp_kkt.h → include/hpipm_d_dense_qp_kkt.h} +0 -0
  1980. /casadi/include/{hpipm_d_dense_qp_res.h → include/hpipm_d_dense_qp_res.h} +0 -0
  1981. /casadi/include/{hpipm_d_dense_qp_sol.h → include/hpipm_d_dense_qp_sol.h} +0 -0
  1982. /casadi/include/{hpipm_d_dense_qp_utils.h → include/hpipm_d_dense_qp_utils.h} +0 -0
  1983. /casadi/include/{hpipm_d_ocp_qcqp.h → include/hpipm_d_ocp_qcqp.h} +0 -0
  1984. /casadi/include/{hpipm_d_ocp_qcqp_dim.h → include/hpipm_d_ocp_qcqp_dim.h} +0 -0
  1985. /casadi/include/{hpipm_d_ocp_qcqp_ipm.h → include/hpipm_d_ocp_qcqp_ipm.h} +0 -0
  1986. /casadi/include/{hpipm_d_ocp_qcqp_red.h → include/hpipm_d_ocp_qcqp_red.h} +0 -0
  1987. /casadi/include/{hpipm_d_ocp_qcqp_res.h → include/hpipm_d_ocp_qcqp_res.h} +0 -0
  1988. /casadi/include/{hpipm_d_ocp_qcqp_sol.h → include/hpipm_d_ocp_qcqp_sol.h} +0 -0
  1989. /casadi/include/{hpipm_d_ocp_qcqp_utils.h → include/hpipm_d_ocp_qcqp_utils.h} +0 -0
  1990. /casadi/include/{hpipm_d_ocp_qp.h → include/hpipm_d_ocp_qp.h} +0 -0
  1991. /casadi/include/{hpipm_d_ocp_qp_dim.h → include/hpipm_d_ocp_qp_dim.h} +0 -0
  1992. /casadi/include/{hpipm_d_ocp_qp_ipm.h → include/hpipm_d_ocp_qp_ipm.h} +0 -0
  1993. /casadi/include/{hpipm_d_ocp_qp_kkt.h → include/hpipm_d_ocp_qp_kkt.h} +0 -0
  1994. /casadi/include/{hpipm_d_ocp_qp_red.h → include/hpipm_d_ocp_qp_red.h} +0 -0
  1995. /casadi/include/{hpipm_d_ocp_qp_res.h → include/hpipm_d_ocp_qp_res.h} +0 -0
  1996. /casadi/include/{hpipm_d_ocp_qp_sol.h → include/hpipm_d_ocp_qp_sol.h} +0 -0
  1997. /casadi/include/{hpipm_d_ocp_qp_utils.h → include/hpipm_d_ocp_qp_utils.h} +0 -0
  1998. /casadi/include/{hpipm_d_part_cond.h → include/hpipm_d_part_cond.h} +0 -0
  1999. /casadi/include/{hpipm_d_part_cond_qcqp.h → include/hpipm_d_part_cond_qcqp.h} +0 -0
  2000. /casadi/include/{hpipm_d_sim_erk.h → include/hpipm_d_sim_erk.h} +0 -0
  2001. /casadi/include/{hpipm_d_sim_rk.h → include/hpipm_d_sim_rk.h} +0 -0
  2002. /casadi/include/{hpipm_d_tree_ocp_qcqp.h → include/hpipm_d_tree_ocp_qcqp.h} +0 -0
  2003. /casadi/include/{hpipm_d_tree_ocp_qcqp_dim.h → include/hpipm_d_tree_ocp_qcqp_dim.h} +0 -0
  2004. /casadi/include/{hpipm_d_tree_ocp_qcqp_ipm.h → include/hpipm_d_tree_ocp_qcqp_ipm.h} +0 -0
  2005. /casadi/include/{hpipm_d_tree_ocp_qcqp_res.h → include/hpipm_d_tree_ocp_qcqp_res.h} +0 -0
  2006. /casadi/include/{hpipm_d_tree_ocp_qcqp_sol.h → include/hpipm_d_tree_ocp_qcqp_sol.h} +0 -0
  2007. /casadi/include/{hpipm_d_tree_ocp_qcqp_utils.h → include/hpipm_d_tree_ocp_qcqp_utils.h} +0 -0
  2008. /casadi/include/{hpipm_d_tree_ocp_qp.h → include/hpipm_d_tree_ocp_qp.h} +0 -0
  2009. /casadi/include/{hpipm_d_tree_ocp_qp_dim.h → include/hpipm_d_tree_ocp_qp_dim.h} +0 -0
  2010. /casadi/include/{hpipm_d_tree_ocp_qp_ipm.h → include/hpipm_d_tree_ocp_qp_ipm.h} +0 -0
  2011. /casadi/include/{hpipm_d_tree_ocp_qp_kkt.h → include/hpipm_d_tree_ocp_qp_kkt.h} +0 -0
  2012. /casadi/include/{hpipm_d_tree_ocp_qp_res.h → include/hpipm_d_tree_ocp_qp_res.h} +0 -0
  2013. /casadi/include/{hpipm_d_tree_ocp_qp_sol.h → include/hpipm_d_tree_ocp_qp_sol.h} +0 -0
  2014. /casadi/include/{hpipm_d_tree_ocp_qp_utils.h → include/hpipm_d_tree_ocp_qp_utils.h} +0 -0
  2015. /casadi/include/{hpipm_m_dense_qp.h → include/hpipm_m_dense_qp.h} +0 -0
  2016. /casadi/include/{hpipm_m_dense_qp_dim.h → include/hpipm_m_dense_qp_dim.h} +0 -0
  2017. /casadi/include/{hpipm_m_ocp_qp.h → include/hpipm_m_ocp_qp.h} +0 -0
  2018. /casadi/include/{hpipm_m_ocp_qp_ipm_hard.h → include/hpipm_m_ocp_qp_ipm_hard.h} +0 -0
  2019. /casadi/include/{hpipm_m_ocp_qp_kkt.h → include/hpipm_m_ocp_qp_kkt.h} +0 -0
  2020. /casadi/include/{hpipm_s_cast_qcqp.h → include/hpipm_s_cast_qcqp.h} +0 -0
  2021. /casadi/include/{hpipm_s_cond.h → include/hpipm_s_cond.h} +0 -0
  2022. /casadi/include/{hpipm_s_cond_aux.h → include/hpipm_s_cond_aux.h} +0 -0
  2023. /casadi/include/{hpipm_s_cond_qcqp.h → include/hpipm_s_cond_qcqp.h} +0 -0
  2024. /casadi/include/{hpipm_s_core_qp_ipm.h → include/hpipm_s_core_qp_ipm.h} +0 -0
  2025. /casadi/include/{hpipm_s_core_qp_ipm_aux.h → include/hpipm_s_core_qp_ipm_aux.h} +0 -0
  2026. /casadi/include/{hpipm_s_dense_qcqp.h → include/hpipm_s_dense_qcqp.h} +0 -0
  2027. /casadi/include/{hpipm_s_dense_qcqp_dim.h → include/hpipm_s_dense_qcqp_dim.h} +0 -0
  2028. /casadi/include/{hpipm_s_dense_qcqp_ipm.h → include/hpipm_s_dense_qcqp_ipm.h} +0 -0
  2029. /casadi/include/{hpipm_s_dense_qcqp_res.h → include/hpipm_s_dense_qcqp_res.h} +0 -0
  2030. /casadi/include/{hpipm_s_dense_qcqp_sol.h → include/hpipm_s_dense_qcqp_sol.h} +0 -0
  2031. /casadi/include/{hpipm_s_dense_qcqp_utils.h → include/hpipm_s_dense_qcqp_utils.h} +0 -0
  2032. /casadi/include/{hpipm_s_dense_qp.h → include/hpipm_s_dense_qp.h} +0 -0
  2033. /casadi/include/{hpipm_s_dense_qp_dim.h → include/hpipm_s_dense_qp_dim.h} +0 -0
  2034. /casadi/include/{hpipm_s_dense_qp_ipm.h → include/hpipm_s_dense_qp_ipm.h} +0 -0
  2035. /casadi/include/{hpipm_s_dense_qp_kkt.h → include/hpipm_s_dense_qp_kkt.h} +0 -0
  2036. /casadi/include/{hpipm_s_dense_qp_res.h → include/hpipm_s_dense_qp_res.h} +0 -0
  2037. /casadi/include/{hpipm_s_dense_qp_sol.h → include/hpipm_s_dense_qp_sol.h} +0 -0
  2038. /casadi/include/{hpipm_s_dense_qp_utils.h → include/hpipm_s_dense_qp_utils.h} +0 -0
  2039. /casadi/include/{hpipm_s_ocp_qcqp.h → include/hpipm_s_ocp_qcqp.h} +0 -0
  2040. /casadi/include/{hpipm_s_ocp_qcqp_dim.h → include/hpipm_s_ocp_qcqp_dim.h} +0 -0
  2041. /casadi/include/{hpipm_s_ocp_qcqp_ipm.h → include/hpipm_s_ocp_qcqp_ipm.h} +0 -0
  2042. /casadi/include/{hpipm_s_ocp_qcqp_red.h → include/hpipm_s_ocp_qcqp_red.h} +0 -0
  2043. /casadi/include/{hpipm_s_ocp_qcqp_res.h → include/hpipm_s_ocp_qcqp_res.h} +0 -0
  2044. /casadi/include/{hpipm_s_ocp_qcqp_sol.h → include/hpipm_s_ocp_qcqp_sol.h} +0 -0
  2045. /casadi/include/{hpipm_s_ocp_qcqp_utils.h → include/hpipm_s_ocp_qcqp_utils.h} +0 -0
  2046. /casadi/include/{hpipm_s_ocp_qp.h → include/hpipm_s_ocp_qp.h} +0 -0
  2047. /casadi/include/{hpipm_s_ocp_qp_dim.h → include/hpipm_s_ocp_qp_dim.h} +0 -0
  2048. /casadi/include/{hpipm_s_ocp_qp_ipm.h → include/hpipm_s_ocp_qp_ipm.h} +0 -0
  2049. /casadi/include/{hpipm_s_ocp_qp_kkt.h → include/hpipm_s_ocp_qp_kkt.h} +0 -0
  2050. /casadi/include/{hpipm_s_ocp_qp_red.h → include/hpipm_s_ocp_qp_red.h} +0 -0
  2051. /casadi/include/{hpipm_s_ocp_qp_res.h → include/hpipm_s_ocp_qp_res.h} +0 -0
  2052. /casadi/include/{hpipm_s_ocp_qp_sol.h → include/hpipm_s_ocp_qp_sol.h} +0 -0
  2053. /casadi/include/{hpipm_s_ocp_qp_utils.h → include/hpipm_s_ocp_qp_utils.h} +0 -0
  2054. /casadi/include/{hpipm_s_part_cond.h → include/hpipm_s_part_cond.h} +0 -0
  2055. /casadi/include/{hpipm_s_part_cond_qcqp.h → include/hpipm_s_part_cond_qcqp.h} +0 -0
  2056. /casadi/include/{hpipm_s_sim_erk.h → include/hpipm_s_sim_erk.h} +0 -0
  2057. /casadi/include/{hpipm_s_sim_rk.h → include/hpipm_s_sim_rk.h} +0 -0
  2058. /casadi/include/{hpipm_s_tree_ocp_qcqp.h → include/hpipm_s_tree_ocp_qcqp.h} +0 -0
  2059. /casadi/include/{hpipm_s_tree_ocp_qcqp_dim.h → include/hpipm_s_tree_ocp_qcqp_dim.h} +0 -0
  2060. /casadi/include/{hpipm_s_tree_ocp_qcqp_ipm.h → include/hpipm_s_tree_ocp_qcqp_ipm.h} +0 -0
  2061. /casadi/include/{hpipm_s_tree_ocp_qcqp_res.h → include/hpipm_s_tree_ocp_qcqp_res.h} +0 -0
  2062. /casadi/include/{hpipm_s_tree_ocp_qcqp_sol.h → include/hpipm_s_tree_ocp_qcqp_sol.h} +0 -0
  2063. /casadi/include/{hpipm_s_tree_ocp_qcqp_utils.h → include/hpipm_s_tree_ocp_qcqp_utils.h} +0 -0
  2064. /casadi/include/{hpipm_s_tree_ocp_qp.h → include/hpipm_s_tree_ocp_qp.h} +0 -0
  2065. /casadi/include/{hpipm_s_tree_ocp_qp_dim.h → include/hpipm_s_tree_ocp_qp_dim.h} +0 -0
  2066. /casadi/include/{hpipm_s_tree_ocp_qp_ipm.h → include/hpipm_s_tree_ocp_qp_ipm.h} +0 -0
  2067. /casadi/include/{hpipm_s_tree_ocp_qp_kkt.h → include/hpipm_s_tree_ocp_qp_kkt.h} +0 -0
  2068. /casadi/include/{hpipm_s_tree_ocp_qp_res.h → include/hpipm_s_tree_ocp_qp_res.h} +0 -0
  2069. /casadi/include/{hpipm_s_tree_ocp_qp_sol.h → include/hpipm_s_tree_ocp_qp_sol.h} +0 -0
  2070. /casadi/include/{hpipm_s_tree_ocp_qp_utils.h → include/hpipm_s_tree_ocp_qp_utils.h} +0 -0
  2071. /casadi/include/{hpipm_scenario_tree.h → include/hpipm_scenario_tree.h} +0 -0
  2072. /casadi/include/{hpipm_timing.h → include/hpipm_timing.h} +0 -0
  2073. /casadi/include/{hpipm_tree.h → include/hpipm_tree.h} +0 -0
  2074. {casadi-3.6.3.dist-info → casadi-3.6.4.dist-info}/WHEEL +0 -0
@@ -0,0 +1,1270 @@
1
+ /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
2
+ /* */
3
+ /* This file is part of the HiGHS linear optimization suite */
4
+ /* */
5
+ /* Written and engineered 2008-2023 by Julian Hall, Ivet Galabova, */
6
+ /* Leona Gottwald and Michael Feldmeier */
7
+ /* */
8
+ /* Available as open-source under the MIT License */
9
+ /* */
10
+ /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
11
+ #ifndef HIGHS_UTIL_HASH_H_
12
+ #define HIGHS_UTIL_HASH_H_
13
+
14
+ #include <array>
15
+ #include <cassert>
16
+ #include <cmath>
17
+ #include <cstddef>
18
+ #include <cstdint>
19
+ #include <cstring>
20
+ #include <functional>
21
+ #include <iterator>
22
+ #include <memory>
23
+ #include <type_traits>
24
+ #include <utility>
25
+ #include <vector>
26
+
27
+ #include "util/HighsInt.h"
28
+
29
+ #ifdef HIGHS_HAVE_BITSCAN_REVERSE
30
+ #include <intrin.h>
31
+ #pragma intrinsic(_BitScanReverse)
32
+ #ifdef _WIN64
33
+ #pragma intrinsic(_BitScanReverse64)
34
+ #pragma intrinsic(__popcnt64)
35
+ #else
36
+ #pragma intrinsic(__popcnt)
37
+ #endif
38
+ #endif
39
+
40
+ #if __GNUG__ && __GNUC__ < 5 && !defined(__clang__)
41
+ #define IS_TRIVIALLY_COPYABLE(T) __has_trivial_copy(T)
42
+ #else
43
+ #define IS_TRIVIALLY_COPYABLE(T) std::is_trivially_copyable<T>::value
44
+ #endif
45
+
46
+ template <typename T>
47
+ struct HighsHashable : std::integral_constant<bool, IS_TRIVIALLY_COPYABLE(T)> {
48
+ };
49
+
50
+ template <typename U, typename V>
51
+ struct HighsHashable<std::pair<U, V>>
52
+ : public std::integral_constant<bool, HighsHashable<U>::value &&
53
+ HighsHashable<V>::value> {};
54
+
55
+ template <typename U, typename V>
56
+ struct HighsHashable<std::tuple<U, V>> : public HighsHashable<std::pair<U, V>> {
57
+ };
58
+ template <typename U, typename V, typename W, typename... Args>
59
+ struct HighsHashable<std::tuple<U, V, W, Args...>>
60
+ : public std::integral_constant<
61
+ bool, HighsHashable<U>::value &&
62
+ HighsHashable<std::tuple<V, W, Args...>>::value> {};
63
+
64
+ struct HighsHashHelpers {
65
+ using u8 = std::uint8_t;
66
+ using i8 = std::int8_t;
67
+
68
+ using u16 = std::uint16_t;
69
+ using i16 = std::int16_t;
70
+
71
+ using u32 = std::uint32_t;
72
+ using i32 = std::int32_t;
73
+
74
+ using u64 = std::uint64_t;
75
+ using i64 = std::uint64_t;
76
+
77
+ static constexpr u64 c[] = {
78
+ u64{0xc8497d2a400d9551}, u64{0x80c8963be3e4c2f3}, u64{0x042d8680e260ae5b},
79
+ u64{0x8a183895eeac1536}, u64{0xa94e9c75f80ad6de}, u64{0x7e92251dec62835e},
80
+ u64{0x07294165cb671455}, u64{0x89b0f6212b0a4292}, u64{0x31900011b96bf554},
81
+ u64{0xa44540f8eee2094f}, u64{0xce7ffd372e4c64fc}, u64{0x51c9d471bfe6a10f},
82
+ u64{0x758c2a674483826f}, u64{0xf91a20abe63f8b02}, u64{0xc2a069024a1fcc6f},
83
+ u64{0xd5bb18b70c5dbd59}, u64{0xd510adac6d1ae289}, u64{0x571d069b23050a79},
84
+ u64{0x60873b8872933e06}, u64{0x780481cc19670350}, u64{0x7a48551760216885},
85
+ u64{0xb5d68b918231e6ca}, u64{0xa7e5571699aa5274}, u64{0x7b6d309b2cfdcf01},
86
+ u64{0x04e77c3d474daeff}, u64{0x4dbf099fd7247031}, u64{0x5d70dca901130beb},
87
+ u64{0x9f8b5f0df4182499}, u64{0x293a74c9686092da}, u64{0xd09bdab6840f52b3},
88
+ u64{0xc05d47f3ab302263}, u64{0x6b79e62b884b65d6}, u64{0xa581106fc980c34d},
89
+ u64{0xf081b7145ea2293e}, u64{0xfb27243dd7c3f5ad}, u64{0x5211bf8860ea667f},
90
+ u64{0x9455e65cb2385e7f}, u64{0x0dfaf6731b449b33}, u64{0x4ec98b3c6f5e68c7},
91
+ u64{0x007bfd4a42ae936b}, u64{0x65c93061f8674518}, u64{0x640816f17127c5d1},
92
+ u64{0x6dd4bab17b7c3a74}, u64{0x34d9268c256fa1ba}, u64{0x0b4d0c6b5b50d7f4},
93
+ u64{0x30aa965bc9fadaff}, u64{0xc0ac1d0c2771404d}, u64{0xc5e64509abb76ef2},
94
+ u64{0xd606b11990624a36}, u64{0x0d3f05d242ce2fb7}, u64{0x469a803cb276fe32},
95
+ u64{0xa4a44d177a3e23f4}, u64{0xb9d9a120dcc1ca03}, u64{0x2e15af8165234a2e},
96
+ u64{0x10609ba2720573d4}, u64{0xaa4191b60368d1d5}, u64{0x333dd2300bc57762},
97
+ u64{0xdf6ec48f79fb402f}, u64{0x5ed20fcef1b734fa}, u64{0x4c94924ec8be21ee},
98
+ u64{0x5abe6ad9d131e631}, u64{0xbe10136a522e602d}, u64{0x53671115c340e779},
99
+ u64{0x9f392fe43e2144da}};
100
+
101
+ /// mersenne prime 2^61 - 1
102
+ static constexpr u64 M61() { return u64{0x1fffffffffffffff}; };
103
+
104
+ #ifdef HIGHS_HAVE_BUILTIN_CLZ
105
+ static int log2i(uint64_t n) { return 63 - __builtin_clzll(n); }
106
+
107
+ static int log2i(uint32_t n) { return 31 - __builtin_clz(n); }
108
+
109
+ static int popcnt(uint64_t x) { return __builtin_popcountll(x); }
110
+
111
+ #elif defined(HIGHS_HAVE_BITSCAN_REVERSE)
112
+ static int log2i(uint64_t n) {
113
+ unsigned long result;
114
+ #ifdef _WIN64
115
+ _BitScanReverse64(&result, n);
116
+ #else
117
+ if (_BitScanReverse(&result, (n >> 32)))
118
+ result += 32;
119
+ else
120
+ _BitScanReverse(&result, (n & 0xffffffffu));
121
+ #endif
122
+ return result;
123
+ }
124
+
125
+ static int log2i(uint32_t n) {
126
+ unsigned long result;
127
+ _BitScanReverse(&result, (unsigned long)n);
128
+ return result;
129
+ }
130
+
131
+ static int popcnt(uint64_t x) {
132
+ #ifdef _WIN64
133
+ return __popcnt64(x);
134
+ #else
135
+ return __popcnt(x & 0xffffffffu) + __popcnt(x >> 32);
136
+ #endif
137
+ }
138
+ #else
139
+ // integer log2 algorithm without floating point arithmetic. It uses an
140
+ // unrolled loop and requires few instructions that can be well optimized.
141
+ static int log2i(uint64_t n) {
142
+ int x = 0;
143
+
144
+ auto log2Iteration = [&](int p) {
145
+ if (n >= uint64_t{1} << p) {
146
+ x += p;
147
+ n >>= p;
148
+ }
149
+ };
150
+
151
+ log2Iteration(32);
152
+ log2Iteration(16);
153
+ log2Iteration(8);
154
+ log2Iteration(4);
155
+ log2Iteration(2);
156
+ log2Iteration(1);
157
+
158
+ return x;
159
+ }
160
+
161
+ static int log2i(uint32_t n) {
162
+ int x = 0;
163
+
164
+ auto log2Iteration = [&](int p) {
165
+ if (n >= 1u << p) {
166
+ x += p;
167
+ n >>= p;
168
+ }
169
+ };
170
+
171
+ log2Iteration(16);
172
+ log2Iteration(8);
173
+ log2Iteration(4);
174
+ log2Iteration(2);
175
+ log2Iteration(1);
176
+
177
+ return x;
178
+ }
179
+
180
+ static int popcnt(uint64_t x) {
181
+ constexpr uint64_t m1 = 0x5555555555555555ull;
182
+ constexpr uint64_t m2 = 0x3333333333333333ull;
183
+ constexpr uint64_t m4 = 0x0f0f0f0f0f0f0f0full;
184
+ constexpr uint64_t h01 = 0x0101010101010101ull;
185
+
186
+ x -= (x >> 1) & m1;
187
+ x = (x & m2) + ((x >> 2) & m2);
188
+ x = (x + (x >> 4)) & m4;
189
+
190
+ return (x * h01) >> 56;
191
+ }
192
+
193
+ #endif
194
+
195
+ /// compute a * b mod 2^61-1
196
+ static u64 multiply_modM61(u64 a, u64 b) {
197
+ u64 ahi = a >> 32;
198
+ u64 bhi = b >> 32;
199
+ u64 alo = a & 0xffffffffu;
200
+ u64 blo = b & 0xffffffffu;
201
+
202
+ // compute the different order terms with adicities 2^64, 2^32, 2^0
203
+ u64 term_64 = ahi * bhi;
204
+ u64 term_32 = ahi * blo + bhi * alo;
205
+ u64 term_0 = alo * blo;
206
+
207
+ // Partially reduce term_0 and term_32 modulo M61() individually to not deal
208
+ // with a possible carry bit (thanks @https://github.com/WTFHCN for catching
209
+ // the bug with this). We do not need to completely reduce by an additional
210
+ // check for the range of the resulting term as this is done in the end in
211
+ // any case and the reduced sizes do not cause troubles with the available
212
+ // 64 bits.
213
+ term_0 = (term_0 & M61()) + (term_0 >> 61);
214
+ term_0 += ((term_32 >> 29) + (term_32 << 32)) & M61();
215
+
216
+ // The lower 61 bits of term_0 are now the lower 61 bits of the result that
217
+ // we need. Now extract the upper 61 of the result so that we can compute
218
+ // the result of the multiplication modulo M61()
219
+ u64 ab61 = (term_64 << 3) | (term_0 >> 61);
220
+
221
+ // finally take the result modulo M61 which is computed by exploiting
222
+ // that M61 is a mersenne prime, particularly, if a * b = q * 2^61 + r
223
+ // then a * b = (q + r) (mod 2^61 - 1)
224
+ u64 result = (term_0 & M61()) + ab61;
225
+ if (result >= M61()) result -= M61();
226
+ return result;
227
+ }
228
+
229
+ static u64 modexp_M61(u64 a, u64 e) {
230
+ // the exponent need to be greater than zero
231
+ assert(e > 0);
232
+ u64 result = a;
233
+
234
+ while (e != 1) {
235
+ // square
236
+ result = multiply_modM61(result, result);
237
+
238
+ // multiply with a if exponent is odd
239
+ if (e & 1) result = multiply_modM61(result, a);
240
+
241
+ // shift to next bit
242
+ e = e >> 1;
243
+ }
244
+
245
+ return result;
246
+ }
247
+
248
+ /// mersenne prime 2^31 - 1
249
+ static constexpr u64 M31() { return u32{0x7fffffff}; };
250
+
251
+ /// compute a * b mod 2^31-1
252
+ static u32 multiply_modM31(u32 a, u32 b) {
253
+ u64 result = u64(a) * u64(b);
254
+ result = (result >> 31) + (result & M31());
255
+ if (result >= M31()) result -= M31();
256
+ return result;
257
+ }
258
+
259
+ static u32 modexp_M31(u32 a, u64 e) {
260
+ // the exponent need to be greater than zero
261
+ assert(e > 0);
262
+ u32 result = a;
263
+
264
+ while (e != 1) {
265
+ // square
266
+ result = multiply_modM31(result, result);
267
+
268
+ // multiply with a if exponent is odd
269
+ if (e & 1) result = multiply_modM31(result, a);
270
+
271
+ // shift to next bit
272
+ e = e >> 1;
273
+ }
274
+
275
+ return result;
276
+ }
277
+
278
+ template <HighsInt k>
279
+ static u64 pair_hash(u32 a, u32 b) {
280
+ return (a + c[2 * k]) * (b + c[2 * k + 1]);
281
+ }
282
+
283
+ static void sparse_combine(u64& hash, HighsInt index, u64 value) {
284
+ // we take each value of the sparse hash as coefficient for a polynomial
285
+ // of the finite field modulo the mersenne prime 2^61-1 where the monomial
286
+ // for a sparse entry has the degree of its index. We evaluate the
287
+ // polynomial at a random constant. This allows to compute the hashes of
288
+ // sparse vectors independently of each others nonzero contribution and
289
+ // therefore allows to use the order of best access patterns for cache
290
+ // performance. E.g. we can compute a strong hash value for parallel row and
291
+ // column detection and only need to loop over the nonzeros once in
292
+ // arbitrary order. This comes at the expense of more expensive hash
293
+ // calculations as it would be more efficient to evaluate the polynomial
294
+ // with horners scheme, but allows for parallelization and arbitrary order.
295
+ // Since we have 64 random constants available, we slightly improve
296
+ // the scheme by using a lower degree polynomial with 64 variables
297
+ // which we evaluate at the random vector of 64.
298
+
299
+ // make sure input value is never zero and at most 61bits are used
300
+ value = ((value << 1) & M61()) | 1;
301
+
302
+ // make sure that the constant has at most 61 bits, as otherwise the modulo
303
+ // algorithm for multiplication mod M61 might not work properly due to
304
+ // overflow
305
+ u64 a = c[index & 63] & M61();
306
+ HighsInt degree = (index >> 6) + 1;
307
+
308
+ hash += multiply_modM61(value, modexp_M61(a, degree));
309
+ hash = (hash >> 61) + (hash & M61());
310
+ if (hash >= M61()) hash -= M61();
311
+ assert(hash < M61());
312
+ }
313
+
314
+ static void sparse_inverse_combine(u64& hash, HighsInt index, u64 value) {
315
+ // same hash algorithm as sparse_combine(), but for updating a hash value to
316
+ // the state before it was changed with a call to sparse_combine(). This is
317
+ // easily possible as the hash value just uses finite field arithmetic. We
318
+ // can simply add the additive inverse of the previous hash value. This is a
319
+ // very useful routine for symmetry detection. During partition refinement
320
+ // the hashes do not need to be recomputed but can be updated with this
321
+ // procedure.
322
+
323
+ // make sure input value is never zero and at most 61bits are used
324
+ value = ((value << 1) & M61()) | 1;
325
+
326
+ u64 a = c[index & 63] & M61();
327
+ HighsInt degree = (index >> 6) + 1;
328
+ // add the additive inverse (M61() - hashvalue) instead of the hash value
329
+ // itself
330
+ hash += M61() - multiply_modM61(value, modexp_M61(a, degree));
331
+ hash = (hash >> 61) + (hash & M61());
332
+ if (hash >= M61()) hash -= M61();
333
+ assert(hash < M61());
334
+ }
335
+
336
+ /// overload that is not taking a value and saves one multiplication call
337
+ /// useful for sparse hashing of bit vectors
338
+ static void sparse_combine(u64& hash, HighsInt index) {
339
+ u64 a = c[index & 63] & M61();
340
+ HighsInt degree = (index >> 6) + 1;
341
+
342
+ hash += modexp_M61(a, degree);
343
+ hash = (hash >> 61) + (hash & M61());
344
+ if (hash >= M61()) hash -= M61();
345
+ assert(hash < M61());
346
+ }
347
+
348
+ /// overload that is not taking a value and saves one multiplication call
349
+ /// useful for sparse hashing of bit vectors
350
+ static void sparse_inverse_combine(u64& hash, HighsInt index) {
351
+ // same hash algorithm as sparse_combine(), but for updating a hash value to
352
+ // the state before it was changed with a call to sparse_combine(). This is
353
+ // easily possible as the hash value just uses finite field arithmetic. We
354
+ // can simply add the additive inverse of the previous hash value. This is a
355
+ // very useful routine for symmetry detection. During partition refinement
356
+ // the hashes do not need to be recomputed but can be updated with this
357
+ // procedure.
358
+
359
+ u64 a = c[index & 63] & M61();
360
+ HighsInt degree = (index >> 6) + 1;
361
+ // add the additive inverse (M61() - hashvalue) instead of the hash value
362
+ // itself
363
+ hash += M61() - modexp_M61(a, degree);
364
+ hash = (hash >> 61) + (hash & M61());
365
+ if (hash >= M61()) hash -= M61();
366
+ assert(hash < M61());
367
+ }
368
+
369
+ static void sparse_combine32(u32& hash, HighsInt index, u64 value) {
370
+ // we take each value of the sparse hash as coefficient for a polynomial
371
+ // of the finite field modulo the mersenne prime 2^61-1 where the monomial
372
+ // for a sparse entry has the degree of its index. We evaluate the
373
+ // polynomial at a random constant. This allows to compute the hashes of
374
+ // sparse vectors independently of each others nonzero contribution and
375
+ // therefore allows to use the order of best access patterns for cache
376
+ // performance. E.g. we can compute a strong hash value for parallel row and
377
+ // column detection and only need to loop over the nonzeros once in
378
+ // arbitrary order. This comes at the expense of more expensive hash
379
+ // calculations as it would be more efficient to evaluate the polynomial
380
+ // with horners scheme, but allows for parallelization and arbitrary order.
381
+ // Since we have 16 random constants available, we slightly improve
382
+ // the scheme by using a lower degree polynomial with 16 variables
383
+ // which we evaluate at the random vector of 16.
384
+
385
+ // make sure input value is never zero and at most 31bits are used
386
+ value = (pair_hash<0>(value, value >> 32) >> 33) | 1;
387
+
388
+ // make sure that the constant has at most 31 bits, as otherwise the modulo
389
+ // algorithm for multiplication mod M31 might not work properly due to
390
+ // overflow
391
+ u32 a = c[index & 63] & M31();
392
+ HighsInt degree = (index >> 6) + 1;
393
+
394
+ hash += multiply_modM31(value, modexp_M31(a, degree));
395
+ hash = (hash >> 31) + (hash & M31());
396
+ if (hash >= M31()) hash -= M31();
397
+ assert(hash < M31());
398
+ }
399
+
400
+ static void sparse_inverse_combine32(u32& hash, HighsInt index, u64 value) {
401
+ // same hash algorithm as sparse_combine(), but for updating a hash value to
402
+ // the state before it was changed with a call to sparse_combine(). This is
403
+ // easily possible as the hash value just uses finite field arithmetic. We
404
+ // can simply add the additive inverse of the previous hash value. This is a
405
+ // very useful routine for symmetry detection. During partition refinement
406
+ // the hashes do not need to be recomputed but can be updated with this
407
+ // procedure.
408
+
409
+ // make sure input value is never zero and at most 31bits are used
410
+ value = (pair_hash<0>(value, value >> 32) >> 33) | 1;
411
+
412
+ u32 a = c[index & 63] & M31();
413
+ HighsInt degree = (index >> 6) + 1;
414
+ // add the additive inverse (M31() - hashvalue) instead of the hash value
415
+ // itself
416
+ hash += M31() - multiply_modM31(value, modexp_M31(a, degree));
417
+ hash = (hash >> 31) + (hash & M31());
418
+ if (hash >= M31()) hash -= M31();
419
+ assert(hash < M31());
420
+ }
421
+
422
+ static constexpr u64 fibonacci_muliplier() { return u64{0x9e3779b97f4a7c15}; }
423
+
424
+ template <typename T,
425
+ typename std::enable_if<HighsHashable<T>::value, int>::type = 0>
426
+ static u64 vector_hash(const T* vals, size_t numvals) {
427
+ std::array<u32, 2> pair{};
428
+ u64 hash = 0;
429
+ HighsInt k = 0;
430
+
431
+ const char* dataptr = (const char*)vals;
432
+ const char* dataend = (const char*)(vals + numvals);
433
+
434
+ while (dataptr != dataend) {
435
+ using std::size_t;
436
+ size_t numBytes = std::min(size_t(dataend - dataptr), size_t{256});
437
+ size_t numPairs = (numBytes + 7) / 8;
438
+ size_t lastPairBytes = numBytes - (numPairs - 1) * 8;
439
+ u64 chunkhash[] = {u64{0}, u64{0}};
440
+
441
+ #define HIGHS_VECHASH_CASE_N(N, B) \
442
+ std::memcpy(&pair[0], dataptr, B); \
443
+ chunkhash[N & 1] += pair_hash<32 - N>(pair[0], pair[1]); \
444
+ dataptr += B;
445
+
446
+ switch (numPairs) {
447
+ case 32:
448
+ if (hash != 0) {
449
+ // make sure hash is reduced mod M61() before multiplying with the
450
+ // next random constant. For vectors at most 240 bytes we never
451
+ // get here and only use the fast pair hashing scheme
452
+ // for vectors with 240 bytes to 256 bytes we do have the one
453
+ // additional check for hash != 0 above which will return false
454
+ // and only for longer vectors we ever reduce modulo M61
455
+ if (hash >= M61()) hash -= M61();
456
+ hash = multiply_modM61(hash, c[(k++) & 63] & M61());
457
+ }
458
+ HIGHS_VECHASH_CASE_N(32, 8)
459
+ // fall through
460
+ case 31:
461
+ HIGHS_VECHASH_CASE_N(31, 8)
462
+ // fall through
463
+ case 30:
464
+ HIGHS_VECHASH_CASE_N(30, 8)
465
+ // fall through
466
+ case 29:
467
+ HIGHS_VECHASH_CASE_N(29, 8)
468
+ // fall through
469
+ case 28:
470
+ HIGHS_VECHASH_CASE_N(28, 8)
471
+ // fall through
472
+ case 27:
473
+ HIGHS_VECHASH_CASE_N(27, 8)
474
+ // fall through
475
+ case 26:
476
+ HIGHS_VECHASH_CASE_N(26, 8)
477
+ // fall through
478
+ case 25:
479
+ HIGHS_VECHASH_CASE_N(25, 8)
480
+ // fall through
481
+ case 24:
482
+ HIGHS_VECHASH_CASE_N(24, 8)
483
+ // fall through
484
+ case 23:
485
+ HIGHS_VECHASH_CASE_N(23, 8)
486
+ // fall through
487
+ case 22:
488
+ HIGHS_VECHASH_CASE_N(22, 8)
489
+ // fall through
490
+ case 21:
491
+ HIGHS_VECHASH_CASE_N(21, 8)
492
+ // fall through
493
+ case 20:
494
+ HIGHS_VECHASH_CASE_N(20, 8)
495
+ // fall through
496
+ case 19:
497
+ HIGHS_VECHASH_CASE_N(19, 8)
498
+ // fall through
499
+ case 18:
500
+ HIGHS_VECHASH_CASE_N(18, 8)
501
+ // fall through
502
+ case 17:
503
+ HIGHS_VECHASH_CASE_N(17, 8)
504
+ // fall through
505
+ case 16:
506
+ HIGHS_VECHASH_CASE_N(16, 8)
507
+ // fall through
508
+ case 15:
509
+ HIGHS_VECHASH_CASE_N(15, 8)
510
+ // fall through
511
+ case 14:
512
+ HIGHS_VECHASH_CASE_N(14, 8)
513
+ // fall through
514
+ case 13:
515
+ HIGHS_VECHASH_CASE_N(13, 8)
516
+ // fall through
517
+ case 12:
518
+ HIGHS_VECHASH_CASE_N(12, 8)
519
+ // fall through
520
+ case 11:
521
+ HIGHS_VECHASH_CASE_N(11, 8)
522
+ // fall through
523
+ case 10:
524
+ HIGHS_VECHASH_CASE_N(10, 8)
525
+ // fall through
526
+ case 9:
527
+ HIGHS_VECHASH_CASE_N(9, 8)
528
+ // fall through
529
+ case 8:
530
+ HIGHS_VECHASH_CASE_N(8, 8)
531
+ // fall through
532
+ case 7:
533
+ HIGHS_VECHASH_CASE_N(7, 8)
534
+ // fall through
535
+ case 6:
536
+ HIGHS_VECHASH_CASE_N(6, 8)
537
+ // fall through
538
+ case 5:
539
+ HIGHS_VECHASH_CASE_N(5, 8)
540
+ // fall through
541
+ case 4:
542
+ HIGHS_VECHASH_CASE_N(4, 8)
543
+ // fall through
544
+ case 3:
545
+ HIGHS_VECHASH_CASE_N(3, 8)
546
+ // fall through
547
+ case 2:
548
+ HIGHS_VECHASH_CASE_N(2, 8)
549
+ // fall through
550
+ case 1:
551
+ HIGHS_VECHASH_CASE_N(1, lastPairBytes)
552
+ }
553
+
554
+ hash += (chunkhash[0] >> 3) ^ (chunkhash[1] >> 32);
555
+ }
556
+
557
+ #undef HIGHS_VECHASH_CASE_N
558
+
559
+ return hash * fibonacci_muliplier();
560
+ }
561
+
562
+ template <typename T,
563
+ typename std::enable_if<HighsHashable<T>::value &&
564
+ (sizeof(T) <= 8) && (sizeof(T) >= 1),
565
+ int>::type = 0>
566
+ static u64 hash(const T& val) {
567
+ std::array<u32, 2> bytes;
568
+ if (sizeof(T) < 4) bytes[0] = 0;
569
+ if (sizeof(T) < 8) bytes[1] = 0;
570
+ std::memcpy(&bytes[0], &val, sizeof(T));
571
+ return pair_hash<1>(bytes[0], bytes[1]) ^
572
+ pair_hash<0>(bytes[0], bytes[1]) >> 32;
573
+ }
574
+
575
+ template <typename T,
576
+ typename std::enable_if<HighsHashable<T>::value &&
577
+ (sizeof(T) >= 9) && (sizeof(T) <= 16),
578
+ int>::type = 0>
579
+ static u64 hash(const T& val) {
580
+ std::array<u32, 4> bytes;
581
+ if (sizeof(T) < 12) bytes[2] = 0;
582
+ if (sizeof(T) < 16) bytes[3] = 0;
583
+ std::memcpy(&bytes[0], &val, sizeof(T));
584
+ return (pair_hash<0>(bytes[0], bytes[1]) ^
585
+ (pair_hash<1>(bytes[2], bytes[3]) >> 32)) *
586
+ fibonacci_muliplier();
587
+ }
588
+
589
+ template <typename T,
590
+ typename std::enable_if<HighsHashable<T>::value &&
591
+ (sizeof(T) >= 17) && (sizeof(T) <= 24),
592
+ int>::type = 0>
593
+ static u64 hash(const T& val) {
594
+ std::array<u32, 6> bytes;
595
+ if (sizeof(T) < 20) bytes[4] = 0;
596
+ if (sizeof(T) < 24) bytes[5] = 0;
597
+ std::memcpy(&bytes[0], &val, sizeof(T));
598
+ return (pair_hash<0>(bytes[0], bytes[1]) ^
599
+ ((pair_hash<1>(bytes[2], bytes[3]) +
600
+ pair_hash<2>(bytes[4], bytes[5])) >>
601
+ 32)) *
602
+ fibonacci_muliplier();
603
+ }
604
+
605
+ template <typename T,
606
+ typename std::enable_if<HighsHashable<T>::value &&
607
+ (sizeof(T) >= 25) && (sizeof(T) <= 32),
608
+ int>::type = 0>
609
+ static u64 hash(const T& val) {
610
+ std::array<u32, 8> bytes;
611
+ if (sizeof(T) < 28) bytes[6] = 0;
612
+ if (sizeof(T) < 32) bytes[7] = 0;
613
+ std::memcpy(&bytes[0], &val, sizeof(T));
614
+ return ((pair_hash<0>(bytes[0], bytes[1]) +
615
+ pair_hash<1>(bytes[2], bytes[3])) ^
616
+ ((pair_hash<2>(bytes[4], bytes[5]) +
617
+ pair_hash<3>(bytes[6], bytes[7])) >>
618
+ 32)) *
619
+ fibonacci_muliplier();
620
+ }
621
+
622
+ template <typename T,
623
+ typename std::enable_if<HighsHashable<T>::value &&
624
+ (sizeof(T) >= 33) && (sizeof(T) <= 40),
625
+ int>::type = 0>
626
+ static u64 hash(const T& val) {
627
+ std::array<u32, 10> bytes;
628
+ if (sizeof(T) < 36) bytes[8] = 0;
629
+ if (sizeof(T) < 40) bytes[9] = 0;
630
+ std::memcpy(&bytes[0], &val, sizeof(T));
631
+ return ((pair_hash<0>(bytes[0], bytes[1]) +
632
+ pair_hash<1>(bytes[2], bytes[3])) ^
633
+ ((pair_hash<2>(bytes[4], bytes[5]) +
634
+ pair_hash<3>(bytes[6], bytes[7]) +
635
+ pair_hash<4>(bytes[8], bytes[9])) >>
636
+ 32)) *
637
+ fibonacci_muliplier();
638
+ }
639
+
640
+ template <typename T,
641
+ typename std::enable_if<HighsHashable<T>::value &&
642
+ (sizeof(T) >= 41) && (sizeof(T) <= 48),
643
+ int>::type = 0>
644
+ static u64 hash(const T& val) {
645
+ std::array<u32, 12> bytes;
646
+ if (sizeof(T) < 44) bytes[10] = 0;
647
+ if (sizeof(T) < 48) bytes[11] = 0;
648
+ std::memcpy(&bytes[0], &val, sizeof(T));
649
+ return ((pair_hash<0>(bytes[0], bytes[1]) +
650
+ pair_hash<1>(bytes[2], bytes[3]) +
651
+ pair_hash<2>(bytes[4], bytes[5])) ^
652
+ ((pair_hash<3>(bytes[6], bytes[7]) +
653
+ pair_hash<4>(bytes[8], bytes[9]) +
654
+ pair_hash<5>(bytes[10], bytes[11])) >>
655
+ 32)) *
656
+ fibonacci_muliplier();
657
+ }
658
+
659
+ template <typename T,
660
+ typename std::enable_if<HighsHashable<T>::value &&
661
+ (sizeof(T) >= 49) && (sizeof(T) <= 56),
662
+ int>::type = 0>
663
+ static u64 hash(const T& val) {
664
+ std::array<u32, 14> bytes;
665
+ if (sizeof(T) < 52) bytes[12] = 0;
666
+ if (sizeof(T) < 56) bytes[13] = 0;
667
+ std::memcpy(&bytes[0], &val, sizeof(T));
668
+ return ((pair_hash<0>(bytes[0], bytes[1]) +
669
+ pair_hash<1>(bytes[2], bytes[3]) +
670
+ pair_hash<2>(bytes[4], bytes[5])) ^
671
+ ((pair_hash<3>(bytes[6], bytes[7]) +
672
+ pair_hash<4>(bytes[8], bytes[9]) +
673
+ pair_hash<5>(bytes[10], bytes[11]) +
674
+ pair_hash<6>(bytes[12], bytes[13])) >>
675
+ 32)) *
676
+ fibonacci_muliplier();
677
+ }
678
+
679
+ template <typename T,
680
+ typename std::enable_if<HighsHashable<T>::value &&
681
+ (sizeof(T) >= 57) && (sizeof(T) <= 64),
682
+ int>::type = 0>
683
+ static u64 hash(const T& val) {
684
+ std::array<u32, 16> bytes;
685
+ if (sizeof(T) < 60) bytes[14] = 0;
686
+ if (sizeof(T) < 64) bytes[15] = 0;
687
+ std::memcpy(&bytes[0], &val, sizeof(T));
688
+ return ((pair_hash<0>(bytes[0], bytes[1]) +
689
+ pair_hash<1>(bytes[2], bytes[3]) +
690
+ pair_hash<2>(bytes[4], bytes[5]) +
691
+ pair_hash<3>(bytes[6], bytes[7])) ^
692
+ ((pair_hash<4>(bytes[8], bytes[9]) +
693
+ pair_hash<5>(bytes[10], bytes[11]) +
694
+ pair_hash<6>(bytes[12], bytes[13]) +
695
+ pair_hash<7>(bytes[14], bytes[15])) >>
696
+ 32)) *
697
+ fibonacci_muliplier();
698
+ }
699
+
700
+ template <typename T,
701
+ typename std::enable_if<HighsHashable<T>::value && (sizeof(T) > 64),
702
+ int>::type = 0>
703
+ static u64 hash(const T& val) {
704
+ return vector_hash(&val, 1);
705
+ }
706
+
707
+ template <typename T,
708
+ typename std::enable_if<HighsHashable<T>::value, int>::type = 0>
709
+ static u64 hash(const std::vector<T>& val) {
710
+ return vector_hash(val.data(), val.size());
711
+ }
712
+
713
+ template <typename T, typename std::enable_if<
714
+ std::is_same<decltype(*reinterpret_cast<T*>(0) ==
715
+ *reinterpret_cast<T*>(0)),
716
+ bool>::value,
717
+ int>::type = 0>
718
+ static bool equal(const T& a, const T& b) {
719
+ return a == b;
720
+ }
721
+
722
+ template <typename T,
723
+ typename std::enable_if<HighsHashable<T>::value, int>::type = 0>
724
+ static bool equal(const std::vector<T>& a, const std::vector<T>& b) {
725
+ if (a.size() != b.size()) return false;
726
+ return std::memcmp(a.data(), b.data(), sizeof(T) * a.size()) == 0;
727
+ }
728
+
729
+ static constexpr double golden_ratio_reciprocal() {
730
+ return 0.61803398874989484;
731
+ }
732
+
733
+ static u32 double_hash_code(double val) {
734
+ // we multiply by some irrational number, so that the buckets in which we
735
+ // put the real numbers do not break on a power of two pattern. E.g.
736
+ // consider the use case for detecting parallel rows when we have two
737
+ // parallel rows scaled to have their largest coefficient 1.0 and another
738
+ // coefficient which is 0.5
739
+ // +- epsilon. Clearly we want to detect those rows as parallel and give
740
+ // them the same hash value for small enough epsilon. The exponent,
741
+ // however will switch to -2 for the value just below 0.5 and the hashcodes
742
+ // will differ. when multiplying with the reciprocal of the golden ratio the
743
+ // exact 0.5 will yield 0.30901699437494742 and 0.5 - 1e-9 will yield
744
+ // 0.3090169937569134 which has the same exponent and matches in the most
745
+ // significant bits. Hence it yields the same hashcode. Obviously there will
746
+ // now be different values which exhibit the same pattern as the 0.5 case,
747
+ // but they do not have a small denominator like 1/2 in their rational
748
+ // representation but are power of two multiples of the golden ratio and
749
+ // therefore irrational, which we do not expect in non-artifical input data.
750
+ int exponent;
751
+ double hashbits = std::frexp(val * golden_ratio_reciprocal(), &exponent);
752
+
753
+ // some extra casts to be more verbose about what is happening.
754
+ // We want the exponent to use only 16bits so that the remaining 16 bits
755
+ // are used for the most significant bits of the mantissa and the sign bit.
756
+ // casting to unsigned 16bits first ensures that the value after the cast is
757
+ // defined to be UINT16_MAX - |exponent| when the exponent is negative.
758
+ // casting the exponent to a uint32_t directly would give wrong promotion
759
+ // of negative exponents as UINT32_MAX - |exponent| and take up to many bits
760
+ // or possibly lose information after the 16 bit shift. For the mantissa we
761
+ // take the 15 most significant bits, even though we could squeeze out a few
762
+ // more of the exponent. We don't need more bits as this would make the
763
+ // buckets very small and might miss more values that are equal within
764
+ // epsilon. Therefore the most significant 15 bits of the mantissa and the
765
+ // sign is encoded in the 16 lower bits of the hashcode and the upper 16bits
766
+ // encode the sign and value of the exponent.
767
+ u32 hashvalue = (u32)(u16)(i16)exponent;
768
+ hashvalue = (hashvalue << 16) | (u32)(u16)(i16)std::ldexp(hashbits, 15);
769
+
770
+ return hashvalue;
771
+ }
772
+ };
773
+
774
+ struct HighsHasher {
775
+ template <typename T>
776
+ size_t operator()(const T& x) const {
777
+ return HighsHashHelpers::hash(x);
778
+ }
779
+ };
780
+
781
+ struct HighsVectorHasher {
782
+ template <typename T>
783
+ size_t operator()(const std::vector<T>& vec) const {
784
+ return HighsHashHelpers::vector_hash(vec.data(), vec.size());
785
+ }
786
+ };
787
+
788
+ struct HighsVectorEqual {
789
+ template <typename T>
790
+ bool operator()(const std::vector<T>& vec1,
791
+ const std::vector<T>& vec2) const {
792
+ if (vec1.size() != vec2.size()) return false;
793
+ return std::equal(vec1.begin(), vec1.end(), vec2.begin());
794
+ }
795
+ };
796
+
797
+ template <typename K, typename V = void>
798
+ struct HighsHashTableEntry {
799
+ private:
800
+ K key_;
801
+ V value_;
802
+
803
+ public:
804
+ HighsHashTableEntry(HighsHashTableEntry<K, V>&&) = default;
805
+ HighsHashTableEntry(const HighsHashTableEntry<K, V>&) = default;
806
+ ~HighsHashTableEntry() = default;
807
+ HighsHashTableEntry() = default;
808
+ HighsHashTableEntry<K, V>& operator=(HighsHashTableEntry<K, V>&&) = default;
809
+ HighsHashTableEntry<K, V>& operator=(const HighsHashTableEntry<K, V>&) =
810
+ default;
811
+
812
+ // add a constructor to pass an argument to initialize the key with a value
813
+ // and the value as default
814
+ // the enable if statement makes sure this overload is never selected
815
+ // when the type of the single argument is HighsHashTableEntry<K,V> so that
816
+ // the default move and copy constructures are preferred when they match
817
+ // and this is only used to initialize the key type from a single argument.
818
+ template <
819
+ typename K_,
820
+ typename std::enable_if<
821
+ !std::is_same<typename std::remove_cv<
822
+ typename std::remove_reference<K_>::type>::type,
823
+ HighsHashTableEntry<K, V>>::value,
824
+ int>::type = 0>
825
+ HighsHashTableEntry(K_&& k) : key_(std::forward<K_>(k)), value_() {}
826
+
827
+ template <typename K_, typename V_>
828
+ HighsHashTableEntry(K_&& k, V_&& v)
829
+ : key_(std::forward<K_>(k)), value_(std::forward<V_>(v)) {}
830
+
831
+ const K& key() const { return key_; }
832
+ const V& value() const { return value_; }
833
+ V& value() { return value_; }
834
+
835
+ template <typename Func>
836
+ auto forward(Func&& f) -> decltype(f(key_, value_)) {
837
+ const K& keyRef = key_;
838
+ return f(keyRef, value_);
839
+ }
840
+
841
+ template <typename Func>
842
+ auto forward(Func&& f) const -> decltype(f(key_)) {
843
+ const K& keyRef = key_;
844
+ return f(keyRef);
845
+ }
846
+
847
+ template <typename Func>
848
+ auto forward(Func&& f) const -> decltype(f(key_, value_)) {
849
+ return f(key_, value_);
850
+ }
851
+ };
852
+
853
+ template <typename T>
854
+ struct HighsHashTableEntry<T, void> {
855
+ private:
856
+ T value_;
857
+
858
+ public:
859
+ HighsHashTableEntry(HighsHashTableEntry<T, void>&&) = default;
860
+ HighsHashTableEntry(const HighsHashTableEntry<T, void>&) = default;
861
+ ~HighsHashTableEntry() = default;
862
+ HighsHashTableEntry() = default;
863
+ HighsHashTableEntry<T, void>& operator=(HighsHashTableEntry<T, void>&&) =
864
+ default;
865
+ HighsHashTableEntry<T, void>& operator=(const HighsHashTableEntry<T, void>&) =
866
+ default;
867
+
868
+ // Add a constructor to accept an arbitrary argument pack for initialize the
869
+ // underlying value of type T. The enable if statement makes sure this
870
+ // overload is never selected when the type of the single argument is
871
+ // HighsHashTableEntry<T,void> so that the default move and copy constructures
872
+ // are preferred when they match and this is only used to initialize the value
873
+ // of type from a set of arguments which are properly forwarded.
874
+ // The std::tuple usage in enable_if is a work-around to make the statement
875
+ // legal when multiple arguments are passed in, since std::is_same expects a
876
+ // single type. In that case is_same will obviously return false and the
877
+ // overload is appropriate to initialize the value_ with multiple forwarded
878
+ // arguments.
879
+ template <typename... Args,
880
+ typename std::enable_if<
881
+ !std::is_same<
882
+ std::tuple<typename std::remove_cv<
883
+ typename std::remove_reference<Args>::type>::type...>,
884
+ std::tuple<HighsHashTableEntry<T, void>>>::value,
885
+ int>::type = 0>
886
+ HighsHashTableEntry(Args&&... args) : value_(std::forward<Args>(args)...) {}
887
+
888
+ const T& key() const { return value_; }
889
+ const T& value() const { return value_; }
890
+
891
+ template <typename Func>
892
+ auto forward(Func&& f) -> decltype(f(value_)) {
893
+ return f(value_);
894
+ }
895
+
896
+ template <typename Func>
897
+ auto forward(Func&& f) const -> decltype(f(value_)) {
898
+ return f(value_);
899
+ }
900
+ };
901
+
902
+ template <typename K, typename V = void>
903
+ class HighsHashTable {
904
+ struct OpNewDeleter {
905
+ void operator()(void* ptr) { ::operator delete(ptr); }
906
+ };
907
+
908
+ public:
909
+ using u8 = std::uint8_t;
910
+ using i8 = std::int8_t;
911
+
912
+ using u16 = std::uint16_t;
913
+ using i16 = std::int16_t;
914
+
915
+ using u32 = std::uint32_t;
916
+ using i32 = std::int32_t;
917
+
918
+ using u64 = std::uint64_t;
919
+ using i64 = std::int64_t;
920
+
921
+ using Entry = HighsHashTableEntry<K, V>;
922
+ using KeyType = K;
923
+ using ValueType =
924
+ typename std::remove_reference<decltype(Entry().value())>::type;
925
+
926
+ std::unique_ptr<Entry, OpNewDeleter> entries;
927
+ std::unique_ptr<u8[]> metadata;
928
+ u64 tableSizeMask;
929
+ u64 numHashShift;
930
+ u64 numElements = 0;
931
+
932
+ template <typename IterType>
933
+ class HashTableIterator {
934
+ u8* pos;
935
+ u8* end;
936
+ Entry* entryEnd;
937
+
938
+ public:
939
+ using difference_type = std::ptrdiff_t;
940
+ using value_type = IterType;
941
+ using pointer = IterType*;
942
+ using reference = IterType&;
943
+ using iterator_category = std::forward_iterator_tag;
944
+ HashTableIterator(u8* pos_, u8* end_, Entry* entryEnd_)
945
+ : pos(pos_), end(end_), entryEnd(entryEnd_) {}
946
+ HashTableIterator() = default;
947
+
948
+ HashTableIterator<IterType> operator++(int) {
949
+ // postfix
950
+ HashTableIterator<IterType> oldpos = *this;
951
+ for (++pos; pos != end; ++pos)
952
+ if ((*pos) & 0x80u) break;
953
+
954
+ return oldpos;
955
+ }
956
+
957
+ HashTableIterator<IterType>& operator++() {
958
+ // prefix
959
+ for (++pos; pos != end; ++pos)
960
+ if ((*pos) & 0x80u) break;
961
+
962
+ return *this;
963
+ }
964
+
965
+ reference operator*() const { return *(entryEnd - (end - pos)); }
966
+ pointer operator->() const { return (entryEnd - (end - pos)); }
967
+ HashTableIterator<IterType> operator+(difference_type v) const {
968
+ for (difference_type k = 0; k != v; ++k) ++(*this);
969
+ }
970
+
971
+ bool operator==(const HashTableIterator<IterType>& rhs) const {
972
+ return pos == rhs.pos;
973
+ }
974
+ bool operator!=(const HashTableIterator<IterType>& rhs) const {
975
+ return pos != rhs.pos;
976
+ }
977
+ };
978
+
979
+ using const_iterator = HashTableIterator<const Entry>;
980
+ using iterator = HashTableIterator<Entry>;
981
+
982
+ HighsHashTable() { makeEmptyTable(128); }
983
+ HighsHashTable(u64 minCapacity) {
984
+ u64 initCapacity = u64{1} << (u64)std::ceil(
985
+ std::log2(std::max(128.0, 8 * minCapacity / 7.0)));
986
+ makeEmptyTable(initCapacity);
987
+ }
988
+
989
+ iterator end() {
990
+ u64 capacity = tableSizeMask + 1;
991
+ return iterator{metadata.get() + capacity, metadata.get() + capacity,
992
+ entries.get() + capacity};
993
+ };
994
+
995
+ const_iterator end() const {
996
+ u64 capacity = tableSizeMask + 1;
997
+ return const_iterator{metadata.get() + capacity, metadata.get() + capacity,
998
+ entries.get() + capacity};
999
+ };
1000
+
1001
+ const_iterator begin() const {
1002
+ if (numElements == 0) return end();
1003
+ u64 capacity = tableSizeMask + 1;
1004
+ const_iterator iter{metadata.get(), metadata.get() + capacity,
1005
+ entries.get() + capacity};
1006
+ if (!occupied(metadata[0])) ++iter;
1007
+
1008
+ return iter;
1009
+ };
1010
+
1011
+ iterator begin() {
1012
+ if (numElements == 0) return end();
1013
+ u64 capacity = tableSizeMask + 1;
1014
+ iterator iter{metadata.get(), metadata.get() + capacity,
1015
+ entries.get() + capacity};
1016
+ if (!occupied(metadata[0])) ++iter;
1017
+
1018
+ return iter;
1019
+ };
1020
+
1021
+ private:
1022
+ u8 toMetadata(u64 hash) const { return (hash >> numHashShift) | 0x80u; }
1023
+
1024
+ static constexpr u64 maxDistance() { return 127; }
1025
+
1026
+ void makeEmptyTable(u64 capacity) {
1027
+ tableSizeMask = capacity - 1;
1028
+ numHashShift = 64 - HighsHashHelpers::log2i(capacity);
1029
+ assert(capacity == (u64{1} << (64 - numHashShift)));
1030
+ numElements = 0;
1031
+
1032
+ metadata = decltype(metadata)(new u8[capacity]{});
1033
+ entries =
1034
+ decltype(entries)((Entry*)::operator new(sizeof(Entry) * capacity));
1035
+ }
1036
+
1037
+ bool occupied(u8 meta) const { return meta & 0x80; }
1038
+
1039
+ u64 distanceFromIdealSlot(u64 pos) const {
1040
+ // we store 7 bits of the hash in the metadata. Assuming a decent
1041
+ // hashfunction it is practically never happening that an item travels more
1042
+ // than 127 slots from its ideal position, therefore, we can compute the
1043
+ // distance from the ideal position just as it would normally be done
1044
+ // assuming there is at most one overflow. Consider using 3 bits which gives
1045
+ // values from 0 to 7. When an item is at a position with lower bits 7 and
1046
+ // is placed 3 positions after its ideal position, the lower bits of the
1047
+ // hash value will overflow and yield the value 2. With the assumption that
1048
+ // an item never cycles through one full cycle of the range 0 to 7, its
1049
+ // position would never be placed in a position with lower bits 7 other than
1050
+ // its ideal position. This allows us to compute the distance from its ideal
1051
+ // position by simply ignoring an overflow. In our case the correct answer
1052
+ // would be 3, but we get (2 - 7)=-5. This, however, is the correct result 3
1053
+ // when promoting to an unsigned value and looking at the lower 3 bits.
1054
+
1055
+ return ((pos - metadata[pos])) & 0x7f;
1056
+ }
1057
+
1058
+ void growTable() {
1059
+ decltype(entries) oldEntries = std::move(entries);
1060
+ decltype(metadata) oldMetadata = std::move(metadata);
1061
+ u64 oldCapactiy = tableSizeMask + 1;
1062
+
1063
+ makeEmptyTable(2 * oldCapactiy);
1064
+
1065
+ for (u64 i = 0; i != oldCapactiy; ++i)
1066
+ if (occupied(oldMetadata[i])) insert(std::move(oldEntries.get()[i]));
1067
+ }
1068
+
1069
+ void shrinkTable() {
1070
+ decltype(entries) oldEntries = std::move(entries);
1071
+ decltype(metadata) oldMetadata = std::move(metadata);
1072
+ u64 oldCapactiy = tableSizeMask + 1;
1073
+
1074
+ makeEmptyTable(oldCapactiy / 2);
1075
+
1076
+ for (u64 i = 0; i != oldCapactiy; ++i)
1077
+ if (occupied(oldMetadata[i])) insert(std::move(oldEntries.get()[i]));
1078
+ }
1079
+
1080
+ bool findPosition(const KeyType& key, u8& meta, u64& startPos, u64& maxPos,
1081
+ u64& pos) const {
1082
+ u64 hash = HighsHashHelpers::hash(key);
1083
+ startPos = hash >> numHashShift;
1084
+ maxPos = (startPos + maxDistance()) & tableSizeMask;
1085
+ meta = toMetadata(hash);
1086
+
1087
+ const Entry* entryArray = entries.get();
1088
+ pos = startPos;
1089
+ do {
1090
+ if (!occupied(metadata[pos])) return false;
1091
+ if (metadata[pos] == meta &&
1092
+ HighsHashHelpers::equal(key, entryArray[pos].key()))
1093
+ return true;
1094
+
1095
+ u64 currentDistance = (pos - startPos) & tableSizeMask;
1096
+ if (currentDistance > distanceFromIdealSlot(pos)) return false;
1097
+
1098
+ pos = (pos + 1) & tableSizeMask;
1099
+ } while (pos != maxPos);
1100
+
1101
+ return false;
1102
+ }
1103
+
1104
+ public:
1105
+ void clear() {
1106
+ if (numElements) {
1107
+ u64 capacity = tableSizeMask + 1;
1108
+ if (!std::is_trivially_destructible<Entry>::value) {
1109
+ for (u64 i = 0; i < capacity; ++i)
1110
+ if (occupied(metadata[i])) entries.get()[i].~Entry();
1111
+ }
1112
+ if (capacity == 128) {
1113
+ std::memset(metadata.get(), 0, 128);
1114
+ numElements = 0;
1115
+ } else
1116
+ makeEmptyTable(128);
1117
+ }
1118
+ }
1119
+
1120
+ const ValueType* find(const KeyType& key) const {
1121
+ u64 pos, startPos, maxPos;
1122
+ u8 meta;
1123
+ if (findPosition(key, meta, startPos, maxPos, pos))
1124
+ return &(entries.get()[pos].value());
1125
+
1126
+ return nullptr;
1127
+ }
1128
+
1129
+ ValueType* find(const KeyType& key) {
1130
+ u64 pos, startPos, maxPos;
1131
+ u8 meta;
1132
+ if (findPosition(key, meta, startPos, maxPos, pos))
1133
+ return &(entries.get()[pos].value());
1134
+
1135
+ return nullptr;
1136
+ }
1137
+
1138
+ ValueType& operator[](const KeyType& key) {
1139
+ Entry* entryArray = entries.get();
1140
+ u64 pos, startPos, maxPos;
1141
+ u8 meta;
1142
+ if (findPosition(key, meta, startPos, maxPos, pos))
1143
+ return entryArray[pos].value();
1144
+
1145
+ if (numElements == ((tableSizeMask + 1) * 7) / 8 || pos == maxPos) {
1146
+ growTable();
1147
+ return (*this)[key];
1148
+ }
1149
+
1150
+ using std::swap;
1151
+ ValueType& insertLocation = entryArray[pos].value();
1152
+ Entry entry(key);
1153
+ ++numElements;
1154
+
1155
+ do {
1156
+ if (!occupied(metadata[pos])) {
1157
+ metadata[pos] = meta;
1158
+ new (&entryArray[pos]) Entry{std::move(entry)};
1159
+ return insertLocation;
1160
+ }
1161
+
1162
+ u64 currentDistance = (pos - startPos) & tableSizeMask;
1163
+ u64 distanceOfCurrentOccupant = distanceFromIdealSlot(pos);
1164
+ if (currentDistance > distanceOfCurrentOccupant) {
1165
+ // steal the position
1166
+ swap(entry, entryArray[pos]);
1167
+ swap(meta, metadata[pos]);
1168
+
1169
+ startPos = (pos - distanceOfCurrentOccupant) & tableSizeMask;
1170
+ maxPos = (startPos + maxDistance()) & tableSizeMask;
1171
+ }
1172
+ pos = (pos + 1) & tableSizeMask;
1173
+ } while (pos != maxPos);
1174
+
1175
+ growTable();
1176
+ insert(std::move(entry));
1177
+ return (*this)[key];
1178
+ }
1179
+
1180
+ template <typename... Args>
1181
+ bool insert(Args&&... args) {
1182
+ Entry entry(std::forward<Args>(args)...);
1183
+
1184
+ u64 pos, startPos, maxPos;
1185
+ u8 meta;
1186
+ if (findPosition(entry.key(), meta, startPos, maxPos, pos)) return false;
1187
+
1188
+ if (numElements == ((tableSizeMask + 1) * 7) / 8 || pos == maxPos) {
1189
+ growTable();
1190
+ return insert(std::move(entry));
1191
+ }
1192
+
1193
+ using std::swap;
1194
+ Entry* entryArray = entries.get();
1195
+ ++numElements;
1196
+
1197
+ do {
1198
+ if (!occupied(metadata[pos])) {
1199
+ metadata[pos] = meta;
1200
+ new (&entryArray[pos]) Entry{std::move(entry)};
1201
+ return true;
1202
+ }
1203
+
1204
+ u64 currentDistance = (pos - startPos) & tableSizeMask;
1205
+ u64 distanceOfCurrentOccupant = distanceFromIdealSlot(pos);
1206
+ if (currentDistance > distanceOfCurrentOccupant) {
1207
+ // steal the position
1208
+ swap(entry, entryArray[pos]);
1209
+ swap(meta, metadata[pos]);
1210
+
1211
+ startPos = (pos - distanceOfCurrentOccupant) & tableSizeMask;
1212
+ maxPos = (startPos + maxDistance()) & tableSizeMask;
1213
+ }
1214
+ pos = (pos + 1) & tableSizeMask;
1215
+ } while (pos != maxPos);
1216
+
1217
+ growTable();
1218
+ insert(std::move(entry));
1219
+ return true;
1220
+ }
1221
+
1222
+ bool erase(const KeyType& key) {
1223
+ u64 pos, startPos, maxPos;
1224
+ u8 meta;
1225
+ if (!findPosition(key, meta, startPos, maxPos, pos)) return false;
1226
+ // delete element at position pos
1227
+ Entry* entryArray = entries.get();
1228
+ entryArray[pos].~Entry();
1229
+ metadata[pos] = 0;
1230
+
1231
+ // retain at least a quarter of slots occupied, otherwise shrink the table
1232
+ // if its not at its minimum size already
1233
+ --numElements;
1234
+ u64 capacity = tableSizeMask + 1;
1235
+ if (capacity != 128 && numElements < capacity / 4) {
1236
+ shrinkTable();
1237
+ return true;
1238
+ }
1239
+
1240
+ // shift elements after pos backwards
1241
+ while (true) {
1242
+ u64 shift = (pos + 1) & tableSizeMask;
1243
+ if (!occupied(metadata[shift])) return true;
1244
+
1245
+ u64 dist = distanceFromIdealSlot(shift);
1246
+ if (dist == 0) return true;
1247
+
1248
+ entryArray[pos] = std::move(entryArray[shift]);
1249
+ metadata[pos] = metadata[shift];
1250
+ metadata[shift] = 0;
1251
+ pos = shift;
1252
+ }
1253
+ }
1254
+
1255
+ i64 size() const { return numElements; }
1256
+
1257
+ HighsHashTable(HighsHashTable<K, V>&&) = default;
1258
+ HighsHashTable<K, V>& operator=(HighsHashTable<K, V>&&) = default;
1259
+
1260
+ ~HighsHashTable() {
1261
+ if (!std::is_trivially_destructible<Entry>::value && metadata) {
1262
+ u64 capacity = tableSizeMask + 1;
1263
+ for (u64 i = 0; i < capacity; ++i) {
1264
+ if (occupied(metadata[i])) entries.get()[i].~Entry();
1265
+ }
1266
+ }
1267
+ }
1268
+ };
1269
+
1270
+ #endif