casadi 3.6.4__cp38-none-manylinux2014_i686.whl → 3.6.6__cp38-none-manylinux2014_i686.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (494) hide show
  1. casadi/_casadi.so +0 -0
  2. casadi/casadi.py +984 -500
  3. casadi/cbc +0 -0
  4. casadi/clp +0 -0
  5. casadi/cmake/casadi-config-version.cmake +1 -1
  6. casadi/cmake/highs/highs-config.cmake +6 -13
  7. casadi/cmake/highs/highs-targets-release.cmake +13 -13
  8. casadi/cmake/highs/highs-targets.cmake +13 -10
  9. casadi/highs +0 -0
  10. casadi/include/casadi/casadi.i +33 -15
  11. casadi/include/casadi/casadi_c.h +2 -0
  12. casadi/include/casadi/config.h +8 -8
  13. casadi/include/casadi/core/casadi_common.hpp +1 -0
  14. casadi/include/casadi/core/casadi_misc.hpp +13 -0
  15. casadi/include/casadi/core/casadi_types.hpp +3 -2
  16. casadi/include/casadi/core/code_generator.hpp +59 -2
  17. casadi/include/casadi/core/core.hpp +1 -0
  18. casadi/include/casadi/core/generic_expression.hpp +1 -1
  19. casadi/include/casadi/core/generic_type.hpp +25 -1
  20. casadi/include/casadi/core/global_options.hpp +2 -0
  21. casadi/include/casadi/core/matrix_decl.hpp +15 -0
  22. casadi/include/casadi/core/mx.hpp +13 -3
  23. casadi/include/casadi/core/optistack.hpp +23 -0
  24. casadi/include/casadi/core/runtime/casadi_nlp.hpp +133 -6
  25. casadi/include/casadi/core/runtime/casadi_ocp_block.hpp +55 -0
  26. casadi/include/casadi/core/runtime/casadi_oracle.hpp +44 -0
  27. casadi/include/casadi/core/runtime/casadi_oracle_callback.hpp +39 -0
  28. casadi/include/casadi/core/runtime/casadi_runtime.hpp +4 -1
  29. casadi/include/casadi/core/runtime/casadi_scaled_copy.hpp +31 -0
  30. casadi/include/casadi/core/runtime/casadi_sqpmethod.hpp +11 -1
  31. casadi/include/casadi/core/serializing_stream.hpp +2 -2
  32. casadi/include/casadi/core/sparsity.hpp +12 -3
  33. casadi/include/casadi/core/tools.hpp +67 -0
  34. casadi/include/casadi/doc.i +2283 -1491
  35. casadi/include/casadi/doc_merged.i +1522 -1065
  36. casadi/include/casadi/mem.h +1 -0
  37. casadi/include/coin-or/IpAlgBuilder.hpp +417 -0
  38. casadi/include/coin-or/IpAlgStrategy.hpp +201 -0
  39. casadi/include/coin-or/IpAlgTypes.hpp +64 -0
  40. casadi/include/coin-or/IpAugSystemSolver.hpp +212 -0
  41. casadi/include/coin-or/IpBlas.hpp +426 -0
  42. casadi/include/coin-or/IpCachedResults.hpp +897 -0
  43. casadi/include/coin-or/IpCompoundMatrix.hpp +423 -0
  44. casadi/include/coin-or/IpCompoundSymMatrix.hpp +348 -0
  45. casadi/include/coin-or/IpCompoundVector.hpp +395 -0
  46. casadi/include/coin-or/IpConvCheck.hpp +97 -0
  47. casadi/include/coin-or/IpDebug.hpp +167 -0
  48. casadi/include/coin-or/IpDenseVector.hpp +626 -0
  49. casadi/include/coin-or/IpDiagMatrix.hpp +158 -0
  50. casadi/include/coin-or/IpEqMultCalculator.hpp +76 -0
  51. casadi/include/coin-or/IpException.hpp +156 -0
  52. casadi/include/coin-or/IpExpansionMatrix.hpp +245 -0
  53. casadi/include/coin-or/IpGenTMatrix.hpp +290 -0
  54. casadi/include/coin-or/IpHessianUpdater.hpp +73 -0
  55. casadi/include/coin-or/IpIdentityMatrix.hpp +167 -0
  56. casadi/include/coin-or/IpIpoptAlg.hpp +257 -0
  57. casadi/include/coin-or/IpIpoptApplication.hpp +367 -0
  58. casadi/include/coin-or/IpIpoptCalculatedQuantities.hpp +1009 -0
  59. casadi/include/coin-or/IpIpoptData.hpp +966 -0
  60. casadi/include/coin-or/IpIpoptNLP.hpp +328 -0
  61. casadi/include/coin-or/IpIterateInitializer.hpp +68 -0
  62. casadi/include/coin-or/IpIteratesVector.hpp +840 -0
  63. casadi/include/coin-or/IpIterationOutput.hpp +78 -0
  64. casadi/include/coin-or/IpJournalist.hpp +573 -0
  65. casadi/include/coin-or/IpLapack.hpp +227 -0
  66. casadi/include/coin-or/IpLibraryLoader.hpp +76 -0
  67. casadi/include/coin-or/IpLineSearch.hpp +106 -0
  68. casadi/include/coin-or/IpLinearSolvers.h +46 -0
  69. casadi/include/coin-or/IpMatrix.hpp +434 -0
  70. casadi/include/coin-or/IpMuUpdate.hpp +77 -0
  71. casadi/include/coin-or/IpNLP.hpp +306 -0
  72. casadi/include/coin-or/IpNLPScaling.hpp +582 -0
  73. casadi/include/coin-or/IpObserver.hpp +422 -0
  74. casadi/include/coin-or/IpOptionsList.hpp +412 -0
  75. casadi/include/coin-or/IpOrigIpoptNLP.hpp +603 -0
  76. casadi/include/coin-or/IpPDSystemSolver.hpp +137 -0
  77. casadi/include/coin-or/IpReferenced.hpp +262 -0
  78. casadi/include/coin-or/IpRegOptions.hpp +1152 -0
  79. casadi/include/coin-or/IpReturnCodes.h +23 -0
  80. casadi/include/coin-or/IpReturnCodes.hpp +18 -0
  81. casadi/include/coin-or/IpReturnCodes.inc +71 -0
  82. casadi/include/coin-or/IpReturnCodes_inc.h +45 -0
  83. casadi/include/coin-or/IpScaledMatrix.hpp +291 -0
  84. casadi/include/coin-or/IpSearchDirCalculator.hpp +72 -0
  85. casadi/include/coin-or/IpSmartPtr.hpp +865 -0
  86. casadi/include/coin-or/IpSolveStatistics.hpp +210 -0
  87. casadi/include/coin-or/IpSparseSymLinearSolverInterface.hpp +260 -0
  88. casadi/include/coin-or/IpStdAugSystemSolver.cpp +555 -0
  89. casadi/include/coin-or/IpStdCInterface.h +428 -0
  90. casadi/include/coin-or/IpSumSymMatrix.hpp +186 -0
  91. casadi/include/coin-or/IpSymLinearSolver.hpp +141 -0
  92. casadi/include/coin-or/IpSymMatrix.hpp +167 -0
  93. casadi/include/coin-or/IpSymScaledMatrix.hpp +255 -0
  94. casadi/include/coin-or/IpSymTMatrix.hpp +275 -0
  95. casadi/include/coin-or/IpTNLP.hpp +820 -0
  96. casadi/include/coin-or/IpTNLPAdapter.hpp +648 -0
  97. casadi/include/coin-or/IpTNLPReducer.hpp +274 -0
  98. casadi/include/coin-or/IpTaggedObject.hpp +128 -0
  99. casadi/include/coin-or/IpTimedTask.hpp +218 -0
  100. casadi/include/coin-or/IpTimingStatistics.hpp +323 -0
  101. casadi/include/coin-or/IpTripletHelper.hpp +308 -0
  102. casadi/include/coin-or/IpTypes.h +81 -0
  103. casadi/include/coin-or/IpTypes.hpp +30 -0
  104. casadi/include/coin-or/IpUtils.hpp +166 -0
  105. casadi/include/coin-or/IpVector.hpp +892 -0
  106. casadi/include/coin-or/IpZeroSymMatrix.hpp +155 -0
  107. casadi/include/coin-or/IpoptConfig.h +45 -0
  108. casadi/include/coin-or/SensAlgorithm.hpp +114 -0
  109. casadi/include/coin-or/SensApplication.hpp +188 -0
  110. casadi/include/coin-or/SensBacksolver.hpp +36 -0
  111. casadi/include/coin-or/SensMeasurement.hpp +56 -0
  112. casadi/include/coin-or/SensPCalculator.hpp +137 -0
  113. casadi/include/coin-or/SensRegOp.hpp +21 -0
  114. casadi/include/coin-or/SensSchurData.hpp +182 -0
  115. casadi/include/coin-or/SensSchurDriver.hpp +118 -0
  116. casadi/include/coin-or/SensSimpleBacksolver.hpp +49 -0
  117. casadi/include/coin-or/SensStepCalc.hpp +85 -0
  118. casadi/include/coin-or/SensUtils.hpp +63 -0
  119. casadi/include/coin-or/metis/defs.h +161 -0
  120. casadi/include/coin-or/metis/macros.h +143 -0
  121. casadi/include/coin-or/metis/metis.h +37 -0
  122. casadi/include/coin-or/metis/proto.h +505 -0
  123. casadi/include/coin-or/metis/rename.h +418 -0
  124. casadi/include/coin-or/metis/struct.h +251 -0
  125. casadi/include/coin-or/mumps/dmumps_c.h +142 -0
  126. casadi/include/coin-or/mumps/mumps_c_types.h +72 -0
  127. casadi/include/coin-or/mumps/mumps_compat.h +27 -0
  128. casadi/include/coin-or/mumps/mumps_int_def.h +11 -0
  129. casadi/include/coin-or/mumps/mumps_mpi.h +67 -0
  130. casadi/include/daqp/api.h +46 -0
  131. casadi/include/daqp/auxiliary.h +29 -0
  132. casadi/include/daqp/bnb.h +32 -0
  133. casadi/include/daqp/codegen.h +18 -0
  134. casadi/include/daqp/constants.h +92 -0
  135. casadi/include/daqp/daqp.h +22 -0
  136. casadi/include/daqp/daqp_prox.h +18 -0
  137. casadi/include/daqp/factorization.h +18 -0
  138. casadi/include/daqp/types.h +161 -0
  139. casadi/include/daqp/utils.h +44 -0
  140. casadi/include/highs/HConfig.h +6 -5
  141. casadi/include/highs/Highs.h +93 -23
  142. casadi/include/highs/filereaderlp/def.hpp +19 -0
  143. casadi/include/highs/interfaces/highs_c_api.h +200 -24
  144. casadi/include/highs/io/Filereader.h +1 -1
  145. casadi/include/highs/io/FilereaderEms.h +1 -1
  146. casadi/include/highs/io/FilereaderLp.h +1 -1
  147. casadi/include/highs/io/FilereaderMps.h +1 -1
  148. casadi/include/highs/io/HMPSIO.h +1 -1
  149. casadi/include/highs/io/HMpsFF.h +5 -3
  150. casadi/include/highs/io/HighsIO.h +18 -8
  151. casadi/include/highs/io/LoadOptions.h +1 -1
  152. casadi/include/highs/ipm/IpxSolution.h +35 -0
  153. casadi/include/highs/ipm/IpxWrapper.h +1 -1
  154. casadi/include/highs/ipm/basiclu/basiclu.h +161 -0
  155. casadi/include/highs/ipm/basiclu/basiclu_factorize.h +247 -0
  156. casadi/include/highs/ipm/basiclu/basiclu_get_factors.h +108 -0
  157. casadi/include/highs/ipm/basiclu/basiclu_initialize.h +119 -0
  158. casadi/include/highs/ipm/basiclu/basiclu_obj_factorize.h +34 -0
  159. casadi/include/highs/ipm/basiclu/basiclu_obj_free.h +19 -0
  160. casadi/include/highs/ipm/basiclu/basiclu_obj_get_factors.h +34 -0
  161. casadi/include/highs/ipm/basiclu/basiclu_obj_initialize.h +46 -0
  162. casadi/include/highs/ipm/basiclu/basiclu_obj_solve_dense.h +29 -0
  163. casadi/include/highs/ipm/basiclu/basiclu_obj_solve_for_update.h +42 -0
  164. casadi/include/highs/ipm/basiclu/basiclu_obj_solve_sparse.h +32 -0
  165. casadi/include/highs/ipm/basiclu/basiclu_obj_update.h +31 -0
  166. casadi/include/highs/ipm/basiclu/basiclu_object.h +30 -0
  167. casadi/include/highs/ipm/basiclu/basiclu_solve_dense.h +75 -0
  168. casadi/include/highs/ipm/basiclu/basiclu_solve_for_update.h +169 -0
  169. casadi/include/highs/ipm/basiclu/basiclu_solve_sparse.h +112 -0
  170. casadi/include/highs/ipm/basiclu/basiclu_update.h +125 -0
  171. casadi/include/highs/ipm/basiclu/lu_def.h +39 -0
  172. casadi/include/highs/ipm/basiclu/lu_file.h +21 -0
  173. casadi/include/highs/ipm/basiclu/lu_internal.h +220 -0
  174. casadi/include/highs/ipm/basiclu/lu_list.h +168 -0
  175. casadi/include/highs/ipm/ipx/basiclu_kernel.h +20 -0
  176. casadi/include/highs/ipm/ipx/basiclu_wrapper.h +47 -0
  177. casadi/include/highs/ipm/ipx/basis.h +351 -0
  178. casadi/include/highs/ipm/ipx/conjugate_residuals.h +74 -0
  179. casadi/include/highs/ipm/ipx/control.h +163 -0
  180. casadi/include/highs/ipm/ipx/crossover.h +157 -0
  181. casadi/include/highs/ipm/ipx/diagonal_precond.h +45 -0
  182. casadi/include/highs/ipm/ipx/forrest_tomlin.h +102 -0
  183. casadi/include/highs/ipm/ipx/guess_basis.h +21 -0
  184. casadi/include/highs/ipm/ipx/indexed_vector.h +113 -0
  185. casadi/include/highs/ipm/ipx/info.h +27 -0
  186. casadi/include/highs/ipm/ipx/ipm.h +94 -0
  187. casadi/include/highs/ipm/ipx/ipx_c.h +47 -0
  188. casadi/include/highs/ipm/ipx/ipx_config.h +9 -0
  189. casadi/include/highs/ipm/ipx/ipx_info.h +111 -0
  190. casadi/include/highs/ipm/ipx/ipx_internal.h +88 -0
  191. casadi/include/highs/ipm/ipx/ipx_parameters.h +75 -0
  192. casadi/include/highs/ipm/ipx/ipx_status.h +57 -0
  193. casadi/include/highs/ipm/ipx/iterate.h +328 -0
  194. casadi/include/highs/ipm/ipx/kkt_solver.h +70 -0
  195. casadi/include/highs/ipm/ipx/kkt_solver_basis.h +66 -0
  196. casadi/include/highs/ipm/ipx/kkt_solver_diag.h +48 -0
  197. casadi/include/highs/ipm/ipx/linear_operator.h +26 -0
  198. casadi/include/highs/ipm/ipx/lp_solver.h +201 -0
  199. casadi/include/highs/ipm/ipx/lu_factorization.h +79 -0
  200. casadi/include/highs/ipm/ipx/lu_update.h +129 -0
  201. casadi/include/highs/ipm/ipx/maxvolume.h +54 -0
  202. casadi/include/highs/ipm/ipx/model.h +409 -0
  203. casadi/include/highs/ipm/ipx/multistream.h +52 -0
  204. casadi/include/highs/ipm/ipx/normal_matrix.h +44 -0
  205. casadi/include/highs/ipm/ipx/power_method.h +44 -0
  206. casadi/include/highs/ipm/ipx/sparse_matrix.h +195 -0
  207. casadi/include/highs/ipm/ipx/sparse_utils.h +58 -0
  208. casadi/include/highs/ipm/ipx/splitted_normal_matrix.h +63 -0
  209. casadi/include/highs/ipm/ipx/starting_basis.h +39 -0
  210. casadi/include/highs/ipm/ipx/symbolic_invert.h +29 -0
  211. casadi/include/highs/ipm/ipx/timer.h +24 -0
  212. casadi/include/highs/ipm/ipx/utils.h +39 -0
  213. casadi/include/highs/lp_data/HConst.h +20 -10
  214. casadi/include/highs/lp_data/HStruct.h +23 -1
  215. casadi/include/highs/lp_data/HighsAnalysis.h +1 -1
  216. casadi/include/highs/lp_data/HighsCallback.h +10 -3
  217. casadi/include/highs/lp_data/HighsCallbackStruct.h +31 -5
  218. casadi/include/highs/lp_data/HighsDebug.h +1 -1
  219. casadi/include/highs/lp_data/HighsInfo.h +20 -2
  220. casadi/include/highs/lp_data/HighsInfoDebug.h +1 -1
  221. casadi/include/highs/lp_data/HighsLp.h +17 -1
  222. casadi/include/highs/lp_data/HighsLpSolverObject.h +1 -1
  223. casadi/include/highs/lp_data/HighsLpUtils.h +19 -19
  224. casadi/include/highs/lp_data/HighsModelUtils.h +1 -1
  225. casadi/include/highs/lp_data/HighsOptions.h +237 -10
  226. casadi/include/highs/lp_data/HighsRanging.h +1 -1
  227. casadi/include/highs/lp_data/HighsRuntimeOptions.h +2 -2
  228. casadi/include/highs/lp_data/HighsSolution.h +2 -2
  229. casadi/include/highs/lp_data/HighsSolutionDebug.h +1 -1
  230. casadi/include/highs/lp_data/HighsSolve.h +3 -1
  231. casadi/include/highs/lp_data/HighsStatus.h +1 -1
  232. casadi/include/highs/mip/HighsCliqueTable.h +4 -4
  233. casadi/include/highs/mip/HighsConflictPool.h +1 -1
  234. casadi/include/highs/mip/HighsCutGeneration.h +1 -1
  235. casadi/include/highs/mip/HighsCutPool.h +2 -2
  236. casadi/include/highs/mip/HighsDebugSol.h +22 -29
  237. casadi/include/highs/mip/HighsDomain.h +10 -2
  238. casadi/include/highs/mip/HighsDomainChange.h +1 -1
  239. casadi/include/highs/mip/HighsDynamicRowMatrix.h +5 -3
  240. casadi/include/highs/mip/HighsGFkSolve.h +3 -3
  241. casadi/include/highs/mip/HighsImplications.h +3 -3
  242. casadi/include/highs/mip/HighsLpAggregator.h +1 -1
  243. casadi/include/highs/mip/HighsLpRelaxation.h +6 -1
  244. casadi/include/highs/mip/HighsMipSolver.h +4 -2
  245. casadi/include/highs/mip/HighsMipSolverData.h +47 -4
  246. casadi/include/highs/mip/HighsModkSeparator.h +2 -2
  247. casadi/include/highs/mip/HighsNodeQueue.h +5 -3
  248. casadi/include/highs/mip/HighsObjectiveFunction.h +1 -1
  249. casadi/include/highs/mip/HighsPathSeparator.h +2 -2
  250. casadi/include/highs/mip/HighsPrimalHeuristics.h +1 -1
  251. casadi/include/highs/mip/HighsPseudocost.h +35 -23
  252. casadi/include/highs/mip/HighsRedcostFixing.h +1 -1
  253. casadi/include/highs/mip/HighsSearch.h +2 -1
  254. casadi/include/highs/mip/HighsSeparation.h +1 -1
  255. casadi/include/highs/mip/HighsSeparator.h +1 -1
  256. casadi/include/highs/mip/HighsTableauSeparator.h +1 -1
  257. casadi/include/highs/mip/HighsTransformedLp.h +1 -1
  258. casadi/include/highs/model/HighsHessian.h +5 -0
  259. casadi/include/highs/model/HighsHessianUtils.h +2 -0
  260. casadi/include/highs/model/HighsModel.h +10 -1
  261. casadi/include/highs/parallel/HighsMutex.h +2 -1
  262. casadi/include/highs/parallel/HighsParallel.h +7 -2
  263. casadi/include/highs/parallel/HighsTask.h +1 -2
  264. casadi/include/highs/pdlp/CupdlpWrapper.h +93 -0
  265. casadi/include/highs/pdlp/cupdlp/cupdlp_cs.h +41 -0
  266. casadi/include/highs/pdlp/cupdlp/cupdlp_defs.h +423 -0
  267. casadi/include/highs/pdlp/cupdlp/cupdlp_linalg.h +183 -0
  268. casadi/include/highs/pdlp/cupdlp/cupdlp_proj.h +19 -0
  269. casadi/include/highs/pdlp/cupdlp/cupdlp_restart.h +31 -0
  270. casadi/include/highs/pdlp/cupdlp/cupdlp_scaling_cuda.h +28 -0
  271. casadi/include/highs/pdlp/cupdlp/cupdlp_solver.h +98 -0
  272. casadi/include/highs/pdlp/cupdlp/cupdlp_step.h +33 -0
  273. casadi/include/highs/pdlp/cupdlp/cupdlp_utils.c +1726 -0
  274. casadi/include/highs/pdqsort/pdqsort.h +532 -0
  275. casadi/include/highs/presolve/HPresolve.h +27 -14
  276. casadi/include/highs/presolve/HPresolveAnalysis.h +1 -1
  277. casadi/include/highs/presolve/HighsPostsolveStack.h +92 -68
  278. casadi/include/highs/presolve/HighsSymmetry.h +6 -5
  279. casadi/include/highs/presolve/ICrash.h +8 -2
  280. casadi/include/highs/presolve/ICrashUtil.h +1 -1
  281. casadi/include/highs/presolve/ICrashX.h +1 -1
  282. casadi/include/highs/presolve/PresolveComponent.h +1 -1
  283. casadi/include/highs/qpsolver/a_asm.hpp +23 -12
  284. casadi/include/highs/qpsolver/a_quass.hpp +8 -1
  285. casadi/include/highs/qpsolver/basis.hpp +150 -0
  286. casadi/include/highs/qpsolver/crashsolution.hpp +12 -0
  287. casadi/include/highs/qpsolver/dantzigpricing.hpp +72 -0
  288. casadi/include/highs/qpsolver/devexpricing.hpp +99 -0
  289. casadi/include/highs/qpsolver/eventhandler.hpp +23 -0
  290. casadi/include/highs/qpsolver/factor.hpp +400 -0
  291. casadi/include/highs/qpsolver/feasibility_bounded.hpp +105 -0
  292. casadi/include/highs/qpsolver/feasibility_highs.hpp +270 -0
  293. casadi/include/highs/qpsolver/gradient.hpp +39 -0
  294. casadi/include/highs/qpsolver/instance.hpp +63 -0
  295. casadi/include/highs/qpsolver/matrix.hpp +335 -0
  296. casadi/include/highs/qpsolver/pricing.hpp +15 -0
  297. casadi/include/highs/qpsolver/qpconst.hpp +27 -0
  298. casadi/include/highs/qpsolver/{vector.hpp → qpvector.hpp} +25 -25
  299. casadi/include/highs/qpsolver/quass.hpp +1 -1
  300. casadi/include/highs/qpsolver/ratiotest.hpp +19 -0
  301. casadi/include/highs/qpsolver/runtime.hpp +38 -0
  302. casadi/include/highs/qpsolver/settings.hpp +57 -0
  303. casadi/include/highs/qpsolver/snippets.hpp +29 -0
  304. casadi/include/highs/qpsolver/statistics.hpp +23 -0
  305. casadi/include/highs/qpsolver/steepestedgepricing.hpp +167 -0
  306. casadi/include/highs/simplex/HApp.h +1 -1
  307. casadi/include/highs/simplex/HEkk.h +52 -18
  308. casadi/include/highs/simplex/HEkkDual.h +1 -1
  309. casadi/include/highs/simplex/HEkkDualRHS.h +6 -7
  310. casadi/include/highs/simplex/HEkkDualRow.h +2 -2
  311. casadi/include/highs/simplex/HEkkPrimal.h +6 -1
  312. casadi/include/highs/simplex/HSimplex.h +1 -3
  313. casadi/include/highs/simplex/HSimplexDebug.h +1 -1
  314. casadi/include/highs/simplex/HSimplexNla.h +1 -1
  315. casadi/include/highs/simplex/HSimplexReport.h +1 -1
  316. casadi/include/highs/simplex/HighsSimplexAnalysis.h +228 -100
  317. casadi/include/highs/simplex/SimplexConst.h +1 -1
  318. casadi/include/highs/simplex/SimplexStruct.h +2 -2
  319. casadi/include/highs/simplex/SimplexTimer.h +1 -1
  320. casadi/include/highs/test/DevKkt.h +1 -1
  321. casadi/include/highs/test/KktCh2.h +1 -1
  322. casadi/include/highs/util/FactorTimer.h +1 -1
  323. casadi/include/highs/util/HFactor.h +35 -6
  324. casadi/include/highs/util/HFactorConst.h +1 -1
  325. casadi/include/highs/util/HFactorDebug.h +1 -1
  326. casadi/include/highs/util/HSet.h +1 -1
  327. casadi/include/highs/util/HVector.h +1 -1
  328. casadi/include/highs/util/HVectorBase.h +1 -1
  329. casadi/include/highs/util/HighsCDouble.h +3 -3
  330. casadi/include/highs/util/HighsComponent.h +1 -1
  331. casadi/include/highs/util/HighsDataStack.h +4 -4
  332. casadi/include/highs/util/HighsDisjointSets.h +1 -1
  333. casadi/include/highs/util/HighsHash.h +28 -21
  334. casadi/include/highs/util/HighsHashTree.h +63 -63
  335. casadi/include/highs/util/HighsInt.h +1 -1
  336. casadi/include/highs/util/HighsIntegers.h +8 -9
  337. casadi/include/highs/util/HighsLinearSumBounds.h +1 -1
  338. casadi/include/highs/util/HighsMatrixPic.h +1 -1
  339. casadi/include/highs/util/HighsMatrixSlice.h +9 -6
  340. casadi/include/highs/util/HighsMatrixUtils.h +1 -1
  341. casadi/include/highs/util/HighsMemoryAllocation.h +55 -0
  342. casadi/include/highs/util/HighsRandom.h +27 -15
  343. casadi/include/highs/util/HighsRbTree.h +2 -2
  344. casadi/include/highs/util/HighsSort.h +7 -7
  345. casadi/include/highs/util/HighsSparseMatrix.h +5 -2
  346. casadi/include/highs/util/HighsSparseVectorSum.h +2 -2
  347. casadi/include/highs/util/HighsSplay.h +1 -1
  348. casadi/include/highs/util/HighsTimer.h +18 -9
  349. casadi/include/highs/util/HighsUtils.h +15 -8
  350. casadi/include/highs/util/stringutil.h +9 -4
  351. casadi/include/highs/zstr/strict_fstream.hpp +237 -0
  352. casadi/include/highs/zstr/zstr.hpp +472 -0
  353. casadi/include/licenses/daqp-external/LICENSE +21 -0
  354. casadi/include/licenses/highs-external/{LICENSE → LICENSE.txt} +1 -1
  355. casadi/include/osqp/constants.h +2 -3
  356. casadi/include/osqp/version.h +9 -0
  357. casadi/lib/libtinyxml2.a +0 -0
  358. casadi/libCbc.so +0 -0
  359. casadi/libCbc.so.3 +0 -0
  360. casadi/libCbc.so.3.10.11 +0 -0
  361. casadi/libCbcSolver.so +0 -0
  362. casadi/libCbcSolver.so.3 +0 -0
  363. casadi/libCbcSolver.so.3.10.11 +0 -0
  364. casadi/libCgl.so +0 -0
  365. casadi/libCgl.so.1 +0 -0
  366. casadi/libCgl.so.1.10.8 +0 -0
  367. casadi/libClp.so +0 -0
  368. casadi/libClp.so.1 +0 -0
  369. casadi/libClp.so.1.14.9 +0 -0
  370. casadi/libClpSolver.so +0 -0
  371. casadi/libClpSolver.so.1 +0 -0
  372. casadi/libClpSolver.so.1.14.9 +0 -0
  373. casadi/libCoinUtils.so +0 -0
  374. casadi/libCoinUtils.so.3 +0 -0
  375. casadi/libCoinUtils.so.3.11.10 +0 -0
  376. casadi/libOsi.so +0 -0
  377. casadi/libOsi.so.1 +0 -0
  378. casadi/libOsi.so.1.13.9 +0 -0
  379. casadi/libOsiCbc.so +0 -0
  380. casadi/libOsiCbc.so.3 +0 -0
  381. casadi/libOsiCbc.so.3.10.11 +0 -0
  382. casadi/libOsiClp.so +0 -0
  383. casadi/libOsiClp.so.1 +0 -0
  384. casadi/libOsiClp.so.1.14.9 +0 -0
  385. casadi/libOsiCommonTests.so +0 -0
  386. casadi/libOsiCommonTests.so.1 +0 -0
  387. casadi/libOsiCommonTests.so.1.13.9 +0 -0
  388. casadi/libbonmin.so +0 -0
  389. casadi/libbonmin.so.4 +0 -0
  390. casadi/libbonmin.so.4.8.9 +0 -0
  391. casadi/libcasadi.so +0 -0
  392. casadi/libcasadi.so.3.7 +0 -0
  393. casadi/libcasadi_conic_cbc.so +0 -0
  394. casadi/libcasadi_conic_cbc.so.3.7 +0 -0
  395. casadi/libcasadi_conic_clp.so +0 -0
  396. casadi/libcasadi_conic_clp.so.3.7 +0 -0
  397. casadi/libcasadi_conic_daqp.so +0 -0
  398. casadi/libcasadi_conic_daqp.so.3.7 +0 -0
  399. casadi/libcasadi_conic_gurobi.so +0 -0
  400. casadi/libcasadi_conic_gurobi.so.3.7 +0 -0
  401. casadi/libcasadi_conic_highs.so +0 -0
  402. casadi/libcasadi_conic_highs.so.3.7 +0 -0
  403. casadi/libcasadi_conic_ipqp.so +0 -0
  404. casadi/libcasadi_conic_ipqp.so.3.7 +0 -0
  405. casadi/libcasadi_conic_nlpsol.so +0 -0
  406. casadi/libcasadi_conic_nlpsol.so.3.7 +0 -0
  407. casadi/libcasadi_conic_osqp.so +0 -0
  408. casadi/libcasadi_conic_osqp.so.3.7 +0 -0
  409. casadi/libcasadi_conic_proxqp.so +0 -0
  410. casadi/libcasadi_conic_proxqp.so.3.7 +0 -0
  411. casadi/libcasadi_conic_qpoases.so +0 -0
  412. casadi/libcasadi_conic_qpoases.so.3.7 +0 -0
  413. casadi/libcasadi_conic_qrqp.so +0 -0
  414. casadi/libcasadi_conic_qrqp.so.3.7 +0 -0
  415. casadi/libcasadi_conic_superscs.so +0 -0
  416. casadi/libcasadi_conic_superscs.so.3.7 +0 -0
  417. casadi/libcasadi_integrator_collocation.so +0 -0
  418. casadi/libcasadi_integrator_collocation.so.3.7 +0 -0
  419. casadi/libcasadi_integrator_cvodes.so +0 -0
  420. casadi/libcasadi_integrator_cvodes.so.3.7 +0 -0
  421. casadi/libcasadi_integrator_idas.so +0 -0
  422. casadi/libcasadi_integrator_idas.so.3.7 +0 -0
  423. casadi/libcasadi_integrator_rk.so +0 -0
  424. casadi/libcasadi_integrator_rk.so.3.7 +0 -0
  425. casadi/libcasadi_nlpsol_alpaqa.so +0 -0
  426. casadi/libcasadi_nlpsol_alpaqa.so.3.7 +0 -0
  427. casadi/libcasadi_nlpsol_ampl.so +0 -0
  428. casadi/libcasadi_nlpsol_ampl.so.3.7 +0 -0
  429. casadi/libcasadi_nlpsol_blocksqp.so +0 -0
  430. casadi/libcasadi_nlpsol_blocksqp.so.3.7 +0 -0
  431. casadi/libcasadi_nlpsol_bonmin.so +0 -0
  432. casadi/libcasadi_nlpsol_bonmin.so.3.7 +0 -0
  433. casadi/libcasadi_nlpsol_feasiblesqpmethod.so +0 -0
  434. casadi/libcasadi_nlpsol_feasiblesqpmethod.so.3.7 +0 -0
  435. casadi/libcasadi_nlpsol_ipopt.so +0 -0
  436. casadi/libcasadi_nlpsol_ipopt.so.3.7 +0 -0
  437. casadi/libcasadi_nlpsol_knitro.so +0 -0
  438. casadi/libcasadi_nlpsol_knitro.so.3.7 +0 -0
  439. casadi/libcasadi_nlpsol_madnlp.so +0 -0
  440. casadi/libcasadi_nlpsol_madnlp.so.3.7 +0 -0
  441. casadi/libcasadi_nlpsol_qrsqp.so +0 -0
  442. casadi/libcasadi_nlpsol_qrsqp.so.3.7 +0 -0
  443. casadi/libcasadi_nlpsol_scpgen.so +0 -0
  444. casadi/libcasadi_nlpsol_scpgen.so.3.7 +0 -0
  445. casadi/libcasadi_nlpsol_sleqp.so +0 -0
  446. casadi/libcasadi_nlpsol_sleqp.so.3.7 +0 -0
  447. casadi/libcasadi_nlpsol_snopt.so +0 -0
  448. casadi/libcasadi_nlpsol_snopt.so.3.7 +0 -0
  449. casadi/libcasadi_nlpsol_sqpmethod.so +0 -0
  450. casadi/libcasadi_nlpsol_sqpmethod.so.3.7 +0 -0
  451. casadi/libcasadi_nlpsol_worhp.so +0 -0
  452. casadi/libcasadi_nlpsol_worhp.so.3.7 +0 -0
  453. casadi/libcasadi_rootfinder_fast_newton.so +0 -0
  454. casadi/libcasadi_rootfinder_fast_newton.so.3.7 +0 -0
  455. casadi/libcasadi_rootfinder_kinsol.so +0 -0
  456. casadi/libcasadi_rootfinder_kinsol.so.3.7 +0 -0
  457. casadi/libcasadi_rootfinder_newton.so +0 -0
  458. casadi/libcasadi_rootfinder_newton.so.3.7 +0 -0
  459. casadi/libcasadi_rootfinder_nlpsol.so +0 -0
  460. casadi/libcasadi_rootfinder_nlpsol.so.3.7 +0 -0
  461. casadi/libcasadi_sundials_common.so +0 -0
  462. casadi/libcasadi_sundials_common.so.3.7 +0 -0
  463. casadi/libdaqp.so +0 -0
  464. casadi/libdaqpstat.a +0 -0
  465. casadi/libhighs.so +0 -0
  466. casadi/libhighs.so.1 +0 -0
  467. casadi/libhighs.so.1.7.2 +0 -0
  468. casadi/libindirect.a +0 -0
  469. casadi/libipopt.so +0 -0
  470. casadi/libipopt.so.3 +0 -0
  471. casadi/libipopt.so.3.14.11 +0 -0
  472. casadi/liblinsys.a +0 -0
  473. casadi/libmatlab_ipc.so +0 -0
  474. casadi/libosqp.a +0 -0
  475. casadi/libosqp.so +0 -0
  476. casadi/libqdldl.a +0 -0
  477. casadi/libsipopt.so +0 -0
  478. casadi/libsipopt.so.3 +0 -0
  479. casadi/libsipopt.so.3.14.11 +0 -0
  480. casadi/libsleqp.so +0 -0
  481. casadi/libsleqp.so.1.0.1 +0 -0
  482. casadi/libspral.a +0 -0
  483. casadi/libsuperscs.a +0 -0
  484. casadi/pkgconfig/casadi.pc +1 -1
  485. casadi/pkgconfig/highs.pc +1 -1
  486. casadi/tools/__init__.py +4 -0
  487. casadi/tools/bounds.py +3 -3
  488. {casadi-3.6.4.dist-info → casadi-3.6.6.dist-info}/METADATA +12 -4
  489. {casadi-3.6.4.dist-info → casadi-3.6.6.dist-info}/RECORD +490 -281
  490. casadi/include/highs/fortran/highs_fortran_api.mod +0 -0
  491. casadi/libFortranHighs.so +0 -0
  492. casadi/libhighs.so.1.6 +0 -0
  493. casadi/libhighs.so.1.6.0 +0 -0
  494. {casadi-3.6.4.dist-info → casadi-3.6.6.dist-info}/WHEEL +0 -0
@@ -0,0 +1,142 @@
1
+ /*
2
+ *
3
+ * This file is part of MUMPS 5.4.1, released
4
+ * on Tue Aug 3 09:49:43 UTC 2021
5
+ *
6
+ *
7
+ * Copyright 1991-2021 CERFACS, CNRS, ENS Lyon, INP Toulouse, Inria,
8
+ * Mumps Technologies, University of Bordeaux.
9
+ *
10
+ * This version of MUMPS is provided to you free of charge. It is
11
+ * released under the CeCILL-C license
12
+ * (see doc/CeCILL-C_V1-en.txt, doc/CeCILL-C_V1-fr.txt, and
13
+ * https://cecill.info/licences/Licence_CeCILL-C_V1-en.html)
14
+ *
15
+ */
16
+
17
+ /* Mostly written in march 2002 (JYL) */
18
+
19
+ #ifndef DMUMPS_C_H
20
+ #define DMUMPS_C_H
21
+
22
+ #ifdef __cplusplus
23
+ extern "C" {
24
+ #endif
25
+
26
+ #include "mumps_compat.h"
27
+ /* Next line defines MUMPS_INT, DMUMPS_COMPLEX and DMUMPS_REAL */
28
+ #include "mumps_c_types.h"
29
+
30
+ #ifndef MUMPS_VERSION
31
+ /* Protected in case headers of other arithmetics are included */
32
+ #define MUMPS_VERSION "5.4.1"
33
+ #endif
34
+ #ifndef MUMPS_VERSION_MAX_LEN
35
+ #define MUMPS_VERSION_MAX_LEN 30
36
+ #endif
37
+
38
+ /*
39
+ * Definition of the (simplified) MUMPS C structure.
40
+ * NB: DMUMPS_COMPLEX are REAL types in s and d arithmetics.
41
+ */
42
+ typedef struct {
43
+
44
+ MUMPS_INT sym, par, job;
45
+ MUMPS_INT comm_fortran; /* Fortran communicator */
46
+ MUMPS_INT icntl[60];
47
+ MUMPS_INT keep[500];
48
+ DMUMPS_REAL cntl[15];
49
+ DMUMPS_REAL dkeep[230];
50
+ MUMPS_INT8 keep8[150];
51
+ MUMPS_INT n;
52
+ MUMPS_INT nblk;
53
+
54
+ MUMPS_INT nz_alloc; /* used in matlab interface to decide if we
55
+ free + malloc when we have large variation */
56
+
57
+ /* Assembled entry */
58
+ MUMPS_INT nz;
59
+ MUMPS_INT8 nnz;
60
+ MUMPS_INT *irn;
61
+ MUMPS_INT *jcn;
62
+ DMUMPS_COMPLEX *a;
63
+
64
+ /* Distributed entry */
65
+ MUMPS_INT nz_loc;
66
+ MUMPS_INT8 nnz_loc;
67
+ MUMPS_INT *irn_loc;
68
+ MUMPS_INT *jcn_loc;
69
+ DMUMPS_COMPLEX *a_loc;
70
+
71
+ /* Element entry */
72
+ MUMPS_INT nelt;
73
+ MUMPS_INT *eltptr;
74
+ MUMPS_INT *eltvar;
75
+ DMUMPS_COMPLEX *a_elt;
76
+
77
+ /* Matrix by blocks */
78
+ MUMPS_INT *blkptr;
79
+ MUMPS_INT *blkvar;
80
+
81
+ /* Ordering, if given by user */
82
+ MUMPS_INT *perm_in;
83
+
84
+ /* Orderings returned to user */
85
+ MUMPS_INT *sym_perm; /* symmetric permutation */
86
+ MUMPS_INT *uns_perm; /* column permutation */
87
+
88
+ /* Scaling (inout but complicated) */
89
+ DMUMPS_REAL *colsca;
90
+ DMUMPS_REAL *rowsca;
91
+ MUMPS_INT colsca_from_mumps;
92
+ MUMPS_INT rowsca_from_mumps;
93
+
94
+ /* RHS, solution, ouptput data and statistics */
95
+ DMUMPS_COMPLEX *rhs, *redrhs, *rhs_sparse, *sol_loc, *rhs_loc;
96
+ MUMPS_INT *irhs_sparse, *irhs_ptr, *isol_loc, *irhs_loc;
97
+ MUMPS_INT nrhs, lrhs, lredrhs, nz_rhs, lsol_loc, nloc_rhs, lrhs_loc;
98
+ MUMPS_INT schur_mloc, schur_nloc, schur_lld;
99
+ MUMPS_INT mblock, nblock, nprow, npcol;
100
+ MUMPS_INT info[80],infog[80];
101
+ DMUMPS_REAL rinfo[40], rinfog[40];
102
+
103
+ /* Null space */
104
+ MUMPS_INT deficiency;
105
+ MUMPS_INT *pivnul_list;
106
+ MUMPS_INT *mapping;
107
+
108
+ /* Schur */
109
+ MUMPS_INT size_schur;
110
+ MUMPS_INT *listvar_schur;
111
+ DMUMPS_COMPLEX *schur;
112
+
113
+ /* Internal parameters */
114
+ MUMPS_INT instance_number;
115
+ DMUMPS_COMPLEX *wk_user;
116
+
117
+ /* Version number: length=14 in FORTRAN + 1 for final \0 + 1 for alignment */
118
+ char version_number[MUMPS_VERSION_MAX_LEN + 1 + 1];
119
+ /* For out-of-core */
120
+ char ooc_tmpdir[256];
121
+ char ooc_prefix[64];
122
+ /* To save the matrix in matrix market format */
123
+ char write_problem[256];
124
+ MUMPS_INT lwk_user;
125
+ /* For save/restore feature */
126
+ char save_dir[256];
127
+ char save_prefix[256];
128
+
129
+ /* Metis options */
130
+ MUMPS_INT metis_options[40];
131
+ } DMUMPS_STRUC_C;
132
+
133
+
134
+ void MUMPS_CALL
135
+ dmumps_c( DMUMPS_STRUC_C * dmumps_par );
136
+
137
+ #ifdef __cplusplus
138
+ }
139
+ #endif
140
+
141
+ #endif /* DMUMPS_C_H */
142
+
@@ -0,0 +1,72 @@
1
+ /*
2
+ *
3
+ * This file is part of MUMPS 5.4.1, released
4
+ * on Tue Aug 3 09:49:43 UTC 2021
5
+ *
6
+ *
7
+ * Copyright 1991-2021 CERFACS, CNRS, ENS Lyon, INP Toulouse, Inria,
8
+ * Mumps Technologies, University of Bordeaux.
9
+ *
10
+ * This version of MUMPS is provided to you free of charge. It is
11
+ * released under the CeCILL-C license
12
+ * (see doc/CeCILL-C_V1-en.txt, doc/CeCILL-C_V1-fr.txt, and
13
+ * https://cecill.info/licences/Licence_CeCILL-C_V1-en.html)
14
+ *
15
+ */
16
+
17
+
18
+ #ifndef MUMPS_C_TYPES_H
19
+ #define MUMPS_C_TYPES_H
20
+
21
+ #include <stdint.h>
22
+
23
+ /* mumps_int_def.h will define either MUMPS_INTSIZE32 (default)
24
+ or MUMPS_INTSIZE64 (if compilation is with -DINTSIZE64 to
25
+ match Fortran -i8 or equivalent option). This allows one to
26
+ test from an external code whether MUMPS_INT is 64bits or not */
27
+ #include "mumps_int_def.h"
28
+
29
+ #ifdef MUMPS_INTSIZE64
30
+ #define MUMPS_INT int64_t
31
+ #else
32
+ #define MUMPS_INT int
33
+ #endif
34
+
35
+ #define MUMPS_INT8 int64_t
36
+
37
+ #define SMUMPS_COMPLEX float
38
+ #define SMUMPS_REAL float
39
+
40
+ #define DMUMPS_COMPLEX double
41
+ #define DMUMPS_REAL double
42
+
43
+ /* Complex datatypes */
44
+ typedef struct {float r,i;} mumps_complex;
45
+ typedef struct {double r,i;} mumps_double_complex;
46
+
47
+ #define CMUMPS_COMPLEX mumps_complex
48
+ #define CMUMPS_REAL float
49
+
50
+ #define ZMUMPS_COMPLEX mumps_double_complex
51
+ #define ZMUMPS_REAL double
52
+
53
+
54
+ #ifndef mumps_ftnlen
55
+ /* When passing a string, what is the type of the extra argument
56
+ * passed by value ? */
57
+ # define mumps_ftnlen MUMPS_INT
58
+ #endif
59
+
60
+
61
+ #define MUMPS_ARITH_s 1
62
+ #define MUMPS_ARITH_d 2
63
+ #define MUMPS_ARITH_c 4
64
+ #define MUMPS_ARITH_z 8
65
+
66
+ #define MUMPS_ARITH_REAL ( MUMPS_ARITH_s | MUMPS_ARITH_d )
67
+ #define MUMPS_ARITH_CMPLX ( MUMPS_ARITH_c | MUMPS_ARITH_z )
68
+ #define MUMPS_ARITH_SINGLE ( MUMPS_ARITH_s | MUMPS_ARITH_c )
69
+ #define MUMPS_ARITH_DBL ( MUMPS_ARITH_d | MUMPS_ARITH_z )
70
+
71
+
72
+ #endif /* MUMPS_C_TYPES_H */
@@ -0,0 +1,27 @@
1
+ /* mumps_compat.h. Generated from mumps_compat.h.in by configure. */
2
+ /* mumps_compat.h.in. */
3
+
4
+ #ifndef MUMPS_COMPAT_H
5
+ #define MUMPS_COMPAT_H
6
+
7
+ #ifndef MUMPS_CALL
8
+ /* Define Mumps calling convention. */
9
+ #define MUMPS_CALL
10
+ #endif
11
+
12
+ /* tell using codes that we changed mpi.h to mumps_mpi.h */
13
+ #define COIN_USE_MUMPS_MPI_H
14
+
15
+ /* copied from MUMPS' own mumps_compat.h */
16
+ #if defined(_WIN32) && ! defined(__MINGW32__)
17
+ # define MUMPS_WIN32 1
18
+ #endif
19
+
20
+ #if (__STDC_VERSION__ >= 199901L)
21
+ # define MUMPS_INLINE static inline
22
+ #else
23
+ # define MUMPS_INLINE
24
+ #endif
25
+
26
+
27
+ #endif /* MUMPS_COMPAT_H */
@@ -0,0 +1,11 @@
1
+ /* mumps_int_def.h. Generated from mumps_int_def.h.in by configure. */
2
+ #ifndef MUMPS_INT_H
3
+ #define MUMPS_INT_H
4
+
5
+ /* Define if MUMPS integers have a size of 32-bit */
6
+ #define MUMPS_INTSIZE32 /**/
7
+
8
+ /* Define if MUMPS integers have a size of 64-bit */
9
+ /* #undef MUMPS_INTSIZE64 */
10
+
11
+ #endif
@@ -0,0 +1,67 @@
1
+ /*
2
+ *
3
+ * This file is part of MUMPS 5.4.1, released
4
+ * on Tue Aug 3 09:49:43 UTC 2021
5
+ *
6
+ *
7
+ * Copyright 1991-2021 CERFACS, CNRS, ENS Lyon, INP Toulouse, Inria,
8
+ * Mumps Technologies, University of Bordeaux.
9
+ *
10
+ * This version of MUMPS is provided to you free of charge. It is
11
+ * released under the CeCILL-C license
12
+ * (see doc/CeCILL-C_V1-en.txt, doc/CeCILL-C_V1-fr.txt, and
13
+ * https://cecill.info/licences/Licence_CeCILL-C_V1-en.html)
14
+ *
15
+ */
16
+ #ifdef INTSIZE64
17
+ #include <inttypes.h>
18
+ #define LIBSEQ_INT int64_t
19
+ #else
20
+ #define LIBSEQ_INT int
21
+ #endif
22
+
23
+ #if ! defined(LIBSEQ_CALL)
24
+ #if defined(_WIN32) && ! defined(__MINGW32__)
25
+ /* Choose between next lines or modify according
26
+ * to your Windows calling conventions:
27
+ #define LIBSEQ_CALL
28
+ #define LIBSEQ_CALL __declspec(dllexport)
29
+ #define LIBSEQ_CALL __declspec(dllexport) */
30
+ #define LIBSEQ_CALL
31
+ #else
32
+ #define LIBSEQ_CALL
33
+ #endif
34
+ #endif
35
+
36
+
37
+ #ifndef MUMPS_MPI_H
38
+ #define MUMPS_MPI_H
39
+
40
+ /* We define all symbols as extern "C" for users who call MUMPS with its
41
+ libseq from a C++ driver. */
42
+ #ifdef __cplusplus
43
+ extern "C" {
44
+ #endif
45
+
46
+ /* This is the minimum to have the C interface to MUMPS work with the
47
+ * C example provided. Other stub functions of the MPI standard may be
48
+ * added if needed. */
49
+
50
+ typedef LIBSEQ_INT MPI_Comm; /* Simple type for MPI communicator */
51
+ static MPI_Comm MPI_COMM_WORLD=(MPI_Comm)0;
52
+
53
+ LIBSEQ_INT LIBSEQ_CALL MPI_Init(LIBSEQ_INT *pargc, char ***pargv);
54
+ LIBSEQ_INT LIBSEQ_CALL MPI_Comm_rank(LIBSEQ_INT comm, LIBSEQ_INT *rank);
55
+ LIBSEQ_INT LIBSEQ_CALL MPI_Finalize(void);
56
+
57
+ /* For MPI_IS_IN_PLACE tests */
58
+ void LIBSEQ_CALL MUMPS_CHECKADDREQUAL(char *a, char*b, LIBSEQ_INT *i);
59
+ void LIBSEQ_CALL MUMPS_CHECKADDREQUAL_(char *a, char*b, LIBSEQ_INT *i);
60
+ void LIBSEQ_CALL mumps_checkaddrequal_(char *a, char*b, LIBSEQ_INT *i);
61
+ void LIBSEQ_CALL mumps_checkaddrequal__(char *a, char*b, LIBSEQ_INT *i);
62
+
63
+ #ifdef __cplusplus
64
+ }
65
+ #endif
66
+
67
+ #endif /* MUMPS_MPI_H */
@@ -0,0 +1,46 @@
1
+ #ifndef DAQP_API_H
2
+ # define DAQP_API_H
3
+
4
+ # ifdef __cplusplus
5
+ extern "C" {
6
+ # endif // ifdef __cplusplus
7
+
8
+ #include "daqp.h"
9
+ #include "daqp_prox.h"
10
+ #include "bnb.h"
11
+
12
+ typedef struct{
13
+ c_float *x;
14
+ c_float *lam;
15
+ c_float fval;
16
+ c_float soft_slack;
17
+
18
+ int exitflag;
19
+ int iter;
20
+ int nodes;
21
+ c_float solve_time;
22
+ c_float setup_time;
23
+
24
+ }DAQPResult;
25
+
26
+ void daqp_solve(DAQPResult* res, DAQPWorkspace *work);
27
+ void daqp_quadprog(DAQPResult* res, DAQPProblem* qp,DAQPSettings* settings);
28
+
29
+ int setup_daqp(DAQPProblem *qp, DAQPWorkspace* work, c_float* setup_time);
30
+ int setup_daqp_ldp(DAQPWorkspace *work, DAQPProblem* qp);
31
+ int setup_daqp_bnb(DAQPWorkspace* work, int nb, int ns);
32
+ void allocate_daqp_settings(DAQPWorkspace *work);
33
+ void allocate_daqp_workspace(DAQPWorkspace *work, int n, int ns);
34
+
35
+ void free_daqp_ldp(DAQPWorkspace *work);
36
+ void free_daqp_workspace(DAQPWorkspace *work);
37
+ void free_daqp_bnb(DAQPWorkspace* work);
38
+
39
+ void daqp_extract_result(DAQPResult* res, DAQPWorkspace* work);
40
+ void daqp_default_settings(DAQPSettings *settings);
41
+
42
+ # ifdef __cplusplus
43
+ }
44
+ # endif // ifdef __cplusplus
45
+
46
+ #endif //ifndef DAQP_API_H
@@ -0,0 +1,29 @@
1
+ #ifndef DAQP_AUX_H
2
+ # define DAQP_AUX_H
3
+
4
+ # ifdef __cplusplus
5
+ extern "C" {
6
+ # endif // ifdef __cplusplus
7
+
8
+ #include "types.h"
9
+ #include "constants.h"
10
+
11
+ void remove_constraint(DAQPWorkspace* work, const int rm_ind);
12
+ void add_constraint(DAQPWorkspace *work, const int add_ind, c_float lam);
13
+ void compute_primal_and_fval(DAQPWorkspace *work);
14
+ int add_infeasible(DAQPWorkspace *work);
15
+ int remove_blocking(DAQPWorkspace *work);
16
+ void compute_CSP(DAQPWorkspace *work);
17
+ void compute_singular_direction(DAQPWorkspace *work);
18
+
19
+ void reorder_LDL(DAQPWorkspace *work);
20
+ void pivot_last(DAQPWorkspace *work);
21
+
22
+ int activate_constraints(DAQPWorkspace *work);
23
+ void deactivate_constraints(DAQPWorkspace *work);
24
+
25
+ # ifdef __cplusplus
26
+ }
27
+ # endif // ifdef __cplusplus
28
+
29
+ #endif //ifndef DAQP_AUX_H
@@ -0,0 +1,32 @@
1
+ #ifndef DAQP_BNB_H
2
+ # define DAQP_BNB_H
3
+
4
+ # ifdef __cplusplus
5
+ extern "C" {
6
+ # endif // ifdef __cplusplus
7
+
8
+ #include "types.h"
9
+ #include "constants.h"
10
+ #include "daqp.h"
11
+
12
+ int daqp_bnb(DAQPWorkspace* work);
13
+ int process_node(DAQPNode* node, DAQPWorkspace* work);
14
+ int get_branch_id(DAQPWorkspace* work);
15
+ void spawn_children(DAQPNode* node, const int branch_id, DAQPWorkspace* work);
16
+
17
+ void node_cleanup_workspace(int n_clean, DAQPWorkspace* work);
18
+ void warmstart_node(DAQPNode* node, DAQPWorkspace* work);
19
+ void save_warmstart(DAQPNode* node, DAQPWorkspace* work);
20
+ int add_upper_lower(const int add_id, DAQPWorkspace* work);
21
+
22
+ #define LOWER_BIT 16
23
+ #define EXTRACT_LOWER_FLAG(x) (x>>(LOWER_BIT-1))
24
+ #define REMOVE_LOWER_FLAG(x) (x&~(1<<LOWER_BIT))
25
+ #define ADD_LOWER_FLAG(x) (x|(1<<LOWER_BIT))
26
+ #define TOGGLE_LOWER_FLAG(x) (x^(1<<LOWER_BIT))
27
+
28
+ # ifdef __cplusplus
29
+ }
30
+ # endif // ifdef __cplusplus
31
+
32
+ #endif //ifndef DAQP_BNB_H
@@ -0,0 +1,18 @@
1
+ #ifndef DAQP_CODEGEN_H
2
+ #define DAQP_CODEGEN_H
3
+
4
+ #include <stdio.h>
5
+ #include "types.h"
6
+
7
+ void render_daqp_workspace(DAQPWorkspace* work, const char *fname, const char* dir);
8
+
9
+ void write_daqp_workspace_h(FILE *f, DAQPWorkspace *work);
10
+ void write_daqp_workspace_src(FILE *f, DAQPWorkspace *work);
11
+ void write_daqp_settings_src(FILE* f, DAQPSettings* settings);
12
+ void write_daqp_bnb_h(FILE* f, DAQPBnB* bnb, const int n);
13
+ void write_daqp_bnb_src(FILE* f, DAQPBnB* bnb, const int n);
14
+
15
+ void write_float_array(FILE *f, c_float* a, const int N, const char *name);
16
+ void write_int_array(FILE *f, int* a, const int N, const char *name);
17
+
18
+ #endif //ifndef DAQP_CODEGEN_H
@@ -0,0 +1,92 @@
1
+ #ifndef DAQP_CONSTANTS_H
2
+ #define DAQP_CONSTANTS_H
3
+
4
+ # ifdef __cplusplus
5
+ extern "C" {
6
+ # endif // ifdef __cplusplus
7
+
8
+ #include <stddef.h>
9
+
10
+ #define EMPTY_IND -1
11
+ #define NX work->n
12
+ #define N_CONSTR work->m
13
+ #define N_SIMPLE work->ms
14
+ #define DAQP_INF ((c_float)1e30)
15
+
16
+ // DEFAULT SETTINGS
17
+ #define DEFAULT_PRIM_TOL 1e-6
18
+ #define DEFAULT_DUAL_TOL 1e-12
19
+ #define DEFAULT_ZERO_TOL 1e-11
20
+ #define DEFAULT_PROG_TOL 1e-14
21
+ #define DEFAULT_PIVOT_TOL 1e-6
22
+ #define DEFAULT_CYCLE_TOL 10
23
+ #define DEFAULT_ETA 1e-6
24
+ #define DEFAULT_ITER_LIMIT 1000
25
+ #define DEFAULT_RHO_SOFT 1e-3
26
+ #define DEFAULT_REL_SUBOPT 0
27
+ #define DEFAULT_ABS_SUBOPT 0
28
+
29
+ // MACROS
30
+ #define SQUARE(x) ((x)*(x))
31
+ #define ARSUM(x) ((x)*(x+1)/2)
32
+ #define R_OFFSET(X,Y) (((2*Y-X-1)*X)/2)
33
+
34
+ // EXIT FLAGS
35
+ #define EXIT_SOFT_OPTIMAL 2
36
+ #define EXIT_OPTIMAL 1
37
+ #define EXIT_INFEASIBLE -1
38
+ #define EXIT_CYCLE -2
39
+ #define EXIT_UNBOUNDED -3
40
+ #define EXIT_ITERLIMIT -4
41
+ #define EXIT_NONCONVEX -5
42
+ #define EXIT_OVERDETERMINED_INITIAL -6
43
+
44
+ // UPDATE LDP MASKS
45
+ #define UPDATE_Rinv 1
46
+ #define UPDATE_M 2
47
+ #define UPDATE_v 4
48
+ #define UPDATE_d 8
49
+ #define UPDATE_sense 16
50
+
51
+ // CONSTRAINT MASKS
52
+ #define ACTIVE 1
53
+ #define IS_ACTIVE(x) (work->sense[x]&1)
54
+ #define SET_ACTIVE(x) (work->sense[x]|=1)
55
+ #define SET_INACTIVE(x) (work->sense[x]&=~1)
56
+
57
+ // marks if a constraints is active at its lower bound
58
+ #define LOWER 2
59
+ #define IS_LOWER(x) (work->sense[x]&2)
60
+ #define SET_LOWER(x) (work->sense[x]|=2)
61
+ #define SET_UPPER(x) (work->sense[x]&=~2)
62
+
63
+ // marks if a constraint cannot be activated/deactivated
64
+ #define IMMUTABLE 4
65
+ #define IS_IMMUTABLE(x) (work->sense[x]&4)
66
+ #define SET_IMMUTABLE(x) (work->sense[x]|=4)
67
+ #define SET_MUTABLE(x) (work->sense[x]&=~4)
68
+
69
+ // marks that a constraint might be violated (but the slack is penalized)
70
+ #define SOFT 8
71
+ #define IS_SOFT(x) (work->sense[x]&8)
72
+ #define SET_SOFT(x) (work->sense[x]|=8)
73
+ #define SET_HARD(x) (work->sense[x]&=~8)
74
+
75
+ // marks that a constraint has to be active at either its upper or lower bound
76
+ #define BINARY 16
77
+ #define IS_BINARY(x) (work->sense[x]&16)
78
+
79
+ // marks that the soft slack is at its lower bound (d_ls or d_us)
80
+ #define SLACK_FIXED 32
81
+ #define IS_SLACK_FIXED(x) (work->sense[x]&32)
82
+ #define IS_SLACK_FREE(x) ((work->sense[x]&32)==0)
83
+ #define SET_SLACK_FIXED(x) (work->sense[x]|=32)
84
+ #define SET_SLACK_FREE(x) (work->sense[x]&=~32)
85
+
86
+ #define IS_SIMPLE(x) (x < work->ms)
87
+
88
+ # ifdef __cplusplus
89
+ }
90
+ # endif // ifdef __cplusplus
91
+
92
+ #endif //ifndef DAQP_CONSTANTS_H
@@ -0,0 +1,22 @@
1
+ #ifndef DAQP_H
2
+ # define DAQP_H
3
+
4
+ # ifdef __cplusplus
5
+ extern "C" {
6
+ # endif // ifdef __cplusplus
7
+
8
+ #include "factorization.h"
9
+ #include "constants.h"
10
+ #include "auxiliary.h"
11
+
12
+ int daqp_ldp(DAQPWorkspace *work);
13
+ void ldp2qp_solution(DAQPWorkspace *work);
14
+
15
+ void warmstart_workspace(DAQPWorkspace* work, int* WS, const int n_active);
16
+ void reset_daqp_workspace(DAQPWorkspace *work);
17
+
18
+ # ifdef __cplusplus
19
+ }
20
+ # endif // ifdef __cplusplus
21
+
22
+ #endif //ifndef DAQP_H
@@ -0,0 +1,18 @@
1
+ #ifndef DAQP_PROX_H
2
+ # define DAQP_PROX_H
3
+
4
+ # ifdef __cplusplus
5
+ extern "C" {
6
+ # endif // ifdef __cplusplus
7
+
8
+ #include "types.h"
9
+ #include "constants.h"
10
+ #include "daqp.h"
11
+
12
+ int daqp_prox(DAQPWorkspace *work);
13
+
14
+ # ifdef __cplusplus
15
+ }
16
+ # endif // ifdef __cplusplus
17
+
18
+ #endif //ifndef DAQP_PROX_H
@@ -0,0 +1,18 @@
1
+ #ifndef DAQP_FACTORIZATION_H
2
+ # define DAQP_FACTORIZATION_H
3
+
4
+ # ifdef __cplusplus
5
+ extern "C" {
6
+ # endif // ifdef __cplusplus
7
+
8
+ #include "types.h"
9
+ #include "constants.h"
10
+
11
+ void update_LDL_add(DAQPWorkspace *work, const int add_ind);
12
+ void update_LDL_remove(DAQPWorkspace *work, const int rm_ind);
13
+
14
+ # ifdef __cplusplus
15
+ }
16
+ # endif // ifdef __cplusplus
17
+
18
+ #endif //ifndef DAQP_FACTORIZATION_H