casadi 3.6.7__cp313-none-manylinux2014_x86_64.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 (2345) hide show
  1. casadi/__init__.py +92 -0
  2. casadi/_casadi.so +0 -0
  3. casadi/casadi-cli +0 -0
  4. casadi/casadi.py +50976 -0
  5. casadi/cbc +0 -0
  6. casadi/clp +0 -0
  7. casadi/cmake/alpaqa/alpaqaConfig.cmake +24 -0
  8. casadi/cmake/alpaqa/alpaqaConfigVersion.cmake +70 -0
  9. casadi/cmake/alpaqa/alpaqaTargets-release.cmake +29 -0
  10. casadi/cmake/alpaqa/alpaqaTargets.cmake +131 -0
  11. casadi/cmake/casadi-config-version.cmake +11 -0
  12. casadi/cmake/casadi-config.cmake +8 -0
  13. casadi/cmake/casadi-targets-release.cmake +19 -0
  14. casadi/cmake/casadi-targets.cmake +107 -0
  15. casadi/cmake/highs/highs-config.cmake +17 -0
  16. casadi/cmake/highs/highs-targets-release.cmake +28 -0
  17. casadi/cmake/highs/highs-targets.cmake +117 -0
  18. casadi/cmake/osqp/osqp-config.cmake +1 -0
  19. casadi/cmake/osqp/osqp-targets-noconfig.cmake +29 -0
  20. casadi/cmake/osqp/osqp-targets.cmake +109 -0
  21. casadi/cmake/proxsuite/find-external/Simde/FindSimde.cmake +39 -0
  22. casadi/cmake/proxsuite/proxsuiteConfig.cmake +177 -0
  23. casadi/cmake/proxsuite/proxsuiteConfigVersion.cmake +70 -0
  24. casadi/cmake/proxsuite/proxsuiteTargets.cmake +115 -0
  25. casadi/cmake/qdldl/qdldl-config.cmake +1 -0
  26. casadi/cmake/qdldl/qdldl-targets-noconfig.cmake +29 -0
  27. casadi/cmake/qdldl/qdldl-targets.cmake +109 -0
  28. casadi/cmake/sleqp/sleqp-config-version.cmake +70 -0
  29. casadi/cmake/sleqp/sleqp-config.cmake +1 -0
  30. casadi/cmake/sleqp/sleqp-targets-release.cmake +20 -0
  31. casadi/cmake/sleqp/sleqp-targets.cmake +102 -0
  32. casadi/cmake/trlib/trlib-config-release.cmake +19 -0
  33. casadi/cmake/trlib/trlib-config-version.cmake +88 -0
  34. casadi/cmake/trlib/trlib-config.cmake +107 -0
  35. casadi/highs +0 -0
  36. casadi/include/alpaqa/accelerators/anderson.hpp +133 -0
  37. casadi/include/alpaqa/accelerators/internal/anderson-helpers.hpp +92 -0
  38. casadi/include/alpaqa/accelerators/internal/limited-memory-qr.hpp +295 -0
  39. casadi/include/alpaqa/accelerators/lbfgs.hpp +244 -0
  40. casadi/include/alpaqa/accelerators/steihaugcg.hpp +143 -0
  41. casadi/include/alpaqa/alpaqa.hpp +3 -0
  42. casadi/include/alpaqa/casadi/CasADiControlProblem.hpp +185 -0
  43. casadi/include/alpaqa/casadi/CasADiFunctionWrapper.hpp +104 -0
  44. casadi/include/alpaqa/casadi/CasADiProblem.hpp +102 -0
  45. casadi/include/alpaqa/casadi-loader-export.hpp +15 -0
  46. casadi/include/alpaqa/casadi-ocp-loader-export.hpp +15 -0
  47. casadi/include/alpaqa/config/config.hpp +165 -0
  48. casadi/include/alpaqa/dl/dl-problem.h +476 -0
  49. casadi/include/alpaqa/dl/dl-problem.hpp +301 -0
  50. casadi/include/alpaqa/export.h +42 -0
  51. casadi/include/alpaqa/export.hpp +30 -0
  52. casadi/include/alpaqa/implementation/accelerators/lbfgs.tpp +240 -0
  53. casadi/include/alpaqa/implementation/casadi/CasADiControlProblem.tpp +594 -0
  54. casadi/include/alpaqa/implementation/casadi/CasADiLoader-util.hpp +50 -0
  55. casadi/include/alpaqa/implementation/casadi/CasADiProblem.tpp +425 -0
  56. casadi/include/alpaqa/implementation/inner/directions/panoc/structured-lbfgs.tpp +164 -0
  57. casadi/include/alpaqa/implementation/inner/panoc-helpers.tpp +389 -0
  58. casadi/include/alpaqa/implementation/inner/panoc-ocp.tpp +798 -0
  59. casadi/include/alpaqa/implementation/inner/panoc.tpp +448 -0
  60. casadi/include/alpaqa/implementation/inner/pantr.tpp +474 -0
  61. casadi/include/alpaqa/implementation/inner/zerofpr.tpp +482 -0
  62. casadi/include/alpaqa/implementation/outer/alm.tpp +228 -0
  63. casadi/include/alpaqa/implementation/outer/internal/alm-helpers.tpp +80 -0
  64. casadi/include/alpaqa/implementation/params/params.tpp +158 -0
  65. casadi/include/alpaqa/implementation/problem/ocproblem.tpp +56 -0
  66. casadi/include/alpaqa/implementation/problem/type-erased-problem.tpp +211 -0
  67. casadi/include/alpaqa/implementation/util/io/csv.tpp +120 -0
  68. casadi/include/alpaqa/implementation/util/print.tpp +151 -0
  69. casadi/include/alpaqa/inner/directions/panoc/anderson.hpp +98 -0
  70. casadi/include/alpaqa/inner/directions/panoc/lbfgs.hpp +94 -0
  71. casadi/include/alpaqa/inner/directions/panoc/structured-lbfgs.hpp +146 -0
  72. casadi/include/alpaqa/inner/directions/panoc/structured-newton.hpp +264 -0
  73. casadi/include/alpaqa/inner/directions/panoc-direction-update.hpp +96 -0
  74. casadi/include/alpaqa/inner/directions/panoc-ocp/lqr.hpp +181 -0
  75. casadi/include/alpaqa/inner/directions/panoc-ocp/ocp-vars.hpp +492 -0
  76. casadi/include/alpaqa/inner/directions/pantr/newton-tr.hpp +192 -0
  77. casadi/include/alpaqa/inner/directions/pantr/pantr-direction.hpp +99 -0
  78. casadi/include/alpaqa/inner/inner-solve-options.hpp +30 -0
  79. casadi/include/alpaqa/inner/internal/lipschitz.hpp +27 -0
  80. casadi/include/alpaqa/inner/internal/panoc-helpers.hpp +10 -0
  81. casadi/include/alpaqa/inner/internal/panoc-stop-crit.hpp +124 -0
  82. casadi/include/alpaqa/inner/internal/solverstatus.hpp +42 -0
  83. casadi/include/alpaqa/inner/panoc-ocp.hpp +302 -0
  84. casadi/include/alpaqa/inner/panoc.hpp +274 -0
  85. casadi/include/alpaqa/inner/pantr.hpp +284 -0
  86. casadi/include/alpaqa/inner/zerofpr.hpp +274 -0
  87. casadi/include/alpaqa/ipopt/ipopt-adapter.hpp +81 -0
  88. casadi/include/alpaqa/ipopt/ipopt-enums.hpp +35 -0
  89. casadi/include/alpaqa/lbfgsb/lbfgsb-adapter.hpp +111 -0
  90. casadi/include/alpaqa/newton-tr-pantr-alm.hpp +27 -0
  91. casadi/include/alpaqa/outer/alm.hpp +190 -0
  92. casadi/include/alpaqa/outer/internal/alm-helpers.hpp +10 -0
  93. casadi/include/alpaqa/panoc-alm.hpp +27 -0
  94. casadi/include/alpaqa/panoc-anderson-alm.hpp +27 -0
  95. casadi/include/alpaqa/params/params.hpp +60 -0
  96. casadi/include/alpaqa/problem/box-constr-problem.hpp +220 -0
  97. casadi/include/alpaqa/problem/box.hpp +82 -0
  98. casadi/include/alpaqa/problem/functional-problem.hpp +73 -0
  99. casadi/include/alpaqa/problem/kkt-error.hpp +43 -0
  100. casadi/include/alpaqa/problem/ocproblem-counters.hpp +116 -0
  101. casadi/include/alpaqa/problem/ocproblem.hpp +662 -0
  102. casadi/include/alpaqa/problem/problem-counters.hpp +116 -0
  103. casadi/include/alpaqa/problem/problem-with-counters.hpp +141 -0
  104. casadi/include/alpaqa/problem/type-erased-problem.hpp +874 -0
  105. casadi/include/alpaqa/problem/unconstr-problem.hpp +37 -0
  106. casadi/include/alpaqa/structured-panoc-alm.hpp +27 -0
  107. casadi/include/alpaqa/structured-zerofpr-alm.hpp +27 -0
  108. casadi/include/alpaqa/util/alloc-check.hpp +23 -0
  109. casadi/include/alpaqa/util/atomic-stop-signal.hpp +24 -0
  110. casadi/include/alpaqa/util/check-dim.hpp +64 -0
  111. casadi/include/alpaqa/util/copyable_unique_ptr.hpp +32 -0
  112. casadi/include/alpaqa/util/demangled-typename.hpp +9 -0
  113. casadi/include/alpaqa/util/enumerate.hpp +70 -0
  114. casadi/include/alpaqa/util/float.hpp +25 -0
  115. casadi/include/alpaqa/util/index-set.hpp +97 -0
  116. casadi/include/alpaqa/util/io/csv.hpp +43 -0
  117. casadi/include/alpaqa/util/iter-adapter.hpp +68 -0
  118. casadi/include/alpaqa/util/max-history.hpp +47 -0
  119. casadi/include/alpaqa/util/noop-delete.hpp +15 -0
  120. casadi/include/alpaqa/util/not-implemented.hpp +12 -0
  121. casadi/include/alpaqa/util/print.hpp +78 -0
  122. casadi/include/alpaqa/util/quadmath/quadmath-print.hpp +20 -0
  123. casadi/include/alpaqa/util/quadmath/quadmath.hpp +137 -0
  124. casadi/include/alpaqa/util/required-method.hpp +29 -0
  125. casadi/include/alpaqa/util/ringbuffer.hpp +212 -0
  126. casadi/include/alpaqa/util/set-intersection.hpp +129 -0
  127. casadi/include/alpaqa/util/sparse-ops.hpp +164 -0
  128. casadi/include/alpaqa/util/timed.hpp +22 -0
  129. casadi/include/alpaqa/util/type-erasure.hpp +568 -0
  130. casadi/include/alpaqa/util/type-traits.hpp +58 -0
  131. casadi/include/alpaqa/zerofpr-alm.hpp +27 -0
  132. casadi/include/alpaqa/zerofpr-anderson-alm.hpp +27 -0
  133. casadi/include/alpaqa-version.h +8 -0
  134. casadi/include/blasfeo.h +52 -0
  135. casadi/include/blasfeo_block_size.h +447 -0
  136. casadi/include/blasfeo_common.h +274 -0
  137. casadi/include/blasfeo_d_aux.h +255 -0
  138. casadi/include/blasfeo_d_aux_ext_dep.h +145 -0
  139. casadi/include/blasfeo_d_aux_ext_dep_ref.h +84 -0
  140. casadi/include/blasfeo_d_aux_old.h +75 -0
  141. casadi/include/blasfeo_d_aux_ref.h +208 -0
  142. casadi/include/blasfeo_d_aux_test.h +226 -0
  143. casadi/include/blasfeo_d_blas.h +46 -0
  144. casadi/include/blasfeo_d_blas_api.h +281 -0
  145. casadi/include/blasfeo_d_blasfeo_api.h +364 -0
  146. casadi/include/blasfeo_d_blasfeo_api_ref.h +147 -0
  147. casadi/include/blasfeo_d_blasfeo_hp_api.h +84 -0
  148. casadi/include/blasfeo_d_blasfeo_ref_api.h +283 -0
  149. casadi/include/blasfeo_d_kernel.h +1321 -0
  150. casadi/include/blasfeo_i_aux_ext_dep.h +69 -0
  151. casadi/include/blasfeo_m_aux.h +57 -0
  152. casadi/include/blasfeo_memory.h +62 -0
  153. casadi/include/blasfeo_naming.h +77 -0
  154. casadi/include/blasfeo_processor_features.h +88 -0
  155. casadi/include/blasfeo_s_aux.h +168 -0
  156. casadi/include/blasfeo_s_aux_ext_dep.h +141 -0
  157. casadi/include/blasfeo_s_aux_ext_dep_ref.h +82 -0
  158. casadi/include/blasfeo_s_aux_old.h +64 -0
  159. casadi/include/blasfeo_s_aux_ref.h +147 -0
  160. casadi/include/blasfeo_s_aux_test.h +177 -0
  161. casadi/include/blasfeo_s_blas.h +46 -0
  162. casadi/include/blasfeo_s_blas_api.h +182 -0
  163. casadi/include/blasfeo_s_blasfeo_api.h +284 -0
  164. casadi/include/blasfeo_s_blasfeo_api_ref.h +135 -0
  165. casadi/include/blasfeo_s_blasfeo_ref_api.h +252 -0
  166. casadi/include/blasfeo_s_kernel.h +692 -0
  167. casadi/include/blasfeo_stdlib.h +62 -0
  168. casadi/include/blasfeo_target.h +73 -0
  169. casadi/include/blasfeo_timing.h +114 -0
  170. casadi/include/blasfeo_v_aux_ext_dep.h +83 -0
  171. casadi/include/casadi/casadi.hpp +31 -0
  172. casadi/include/casadi/casadi.i +4691 -0
  173. casadi/include/casadi/casadi_c.h +138 -0
  174. casadi/include/casadi/casadi_numpy.hpp +97 -0
  175. casadi/include/casadi/config.h +46 -0
  176. casadi/include/casadi/core/calculus.hpp +1750 -0
  177. casadi/include/casadi/core/callback.hpp +226 -0
  178. casadi/include/casadi/core/casadi_common.hpp +318 -0
  179. casadi/include/casadi/core/casadi_enum.hpp +90 -0
  180. casadi/include/casadi/core/casadi_export.h +42 -0
  181. casadi/include/casadi/core/casadi_interrupt.hpp +83 -0
  182. casadi/include/casadi/core/casadi_limits.hpp +104 -0
  183. casadi/include/casadi/core/casadi_logger.hpp +134 -0
  184. casadi/include/casadi/core/casadi_meta.hpp +107 -0
  185. casadi/include/casadi/core/casadi_misc.hpp +1001 -0
  186. casadi/include/casadi/core/casadi_types.hpp +66 -0
  187. casadi/include/casadi/core/code_generator.hpp +975 -0
  188. casadi/include/casadi/core/conic.hpp +213 -0
  189. casadi/include/casadi/core/core.hpp +70 -0
  190. casadi/include/casadi/core/dae_builder.hpp +723 -0
  191. casadi/include/casadi/core/dm.hpp +87 -0
  192. casadi/include/casadi/core/dm_fwd.hpp +39 -0
  193. casadi/include/casadi/core/dple.hpp +138 -0
  194. casadi/include/casadi/core/exception.hpp +167 -0
  195. casadi/include/casadi/core/expm.hpp +84 -0
  196. casadi/include/casadi/core/external.hpp +70 -0
  197. casadi/include/casadi/core/fmu.hpp +224 -0
  198. casadi/include/casadi/core/function.hpp +1347 -0
  199. casadi/include/casadi/core/generic_expression.hpp +760 -0
  200. casadi/include/casadi/core/generic_matrix.hpp +1598 -0
  201. casadi/include/casadi/core/generic_type.hpp +311 -0
  202. casadi/include/casadi/core/global_options.hpp +97 -0
  203. casadi/include/casadi/core/im.hpp +52 -0
  204. casadi/include/casadi/core/im_fwd.hpp +35 -0
  205. casadi/include/casadi/core/importer.hpp +221 -0
  206. casadi/include/casadi/core/integration_tools.hpp +292 -0
  207. casadi/include/casadi/core/integrator.hpp +256 -0
  208. casadi/include/casadi/core/interpolant.hpp +163 -0
  209. casadi/include/casadi/core/linsol.hpp +171 -0
  210. casadi/include/casadi/core/matrix_decl.hpp +1352 -0
  211. casadi/include/casadi/core/matrix_fwd.hpp +37 -0
  212. casadi/include/casadi/core/mx.hpp +953 -0
  213. casadi/include/casadi/core/nlp_builder.hpp +162 -0
  214. casadi/include/casadi/core/nlp_tools.hpp +124 -0
  215. casadi/include/casadi/core/nlpsol.hpp +234 -0
  216. casadi/include/casadi/core/nonzeros.hpp +111 -0
  217. casadi/include/casadi/core/options.hpp +119 -0
  218. casadi/include/casadi/core/optistack.hpp +670 -0
  219. casadi/include/casadi/core/polynomial.hpp +126 -0
  220. casadi/include/casadi/core/printable.hpp +73 -0
  221. casadi/include/casadi/core/rootfinder.hpp +176 -0
  222. casadi/include/casadi/core/runtime/casadi_axpy.hpp +8 -0
  223. casadi/include/casadi/core/runtime/casadi_bfgs.hpp +49 -0
  224. casadi/include/casadi/core/runtime/casadi_bilin.hpp +42 -0
  225. casadi/include/casadi/core/runtime/casadi_bound_consistency.hpp +51 -0
  226. casadi/include/casadi/core/runtime/casadi_cache.hpp +59 -0
  227. casadi/include/casadi/core/runtime/casadi_clear.hpp +27 -0
  228. casadi/include/casadi/core/runtime/casadi_clip_max.hpp +33 -0
  229. casadi/include/casadi/core/runtime/casadi_clip_min.hpp +33 -0
  230. casadi/include/casadi/core/runtime/casadi_convexify.hpp +182 -0
  231. casadi/include/casadi/core/runtime/casadi_copy.hpp +31 -0
  232. casadi/include/casadi/core/runtime/casadi_cvx.hpp +463 -0
  233. casadi/include/casadi/core/runtime/casadi_de_boor.hpp +36 -0
  234. casadi/include/casadi/core/runtime/casadi_dense_lsqr.hpp +247 -0
  235. casadi/include/casadi/core/runtime/casadi_densify.hpp +48 -0
  236. casadi/include/casadi/core/runtime/casadi_dot.hpp +27 -0
  237. casadi/include/casadi/core/runtime/casadi_feasiblesqpmethod.hpp +208 -0
  238. casadi/include/casadi/core/runtime/casadi_file_slurp.hpp +32 -0
  239. casadi/include/casadi/core/runtime/casadi_fill.hpp +27 -0
  240. casadi/include/casadi/core/runtime/casadi_finite_diff.hpp +345 -0
  241. casadi/include/casadi/core/runtime/casadi_flip.hpp +33 -0
  242. casadi/include/casadi/core/runtime/casadi_getu.hpp +35 -0
  243. casadi/include/casadi/core/runtime/casadi_iamax.hpp +36 -0
  244. casadi/include/casadi/core/runtime/casadi_interpn.hpp +39 -0
  245. casadi/include/casadi/core/runtime/casadi_interpn_grad.hpp +72 -0
  246. casadi/include/casadi/core/runtime/casadi_interpn_interpolate.hpp +43 -0
  247. casadi/include/casadi/core/runtime/casadi_interpn_weights.hpp +39 -0
  248. casadi/include/casadi/core/runtime/casadi_ipqp.hpp +868 -0
  249. casadi/include/casadi/core/runtime/casadi_jac.hpp +186 -0
  250. casadi/include/casadi/core/runtime/casadi_kkt.hpp +67 -0
  251. casadi/include/casadi/core/runtime/casadi_kron.hpp +50 -0
  252. casadi/include/casadi/core/runtime/casadi_ldl.hpp +109 -0
  253. casadi/include/casadi/core/runtime/casadi_logsumexp.hpp +41 -0
  254. casadi/include/casadi/core/runtime/casadi_low.hpp +65 -0
  255. casadi/include/casadi/core/runtime/casadi_lsqr.hpp +247 -0
  256. casadi/include/casadi/core/runtime/casadi_masked_norm_inf.hpp +33 -0
  257. casadi/include/casadi/core/runtime/casadi_max_viol.hpp +37 -0
  258. casadi/include/casadi/core/runtime/casadi_mmax.hpp +28 -0
  259. casadi/include/casadi/core/runtime/casadi_mmin.hpp +29 -0
  260. casadi/include/casadi/core/runtime/casadi_mtimes.hpp +75 -0
  261. casadi/include/casadi/core/runtime/casadi_mv.hpp +46 -0
  262. casadi/include/casadi/core/runtime/casadi_mv_dense.hpp +39 -0
  263. casadi/include/casadi/core/runtime/casadi_nd_boor_dual_eval.hpp +127 -0
  264. casadi/include/casadi/core/runtime/casadi_nd_boor_eval.hpp +120 -0
  265. casadi/include/casadi/core/runtime/casadi_newton.hpp +66 -0
  266. casadi/include/casadi/core/runtime/casadi_nlp.hpp +289 -0
  267. casadi/include/casadi/core/runtime/casadi_norm_1.hpp +29 -0
  268. casadi/include/casadi/core/runtime/casadi_norm_2.hpp +24 -0
  269. casadi/include/casadi/core/runtime/casadi_norm_inf.hpp +28 -0
  270. casadi/include/casadi/core/runtime/casadi_norm_inf_mul.hpp +105 -0
  271. casadi/include/casadi/core/runtime/casadi_ocp_block.hpp +55 -0
  272. casadi/include/casadi/core/runtime/casadi_oracle.hpp +44 -0
  273. casadi/include/casadi/core/runtime/casadi_oracle_callback.hpp +39 -0
  274. casadi/include/casadi/core/runtime/casadi_polyval.hpp +29 -0
  275. casadi/include/casadi/core/runtime/casadi_project.hpp +39 -0
  276. casadi/include/casadi/core/runtime/casadi_qp.hpp +86 -0
  277. casadi/include/casadi/core/runtime/casadi_qr.hpp +272 -0
  278. casadi/include/casadi/core/runtime/casadi_qrqp.hpp +1239 -0
  279. casadi/include/casadi/core/runtime/casadi_rank1.hpp +40 -0
  280. casadi/include/casadi/core/runtime/casadi_regularize.hpp +73 -0
  281. casadi/include/casadi/core/runtime/casadi_runtime.hpp +318 -0
  282. casadi/include/casadi/core/runtime/casadi_scal.hpp +26 -0
  283. casadi/include/casadi/core/runtime/casadi_scaled_copy.hpp +31 -0
  284. casadi/include/casadi/core/runtime/casadi_sparsify.hpp +42 -0
  285. casadi/include/casadi/core/runtime/casadi_sparsity.hpp +24 -0
  286. casadi/include/casadi/core/runtime/casadi_sqpmethod.hpp +178 -0
  287. casadi/include/casadi/core/runtime/casadi_sum.hpp +31 -0
  288. casadi/include/casadi/core/runtime/casadi_sum_viol.hpp +37 -0
  289. casadi/include/casadi/core/runtime/casadi_swap.hpp +32 -0
  290. casadi/include/casadi/core/runtime/casadi_trans.hpp +35 -0
  291. casadi/include/casadi/core/runtime/casadi_tri_project.hpp +37 -0
  292. casadi/include/casadi/core/runtime/casadi_trilsolve.hpp +81 -0
  293. casadi/include/casadi/core/runtime/casadi_triusolve.hpp +81 -0
  294. casadi/include/casadi/core/runtime/casadi_vector_fmax.hpp +28 -0
  295. casadi/include/casadi/core/runtime/casadi_vector_fmin.hpp +28 -0
  296. casadi/include/casadi/core/runtime/casadi_vfmax.hpp +28 -0
  297. casadi/include/casadi/core/runtime/casadi_vfmin.hpp +28 -0
  298. casadi/include/casadi/core/runtime/shared.hpp +261 -0
  299. casadi/include/casadi/core/serializer.hpp +256 -0
  300. casadi/include/casadi/core/serializing_stream.hpp +329 -0
  301. casadi/include/casadi/core/shared_object.hpp +270 -0
  302. casadi/include/casadi/core/slice.hpp +149 -0
  303. casadi/include/casadi/core/sparsity.hpp +1495 -0
  304. casadi/include/casadi/core/sparsity_interface.hpp +745 -0
  305. casadi/include/casadi/core/submatrix.hpp +156 -0
  306. casadi/include/casadi/core/sx.hpp +203 -0
  307. casadi/include/casadi/core/sx_elem.hpp +351 -0
  308. casadi/include/casadi/core/sx_fwd.hpp +45 -0
  309. casadi/include/casadi/core/timing.hpp +98 -0
  310. casadi/include/casadi/core/tools.hpp +67 -0
  311. casadi/include/casadi/core/xml_file.hpp +93 -0
  312. casadi/include/casadi/core/xml_node.hpp +207 -0
  313. casadi/include/casadi/doc.i +58615 -0
  314. casadi/include/casadi/doc_merged.i +36123 -0
  315. casadi/include/casadi/mem.h +311 -0
  316. casadi/include/casadi/valgrind-casadi.supp +511 -0
  317. casadi/include/casadi/valgrind-python.supp +1416 -0
  318. casadi/include/coin/BonArraysHelpers.hpp +52 -0
  319. casadi/include/coin/BonAuxInfos.hpp +110 -0
  320. casadi/include/coin/BonBabInfos.hpp +57 -0
  321. casadi/include/coin/BonBabSetupBase.hpp +386 -0
  322. casadi/include/coin/BonBonminSetup.hpp +95 -0
  323. casadi/include/coin/BonBranchingTQP.hpp +197 -0
  324. casadi/include/coin/BonCbc.hpp +127 -0
  325. casadi/include/coin/BonCbcLpStrategy.hpp +45 -0
  326. casadi/include/coin/BonCbcNlpStrategy.hpp +98 -0
  327. casadi/include/coin/BonCbcNode.hpp +133 -0
  328. casadi/include/coin/BonChooseVariable.hpp +345 -0
  329. casadi/include/coin/BonCurvBranchingSolver.hpp +77 -0
  330. casadi/include/coin/BonCutStrengthener.hpp +244 -0
  331. casadi/include/coin/BonDiver.hpp +424 -0
  332. casadi/include/coin/BonDummyHeuristic.hpp +53 -0
  333. casadi/include/coin/BonDummyPump.hpp +43 -0
  334. casadi/include/coin/BonEcpCuts.hpp +97 -0
  335. casadi/include/coin/BonExitCodes.hpp +12 -0
  336. casadi/include/coin/BonFixAndSolveHeuristic.hpp +43 -0
  337. casadi/include/coin/BonGuessHeuristic.hpp +46 -0
  338. casadi/include/coin/BonHeuristicDive.hpp +88 -0
  339. casadi/include/coin/BonHeuristicDiveFractional.hpp +67 -0
  340. casadi/include/coin/BonHeuristicDiveMIP.hpp +83 -0
  341. casadi/include/coin/BonHeuristicDiveMIPFractional.hpp +67 -0
  342. casadi/include/coin/BonHeuristicDiveMIPVectorLength.hpp +74 -0
  343. casadi/include/coin/BonHeuristicDiveVectorLength.hpp +74 -0
  344. casadi/include/coin/BonHeuristicFPump.hpp +111 -0
  345. casadi/include/coin/BonHeuristicLocalBranching.hpp +59 -0
  346. casadi/include/coin/BonHeuristicRINS.hpp +55 -0
  347. casadi/include/coin/BonIpoptInteriorWarmStarter.hpp +103 -0
  348. casadi/include/coin/BonIpoptSolver.hpp +188 -0
  349. casadi/include/coin/BonIpoptWarmStart.hpp +148 -0
  350. casadi/include/coin/BonLinearCutsGenerator.hpp +75 -0
  351. casadi/include/coin/BonLocalSolverBasedHeuristic.hpp +102 -0
  352. casadi/include/coin/BonLpBranchingSolver.hpp +80 -0
  353. casadi/include/coin/BonMilpRounding.hpp +74 -0
  354. casadi/include/coin/BonOACutGenerator2.hpp +56 -0
  355. casadi/include/coin/BonOAMessages.hpp +44 -0
  356. casadi/include/coin/BonOaDecBase.hpp +297 -0
  357. casadi/include/coin/BonOaFeasChecker.hpp +73 -0
  358. casadi/include/coin/BonOaNlpOptim.hpp +116 -0
  359. casadi/include/coin/BonOsiTMINLPInterface.hpp +1342 -0
  360. casadi/include/coin/BonOuterApprox.hpp +123 -0
  361. casadi/include/coin/BonPseudoCosts.hpp +91 -0
  362. casadi/include/coin/BonPumpForMinlp.hpp +45 -0
  363. casadi/include/coin/BonQuadCut.hpp +217 -0
  364. casadi/include/coin/BonQuadRow.hpp +122 -0
  365. casadi/include/coin/BonRegisteredOptions.hpp +225 -0
  366. casadi/include/coin/BonStrongBranchingSolver.hpp +69 -0
  367. casadi/include/coin/BonSubMipSolver.hpp +143 -0
  368. casadi/include/coin/BonTMINLP.hpp +420 -0
  369. casadi/include/coin/BonTMINLP2OsiLP.hpp +164 -0
  370. casadi/include/coin/BonTMINLP2Quad.hpp +191 -0
  371. casadi/include/coin/BonTMINLP2TNLP.hpp +509 -0
  372. casadi/include/coin/BonTMINLPLinObj.hpp +216 -0
  373. casadi/include/coin/BonTMatrix.hpp +167 -0
  374. casadi/include/coin/BonTNLP2FPNLP.hpp +264 -0
  375. casadi/include/coin/BonTNLPSolver.hpp +241 -0
  376. casadi/include/coin/BonTypes.hpp +95 -0
  377. casadi/include/coin/BonminConfig.h +19 -0
  378. casadi/include/coin/CbcBranchActual.hpp +26 -0
  379. casadi/include/coin/CbcBranchAllDifferent.hpp +61 -0
  380. casadi/include/coin/CbcBranchBase.hpp +79 -0
  381. casadi/include/coin/CbcBranchCut.hpp +182 -0
  382. casadi/include/coin/CbcBranchDecision.hpp +135 -0
  383. casadi/include/coin/CbcBranchDefaultDecision.hpp +101 -0
  384. casadi/include/coin/CbcBranchDynamic.hpp +210 -0
  385. casadi/include/coin/CbcBranchLotsize.hpp +249 -0
  386. casadi/include/coin/CbcBranchToFixLots.hpp +94 -0
  387. casadi/include/coin/CbcBranchingObject.hpp +245 -0
  388. casadi/include/coin/CbcClique.hpp +309 -0
  389. casadi/include/coin/CbcCompare.hpp +46 -0
  390. casadi/include/coin/CbcCompareActual.hpp +16 -0
  391. casadi/include/coin/CbcCompareBase.hpp +155 -0
  392. casadi/include/coin/CbcCompareDefault.hpp +129 -0
  393. casadi/include/coin/CbcCompareDepth.hpp +48 -0
  394. casadi/include/coin/CbcCompareEstimate.hpp +48 -0
  395. casadi/include/coin/CbcCompareObjective.hpp +50 -0
  396. casadi/include/coin/CbcConfig.h +18 -0
  397. casadi/include/coin/CbcConsequence.hpp +50 -0
  398. casadi/include/coin/CbcCountRowCut.hpp +176 -0
  399. casadi/include/coin/CbcCutGenerator.hpp +550 -0
  400. casadi/include/coin/CbcCutModifier.hpp +59 -0
  401. casadi/include/coin/CbcCutSubsetModifier.hpp +69 -0
  402. casadi/include/coin/CbcDummyBranchingObject.hpp +83 -0
  403. casadi/include/coin/CbcEventHandler.hpp +250 -0
  404. casadi/include/coin/CbcFathom.hpp +136 -0
  405. casadi/include/coin/CbcFathomDynamicProgramming.hpp +177 -0
  406. casadi/include/coin/CbcFeasibilityBase.hpp +60 -0
  407. casadi/include/coin/CbcFixVariable.hpp +68 -0
  408. casadi/include/coin/CbcFollowOn.hpp +207 -0
  409. casadi/include/coin/CbcFullNodeInfo.hpp +171 -0
  410. casadi/include/coin/CbcGeneral.hpp +60 -0
  411. casadi/include/coin/CbcGeneralDepth.hpp +289 -0
  412. casadi/include/coin/CbcHeuristic.hpp +735 -0
  413. casadi/include/coin/CbcHeuristicDINS.hpp +98 -0
  414. casadi/include/coin/CbcHeuristicDW.hpp +374 -0
  415. casadi/include/coin/CbcHeuristicDive.hpp +198 -0
  416. casadi/include/coin/CbcHeuristicDiveCoefficient.hpp +52 -0
  417. casadi/include/coin/CbcHeuristicDiveFractional.hpp +52 -0
  418. casadi/include/coin/CbcHeuristicDiveGuided.hpp +55 -0
  419. casadi/include/coin/CbcHeuristicDiveLineSearch.hpp +52 -0
  420. casadi/include/coin/CbcHeuristicDivePseudoCost.hpp +60 -0
  421. casadi/include/coin/CbcHeuristicDiveVectorLength.hpp +52 -0
  422. casadi/include/coin/CbcHeuristicFPump.hpp +375 -0
  423. casadi/include/coin/CbcHeuristicGreedy.hpp +289 -0
  424. casadi/include/coin/CbcHeuristicLocal.hpp +276 -0
  425. casadi/include/coin/CbcHeuristicPivotAndFix.hpp +58 -0
  426. casadi/include/coin/CbcHeuristicRENS.hpp +79 -0
  427. casadi/include/coin/CbcHeuristicRINS.hpp +106 -0
  428. casadi/include/coin/CbcHeuristicRandRound.hpp +58 -0
  429. casadi/include/coin/CbcHeuristicVND.hpp +95 -0
  430. casadi/include/coin/CbcLinked.hpp +1443 -0
  431. casadi/include/coin/CbcMessage.hpp +94 -0
  432. casadi/include/coin/CbcMipStartIO.hpp +29 -0
  433. casadi/include/coin/CbcModel.hpp +3296 -0
  434. casadi/include/coin/CbcNWay.hpp +171 -0
  435. casadi/include/coin/CbcNode.hpp +380 -0
  436. casadi/include/coin/CbcNodeInfo.hpp +377 -0
  437. casadi/include/coin/CbcObject.hpp +288 -0
  438. casadi/include/coin/CbcObjectUpdateData.hpp +63 -0
  439. casadi/include/coin/CbcOrClpParam.cpp +4321 -0
  440. casadi/include/coin/CbcOrClpParam.hpp +585 -0
  441. casadi/include/coin/CbcParam.hpp +338 -0
  442. casadi/include/coin/CbcPartialNodeInfo.hpp +116 -0
  443. casadi/include/coin/CbcSOS.hpp +290 -0
  444. casadi/include/coin/CbcSimpleInteger.hpp +299 -0
  445. casadi/include/coin/CbcSimpleIntegerDynamicPseudoCost.hpp +619 -0
  446. casadi/include/coin/CbcSimpleIntegerPseudoCost.hpp +122 -0
  447. casadi/include/coin/CbcSolver.hpp +460 -0
  448. casadi/include/coin/CbcStrategy.hpp +269 -0
  449. casadi/include/coin/CbcSubProblem.hpp +84 -0
  450. casadi/include/coin/CbcTree.hpp +493 -0
  451. casadi/include/coin/CbcTreeLocal.hpp +393 -0
  452. casadi/include/coin/Cbc_C_Interface.h +904 -0
  453. casadi/include/coin/Cgl012cut.hpp +464 -0
  454. casadi/include/coin/CglAllDifferent.hpp +115 -0
  455. casadi/include/coin/CglClique.hpp +312 -0
  456. casadi/include/coin/CglConfig.h +19 -0
  457. casadi/include/coin/CglCutGenerator.hpp +133 -0
  458. casadi/include/coin/CglDuplicateRow.hpp +189 -0
  459. casadi/include/coin/CglFlowCover.hpp +371 -0
  460. casadi/include/coin/CglGMI.hpp +364 -0
  461. casadi/include/coin/CglGMIParam.hpp +313 -0
  462. casadi/include/coin/CglGomory.hpp +204 -0
  463. casadi/include/coin/CglKnapsackCover.hpp +310 -0
  464. casadi/include/coin/CglLandP.hpp +306 -0
  465. casadi/include/coin/CglLandPValidator.hpp +130 -0
  466. casadi/include/coin/CglLiftAndProject.hpp +104 -0
  467. casadi/include/coin/CglMessage.hpp +49 -0
  468. casadi/include/coin/CglMixedIntegerRounding.hpp +429 -0
  469. casadi/include/coin/CglMixedIntegerRounding2.hpp +427 -0
  470. casadi/include/coin/CglOddHole.hpp +160 -0
  471. casadi/include/coin/CglParam.hpp +93 -0
  472. casadi/include/coin/CglPreProcess.hpp +600 -0
  473. casadi/include/coin/CglProbing.hpp +543 -0
  474. casadi/include/coin/CglRedSplit.hpp +448 -0
  475. casadi/include/coin/CglRedSplit2.hpp +494 -0
  476. casadi/include/coin/CglRedSplit2Param.hpp +495 -0
  477. casadi/include/coin/CglRedSplitParam.hpp +272 -0
  478. casadi/include/coin/CglResidualCapacity.hpp +240 -0
  479. casadi/include/coin/CglSimpleRounding.hpp +174 -0
  480. casadi/include/coin/CglStored.hpp +140 -0
  481. casadi/include/coin/CglTreeInfo.hpp +216 -0
  482. casadi/include/coin/CglTwomir.hpp +562 -0
  483. casadi/include/coin/CglZeroHalf.hpp +133 -0
  484. casadi/include/coin/ClpAmplObjective.hpp +113 -0
  485. casadi/include/coin/ClpCholeskyBase.hpp +321 -0
  486. casadi/include/coin/ClpCholeskyDense.hpp +157 -0
  487. casadi/include/coin/ClpCholeskyMumps.hpp +65 -0
  488. casadi/include/coin/ClpCholeskyPardiso.hpp +67 -0
  489. casadi/include/coin/ClpConfig.h +17 -0
  490. casadi/include/coin/ClpConstraint.hpp +129 -0
  491. casadi/include/coin/ClpConstraintAmpl.hpp +109 -0
  492. casadi/include/coin/ClpConstraintLinear.hpp +113 -0
  493. casadi/include/coin/ClpConstraintQuadratic.hpp +123 -0
  494. casadi/include/coin/ClpDualRowDantzig.hpp +72 -0
  495. casadi/include/coin/ClpDualRowPivot.hpp +136 -0
  496. casadi/include/coin/ClpDualRowSteepest.hpp +160 -0
  497. casadi/include/coin/ClpDummyMatrix.hpp +186 -0
  498. casadi/include/coin/ClpDynamicExampleMatrix.hpp +199 -0
  499. casadi/include/coin/ClpDynamicMatrix.hpp +420 -0
  500. casadi/include/coin/ClpEventHandler.hpp +193 -0
  501. casadi/include/coin/ClpFactorization.hpp +556 -0
  502. casadi/include/coin/ClpGubDynamicMatrix.hpp +270 -0
  503. casadi/include/coin/ClpGubMatrix.hpp +373 -0
  504. casadi/include/coin/ClpInterior.hpp +622 -0
  505. casadi/include/coin/ClpLinearObjective.hpp +104 -0
  506. casadi/include/coin/ClpMatrixBase.hpp +561 -0
  507. casadi/include/coin/ClpMessage.hpp +131 -0
  508. casadi/include/coin/ClpModel.hpp +1442 -0
  509. casadi/include/coin/ClpNetworkMatrix.hpp +235 -0
  510. casadi/include/coin/ClpNode.hpp +364 -0
  511. casadi/include/coin/ClpNonLinearCost.hpp +432 -0
  512. casadi/include/coin/ClpObjective.hpp +142 -0
  513. casadi/include/coin/ClpPEDualRowDantzig.hpp +84 -0
  514. casadi/include/coin/ClpPEDualRowSteepest.hpp +100 -0
  515. casadi/include/coin/ClpPEPrimalColumnDantzig.hpp +71 -0
  516. casadi/include/coin/ClpPEPrimalColumnSteepest.hpp +107 -0
  517. casadi/include/coin/ClpPESimplex.hpp +231 -0
  518. casadi/include/coin/ClpPackedMatrix.hpp +778 -0
  519. casadi/include/coin/ClpParameters.hpp +132 -0
  520. casadi/include/coin/ClpPdcoBase.hpp +110 -0
  521. casadi/include/coin/ClpPlusMinusOneMatrix.hpp +565 -0
  522. casadi/include/coin/ClpPresolve.hpp +379 -0
  523. casadi/include/coin/ClpPrimalColumnDantzig.hpp +74 -0
  524. casadi/include/coin/ClpPrimalColumnPivot.hpp +163 -0
  525. casadi/include/coin/ClpPrimalColumnSteepest.hpp +281 -0
  526. casadi/include/coin/ClpQuadraticObjective.hpp +161 -0
  527. casadi/include/coin/ClpSimplex.hpp +2137 -0
  528. casadi/include/coin/ClpSimplexDual.hpp +304 -0
  529. casadi/include/coin/ClpSimplexNonlinear.hpp +117 -0
  530. casadi/include/coin/ClpSimplexOther.hpp +282 -0
  531. casadi/include/coin/ClpSimplexPrimal.hpp +244 -0
  532. casadi/include/coin/ClpSolve.hpp +505 -0
  533. casadi/include/coin/Clp_C_Interface.h +554 -0
  534. casadi/include/coin/CoinAlloc.hpp +179 -0
  535. casadi/include/coin/CoinBuild.hpp +159 -0
  536. casadi/include/coin/CoinDenseFactorization.hpp +452 -0
  537. casadi/include/coin/CoinDenseVector.hpp +401 -0
  538. casadi/include/coin/CoinDistance.hpp +51 -0
  539. casadi/include/coin/CoinError.hpp +274 -0
  540. casadi/include/coin/CoinFactorization.hpp +2178 -0
  541. casadi/include/coin/CoinFileIO.hpp +185 -0
  542. casadi/include/coin/CoinFinite.hpp +37 -0
  543. casadi/include/coin/CoinFloatEqual.hpp +204 -0
  544. casadi/include/coin/CoinHelperFunctions.hpp +1270 -0
  545. casadi/include/coin/CoinIndexedVector.hpp +1437 -0
  546. casadi/include/coin/CoinLpIO.hpp +836 -0
  547. casadi/include/coin/CoinMessage.hpp +95 -0
  548. casadi/include/coin/CoinMessageHandler.hpp +717 -0
  549. casadi/include/coin/CoinModel.hpp +1214 -0
  550. casadi/include/coin/CoinModelUseful.hpp +518 -0
  551. casadi/include/coin/CoinMpsIO.hpp +1142 -0
  552. casadi/include/coin/CoinOslFactorization.hpp +287 -0
  553. casadi/include/coin/CoinPackedMatrix.hpp +956 -0
  554. casadi/include/coin/CoinPackedVector.hpp +670 -0
  555. casadi/include/coin/CoinPackedVectorBase.hpp +274 -0
  556. casadi/include/coin/CoinParam.hpp +644 -0
  557. casadi/include/coin/CoinPragma.hpp +29 -0
  558. casadi/include/coin/CoinPresolveDoubleton.hpp +76 -0
  559. casadi/include/coin/CoinPresolveDual.hpp +84 -0
  560. casadi/include/coin/CoinPresolveDupcol.hpp +259 -0
  561. casadi/include/coin/CoinPresolveEmpty.hpp +120 -0
  562. casadi/include/coin/CoinPresolveFixed.hpp +185 -0
  563. casadi/include/coin/CoinPresolveForcing.hpp +69 -0
  564. casadi/include/coin/CoinPresolveImpliedFree.hpp +66 -0
  565. casadi/include/coin/CoinPresolveIsolated.hpp +59 -0
  566. casadi/include/coin/CoinPresolveMatrix.hpp +1996 -0
  567. casadi/include/coin/CoinPresolveMonitor.hpp +105 -0
  568. casadi/include/coin/CoinPresolvePsdebug.hpp +169 -0
  569. casadi/include/coin/CoinPresolveSingleton.hpp +115 -0
  570. casadi/include/coin/CoinPresolveSubst.hpp +103 -0
  571. casadi/include/coin/CoinPresolveTighten.hpp +58 -0
  572. casadi/include/coin/CoinPresolveTripleton.hpp +69 -0
  573. casadi/include/coin/CoinPresolveUseless.hpp +63 -0
  574. casadi/include/coin/CoinPresolveZeros.hpp +65 -0
  575. casadi/include/coin/CoinRational.hpp +43 -0
  576. casadi/include/coin/CoinSearchTree.hpp +523 -0
  577. casadi/include/coin/CoinShallowPackedVector.hpp +149 -0
  578. casadi/include/coin/CoinSignal.hpp +127 -0
  579. casadi/include/coin/CoinSimpFactorization.hpp +432 -0
  580. casadi/include/coin/CoinSmartPtr.hpp +548 -0
  581. casadi/include/coin/CoinSnapshot.hpp +572 -0
  582. casadi/include/coin/CoinSort.hpp +753 -0
  583. casadi/include/coin/CoinStructuredModel.hpp +270 -0
  584. casadi/include/coin/CoinTime.hpp +350 -0
  585. casadi/include/coin/CoinTypes.hpp +67 -0
  586. casadi/include/coin/CoinUtility.hpp +26 -0
  587. casadi/include/coin/CoinUtilsConfig.h +34 -0
  588. casadi/include/coin/CoinWarmStart.hpp +56 -0
  589. casadi/include/coin/CoinWarmStartBasis.hpp +468 -0
  590. casadi/include/coin/CoinWarmStartDual.hpp +180 -0
  591. casadi/include/coin/CoinWarmStartPrimalDual.hpp +233 -0
  592. casadi/include/coin/CoinWarmStartVector.hpp +523 -0
  593. casadi/include/coin/Coin_C_defines.h +149 -0
  594. casadi/include/coin/Idiot.hpp +327 -0
  595. casadi/include/coin/OsiAuxInfo.hpp +261 -0
  596. casadi/include/coin/OsiBranchingObject.hpp +1097 -0
  597. casadi/include/coin/OsiCbcSolverInterface.hpp +791 -0
  598. casadi/include/coin/OsiChooseVariable.hpp +645 -0
  599. casadi/include/coin/OsiClpSolverInterface.hpp +1604 -0
  600. casadi/include/coin/OsiColCut.hpp +322 -0
  601. casadi/include/coin/OsiCollections.hpp +34 -0
  602. casadi/include/coin/OsiConfig.h +19 -0
  603. casadi/include/coin/OsiCut.hpp +251 -0
  604. casadi/include/coin/OsiCuts.hpp +505 -0
  605. casadi/include/coin/OsiPresolve.hpp +272 -0
  606. casadi/include/coin/OsiRowCut.hpp +345 -0
  607. casadi/include/coin/OsiRowCutDebugger.hpp +190 -0
  608. casadi/include/coin/OsiSolverBranch.hpp +169 -0
  609. casadi/include/coin/OsiSolverInterface.hpp +2221 -0
  610. casadi/include/coin/OsiSolverParameters.hpp +144 -0
  611. casadi/include/coin/OsiUnitTests.hpp +390 -0
  612. casadi/include/coin-or/IpAlgBuilder.hpp +417 -0
  613. casadi/include/coin-or/IpAlgStrategy.hpp +201 -0
  614. casadi/include/coin-or/IpAlgTypes.hpp +64 -0
  615. casadi/include/coin-or/IpAugSystemSolver.hpp +212 -0
  616. casadi/include/coin-or/IpBlas.hpp +426 -0
  617. casadi/include/coin-or/IpCachedResults.hpp +897 -0
  618. casadi/include/coin-or/IpCompoundMatrix.hpp +423 -0
  619. casadi/include/coin-or/IpCompoundSymMatrix.hpp +348 -0
  620. casadi/include/coin-or/IpCompoundVector.hpp +395 -0
  621. casadi/include/coin-or/IpConvCheck.hpp +97 -0
  622. casadi/include/coin-or/IpDebug.hpp +167 -0
  623. casadi/include/coin-or/IpDenseVector.hpp +626 -0
  624. casadi/include/coin-or/IpDiagMatrix.hpp +158 -0
  625. casadi/include/coin-or/IpEqMultCalculator.hpp +76 -0
  626. casadi/include/coin-or/IpException.hpp +156 -0
  627. casadi/include/coin-or/IpExpansionMatrix.hpp +245 -0
  628. casadi/include/coin-or/IpGenTMatrix.hpp +290 -0
  629. casadi/include/coin-or/IpHessianUpdater.hpp +73 -0
  630. casadi/include/coin-or/IpIdentityMatrix.hpp +167 -0
  631. casadi/include/coin-or/IpIpoptAlg.hpp +257 -0
  632. casadi/include/coin-or/IpIpoptApplication.hpp +367 -0
  633. casadi/include/coin-or/IpIpoptCalculatedQuantities.hpp +1009 -0
  634. casadi/include/coin-or/IpIpoptData.hpp +966 -0
  635. casadi/include/coin-or/IpIpoptNLP.hpp +328 -0
  636. casadi/include/coin-or/IpIterateInitializer.hpp +68 -0
  637. casadi/include/coin-or/IpIteratesVector.hpp +840 -0
  638. casadi/include/coin-or/IpIterationOutput.hpp +78 -0
  639. casadi/include/coin-or/IpJournalist.hpp +573 -0
  640. casadi/include/coin-or/IpLapack.hpp +227 -0
  641. casadi/include/coin-or/IpLibraryLoader.hpp +76 -0
  642. casadi/include/coin-or/IpLineSearch.hpp +106 -0
  643. casadi/include/coin-or/IpLinearSolvers.h +46 -0
  644. casadi/include/coin-or/IpMatrix.hpp +434 -0
  645. casadi/include/coin-or/IpMuUpdate.hpp +77 -0
  646. casadi/include/coin-or/IpNLP.hpp +306 -0
  647. casadi/include/coin-or/IpNLPScaling.hpp +582 -0
  648. casadi/include/coin-or/IpObserver.hpp +422 -0
  649. casadi/include/coin-or/IpOptionsList.hpp +412 -0
  650. casadi/include/coin-or/IpOrigIpoptNLP.hpp +603 -0
  651. casadi/include/coin-or/IpPDSystemSolver.hpp +137 -0
  652. casadi/include/coin-or/IpReferenced.hpp +262 -0
  653. casadi/include/coin-or/IpRegOptions.hpp +1152 -0
  654. casadi/include/coin-or/IpReturnCodes.h +23 -0
  655. casadi/include/coin-or/IpReturnCodes.hpp +18 -0
  656. casadi/include/coin-or/IpReturnCodes.inc +71 -0
  657. casadi/include/coin-or/IpReturnCodes_inc.h +45 -0
  658. casadi/include/coin-or/IpScaledMatrix.hpp +291 -0
  659. casadi/include/coin-or/IpSearchDirCalculator.hpp +72 -0
  660. casadi/include/coin-or/IpSmartPtr.hpp +865 -0
  661. casadi/include/coin-or/IpSolveStatistics.hpp +210 -0
  662. casadi/include/coin-or/IpSparseSymLinearSolverInterface.hpp +260 -0
  663. casadi/include/coin-or/IpStdAugSystemSolver.cpp +555 -0
  664. casadi/include/coin-or/IpStdCInterface.h +428 -0
  665. casadi/include/coin-or/IpSumSymMatrix.hpp +186 -0
  666. casadi/include/coin-or/IpSymLinearSolver.hpp +141 -0
  667. casadi/include/coin-or/IpSymMatrix.hpp +167 -0
  668. casadi/include/coin-or/IpSymScaledMatrix.hpp +255 -0
  669. casadi/include/coin-or/IpSymTMatrix.hpp +275 -0
  670. casadi/include/coin-or/IpTNLP.hpp +820 -0
  671. casadi/include/coin-or/IpTNLPAdapter.hpp +648 -0
  672. casadi/include/coin-or/IpTNLPReducer.hpp +274 -0
  673. casadi/include/coin-or/IpTaggedObject.hpp +128 -0
  674. casadi/include/coin-or/IpTimedTask.hpp +218 -0
  675. casadi/include/coin-or/IpTimingStatistics.hpp +323 -0
  676. casadi/include/coin-or/IpTripletHelper.hpp +308 -0
  677. casadi/include/coin-or/IpTypes.h +81 -0
  678. casadi/include/coin-or/IpTypes.hpp +30 -0
  679. casadi/include/coin-or/IpUtils.hpp +166 -0
  680. casadi/include/coin-or/IpVector.hpp +892 -0
  681. casadi/include/coin-or/IpZeroSymMatrix.hpp +155 -0
  682. casadi/include/coin-or/IpoptConfig.h +45 -0
  683. casadi/include/coin-or/SensAlgorithm.hpp +114 -0
  684. casadi/include/coin-or/SensApplication.hpp +188 -0
  685. casadi/include/coin-or/SensBacksolver.hpp +36 -0
  686. casadi/include/coin-or/SensMeasurement.hpp +56 -0
  687. casadi/include/coin-or/SensPCalculator.hpp +137 -0
  688. casadi/include/coin-or/SensRegOp.hpp +21 -0
  689. casadi/include/coin-or/SensSchurData.hpp +182 -0
  690. casadi/include/coin-or/SensSchurDriver.hpp +118 -0
  691. casadi/include/coin-or/SensSimpleBacksolver.hpp +49 -0
  692. casadi/include/coin-or/SensStepCalc.hpp +85 -0
  693. casadi/include/coin-or/SensUtils.hpp +63 -0
  694. casadi/include/coin-or/metis/defs.h +161 -0
  695. casadi/include/coin-or/metis/macros.h +143 -0
  696. casadi/include/coin-or/metis/metis.h +37 -0
  697. casadi/include/coin-or/metis/proto.h +505 -0
  698. casadi/include/coin-or/metis/rename.h +418 -0
  699. casadi/include/coin-or/metis/struct.h +251 -0
  700. casadi/include/coin-or/mumps/dmumps_c.h +142 -0
  701. casadi/include/coin-or/mumps/mumps_c_types.h +72 -0
  702. casadi/include/coin-or/mumps/mumps_compat.h +27 -0
  703. casadi/include/coin-or/mumps/mumps_int_def.h +11 -0
  704. casadi/include/coin-or/mumps/mumps_mpi.h +67 -0
  705. casadi/include/d_blas.h +78 -0
  706. casadi/include/d_blas_64.h +73 -0
  707. casadi/include/daqp/api.h +46 -0
  708. casadi/include/daqp/auxiliary.h +29 -0
  709. casadi/include/daqp/bnb.h +32 -0
  710. casadi/include/daqp/codegen.h +18 -0
  711. casadi/include/daqp/constants.h +92 -0
  712. casadi/include/daqp/daqp.h +22 -0
  713. casadi/include/daqp/daqp_prox.h +18 -0
  714. casadi/include/daqp/factorization.h +18 -0
  715. casadi/include/daqp/types.h +161 -0
  716. casadi/include/daqp/utils.h +44 -0
  717. casadi/include/eigen3/Eigen/Cholesky +45 -0
  718. casadi/include/eigen3/Eigen/CholmodSupport +48 -0
  719. casadi/include/eigen3/Eigen/Core +384 -0
  720. casadi/include/eigen3/Eigen/Dense +7 -0
  721. casadi/include/eigen3/Eigen/Eigen +2 -0
  722. casadi/include/eigen3/Eigen/Eigenvalues +60 -0
  723. casadi/include/eigen3/Eigen/Geometry +59 -0
  724. casadi/include/eigen3/Eigen/Householder +29 -0
  725. casadi/include/eigen3/Eigen/IterativeLinearSolvers +48 -0
  726. casadi/include/eigen3/Eigen/Jacobi +32 -0
  727. casadi/include/eigen3/Eigen/KLUSupport +41 -0
  728. casadi/include/eigen3/Eigen/LU +47 -0
  729. casadi/include/eigen3/Eigen/MetisSupport +35 -0
  730. casadi/include/eigen3/Eigen/OrderingMethods +70 -0
  731. casadi/include/eigen3/Eigen/PaStiXSupport +49 -0
  732. casadi/include/eigen3/Eigen/PardisoSupport +35 -0
  733. casadi/include/eigen3/Eigen/QR +50 -0
  734. casadi/include/eigen3/Eigen/QtAlignedMalloc +39 -0
  735. casadi/include/eigen3/Eigen/SPQRSupport +34 -0
  736. casadi/include/eigen3/Eigen/SVD +50 -0
  737. casadi/include/eigen3/Eigen/Sparse +34 -0
  738. casadi/include/eigen3/Eigen/SparseCholesky +37 -0
  739. casadi/include/eigen3/Eigen/SparseCore +69 -0
  740. casadi/include/eigen3/Eigen/SparseLU +50 -0
  741. casadi/include/eigen3/Eigen/SparseQR +36 -0
  742. casadi/include/eigen3/Eigen/StdDeque +27 -0
  743. casadi/include/eigen3/Eigen/StdList +26 -0
  744. casadi/include/eigen3/Eigen/StdVector +27 -0
  745. casadi/include/eigen3/Eigen/SuperLUSupport +64 -0
  746. casadi/include/eigen3/Eigen/UmfPackSupport +40 -0
  747. casadi/include/eigen3/Eigen/src/Cholesky/LDLT.h +688 -0
  748. casadi/include/eigen3/Eigen/src/Cholesky/LLT.h +558 -0
  749. casadi/include/eigen3/Eigen/src/Cholesky/LLT_LAPACKE.h +99 -0
  750. casadi/include/eigen3/Eigen/src/CholmodSupport/CholmodSupport.h +682 -0
  751. casadi/include/eigen3/Eigen/src/Core/ArithmeticSequence.h +413 -0
  752. casadi/include/eigen3/Eigen/src/Core/Array.h +417 -0
  753. casadi/include/eigen3/Eigen/src/Core/ArrayBase.h +226 -0
  754. casadi/include/eigen3/Eigen/src/Core/ArrayWrapper.h +209 -0
  755. casadi/include/eigen3/Eigen/src/Core/Assign.h +90 -0
  756. casadi/include/eigen3/Eigen/src/Core/AssignEvaluator.h +1010 -0
  757. casadi/include/eigen3/Eigen/src/Core/Assign_MKL.h +178 -0
  758. casadi/include/eigen3/Eigen/src/Core/BandMatrix.h +353 -0
  759. casadi/include/eigen3/Eigen/src/Core/Block.h +448 -0
  760. casadi/include/eigen3/Eigen/src/Core/BooleanRedux.h +162 -0
  761. casadi/include/eigen3/Eigen/src/Core/CommaInitializer.h +164 -0
  762. casadi/include/eigen3/Eigen/src/Core/ConditionEstimator.h +175 -0
  763. casadi/include/eigen3/Eigen/src/Core/CoreEvaluators.h +1741 -0
  764. casadi/include/eigen3/Eigen/src/Core/CoreIterators.h +132 -0
  765. casadi/include/eigen3/Eigen/src/Core/CwiseBinaryOp.h +183 -0
  766. casadi/include/eigen3/Eigen/src/Core/CwiseNullaryOp.h +1001 -0
  767. casadi/include/eigen3/Eigen/src/Core/CwiseTernaryOp.h +197 -0
  768. casadi/include/eigen3/Eigen/src/Core/CwiseUnaryOp.h +103 -0
  769. casadi/include/eigen3/Eigen/src/Core/CwiseUnaryView.h +132 -0
  770. casadi/include/eigen3/Eigen/src/Core/DenseBase.h +701 -0
  771. casadi/include/eigen3/Eigen/src/Core/DenseCoeffsBase.h +685 -0
  772. casadi/include/eigen3/Eigen/src/Core/DenseStorage.h +652 -0
  773. casadi/include/eigen3/Eigen/src/Core/Diagonal.h +258 -0
  774. casadi/include/eigen3/Eigen/src/Core/DiagonalMatrix.h +391 -0
  775. casadi/include/eigen3/Eigen/src/Core/DiagonalProduct.h +28 -0
  776. casadi/include/eigen3/Eigen/src/Core/Dot.h +318 -0
  777. casadi/include/eigen3/Eigen/src/Core/EigenBase.h +160 -0
  778. casadi/include/eigen3/Eigen/src/Core/ForceAlignedAccess.h +150 -0
  779. casadi/include/eigen3/Eigen/src/Core/Fuzzy.h +155 -0
  780. casadi/include/eigen3/Eigen/src/Core/GeneralProduct.h +465 -0
  781. casadi/include/eigen3/Eigen/src/Core/GenericPacketMath.h +1040 -0
  782. casadi/include/eigen3/Eigen/src/Core/GlobalFunctions.h +194 -0
  783. casadi/include/eigen3/Eigen/src/Core/IO.h +258 -0
  784. casadi/include/eigen3/Eigen/src/Core/IndexedView.h +237 -0
  785. casadi/include/eigen3/Eigen/src/Core/Inverse.h +117 -0
  786. casadi/include/eigen3/Eigen/src/Core/Map.h +171 -0
  787. casadi/include/eigen3/Eigen/src/Core/MapBase.h +310 -0
  788. casadi/include/eigen3/Eigen/src/Core/MathFunctions.h +2057 -0
  789. casadi/include/eigen3/Eigen/src/Core/MathFunctionsImpl.h +200 -0
  790. casadi/include/eigen3/Eigen/src/Core/Matrix.h +565 -0
  791. casadi/include/eigen3/Eigen/src/Core/MatrixBase.h +547 -0
  792. casadi/include/eigen3/Eigen/src/Core/NestByValue.h +85 -0
  793. casadi/include/eigen3/Eigen/src/Core/NoAlias.h +109 -0
  794. casadi/include/eigen3/Eigen/src/Core/NumTraits.h +335 -0
  795. casadi/include/eigen3/Eigen/src/Core/PartialReduxEvaluator.h +232 -0
  796. casadi/include/eigen3/Eigen/src/Core/PermutationMatrix.h +605 -0
  797. casadi/include/eigen3/Eigen/src/Core/PlainObjectBase.h +1128 -0
  798. casadi/include/eigen3/Eigen/src/Core/Product.h +191 -0
  799. casadi/include/eigen3/Eigen/src/Core/ProductEvaluators.h +1179 -0
  800. casadi/include/eigen3/Eigen/src/Core/Random.h +218 -0
  801. casadi/include/eigen3/Eigen/src/Core/Redux.h +515 -0
  802. casadi/include/eigen3/Eigen/src/Core/Ref.h +381 -0
  803. casadi/include/eigen3/Eigen/src/Core/Replicate.h +142 -0
  804. casadi/include/eigen3/Eigen/src/Core/Reshaped.h +454 -0
  805. casadi/include/eigen3/Eigen/src/Core/ReturnByValue.h +119 -0
  806. casadi/include/eigen3/Eigen/src/Core/Reverse.h +217 -0
  807. casadi/include/eigen3/Eigen/src/Core/Select.h +164 -0
  808. casadi/include/eigen3/Eigen/src/Core/SelfAdjointView.h +365 -0
  809. casadi/include/eigen3/Eigen/src/Core/SelfCwiseBinaryOp.h +47 -0
  810. casadi/include/eigen3/Eigen/src/Core/Solve.h +188 -0
  811. casadi/include/eigen3/Eigen/src/Core/SolveTriangular.h +235 -0
  812. casadi/include/eigen3/Eigen/src/Core/SolverBase.h +168 -0
  813. casadi/include/eigen3/Eigen/src/Core/StableNorm.h +251 -0
  814. casadi/include/eigen3/Eigen/src/Core/StlIterators.h +463 -0
  815. casadi/include/eigen3/Eigen/src/Core/Stride.h +116 -0
  816. casadi/include/eigen3/Eigen/src/Core/Swap.h +68 -0
  817. casadi/include/eigen3/Eigen/src/Core/Transpose.h +464 -0
  818. casadi/include/eigen3/Eigen/src/Core/Transpositions.h +386 -0
  819. casadi/include/eigen3/Eigen/src/Core/TriangularMatrix.h +1001 -0
  820. casadi/include/eigen3/Eigen/src/Core/VectorBlock.h +96 -0
  821. casadi/include/eigen3/Eigen/src/Core/VectorwiseOp.h +784 -0
  822. casadi/include/eigen3/Eigen/src/Core/Visitor.h +381 -0
  823. casadi/include/eigen3/Eigen/src/Core/arch/AVX/Complex.h +372 -0
  824. casadi/include/eigen3/Eigen/src/Core/arch/AVX/MathFunctions.h +228 -0
  825. casadi/include/eigen3/Eigen/src/Core/arch/AVX/PacketMath.h +1574 -0
  826. casadi/include/eigen3/Eigen/src/Core/arch/AVX/TypeCasting.h +115 -0
  827. casadi/include/eigen3/Eigen/src/Core/arch/AVX512/Complex.h +422 -0
  828. casadi/include/eigen3/Eigen/src/Core/arch/AVX512/MathFunctions.h +362 -0
  829. casadi/include/eigen3/Eigen/src/Core/arch/AVX512/PacketMath.h +2303 -0
  830. casadi/include/eigen3/Eigen/src/Core/arch/AVX512/TypeCasting.h +89 -0
  831. casadi/include/eigen3/Eigen/src/Core/arch/AltiVec/Complex.h +417 -0
  832. casadi/include/eigen3/Eigen/src/Core/arch/AltiVec/MathFunctions.h +90 -0
  833. casadi/include/eigen3/Eigen/src/Core/arch/AltiVec/MatrixProduct.h +2937 -0
  834. casadi/include/eigen3/Eigen/src/Core/arch/AltiVec/MatrixProductCommon.h +221 -0
  835. casadi/include/eigen3/Eigen/src/Core/arch/AltiVec/MatrixProductMMA.h +629 -0
  836. casadi/include/eigen3/Eigen/src/Core/arch/AltiVec/PacketMath.h +2711 -0
  837. casadi/include/eigen3/Eigen/src/Core/arch/CUDA/Complex.h +258 -0
  838. casadi/include/eigen3/Eigen/src/Core/arch/Default/BFloat16.h +700 -0
  839. casadi/include/eigen3/Eigen/src/Core/arch/Default/ConjHelper.h +117 -0
  840. casadi/include/eigen3/Eigen/src/Core/arch/Default/GenericPacketMathFunctions.h +1649 -0
  841. casadi/include/eigen3/Eigen/src/Core/arch/Default/GenericPacketMathFunctionsFwd.h +110 -0
  842. casadi/include/eigen3/Eigen/src/Core/arch/Default/Half.h +942 -0
  843. casadi/include/eigen3/Eigen/src/Core/arch/Default/Settings.h +49 -0
  844. casadi/include/eigen3/Eigen/src/Core/arch/Default/TypeCasting.h +120 -0
  845. casadi/include/eigen3/Eigen/src/Core/arch/GPU/MathFunctions.h +103 -0
  846. casadi/include/eigen3/Eigen/src/Core/arch/GPU/PacketMath.h +1685 -0
  847. casadi/include/eigen3/Eigen/src/Core/arch/GPU/TypeCasting.h +80 -0
  848. casadi/include/eigen3/Eigen/src/Core/arch/HIP/hcc/math_constants.h +23 -0
  849. casadi/include/eigen3/Eigen/src/Core/arch/MSA/Complex.h +648 -0
  850. casadi/include/eigen3/Eigen/src/Core/arch/MSA/MathFunctions.h +387 -0
  851. casadi/include/eigen3/Eigen/src/Core/arch/MSA/PacketMath.h +1233 -0
  852. casadi/include/eigen3/Eigen/src/Core/arch/NEON/Complex.h +584 -0
  853. casadi/include/eigen3/Eigen/src/Core/arch/NEON/GeneralBlockPanelKernel.h +183 -0
  854. casadi/include/eigen3/Eigen/src/Core/arch/NEON/MathFunctions.h +75 -0
  855. casadi/include/eigen3/Eigen/src/Core/arch/NEON/PacketMath.h +4587 -0
  856. casadi/include/eigen3/Eigen/src/Core/arch/NEON/TypeCasting.h +1419 -0
  857. casadi/include/eigen3/Eigen/src/Core/arch/SSE/Complex.h +351 -0
  858. casadi/include/eigen3/Eigen/src/Core/arch/SSE/MathFunctions.h +199 -0
  859. casadi/include/eigen3/Eigen/src/Core/arch/SSE/PacketMath.h +1505 -0
  860. casadi/include/eigen3/Eigen/src/Core/arch/SSE/TypeCasting.h +142 -0
  861. casadi/include/eigen3/Eigen/src/Core/arch/SVE/MathFunctions.h +44 -0
  862. casadi/include/eigen3/Eigen/src/Core/arch/SVE/PacketMath.h +752 -0
  863. casadi/include/eigen3/Eigen/src/Core/arch/SVE/TypeCasting.h +49 -0
  864. casadi/include/eigen3/Eigen/src/Core/arch/SYCL/InteropHeaders.h +232 -0
  865. casadi/include/eigen3/Eigen/src/Core/arch/SYCL/MathFunctions.h +301 -0
  866. casadi/include/eigen3/Eigen/src/Core/arch/SYCL/PacketMath.h +670 -0
  867. casadi/include/eigen3/Eigen/src/Core/arch/SYCL/SyclMemoryModel.h +694 -0
  868. casadi/include/eigen3/Eigen/src/Core/arch/SYCL/TypeCasting.h +85 -0
  869. casadi/include/eigen3/Eigen/src/Core/arch/ZVector/Complex.h +426 -0
  870. casadi/include/eigen3/Eigen/src/Core/arch/ZVector/MathFunctions.h +233 -0
  871. casadi/include/eigen3/Eigen/src/Core/arch/ZVector/PacketMath.h +1060 -0
  872. casadi/include/eigen3/Eigen/src/Core/functors/AssignmentFunctors.h +177 -0
  873. casadi/include/eigen3/Eigen/src/Core/functors/BinaryFunctors.h +541 -0
  874. casadi/include/eigen3/Eigen/src/Core/functors/NullaryFunctors.h +189 -0
  875. casadi/include/eigen3/Eigen/src/Core/functors/StlFunctors.h +166 -0
  876. casadi/include/eigen3/Eigen/src/Core/functors/TernaryFunctors.h +25 -0
  877. casadi/include/eigen3/Eigen/src/Core/functors/UnaryFunctors.h +1131 -0
  878. casadi/include/eigen3/Eigen/src/Core/products/GeneralBlockPanelKernel.h +2645 -0
  879. casadi/include/eigen3/Eigen/src/Core/products/GeneralMatrixMatrix.h +517 -0
  880. casadi/include/eigen3/Eigen/src/Core/products/GeneralMatrixMatrixTriangular.h +317 -0
  881. casadi/include/eigen3/Eigen/src/Core/products/GeneralMatrixMatrixTriangular_BLAS.h +145 -0
  882. casadi/include/eigen3/Eigen/src/Core/products/GeneralMatrixMatrix_BLAS.h +124 -0
  883. casadi/include/eigen3/Eigen/src/Core/products/GeneralMatrixVector.h +518 -0
  884. casadi/include/eigen3/Eigen/src/Core/products/GeneralMatrixVector_BLAS.h +136 -0
  885. casadi/include/eigen3/Eigen/src/Core/products/Parallelizer.h +180 -0
  886. casadi/include/eigen3/Eigen/src/Core/products/SelfadjointMatrixMatrix.h +544 -0
  887. casadi/include/eigen3/Eigen/src/Core/products/SelfadjointMatrixMatrix_BLAS.h +295 -0
  888. casadi/include/eigen3/Eigen/src/Core/products/SelfadjointMatrixVector.h +262 -0
  889. casadi/include/eigen3/Eigen/src/Core/products/SelfadjointMatrixVector_BLAS.h +118 -0
  890. casadi/include/eigen3/Eigen/src/Core/products/SelfadjointProduct.h +133 -0
  891. casadi/include/eigen3/Eigen/src/Core/products/SelfadjointRank2Update.h +94 -0
  892. casadi/include/eigen3/Eigen/src/Core/products/TriangularMatrixMatrix.h +472 -0
  893. casadi/include/eigen3/Eigen/src/Core/products/TriangularMatrixMatrix_BLAS.h +317 -0
  894. casadi/include/eigen3/Eigen/src/Core/products/TriangularMatrixVector.h +350 -0
  895. casadi/include/eigen3/Eigen/src/Core/products/TriangularMatrixVector_BLAS.h +255 -0
  896. casadi/include/eigen3/Eigen/src/Core/products/TriangularSolverMatrix.h +337 -0
  897. casadi/include/eigen3/Eigen/src/Core/products/TriangularSolverMatrix_BLAS.h +167 -0
  898. casadi/include/eigen3/Eigen/src/Core/products/TriangularSolverVector.h +148 -0
  899. casadi/include/eigen3/Eigen/src/Core/util/BlasUtil.h +583 -0
  900. casadi/include/eigen3/Eigen/src/Core/util/ConfigureVectorization.h +512 -0
  901. casadi/include/eigen3/Eigen/src/Core/util/Constants.h +563 -0
  902. casadi/include/eigen3/Eigen/src/Core/util/DisableStupidWarnings.h +106 -0
  903. casadi/include/eigen3/Eigen/src/Core/util/ForwardDeclarations.h +322 -0
  904. casadi/include/eigen3/Eigen/src/Core/util/IndexedViewHelper.h +186 -0
  905. casadi/include/eigen3/Eigen/src/Core/util/IntegralConstant.h +272 -0
  906. casadi/include/eigen3/Eigen/src/Core/util/MKL_support.h +137 -0
  907. casadi/include/eigen3/Eigen/src/Core/util/Macros.h +1464 -0
  908. casadi/include/eigen3/Eigen/src/Core/util/Memory.h +1163 -0
  909. casadi/include/eigen3/Eigen/src/Core/util/Meta.h +812 -0
  910. casadi/include/eigen3/Eigen/src/Core/util/NonMPL2.h +3 -0
  911. casadi/include/eigen3/Eigen/src/Core/util/ReenableStupidWarnings.h +31 -0
  912. casadi/include/eigen3/Eigen/src/Core/util/ReshapedHelper.h +51 -0
  913. casadi/include/eigen3/Eigen/src/Core/util/StaticAssert.h +221 -0
  914. casadi/include/eigen3/Eigen/src/Core/util/SymbolicIndex.h +293 -0
  915. casadi/include/eigen3/Eigen/src/Core/util/XprHelper.h +856 -0
  916. casadi/include/eigen3/Eigen/src/Eigenvalues/ComplexEigenSolver.h +346 -0
  917. casadi/include/eigen3/Eigen/src/Eigenvalues/ComplexSchur.h +462 -0
  918. casadi/include/eigen3/Eigen/src/Eigenvalues/ComplexSchur_LAPACKE.h +91 -0
  919. casadi/include/eigen3/Eigen/src/Eigenvalues/EigenSolver.h +622 -0
  920. casadi/include/eigen3/Eigen/src/Eigenvalues/GeneralizedEigenSolver.h +418 -0
  921. casadi/include/eigen3/Eigen/src/Eigenvalues/GeneralizedSelfAdjointEigenSolver.h +226 -0
  922. casadi/include/eigen3/Eigen/src/Eigenvalues/HessenbergDecomposition.h +374 -0
  923. casadi/include/eigen3/Eigen/src/Eigenvalues/MatrixBaseEigenvalues.h +158 -0
  924. casadi/include/eigen3/Eigen/src/Eigenvalues/RealQZ.h +657 -0
  925. casadi/include/eigen3/Eigen/src/Eigenvalues/RealSchur.h +558 -0
  926. casadi/include/eigen3/Eigen/src/Eigenvalues/RealSchur_LAPACKE.h +77 -0
  927. casadi/include/eigen3/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h +904 -0
  928. casadi/include/eigen3/Eigen/src/Eigenvalues/SelfAdjointEigenSolver_LAPACKE.h +87 -0
  929. casadi/include/eigen3/Eigen/src/Eigenvalues/Tridiagonalization.h +561 -0
  930. casadi/include/eigen3/Eigen/src/Geometry/AlignedBox.h +486 -0
  931. casadi/include/eigen3/Eigen/src/Geometry/AngleAxis.h +247 -0
  932. casadi/include/eigen3/Eigen/src/Geometry/EulerAngles.h +114 -0
  933. casadi/include/eigen3/Eigen/src/Geometry/Homogeneous.h +501 -0
  934. casadi/include/eigen3/Eigen/src/Geometry/Hyperplane.h +282 -0
  935. casadi/include/eigen3/Eigen/src/Geometry/OrthoMethods.h +235 -0
  936. casadi/include/eigen3/Eigen/src/Geometry/ParametrizedLine.h +232 -0
  937. casadi/include/eigen3/Eigen/src/Geometry/Quaternion.h +870 -0
  938. casadi/include/eigen3/Eigen/src/Geometry/Rotation2D.h +199 -0
  939. casadi/include/eigen3/Eigen/src/Geometry/RotationBase.h +206 -0
  940. casadi/include/eigen3/Eigen/src/Geometry/Scaling.h +188 -0
  941. casadi/include/eigen3/Eigen/src/Geometry/Transform.h +1563 -0
  942. casadi/include/eigen3/Eigen/src/Geometry/Translation.h +202 -0
  943. casadi/include/eigen3/Eigen/src/Geometry/Umeyama.h +166 -0
  944. casadi/include/eigen3/Eigen/src/Geometry/arch/Geometry_SIMD.h +168 -0
  945. casadi/include/eigen3/Eigen/src/Householder/BlockHouseholder.h +110 -0
  946. casadi/include/eigen3/Eigen/src/Householder/Householder.h +176 -0
  947. casadi/include/eigen3/Eigen/src/Householder/HouseholderSequence.h +545 -0
  948. casadi/include/eigen3/Eigen/src/IterativeLinearSolvers/BasicPreconditioners.h +226 -0
  949. casadi/include/eigen3/Eigen/src/IterativeLinearSolvers/BiCGSTAB.h +212 -0
  950. casadi/include/eigen3/Eigen/src/IterativeLinearSolvers/ConjugateGradient.h +229 -0
  951. casadi/include/eigen3/Eigen/src/IterativeLinearSolvers/IncompleteCholesky.h +394 -0
  952. casadi/include/eigen3/Eigen/src/IterativeLinearSolvers/IncompleteLUT.h +453 -0
  953. casadi/include/eigen3/Eigen/src/IterativeLinearSolvers/IterativeSolverBase.h +444 -0
  954. casadi/include/eigen3/Eigen/src/IterativeLinearSolvers/LeastSquareConjugateGradient.h +198 -0
  955. casadi/include/eigen3/Eigen/src/IterativeLinearSolvers/SolveWithGuess.h +117 -0
  956. casadi/include/eigen3/Eigen/src/Jacobi/Jacobi.h +483 -0
  957. casadi/include/eigen3/Eigen/src/KLUSupport/KLUSupport.h +358 -0
  958. casadi/include/eigen3/Eigen/src/LU/Determinant.h +117 -0
  959. casadi/include/eigen3/Eigen/src/LU/FullPivLU.h +877 -0
  960. casadi/include/eigen3/Eigen/src/LU/InverseImpl.h +432 -0
  961. casadi/include/eigen3/Eigen/src/LU/PartialPivLU.h +624 -0
  962. casadi/include/eigen3/Eigen/src/LU/PartialPivLU_LAPACKE.h +83 -0
  963. casadi/include/eigen3/Eigen/src/LU/arch/InverseSize4.h +351 -0
  964. casadi/include/eigen3/Eigen/src/MetisSupport/MetisSupport.h +137 -0
  965. casadi/include/eigen3/Eigen/src/OrderingMethods/Amd.h +435 -0
  966. casadi/include/eigen3/Eigen/src/OrderingMethods/Eigen_Colamd.h +1863 -0
  967. casadi/include/eigen3/Eigen/src/OrderingMethods/Ordering.h +153 -0
  968. casadi/include/eigen3/Eigen/src/PaStiXSupport/PaStiXSupport.h +678 -0
  969. casadi/include/eigen3/Eigen/src/PardisoSupport/PardisoSupport.h +545 -0
  970. casadi/include/eigen3/Eigen/src/QR/ColPivHouseholderQR.h +674 -0
  971. casadi/include/eigen3/Eigen/src/QR/ColPivHouseholderQR_LAPACKE.h +97 -0
  972. casadi/include/eigen3/Eigen/src/QR/CompleteOrthogonalDecomposition.h +635 -0
  973. casadi/include/eigen3/Eigen/src/QR/FullPivHouseholderQR.h +713 -0
  974. casadi/include/eigen3/Eigen/src/QR/HouseholderQR.h +434 -0
  975. casadi/include/eigen3/Eigen/src/QR/HouseholderQR_LAPACKE.h +68 -0
  976. casadi/include/eigen3/Eigen/src/SPQRSupport/SuiteSparseQRSupport.h +335 -0
  977. casadi/include/eigen3/Eigen/src/SVD/BDCSVD.h +1366 -0
  978. casadi/include/eigen3/Eigen/src/SVD/JacobiSVD.h +812 -0
  979. casadi/include/eigen3/Eigen/src/SVD/JacobiSVD_LAPACKE.h +91 -0
  980. casadi/include/eigen3/Eigen/src/SVD/SVDBase.h +376 -0
  981. casadi/include/eigen3/Eigen/src/SVD/UpperBidiagonalization.h +414 -0
  982. casadi/include/eigen3/Eigen/src/SparseCholesky/SimplicialCholesky.h +697 -0
  983. casadi/include/eigen3/Eigen/src/SparseCholesky/SimplicialCholesky_impl.h +174 -0
  984. casadi/include/eigen3/Eigen/src/SparseCore/AmbiVector.h +378 -0
  985. casadi/include/eigen3/Eigen/src/SparseCore/CompressedStorage.h +274 -0
  986. casadi/include/eigen3/Eigen/src/SparseCore/ConservativeSparseSparseProduct.h +352 -0
  987. casadi/include/eigen3/Eigen/src/SparseCore/MappedSparseMatrix.h +67 -0
  988. casadi/include/eigen3/Eigen/src/SparseCore/SparseAssign.h +270 -0
  989. casadi/include/eigen3/Eigen/src/SparseCore/SparseBlock.h +571 -0
  990. casadi/include/eigen3/Eigen/src/SparseCore/SparseColEtree.h +206 -0
  991. casadi/include/eigen3/Eigen/src/SparseCore/SparseCompressedBase.h +370 -0
  992. casadi/include/eigen3/Eigen/src/SparseCore/SparseCwiseBinaryOp.h +722 -0
  993. casadi/include/eigen3/Eigen/src/SparseCore/SparseCwiseUnaryOp.h +150 -0
  994. casadi/include/eigen3/Eigen/src/SparseCore/SparseDenseProduct.h +342 -0
  995. casadi/include/eigen3/Eigen/src/SparseCore/SparseDiagonalProduct.h +138 -0
  996. casadi/include/eigen3/Eigen/src/SparseCore/SparseDot.h +98 -0
  997. casadi/include/eigen3/Eigen/src/SparseCore/SparseFuzzy.h +29 -0
  998. casadi/include/eigen3/Eigen/src/SparseCore/SparseMap.h +305 -0
  999. casadi/include/eigen3/Eigen/src/SparseCore/SparseMatrix.h +1518 -0
  1000. casadi/include/eigen3/Eigen/src/SparseCore/SparseMatrixBase.h +398 -0
  1001. casadi/include/eigen3/Eigen/src/SparseCore/SparsePermutation.h +178 -0
  1002. casadi/include/eigen3/Eigen/src/SparseCore/SparseProduct.h +181 -0
  1003. casadi/include/eigen3/Eigen/src/SparseCore/SparseRedux.h +49 -0
  1004. casadi/include/eigen3/Eigen/src/SparseCore/SparseRef.h +397 -0
  1005. casadi/include/eigen3/Eigen/src/SparseCore/SparseSelfAdjointView.h +659 -0
  1006. casadi/include/eigen3/Eigen/src/SparseCore/SparseSolverBase.h +124 -0
  1007. casadi/include/eigen3/Eigen/src/SparseCore/SparseSparseProductWithPruning.h +198 -0
  1008. casadi/include/eigen3/Eigen/src/SparseCore/SparseTranspose.h +92 -0
  1009. casadi/include/eigen3/Eigen/src/SparseCore/SparseTriangularView.h +189 -0
  1010. casadi/include/eigen3/Eigen/src/SparseCore/SparseUtil.h +186 -0
  1011. casadi/include/eigen3/Eigen/src/SparseCore/SparseVector.h +478 -0
  1012. casadi/include/eigen3/Eigen/src/SparseCore/SparseView.h +254 -0
  1013. casadi/include/eigen3/Eigen/src/SparseCore/TriangularSolver.h +315 -0
  1014. casadi/include/eigen3/Eigen/src/SparseLU/SparseLU.h +923 -0
  1015. casadi/include/eigen3/Eigen/src/SparseLU/SparseLUImpl.h +66 -0
  1016. casadi/include/eigen3/Eigen/src/SparseLU/SparseLU_Memory.h +226 -0
  1017. casadi/include/eigen3/Eigen/src/SparseLU/SparseLU_Structs.h +110 -0
  1018. casadi/include/eigen3/Eigen/src/SparseLU/SparseLU_SupernodalMatrix.h +375 -0
  1019. casadi/include/eigen3/Eigen/src/SparseLU/SparseLU_Utils.h +80 -0
  1020. casadi/include/eigen3/Eigen/src/SparseLU/SparseLU_column_bmod.h +181 -0
  1021. casadi/include/eigen3/Eigen/src/SparseLU/SparseLU_column_dfs.h +179 -0
  1022. casadi/include/eigen3/Eigen/src/SparseLU/SparseLU_copy_to_ucol.h +107 -0
  1023. casadi/include/eigen3/Eigen/src/SparseLU/SparseLU_gemm_kernel.h +280 -0
  1024. casadi/include/eigen3/Eigen/src/SparseLU/SparseLU_heap_relax_snode.h +126 -0
  1025. casadi/include/eigen3/Eigen/src/SparseLU/SparseLU_kernel_bmod.h +130 -0
  1026. casadi/include/eigen3/Eigen/src/SparseLU/SparseLU_panel_bmod.h +223 -0
  1027. casadi/include/eigen3/Eigen/src/SparseLU/SparseLU_panel_dfs.h +258 -0
  1028. casadi/include/eigen3/Eigen/src/SparseLU/SparseLU_pivotL.h +137 -0
  1029. casadi/include/eigen3/Eigen/src/SparseLU/SparseLU_pruneL.h +136 -0
  1030. casadi/include/eigen3/Eigen/src/SparseLU/SparseLU_relax_snode.h +83 -0
  1031. casadi/include/eigen3/Eigen/src/SparseQR/SparseQR.h +758 -0
  1032. casadi/include/eigen3/Eigen/src/StlSupport/StdDeque.h +116 -0
  1033. casadi/include/eigen3/Eigen/src/StlSupport/StdList.h +106 -0
  1034. casadi/include/eigen3/Eigen/src/StlSupport/StdVector.h +131 -0
  1035. casadi/include/eigen3/Eigen/src/StlSupport/details.h +84 -0
  1036. casadi/include/eigen3/Eigen/src/SuperLUSupport/SuperLUSupport.h +1025 -0
  1037. casadi/include/eigen3/Eigen/src/UmfPackSupport/UmfPackSupport.h +642 -0
  1038. casadi/include/eigen3/Eigen/src/misc/Image.h +82 -0
  1039. casadi/include/eigen3/Eigen/src/misc/Kernel.h +79 -0
  1040. casadi/include/eigen3/Eigen/src/misc/RealSvd2x2.h +55 -0
  1041. casadi/include/eigen3/Eigen/src/misc/blas.h +440 -0
  1042. casadi/include/eigen3/Eigen/src/misc/lapack.h +152 -0
  1043. casadi/include/eigen3/Eigen/src/misc/lapacke.h +16292 -0
  1044. casadi/include/eigen3/Eigen/src/misc/lapacke_mangling.h +17 -0
  1045. casadi/include/eigen3/Eigen/src/plugins/ArrayCwiseBinaryOps.h +358 -0
  1046. casadi/include/eigen3/Eigen/src/plugins/ArrayCwiseUnaryOps.h +696 -0
  1047. casadi/include/eigen3/Eigen/src/plugins/BlockMethods.h +1442 -0
  1048. casadi/include/eigen3/Eigen/src/plugins/CommonCwiseBinaryOps.h +115 -0
  1049. casadi/include/eigen3/Eigen/src/plugins/CommonCwiseUnaryOps.h +177 -0
  1050. casadi/include/eigen3/Eigen/src/plugins/IndexedViewMethods.h +262 -0
  1051. casadi/include/eigen3/Eigen/src/plugins/MatrixCwiseBinaryOps.h +152 -0
  1052. casadi/include/eigen3/Eigen/src/plugins/MatrixCwiseUnaryOps.h +95 -0
  1053. casadi/include/eigen3/Eigen/src/plugins/ReshapedMethods.h +149 -0
  1054. casadi/include/eigen3/signature_of_eigen3_matrix_library +1 -0
  1055. casadi/include/eigen3/unsupported/Eigen/AdolcForward +159 -0
  1056. casadi/include/eigen3/unsupported/Eigen/AlignedVector3 +234 -0
  1057. casadi/include/eigen3/unsupported/Eigen/ArpackSupport +30 -0
  1058. casadi/include/eigen3/unsupported/Eigen/AutoDiff +46 -0
  1059. casadi/include/eigen3/unsupported/Eigen/BVH +95 -0
  1060. casadi/include/eigen3/unsupported/Eigen/CXX11/Tensor +137 -0
  1061. casadi/include/eigen3/unsupported/Eigen/CXX11/TensorSymmetry +42 -0
  1062. casadi/include/eigen3/unsupported/Eigen/CXX11/ThreadPool +74 -0
  1063. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/Tensor.h +554 -0
  1064. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorArgMax.h +329 -0
  1065. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorAssign.h +247 -0
  1066. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorBase.h +1176 -0
  1067. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorBlock.h +1559 -0
  1068. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorBroadcasting.h +1093 -0
  1069. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorChipping.h +518 -0
  1070. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorConcatenation.h +377 -0
  1071. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContraction.h +1023 -0
  1072. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionBlocking.h +73 -0
  1073. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionCuda.h +6 -0
  1074. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionGpu.h +1413 -0
  1075. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionMapper.h +575 -0
  1076. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionSycl.h +1650 -0
  1077. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionThreadPool.h +1679 -0
  1078. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorConversion.h +456 -0
  1079. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorConvolution.h +1132 -0
  1080. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorConvolutionSycl.h +544 -0
  1081. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorCostModel.h +214 -0
  1082. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorCustomOp.h +347 -0
  1083. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDevice.h +137 -0
  1084. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceCuda.h +6 -0
  1085. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceDefault.h +104 -0
  1086. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceGpu.h +389 -0
  1087. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceSycl.h +1048 -0
  1088. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceThreadPool.h +409 -0
  1089. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDimensionList.h +236 -0
  1090. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDimensions.h +490 -0
  1091. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorEvalTo.h +236 -0
  1092. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorEvaluator.h +983 -0
  1093. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorExecutor.h +703 -0
  1094. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorExpr.h +388 -0
  1095. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorFFT.h +669 -0
  1096. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorFixedSize.h +379 -0
  1097. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorForcedEval.h +237 -0
  1098. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorForwardDeclarations.h +191 -0
  1099. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorFunctors.h +488 -0
  1100. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorGenerator.h +302 -0
  1101. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorGlobalFunctions.h +33 -0
  1102. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorGpuHipCudaDefines.h +99 -0
  1103. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorGpuHipCudaUndefines.h +44 -0
  1104. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorIO.h +79 -0
  1105. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorImagePatch.h +603 -0
  1106. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorIndexList.h +738 -0
  1107. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorInflation.h +247 -0
  1108. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorInitializer.h +82 -0
  1109. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorIntDiv.h +263 -0
  1110. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorLayoutSwap.h +216 -0
  1111. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorMacros.h +98 -0
  1112. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorMap.h +327 -0
  1113. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorMeta.h +311 -0
  1114. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorMorphing.h +1102 -0
  1115. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorPadding.h +708 -0
  1116. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorPatch.h +291 -0
  1117. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorRandom.h +322 -0
  1118. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReduction.h +998 -0
  1119. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReductionCuda.h +6 -0
  1120. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReductionGpu.h +966 -0
  1121. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReductionSycl.h +582 -0
  1122. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorRef.h +454 -0
  1123. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReverse.h +465 -0
  1124. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorScan.h +528 -0
  1125. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorScanSycl.h +513 -0
  1126. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorShuffling.h +471 -0
  1127. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorStorage.h +161 -0
  1128. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorStriding.h +346 -0
  1129. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorTrace.h +303 -0
  1130. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorTraits.h +264 -0
  1131. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorUInt128.h +249 -0
  1132. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorVolumePatch.h +629 -0
  1133. casadi/include/eigen3/unsupported/Eigen/CXX11/src/TensorSymmetry/DynamicSymmetry.h +293 -0
  1134. casadi/include/eigen3/unsupported/Eigen/CXX11/src/TensorSymmetry/StaticSymmetry.h +236 -0
  1135. casadi/include/eigen3/unsupported/Eigen/CXX11/src/TensorSymmetry/Symmetry.h +338 -0
  1136. casadi/include/eigen3/unsupported/Eigen/CXX11/src/TensorSymmetry/util/TemplateGroupTheory.h +669 -0
  1137. casadi/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/Barrier.h +67 -0
  1138. casadi/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/EventCount.h +249 -0
  1139. casadi/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/NonBlockingThreadPool.h +486 -0
  1140. casadi/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/RunQueue.h +236 -0
  1141. casadi/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/ThreadCancel.h +23 -0
  1142. casadi/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/ThreadEnvironment.h +40 -0
  1143. casadi/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/ThreadLocal.h +301 -0
  1144. casadi/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/ThreadPoolInterface.h +48 -0
  1145. casadi/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/ThreadYield.h +20 -0
  1146. casadi/include/eigen3/unsupported/Eigen/CXX11/src/util/CXX11Meta.h +537 -0
  1147. casadi/include/eigen3/unsupported/Eigen/CXX11/src/util/CXX11Workarounds.h +88 -0
  1148. casadi/include/eigen3/unsupported/Eigen/CXX11/src/util/EmulateArray.h +261 -0
  1149. casadi/include/eigen3/unsupported/Eigen/CXX11/src/util/MaxSizeVector.h +158 -0
  1150. casadi/include/eigen3/unsupported/Eigen/EulerAngles +43 -0
  1151. casadi/include/eigen3/unsupported/Eigen/FFT +419 -0
  1152. casadi/include/eigen3/unsupported/Eigen/IterativeSolvers +51 -0
  1153. casadi/include/eigen3/unsupported/Eigen/KroneckerProduct +36 -0
  1154. casadi/include/eigen3/unsupported/Eigen/LevenbergMarquardt +49 -0
  1155. casadi/include/eigen3/unsupported/Eigen/MPRealSupport +213 -0
  1156. casadi/include/eigen3/unsupported/Eigen/MatrixFunctions +504 -0
  1157. casadi/include/eigen3/unsupported/Eigen/MoreVectorization +24 -0
  1158. casadi/include/eigen3/unsupported/Eigen/NonLinearOptimization +140 -0
  1159. casadi/include/eigen3/unsupported/Eigen/NumericalDiff +56 -0
  1160. casadi/include/eigen3/unsupported/Eigen/OpenGLSupport +322 -0
  1161. casadi/include/eigen3/unsupported/Eigen/Polynomials +137 -0
  1162. casadi/include/eigen3/unsupported/Eigen/Skyline +39 -0
  1163. casadi/include/eigen3/unsupported/Eigen/SparseExtra +54 -0
  1164. casadi/include/eigen3/unsupported/Eigen/SpecialFunctions +103 -0
  1165. casadi/include/eigen3/unsupported/Eigen/Splines +35 -0
  1166. casadi/include/eigen3/unsupported/Eigen/src/AutoDiff/AutoDiffJacobian.h +108 -0
  1167. casadi/include/eigen3/unsupported/Eigen/src/AutoDiff/AutoDiffScalar.h +730 -0
  1168. casadi/include/eigen3/unsupported/Eigen/src/AutoDiff/AutoDiffVector.h +220 -0
  1169. casadi/include/eigen3/unsupported/Eigen/src/BVH/BVAlgorithms.h +293 -0
  1170. casadi/include/eigen3/unsupported/Eigen/src/BVH/KdBVH.h +223 -0
  1171. casadi/include/eigen3/unsupported/Eigen/src/Eigenvalues/ArpackSelfAdjointEigenSolver.h +790 -0
  1172. casadi/include/eigen3/unsupported/Eigen/src/EulerAngles/EulerAngles.h +355 -0
  1173. casadi/include/eigen3/unsupported/Eigen/src/EulerAngles/EulerSystem.h +305 -0
  1174. casadi/include/eigen3/unsupported/Eigen/src/FFT/ei_fftw_impl.h +261 -0
  1175. casadi/include/eigen3/unsupported/Eigen/src/FFT/ei_kissfft_impl.h +449 -0
  1176. casadi/include/eigen3/unsupported/Eigen/src/IterativeSolvers/ConstrainedConjGrad.h +187 -0
  1177. casadi/include/eigen3/unsupported/Eigen/src/IterativeSolvers/DGMRES.h +511 -0
  1178. casadi/include/eigen3/unsupported/Eigen/src/IterativeSolvers/GMRES.h +335 -0
  1179. casadi/include/eigen3/unsupported/Eigen/src/IterativeSolvers/IDRS.h +436 -0
  1180. casadi/include/eigen3/unsupported/Eigen/src/IterativeSolvers/IncompleteLU.h +90 -0
  1181. casadi/include/eigen3/unsupported/Eigen/src/IterativeSolvers/IterationController.h +154 -0
  1182. casadi/include/eigen3/unsupported/Eigen/src/IterativeSolvers/MINRES.h +267 -0
  1183. casadi/include/eigen3/unsupported/Eigen/src/IterativeSolvers/Scaling.h +193 -0
  1184. casadi/include/eigen3/unsupported/Eigen/src/KroneckerProduct/KroneckerTensorProduct.h +305 -0
  1185. casadi/include/eigen3/unsupported/Eigen/src/LevenbergMarquardt/LMcovar.h +84 -0
  1186. casadi/include/eigen3/unsupported/Eigen/src/LevenbergMarquardt/LMonestep.h +202 -0
  1187. casadi/include/eigen3/unsupported/Eigen/src/LevenbergMarquardt/LMpar.h +160 -0
  1188. casadi/include/eigen3/unsupported/Eigen/src/LevenbergMarquardt/LMqrsolv.h +188 -0
  1189. casadi/include/eigen3/unsupported/Eigen/src/LevenbergMarquardt/LevenbergMarquardt.h +396 -0
  1190. casadi/include/eigen3/unsupported/Eigen/src/MatrixFunctions/MatrixExponential.h +441 -0
  1191. casadi/include/eigen3/unsupported/Eigen/src/MatrixFunctions/MatrixFunction.h +569 -0
  1192. casadi/include/eigen3/unsupported/Eigen/src/MatrixFunctions/MatrixLogarithm.h +373 -0
  1193. casadi/include/eigen3/unsupported/Eigen/src/MatrixFunctions/MatrixPower.h +705 -0
  1194. casadi/include/eigen3/unsupported/Eigen/src/MatrixFunctions/MatrixSquareRoot.h +368 -0
  1195. casadi/include/eigen3/unsupported/Eigen/src/MatrixFunctions/StemFunction.h +117 -0
  1196. casadi/include/eigen3/unsupported/Eigen/src/MoreVectorization/MathFunctions.h +95 -0
  1197. casadi/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/HybridNonLinearSolver.h +601 -0
  1198. casadi/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/LevenbergMarquardt.h +657 -0
  1199. casadi/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/chkder.h +66 -0
  1200. casadi/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/covar.h +70 -0
  1201. casadi/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/dogleg.h +107 -0
  1202. casadi/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/fdjac1.h +79 -0
  1203. casadi/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/lmpar.h +298 -0
  1204. casadi/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/qrsolv.h +91 -0
  1205. casadi/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/r1mpyq.h +30 -0
  1206. casadi/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/r1updt.h +99 -0
  1207. casadi/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/rwupdt.h +49 -0
  1208. casadi/include/eigen3/unsupported/Eigen/src/NumericalDiff/NumericalDiff.h +130 -0
  1209. casadi/include/eigen3/unsupported/Eigen/src/Polynomials/Companion.h +280 -0
  1210. casadi/include/eigen3/unsupported/Eigen/src/Polynomials/PolynomialSolver.h +428 -0
  1211. casadi/include/eigen3/unsupported/Eigen/src/Polynomials/PolynomialUtils.h +143 -0
  1212. casadi/include/eigen3/unsupported/Eigen/src/Skyline/SkylineInplaceLU.h +352 -0
  1213. casadi/include/eigen3/unsupported/Eigen/src/Skyline/SkylineMatrix.h +862 -0
  1214. casadi/include/eigen3/unsupported/Eigen/src/Skyline/SkylineMatrixBase.h +212 -0
  1215. casadi/include/eigen3/unsupported/Eigen/src/Skyline/SkylineProduct.h +295 -0
  1216. casadi/include/eigen3/unsupported/Eigen/src/Skyline/SkylineStorage.h +259 -0
  1217. casadi/include/eigen3/unsupported/Eigen/src/Skyline/SkylineUtil.h +89 -0
  1218. casadi/include/eigen3/unsupported/Eigen/src/SparseExtra/BlockOfDynamicSparseMatrix.h +122 -0
  1219. casadi/include/eigen3/unsupported/Eigen/src/SparseExtra/BlockSparseMatrix.h +1079 -0
  1220. casadi/include/eigen3/unsupported/Eigen/src/SparseExtra/DynamicSparseMatrix.h +404 -0
  1221. casadi/include/eigen3/unsupported/Eigen/src/SparseExtra/MarketIO.h +282 -0
  1222. casadi/include/eigen3/unsupported/Eigen/src/SparseExtra/MatrixMarketIterator.h +247 -0
  1223. casadi/include/eigen3/unsupported/Eigen/src/SparseExtra/RandomSetter.h +349 -0
  1224. casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsArrayAPI.h +286 -0
  1225. casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsBFloat16.h +68 -0
  1226. casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h +357 -0
  1227. casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsHalf.h +66 -0
  1228. casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h +1959 -0
  1229. casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsPacketMath.h +118 -0
  1230. casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/HipVectorCompatibility.h +67 -0
  1231. casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsArrayAPI.h +167 -0
  1232. casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsBFloat16.h +58 -0
  1233. casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h +330 -0
  1234. casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsHalf.h +58 -0
  1235. casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h +2045 -0
  1236. casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsPacketMath.h +79 -0
  1237. casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/AVX/BesselFunctions.h +46 -0
  1238. casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/AVX/SpecialFunctions.h +16 -0
  1239. casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/AVX512/BesselFunctions.h +46 -0
  1240. casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/AVX512/SpecialFunctions.h +16 -0
  1241. casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/GPU/SpecialFunctions.h +369 -0
  1242. casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/NEON/BesselFunctions.h +54 -0
  1243. casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/NEON/SpecialFunctions.h +34 -0
  1244. casadi/include/eigen3/unsupported/Eigen/src/Splines/Spline.h +507 -0
  1245. casadi/include/eigen3/unsupported/Eigen/src/Splines/SplineFitting.h +431 -0
  1246. casadi/include/eigen3/unsupported/Eigen/src/Splines/SplineFwd.h +93 -0
  1247. casadi/include/fatrop/auxiliary/Common.hpp +34 -0
  1248. casadi/include/fatrop/auxiliary/DynamicLib.hpp +34 -0
  1249. casadi/include/fatrop/auxiliary/FatropOptions.hpp +68 -0
  1250. casadi/include/fatrop/auxiliary/FatropVector.hpp +143 -0
  1251. casadi/include/fatrop/auxiliary/LinearAlgebra.hpp +88 -0
  1252. casadi/include/fatrop/auxiliary/VectorUtils.hpp +54 -0
  1253. casadi/include/fatrop/blasfeo_wrapper/LinearAlgebraBlasfeo.hpp +493 -0
  1254. casadi/include/fatrop/fatrop.hpp +39 -0
  1255. casadi/include/fatrop/function_evaluation/CasadiCodegen.hpp +104 -0
  1256. casadi/include/fatrop/function_evaluation/FunctionEvaluation.hpp +60 -0
  1257. casadi/include/fatrop/json/json.h +946 -0
  1258. casadi/include/fatrop/ocp/CasadiCApiUserdataWrap.hpp +87 -0
  1259. casadi/include/fatrop/ocp/DuInfEvaluator.hpp +38 -0
  1260. casadi/include/fatrop/ocp/FatropOCP.hpp +161 -0
  1261. casadi/include/fatrop/ocp/FatropOCPBuilder.hpp +52 -0
  1262. casadi/include/fatrop/ocp/FatropOCPResto.hpp +299 -0
  1263. casadi/include/fatrop/ocp/OCP.hpp +82 -0
  1264. casadi/include/fatrop/ocp/OCPAbstract.hpp +254 -0
  1265. casadi/include/fatrop/ocp/OCPAdapter.hpp +197 -0
  1266. casadi/include/fatrop/ocp/OCPCInterface.h +289 -0
  1267. casadi/include/fatrop/ocp/OCPDims.hpp +60 -0
  1268. casadi/include/fatrop/ocp/OCPInitializer.hpp +41 -0
  1269. casadi/include/fatrop/ocp/OCPKKT.hpp +69 -0
  1270. casadi/include/fatrop/ocp/OCPLSRiccati.hpp +198 -0
  1271. casadi/include/fatrop/ocp/OCPLSScaler.hpp +66 -0
  1272. casadi/include/fatrop/ocp/OCPLinearSolver.hpp +75 -0
  1273. casadi/include/fatrop/ocp/OCPNoScaling.hpp +42 -0
  1274. casadi/include/fatrop/ocp/OCPScalingMethod.hpp +42 -0
  1275. casadi/include/fatrop/ocp/StageOCP.hpp +592 -0
  1276. casadi/include/fatrop/ocp/StageOCPApplication.hpp +242 -0
  1277. casadi/include/fatrop/ocp/StageOCPExpressions.hpp +182 -0
  1278. casadi/include/fatrop/ocp/UStageEvalAbstract.hpp +168 -0
  1279. casadi/include/fatrop/ocp/UStageOCPImpl.hpp +152 -0
  1280. casadi/include/fatrop/quasi_newton/bfgs.hpp +159 -0
  1281. casadi/include/fatrop/solver/AlgBuilder.hpp +76 -0
  1282. casadi/include/fatrop/solver/AlgStrategy.hpp +33 -0
  1283. casadi/include/fatrop/solver/FatropAlg.hpp +121 -0
  1284. casadi/include/fatrop/solver/FatropData.hpp +188 -0
  1285. casadi/include/fatrop/solver/FatropOptions.hpp +95 -0
  1286. casadi/include/fatrop/solver/FatropPrinter.hpp +65 -0
  1287. casadi/include/fatrop/solver/FatropStats.hpp +63 -0
  1288. casadi/include/fatrop/solver/Filter.hpp +54 -0
  1289. casadi/include/fatrop/solver/IterationData.hpp +56 -0
  1290. casadi/include/fatrop/solver/LineSearch.hpp +86 -0
  1291. casadi/include/fatrop/solver/NLPL1.hpp +263 -0
  1292. casadi/include/fatrop/templates/NLPAlg.hpp +104 -0
  1293. casadi/include/highs/HConfig.h +21 -0
  1294. casadi/include/highs/Highs.h +1529 -0
  1295. casadi/include/highs/filereaderlp/builder.hpp +25 -0
  1296. casadi/include/highs/filereaderlp/def.hpp +19 -0
  1297. casadi/include/highs/filereaderlp/model.hpp +68 -0
  1298. casadi/include/highs/filereaderlp/reader.hpp +10 -0
  1299. casadi/include/highs/interfaces/highs_c_api.h +2283 -0
  1300. casadi/include/highs/io/Filereader.h +47 -0
  1301. casadi/include/highs/io/FilereaderEms.h +33 -0
  1302. casadi/include/highs/io/FilereaderLp.h +54 -0
  1303. casadi/include/highs/io/FilereaderMps.h +30 -0
  1304. casadi/include/highs/io/HMPSIO.h +81 -0
  1305. casadi/include/highs/io/HMpsFF.h +235 -0
  1306. casadi/include/highs/io/HighsIO.h +109 -0
  1307. casadi/include/highs/io/LoadOptions.h +27 -0
  1308. casadi/include/highs/ipm/IpxSolution.h +35 -0
  1309. casadi/include/highs/ipm/IpxWrapper.h +73 -0
  1310. casadi/include/highs/ipm/basiclu/basiclu.h +161 -0
  1311. casadi/include/highs/ipm/basiclu/basiclu_factorize.h +247 -0
  1312. casadi/include/highs/ipm/basiclu/basiclu_get_factors.h +108 -0
  1313. casadi/include/highs/ipm/basiclu/basiclu_initialize.h +119 -0
  1314. casadi/include/highs/ipm/basiclu/basiclu_obj_factorize.h +34 -0
  1315. casadi/include/highs/ipm/basiclu/basiclu_obj_free.h +19 -0
  1316. casadi/include/highs/ipm/basiclu/basiclu_obj_get_factors.h +34 -0
  1317. casadi/include/highs/ipm/basiclu/basiclu_obj_initialize.h +46 -0
  1318. casadi/include/highs/ipm/basiclu/basiclu_obj_solve_dense.h +29 -0
  1319. casadi/include/highs/ipm/basiclu/basiclu_obj_solve_for_update.h +42 -0
  1320. casadi/include/highs/ipm/basiclu/basiclu_obj_solve_sparse.h +32 -0
  1321. casadi/include/highs/ipm/basiclu/basiclu_obj_update.h +31 -0
  1322. casadi/include/highs/ipm/basiclu/basiclu_object.h +30 -0
  1323. casadi/include/highs/ipm/basiclu/basiclu_solve_dense.h +75 -0
  1324. casadi/include/highs/ipm/basiclu/basiclu_solve_for_update.h +169 -0
  1325. casadi/include/highs/ipm/basiclu/basiclu_solve_sparse.h +112 -0
  1326. casadi/include/highs/ipm/basiclu/basiclu_update.h +125 -0
  1327. casadi/include/highs/ipm/basiclu/lu_def.h +39 -0
  1328. casadi/include/highs/ipm/basiclu/lu_file.h +21 -0
  1329. casadi/include/highs/ipm/basiclu/lu_internal.h +220 -0
  1330. casadi/include/highs/ipm/basiclu/lu_list.h +168 -0
  1331. casadi/include/highs/ipm/ipx/basiclu_kernel.h +20 -0
  1332. casadi/include/highs/ipm/ipx/basiclu_wrapper.h +47 -0
  1333. casadi/include/highs/ipm/ipx/basis.h +351 -0
  1334. casadi/include/highs/ipm/ipx/conjugate_residuals.h +74 -0
  1335. casadi/include/highs/ipm/ipx/control.h +163 -0
  1336. casadi/include/highs/ipm/ipx/crossover.h +157 -0
  1337. casadi/include/highs/ipm/ipx/diagonal_precond.h +45 -0
  1338. casadi/include/highs/ipm/ipx/forrest_tomlin.h +102 -0
  1339. casadi/include/highs/ipm/ipx/guess_basis.h +21 -0
  1340. casadi/include/highs/ipm/ipx/indexed_vector.h +113 -0
  1341. casadi/include/highs/ipm/ipx/info.h +27 -0
  1342. casadi/include/highs/ipm/ipx/ipm.h +94 -0
  1343. casadi/include/highs/ipm/ipx/ipx_c.h +47 -0
  1344. casadi/include/highs/ipm/ipx/ipx_config.h +9 -0
  1345. casadi/include/highs/ipm/ipx/ipx_info.h +111 -0
  1346. casadi/include/highs/ipm/ipx/ipx_internal.h +88 -0
  1347. casadi/include/highs/ipm/ipx/ipx_parameters.h +75 -0
  1348. casadi/include/highs/ipm/ipx/ipx_status.h +57 -0
  1349. casadi/include/highs/ipm/ipx/iterate.h +328 -0
  1350. casadi/include/highs/ipm/ipx/kkt_solver.h +70 -0
  1351. casadi/include/highs/ipm/ipx/kkt_solver_basis.h +66 -0
  1352. casadi/include/highs/ipm/ipx/kkt_solver_diag.h +48 -0
  1353. casadi/include/highs/ipm/ipx/linear_operator.h +26 -0
  1354. casadi/include/highs/ipm/ipx/lp_solver.h +201 -0
  1355. casadi/include/highs/ipm/ipx/lu_factorization.h +79 -0
  1356. casadi/include/highs/ipm/ipx/lu_update.h +129 -0
  1357. casadi/include/highs/ipm/ipx/maxvolume.h +54 -0
  1358. casadi/include/highs/ipm/ipx/model.h +409 -0
  1359. casadi/include/highs/ipm/ipx/multistream.h +52 -0
  1360. casadi/include/highs/ipm/ipx/normal_matrix.h +44 -0
  1361. casadi/include/highs/ipm/ipx/power_method.h +44 -0
  1362. casadi/include/highs/ipm/ipx/sparse_matrix.h +195 -0
  1363. casadi/include/highs/ipm/ipx/sparse_utils.h +58 -0
  1364. casadi/include/highs/ipm/ipx/splitted_normal_matrix.h +63 -0
  1365. casadi/include/highs/ipm/ipx/starting_basis.h +39 -0
  1366. casadi/include/highs/ipm/ipx/symbolic_invert.h +29 -0
  1367. casadi/include/highs/ipm/ipx/timer.h +24 -0
  1368. casadi/include/highs/ipm/ipx/utils.h +39 -0
  1369. casadi/include/highs/lp_data/HConst.h +305 -0
  1370. casadi/include/highs/lp_data/HStruct.h +146 -0
  1371. casadi/include/highs/lp_data/HighsAnalysis.h +26 -0
  1372. casadi/include/highs/lp_data/HighsCallback.h +40 -0
  1373. casadi/include/highs/lp_data/HighsCallbackStruct.h +62 -0
  1374. casadi/include/highs/lp_data/HighsDebug.h +37 -0
  1375. casadi/include/highs/lp_data/HighsInfo.h +322 -0
  1376. casadi/include/highs/lp_data/HighsInfoDebug.h +30 -0
  1377. casadi/include/highs/lp_data/HighsLp.h +101 -0
  1378. casadi/include/highs/lp_data/HighsLpSolverObject.h +48 -0
  1379. casadi/include/highs/lp_data/HighsLpUtils.h +266 -0
  1380. casadi/include/highs/lp_data/HighsModelUtils.h +109 -0
  1381. casadi/include/highs/lp_data/HighsOptions.h +1357 -0
  1382. casadi/include/highs/lp_data/HighsRanging.h +46 -0
  1383. casadi/include/highs/lp_data/HighsRuntimeOptions.h +276 -0
  1384. casadi/include/highs/lp_data/HighsSolution.h +137 -0
  1385. casadi/include/highs/lp_data/HighsSolutionDebug.h +90 -0
  1386. casadi/include/highs/lp_data/HighsSolve.h +26 -0
  1387. casadi/include/highs/lp_data/HighsStatus.h +32 -0
  1388. casadi/include/highs/mip/HighsCliqueTable.h +318 -0
  1389. casadi/include/highs/mip/HighsConflictPool.h +112 -0
  1390. casadi/include/highs/mip/HighsCutGeneration.h +96 -0
  1391. casadi/include/highs/mip/HighsCutPool.h +171 -0
  1392. casadi/include/highs/mip/HighsDebugSol.h +135 -0
  1393. casadi/include/highs/mip/HighsDomain.h +641 -0
  1394. casadi/include/highs/mip/HighsDomainChange.h +51 -0
  1395. casadi/include/highs/mip/HighsDynamicRowMatrix.h +107 -0
  1396. casadi/include/highs/mip/HighsGFkSolve.h +441 -0
  1397. casadi/include/highs/mip/HighsImplications.h +146 -0
  1398. casadi/include/highs/mip/HighsLpAggregator.h +53 -0
  1399. casadi/include/highs/mip/HighsLpRelaxation.h +360 -0
  1400. casadi/include/highs/mip/HighsMipSolver.h +105 -0
  1401. casadi/include/highs/mip/HighsMipSolverData.h +236 -0
  1402. casadi/include/highs/mip/HighsModkSeparator.h +63 -0
  1403. casadi/include/highs/mip/HighsNodeQueue.h +314 -0
  1404. casadi/include/highs/mip/HighsObjectiveFunction.h +74 -0
  1405. casadi/include/highs/mip/HighsPathSeparator.h +42 -0
  1406. casadi/include/highs/mip/HighsPrimalHeuristics.h +68 -0
  1407. casadi/include/highs/mip/HighsPseudocost.h +363 -0
  1408. casadi/include/highs/mip/HighsRedcostFixing.h +45 -0
  1409. casadi/include/highs/mip/HighsSearch.h +244 -0
  1410. casadi/include/highs/mip/HighsSeparation.h +44 -0
  1411. casadi/include/highs/mip/HighsSeparator.h +56 -0
  1412. casadi/include/highs/mip/HighsTableauSeparator.h +37 -0
  1413. casadi/include/highs/mip/HighsTransformedLp.h +66 -0
  1414. casadi/include/highs/model/HighsHessian.h +54 -0
  1415. casadi/include/highs/model/HighsHessianUtils.h +49 -0
  1416. casadi/include/highs/model/HighsModel.h +52 -0
  1417. casadi/include/highs/parallel/HighsBinarySemaphore.h +113 -0
  1418. casadi/include/highs/parallel/HighsCacheAlign.h +87 -0
  1419. casadi/include/highs/parallel/HighsCombinable.h +121 -0
  1420. casadi/include/highs/parallel/HighsMutex.h +129 -0
  1421. casadi/include/highs/parallel/HighsParallel.h +133 -0
  1422. casadi/include/highs/parallel/HighsRaceTimer.h +43 -0
  1423. casadi/include/highs/parallel/HighsSchedulerConstants.h +24 -0
  1424. casadi/include/highs/parallel/HighsSpinMutex.h +53 -0
  1425. casadi/include/highs/parallel/HighsSplitDeque.h +583 -0
  1426. casadi/include/highs/parallel/HighsTask.h +175 -0
  1427. casadi/include/highs/parallel/HighsTaskExecutor.h +209 -0
  1428. casadi/include/highs/pdlp/CupdlpWrapper.h +93 -0
  1429. casadi/include/highs/pdlp/cupdlp/cupdlp_cs.h +41 -0
  1430. casadi/include/highs/pdlp/cupdlp/cupdlp_defs.h +423 -0
  1431. casadi/include/highs/pdlp/cupdlp/cupdlp_linalg.h +183 -0
  1432. casadi/include/highs/pdlp/cupdlp/cupdlp_proj.h +19 -0
  1433. casadi/include/highs/pdlp/cupdlp/cupdlp_restart.h +31 -0
  1434. casadi/include/highs/pdlp/cupdlp/cupdlp_scaling_cuda.h +28 -0
  1435. casadi/include/highs/pdlp/cupdlp/cupdlp_solver.h +98 -0
  1436. casadi/include/highs/pdlp/cupdlp/cupdlp_step.h +33 -0
  1437. casadi/include/highs/pdlp/cupdlp/cupdlp_utils.c +1726 -0
  1438. casadi/include/highs/pdqsort/pdqsort.h +532 -0
  1439. casadi/include/highs/presolve/HPresolve.h +365 -0
  1440. casadi/include/highs/presolve/HPresolveAnalysis.h +54 -0
  1441. casadi/include/highs/presolve/HighsPostsolveStack.h +907 -0
  1442. casadi/include/highs/presolve/HighsSymmetry.h +284 -0
  1443. casadi/include/highs/presolve/ICrash.h +127 -0
  1444. casadi/include/highs/presolve/ICrashUtil.h +65 -0
  1445. casadi/include/highs/presolve/ICrashX.h +26 -0
  1446. casadi/include/highs/presolve/PresolveComponent.h +93 -0
  1447. casadi/include/highs/qpsolver/a_asm.hpp +67 -0
  1448. casadi/include/highs/qpsolver/a_quass.hpp +19 -0
  1449. casadi/include/highs/qpsolver/basis.hpp +150 -0
  1450. casadi/include/highs/qpsolver/crashsolution.hpp +12 -0
  1451. casadi/include/highs/qpsolver/dantzigpricing.hpp +72 -0
  1452. casadi/include/highs/qpsolver/devexpricing.hpp +99 -0
  1453. casadi/include/highs/qpsolver/eventhandler.hpp +23 -0
  1454. casadi/include/highs/qpsolver/factor.hpp +400 -0
  1455. casadi/include/highs/qpsolver/feasibility_bounded.hpp +105 -0
  1456. casadi/include/highs/qpsolver/feasibility_highs.hpp +270 -0
  1457. casadi/include/highs/qpsolver/gradient.hpp +39 -0
  1458. casadi/include/highs/qpsolver/instance.hpp +63 -0
  1459. casadi/include/highs/qpsolver/matrix.hpp +335 -0
  1460. casadi/include/highs/qpsolver/perturbation.hpp +8 -0
  1461. casadi/include/highs/qpsolver/pricing.hpp +15 -0
  1462. casadi/include/highs/qpsolver/qpconst.hpp +27 -0
  1463. casadi/include/highs/qpsolver/qpvector.hpp +235 -0
  1464. casadi/include/highs/qpsolver/quass.hpp +20 -0
  1465. casadi/include/highs/qpsolver/ratiotest.hpp +19 -0
  1466. casadi/include/highs/qpsolver/runtime.hpp +38 -0
  1467. casadi/include/highs/qpsolver/scaling.hpp +8 -0
  1468. casadi/include/highs/qpsolver/settings.hpp +57 -0
  1469. casadi/include/highs/qpsolver/snippets.hpp +29 -0
  1470. casadi/include/highs/qpsolver/statistics.hpp +23 -0
  1471. casadi/include/highs/qpsolver/steepestedgepricing.hpp +167 -0
  1472. casadi/include/highs/simplex/HApp.h +422 -0
  1473. casadi/include/highs/simplex/HEkk.h +403 -0
  1474. casadi/include/highs/simplex/HEkkDual.h +515 -0
  1475. casadi/include/highs/simplex/HEkkDualRHS.h +137 -0
  1476. casadi/include/highs/simplex/HEkkDualRow.h +204 -0
  1477. casadi/include/highs/simplex/HEkkPrimal.h +195 -0
  1478. casadi/include/highs/simplex/HSimplex.h +45 -0
  1479. casadi/include/highs/simplex/HSimplexDebug.h +51 -0
  1480. casadi/include/highs/simplex/HSimplexNla.h +184 -0
  1481. casadi/include/highs/simplex/HSimplexReport.h +24 -0
  1482. casadi/include/highs/simplex/HighsSimplexAnalysis.h +503 -0
  1483. casadi/include/highs/simplex/SimplexConst.h +274 -0
  1484. casadi/include/highs/simplex/SimplexStruct.h +264 -0
  1485. casadi/include/highs/simplex/SimplexTimer.h +427 -0
  1486. casadi/include/highs/test/DevKkt.h +146 -0
  1487. casadi/include/highs/test/KktCh2.h +82 -0
  1488. casadi/include/highs/util/FactorTimer.h +224 -0
  1489. casadi/include/highs/util/HFactor.h +587 -0
  1490. casadi/include/highs/util/HFactorConst.h +84 -0
  1491. casadi/include/highs/util/HFactorDebug.h +58 -0
  1492. casadi/include/highs/util/HSet.h +92 -0
  1493. casadi/include/highs/util/HVector.h +25 -0
  1494. casadi/include/highs/util/HVectorBase.h +105 -0
  1495. casadi/include/highs/util/HighsCDouble.h +310 -0
  1496. casadi/include/highs/util/HighsComponent.h +56 -0
  1497. casadi/include/highs/util/HighsDataStack.h +86 -0
  1498. casadi/include/highs/util/HighsDisjointSets.h +110 -0
  1499. casadi/include/highs/util/HighsHash.h +1277 -0
  1500. casadi/include/highs/util/HighsHashTree.h +1443 -0
  1501. casadi/include/highs/util/HighsInt.h +39 -0
  1502. casadi/include/highs/util/HighsIntegers.h +215 -0
  1503. casadi/include/highs/util/HighsLinearSumBounds.h +160 -0
  1504. casadi/include/highs/util/HighsMatrixPic.h +40 -0
  1505. casadi/include/highs/util/HighsMatrixSlice.h +564 -0
  1506. casadi/include/highs/util/HighsMatrixUtils.h +57 -0
  1507. casadi/include/highs/util/HighsMemoryAllocation.h +55 -0
  1508. casadi/include/highs/util/HighsRandom.h +245 -0
  1509. casadi/include/highs/util/HighsRbTree.h +455 -0
  1510. casadi/include/highs/util/HighsSort.h +134 -0
  1511. casadi/include/highs/util/HighsSparseMatrix.h +147 -0
  1512. casadi/include/highs/util/HighsSparseVectorSum.h +98 -0
  1513. casadi/include/highs/util/HighsSplay.h +138 -0
  1514. casadi/include/highs/util/HighsTimer.h +343 -0
  1515. casadi/include/highs/util/HighsUtils.h +210 -0
  1516. casadi/include/highs/util/stringutil.h +44 -0
  1517. casadi/include/highs/zstr/strict_fstream.hpp +237 -0
  1518. casadi/include/highs/zstr/zstr.hpp +472 -0
  1519. casadi/include/highs_export.h +42 -0
  1520. casadi/include/hpipm_aux_mem.h +52 -0
  1521. casadi/include/hpipm_aux_string.h +50 -0
  1522. casadi/include/hpipm_common.h +76 -0
  1523. casadi/include/hpipm_d_cast_qcqp.h +71 -0
  1524. casadi/include/hpipm_d_cond.h +135 -0
  1525. casadi/include/hpipm_d_cond_aux.h +92 -0
  1526. casadi/include/hpipm_d_cond_qcqp.h +129 -0
  1527. casadi/include/hpipm_d_core_qp_ipm.h +101 -0
  1528. casadi/include/hpipm_d_core_qp_ipm_aux.h +68 -0
  1529. casadi/include/hpipm_d_dense_qcqp.h +199 -0
  1530. casadi/include/hpipm_d_dense_qcqp_dim.h +98 -0
  1531. casadi/include/hpipm_d_dense_qcqp_ipm.h +193 -0
  1532. casadi/include/hpipm_d_dense_qcqp_res.h +108 -0
  1533. casadi/include/hpipm_d_dense_qcqp_sol.h +85 -0
  1534. casadi/include/hpipm_d_dense_qcqp_utils.h +82 -0
  1535. casadi/include/hpipm_d_dense_qp.h +207 -0
  1536. casadi/include/hpipm_d_dense_qp_dim.h +92 -0
  1537. casadi/include/hpipm_d_dense_qp_ipm.h +260 -0
  1538. casadi/include/hpipm_d_dense_qp_kkt.h +72 -0
  1539. casadi/include/hpipm_d_dense_qp_res.h +106 -0
  1540. casadi/include/hpipm_d_dense_qp_sol.h +94 -0
  1541. casadi/include/hpipm_d_dense_qp_utils.h +83 -0
  1542. casadi/include/hpipm_d_ocp_qcqp.h +322 -0
  1543. casadi/include/hpipm_d_ocp_qcqp_dim.h +130 -0
  1544. casadi/include/hpipm_d_ocp_qcqp_ipm.h +192 -0
  1545. casadi/include/hpipm_d_ocp_qcqp_red.h +118 -0
  1546. casadi/include/hpipm_d_ocp_qcqp_res.h +115 -0
  1547. casadi/include/hpipm_d_ocp_qcqp_sol.h +114 -0
  1548. casadi/include/hpipm_d_ocp_qcqp_utils.h +81 -0
  1549. casadi/include/hpipm_d_ocp_qp.h +306 -0
  1550. casadi/include/hpipm_d_ocp_qp_dim.h +142 -0
  1551. casadi/include/hpipm_d_ocp_qp_ipm.h +252 -0
  1552. casadi/include/hpipm_d_ocp_qp_kkt.h +66 -0
  1553. casadi/include/hpipm_d_ocp_qp_red.h +117 -0
  1554. casadi/include/hpipm_d_ocp_qp_res.h +113 -0
  1555. casadi/include/hpipm_d_ocp_qp_sol.h +128 -0
  1556. casadi/include/hpipm_d_ocp_qp_utils.h +82 -0
  1557. casadi/include/hpipm_d_part_cond.h +115 -0
  1558. casadi/include/hpipm_d_part_cond_qcqp.h +106 -0
  1559. casadi/include/hpipm_d_sim_erk.h +122 -0
  1560. casadi/include/hpipm_d_sim_rk.h +71 -0
  1561. casadi/include/hpipm_d_tree_ocp_qcqp.h +213 -0
  1562. casadi/include/hpipm_d_tree_ocp_qcqp_dim.h +117 -0
  1563. casadi/include/hpipm_d_tree_ocp_qcqp_ipm.h +191 -0
  1564. casadi/include/hpipm_d_tree_ocp_qcqp_res.h +109 -0
  1565. casadi/include/hpipm_d_tree_ocp_qcqp_sol.h +99 -0
  1566. casadi/include/hpipm_d_tree_ocp_qcqp_utils.h +84 -0
  1567. casadi/include/hpipm_d_tree_ocp_qp.h +195 -0
  1568. casadi/include/hpipm_d_tree_ocp_qp_dim.h +111 -0
  1569. casadi/include/hpipm_d_tree_ocp_qp_ipm.h +209 -0
  1570. casadi/include/hpipm_d_tree_ocp_qp_kkt.h +52 -0
  1571. casadi/include/hpipm_d_tree_ocp_qp_res.h +107 -0
  1572. casadi/include/hpipm_d_tree_ocp_qp_sol.h +100 -0
  1573. casadi/include/hpipm_d_tree_ocp_qp_utils.h +83 -0
  1574. casadi/include/hpipm_m_dense_qp.h +68 -0
  1575. casadi/include/hpipm_m_dense_qp_dim.h +68 -0
  1576. casadi/include/hpipm_m_ocp_qp.h +49 -0
  1577. casadi/include/hpipm_m_ocp_qp_ipm_hard.h +115 -0
  1578. casadi/include/hpipm_m_ocp_qp_kkt.h +45 -0
  1579. casadi/include/hpipm_s_cast_qcqp.h +72 -0
  1580. casadi/include/hpipm_s_cond.h +137 -0
  1581. casadi/include/hpipm_s_cond_aux.h +92 -0
  1582. casadi/include/hpipm_s_cond_qcqp.h +130 -0
  1583. casadi/include/hpipm_s_core_qp_ipm.h +101 -0
  1584. casadi/include/hpipm_s_core_qp_ipm_aux.h +68 -0
  1585. casadi/include/hpipm_s_dense_qcqp.h +200 -0
  1586. casadi/include/hpipm_s_dense_qcqp_dim.h +99 -0
  1587. casadi/include/hpipm_s_dense_qcqp_ipm.h +204 -0
  1588. casadi/include/hpipm_s_dense_qcqp_res.h +109 -0
  1589. casadi/include/hpipm_s_dense_qcqp_sol.h +86 -0
  1590. casadi/include/hpipm_s_dense_qcqp_utils.h +83 -0
  1591. casadi/include/hpipm_s_dense_qp.h +207 -0
  1592. casadi/include/hpipm_s_dense_qp_dim.h +94 -0
  1593. casadi/include/hpipm_s_dense_qp_ipm.h +260 -0
  1594. casadi/include/hpipm_s_dense_qp_kkt.h +72 -0
  1595. casadi/include/hpipm_s_dense_qp_res.h +107 -0
  1596. casadi/include/hpipm_s_dense_qp_sol.h +94 -0
  1597. casadi/include/hpipm_s_dense_qp_utils.h +84 -0
  1598. casadi/include/hpipm_s_ocp_qcqp.h +322 -0
  1599. casadi/include/hpipm_s_ocp_qcqp_dim.h +131 -0
  1600. casadi/include/hpipm_s_ocp_qcqp_ipm.h +193 -0
  1601. casadi/include/hpipm_s_ocp_qcqp_red.h +119 -0
  1602. casadi/include/hpipm_s_ocp_qcqp_res.h +116 -0
  1603. casadi/include/hpipm_s_ocp_qcqp_sol.h +115 -0
  1604. casadi/include/hpipm_s_ocp_qcqp_utils.h +82 -0
  1605. casadi/include/hpipm_s_ocp_qp.h +306 -0
  1606. casadi/include/hpipm_s_ocp_qp_dim.h +141 -0
  1607. casadi/include/hpipm_s_ocp_qp_ipm.h +252 -0
  1608. casadi/include/hpipm_s_ocp_qp_kkt.h +66 -0
  1609. casadi/include/hpipm_s_ocp_qp_red.h +118 -0
  1610. casadi/include/hpipm_s_ocp_qp_res.h +115 -0
  1611. casadi/include/hpipm_s_ocp_qp_sol.h +128 -0
  1612. casadi/include/hpipm_s_ocp_qp_utils.h +83 -0
  1613. casadi/include/hpipm_s_part_cond.h +115 -0
  1614. casadi/include/hpipm_s_part_cond_qcqp.h +107 -0
  1615. casadi/include/hpipm_s_sim_erk.h +121 -0
  1616. casadi/include/hpipm_s_sim_rk.h +72 -0
  1617. casadi/include/hpipm_s_tree_ocp_qcqp.h +213 -0
  1618. casadi/include/hpipm_s_tree_ocp_qcqp_dim.h +118 -0
  1619. casadi/include/hpipm_s_tree_ocp_qcqp_ipm.h +192 -0
  1620. casadi/include/hpipm_s_tree_ocp_qcqp_res.h +110 -0
  1621. casadi/include/hpipm_s_tree_ocp_qcqp_sol.h +97 -0
  1622. casadi/include/hpipm_s_tree_ocp_qcqp_utils.h +85 -0
  1623. casadi/include/hpipm_s_tree_ocp_qp.h +196 -0
  1624. casadi/include/hpipm_s_tree_ocp_qp_dim.h +111 -0
  1625. casadi/include/hpipm_s_tree_ocp_qp_ipm.h +208 -0
  1626. casadi/include/hpipm_s_tree_ocp_qp_kkt.h +54 -0
  1627. casadi/include/hpipm_s_tree_ocp_qp_res.h +108 -0
  1628. casadi/include/hpipm_s_tree_ocp_qp_sol.h +98 -0
  1629. casadi/include/hpipm_s_tree_ocp_qp_utils.h +84 -0
  1630. casadi/include/hpipm_scenario_tree.h +70 -0
  1631. casadi/include/hpipm_timing.h +67 -0
  1632. casadi/include/hpipm_tree.h +76 -0
  1633. casadi/include/licenses/FMI-Standard-2.0.2/LICENSE.txt +473 -0
  1634. casadi/include/licenses/FMI-Standard-3.0/LICENSE.txt +464 -0
  1635. casadi/include/licenses/alpaqa-external/LICENSE +165 -0
  1636. casadi/include/licenses/blasfeo-external/LICENSE.txt +26 -0
  1637. casadi/include/licenses/bonmin-external/Bonmin/LICENSE +87 -0
  1638. casadi/include/licenses/bonmin-external/LICENSE +3 -0
  1639. casadi/include/licenses/casadi/LICENSE/LICENSE.txt +165 -0
  1640. casadi/include/licenses/casadi-sundials/LICENSE +64 -0
  1641. casadi/include/licenses/casadi-sundials/cvodes/LICENSE +60 -0
  1642. casadi/include/licenses/casadi-sundials/idas/LICENSE +59 -0
  1643. casadi/include/licenses/casadi-sundials/kinsol/LICENSE +59 -0
  1644. casadi/include/licenses/casadi-sundials/sundials/LICENSE +67 -0
  1645. casadi/include/licenses/cbc-external/Cbc/LICENSE +239 -0
  1646. casadi/include/licenses/cbc-external/LICENSE +245 -0
  1647. casadi/include/licenses/cgl-external/Cgl/LICENSE +239 -0
  1648. casadi/include/licenses/cgl-external/LICENSE +245 -0
  1649. casadi/include/licenses/clp-external/Clp/LICENSE +239 -0
  1650. casadi/include/licenses/clp-external/LICENSE +245 -0
  1651. casadi/include/licenses/coinutils-external/CoinUtils/LICENSE +239 -0
  1652. casadi/include/licenses/coinutils-external/LICENSE +245 -0
  1653. casadi/include/licenses/daqp-external/LICENSE +21 -0
  1654. casadi/include/licenses/fatrop-external/LICENSE.txt +165 -0
  1655. casadi/include/licenses/fatrop-external/external/blasfeo/LICENSE.txt +26 -0
  1656. casadi/include/licenses/fatrop-external/external/pybind11/LICENSE +29 -0
  1657. casadi/include/licenses/highs-external/LICENSE.txt +21 -0
  1658. casadi/include/licenses/highs-external/extern/filereaderlp/LICENSE +19 -0
  1659. casadi/include/licenses/hpipm-external/LICENSE.txt +26 -0
  1660. casadi/include/licenses/ipopt-external/LICENSE +260 -0
  1661. casadi/include/licenses/metis-external/LICENSE +87 -0
  1662. casadi/include/licenses/metis-external/metis-4.0/LICENSE +18 -0
  1663. casadi/include/licenses/mockups-external/LICENSE +21 -0
  1664. casadi/include/licenses/mumps-external/LICENSE +87 -0
  1665. casadi/include/licenses/mumps-external/MUMPS/LICENSE +50 -0
  1666. casadi/include/licenses/openblas-external/LICENSE +29 -0
  1667. casadi/include/licenses/openblas-external/ctest/LICENSE +23 -0
  1668. casadi/include/licenses/openblas-external/lapack-netlib/LAPACKE/LICENSE +26 -0
  1669. casadi/include/licenses/openblas-external/lapack-netlib/LICENSE +48 -0
  1670. casadi/include/licenses/openblas-external/reference/LICENSE +23 -0
  1671. casadi/include/licenses/openblas-external/relapack/LICENSE +22 -0
  1672. casadi/include/licenses/openblas-external/test/LICENSE +23 -0
  1673. casadi/include/licenses/osi-external/LICENSE +245 -0
  1674. casadi/include/licenses/osi-external/Osi/LICENSE +239 -0
  1675. casadi/include/licenses/osqp-external/LICENSE +201 -0
  1676. casadi/include/licenses/osqp-external/lin_sys/direct/qdldl/amd/LICENSE +36 -0
  1677. casadi/include/licenses/osqp-external/lin_sys/direct/qdldl/qdldl_sources/LICENSE +201 -0
  1678. casadi/include/licenses/proxqp-external/LICENSE +25 -0
  1679. casadi/include/licenses/proxqp-external/bindings/python/external/pybind11/LICENSE +29 -0
  1680. casadi/include/licenses/proxqp-external/cmake-module/LICENSE +4 -0
  1681. casadi/include/licenses/proxqp-external/cmake-module/doxygen/MathJax/LICENSE +202 -0
  1682. casadi/include/licenses/proxqp-external/external/cereal/LICENSE +24 -0
  1683. casadi/include/licenses/proxqp-external/external/cereal/include/cereal/external/LICENSE +21 -0
  1684. casadi/include/licenses/proxqp-external/external/cereal/include/cereal/external/rapidjson/LICENSE +13 -0
  1685. casadi/include/licenses/proxqp-external/external/cereal/include/cereal/external/rapidjson/msinttypes/LICENSE +29 -0
  1686. casadi/include/licenses/qpOASES/LICENSE.txt +503 -0
  1687. casadi/include/licenses/sleqp-external/LICENSE +165 -0
  1688. casadi/include/licenses/superscs-external/LICENSE.txt +24 -0
  1689. casadi/include/licenses/tinyxml2-9.0.0/LICENSE.txt +18 -0
  1690. casadi/include/licenses/trlib-external/LICENSE +21 -0
  1691. casadi/include/openblas/cblas.h +411 -0
  1692. casadi/include/openblas/f77blas.h +796 -0
  1693. casadi/include/openblas/lapack.h +22997 -0
  1694. casadi/include/openblas/lapacke.h +12665 -0
  1695. casadi/include/openblas/lapacke_config.h +119 -0
  1696. casadi/include/openblas/lapacke_example_aux.h +9 -0
  1697. casadi/include/openblas/lapacke_mangling.h +17 -0
  1698. casadi/include/openblas/lapacke_utils.h +582 -0
  1699. casadi/include/openblas/openblas/lapacke_mangling.h +17 -0
  1700. casadi/include/openblas/openblas_config.h +139 -0
  1701. casadi/include/osqp/auxil.h +181 -0
  1702. casadi/include/osqp/constants.h +128 -0
  1703. casadi/include/osqp/cs.h +180 -0
  1704. casadi/include/osqp/ctrlc.h +56 -0
  1705. casadi/include/osqp/error.h +38 -0
  1706. casadi/include/osqp/glob_opts.h +167 -0
  1707. casadi/include/osqp/lin_alg.h +216 -0
  1708. casadi/include/osqp/lin_sys.h +54 -0
  1709. casadi/include/osqp/osqp.h +430 -0
  1710. casadi/include/osqp/osqp_configure.h +49 -0
  1711. casadi/include/osqp/polish.h +25 -0
  1712. casadi/include/osqp/proj.h +37 -0
  1713. casadi/include/osqp/scaling.h +44 -0
  1714. casadi/include/osqp/types.h +326 -0
  1715. casadi/include/osqp/util.h +222 -0
  1716. casadi/include/osqp/version.h +9 -0
  1717. casadi/include/proxsuite/config.hpp +68 -0
  1718. casadi/include/proxsuite/deprecated.hpp +56 -0
  1719. casadi/include/proxsuite/fwd.hpp +52 -0
  1720. casadi/include/proxsuite/helpers/common.hpp +70 -0
  1721. casadi/include/proxsuite/helpers/instruction-set.hpp +275 -0
  1722. casadi/include/proxsuite/helpers/optional.hpp +46 -0
  1723. casadi/include/proxsuite/helpers/tl-optional.hpp +2472 -0
  1724. casadi/include/proxsuite/helpers/version.hpp +39 -0
  1725. casadi/include/proxsuite/linalg/dense/core.hpp +863 -0
  1726. casadi/include/proxsuite/linalg/dense/factorize.hpp +375 -0
  1727. casadi/include/proxsuite/linalg/dense/ldlt.hpp +817 -0
  1728. casadi/include/proxsuite/linalg/dense/modify.hpp +333 -0
  1729. casadi/include/proxsuite/linalg/dense/solve.hpp +38 -0
  1730. casadi/include/proxsuite/linalg/dense/update.hpp +330 -0
  1731. casadi/include/proxsuite/linalg/sparse/core.hpp +531 -0
  1732. casadi/include/proxsuite/linalg/sparse/factorize.hpp +1303 -0
  1733. casadi/include/proxsuite/linalg/sparse/rowmod.hpp +443 -0
  1734. casadi/include/proxsuite/linalg/sparse/update.hpp +348 -0
  1735. casadi/include/proxsuite/linalg/veg/internal/assert_impl.hpp +20 -0
  1736. casadi/include/proxsuite/linalg/veg/internal/collection_algo.hpp +93 -0
  1737. casadi/include/proxsuite/linalg/veg/internal/dbg.hpp +15 -0
  1738. casadi/include/proxsuite/linalg/veg/internal/delete_special_members.hpp +77 -0
  1739. casadi/include/proxsuite/linalg/veg/internal/dyn_index.hpp +292 -0
  1740. casadi/include/proxsuite/linalg/veg/internal/epilogue.hpp +31 -0
  1741. casadi/include/proxsuite/linalg/veg/internal/external/hedley.ext.hpp +2074 -0
  1742. casadi/include/proxsuite/linalg/veg/internal/external/unhedley.ext.hpp +148 -0
  1743. casadi/include/proxsuite/linalg/veg/internal/fix_index.hpp +339 -0
  1744. casadi/include/proxsuite/linalg/veg/internal/has_asan.hpp +17 -0
  1745. casadi/include/proxsuite/linalg/veg/internal/integer_seq.hpp +248 -0
  1746. casadi/include/proxsuite/linalg/veg/internal/macros.hpp +1312 -0
  1747. casadi/include/proxsuite/linalg/veg/internal/narrow.hpp +46 -0
  1748. casadi/include/proxsuite/linalg/veg/internal/preprocessor.hpp +434 -0
  1749. casadi/include/proxsuite/linalg/veg/internal/prologue.hpp +157 -0
  1750. casadi/include/proxsuite/linalg/veg/internal/std.hpp +13 -0
  1751. casadi/include/proxsuite/linalg/veg/internal/terminate.hpp +22 -0
  1752. casadi/include/proxsuite/linalg/veg/internal/typedefs.hpp +58 -0
  1753. casadi/include/proxsuite/linalg/veg/memory/address.hpp +97 -0
  1754. casadi/include/proxsuite/linalg/veg/memory/alloc.hpp +352 -0
  1755. casadi/include/proxsuite/linalg/veg/memory/dynamic_stack.hpp +504 -0
  1756. casadi/include/proxsuite/linalg/veg/memory/placement.hpp +202 -0
  1757. casadi/include/proxsuite/linalg/veg/memory/stack_alloc.hpp +239 -0
  1758. casadi/include/proxsuite/linalg/veg/ref.hpp +148 -0
  1759. casadi/include/proxsuite/linalg/veg/slice.hpp +240 -0
  1760. casadi/include/proxsuite/linalg/veg/tuple.hpp +876 -0
  1761. casadi/include/proxsuite/linalg/veg/type_traits/alloc.hpp +169 -0
  1762. casadi/include/proxsuite/linalg/veg/type_traits/assignable.hpp +53 -0
  1763. casadi/include/proxsuite/linalg/veg/type_traits/constructible.hpp +217 -0
  1764. casadi/include/proxsuite/linalg/veg/type_traits/core.hpp +298 -0
  1765. casadi/include/proxsuite/linalg/veg/type_traits/invocable.hpp +47 -0
  1766. casadi/include/proxsuite/linalg/veg/type_traits/primitives.hpp +43 -0
  1767. casadi/include/proxsuite/linalg/veg/type_traits/tags.hpp +47 -0
  1768. casadi/include/proxsuite/linalg/veg/util/assert.hpp +48 -0
  1769. casadi/include/proxsuite/linalg/veg/util/dbg.hpp +6 -0
  1770. casadi/include/proxsuite/linalg/veg/util/defer.hpp +57 -0
  1771. casadi/include/proxsuite/linalg/veg/util/dynstack_alloc.hpp +19 -0
  1772. casadi/include/proxsuite/linalg/veg/util/get.hpp +153 -0
  1773. casadi/include/proxsuite/linalg/veg/util/index.hpp +6 -0
  1774. casadi/include/proxsuite/linalg/veg/util/unreachable.hpp +41 -0
  1775. casadi/include/proxsuite/linalg/veg/vec.hpp +1034 -0
  1776. casadi/include/proxsuite/proxqp/dense/dense.hpp +10 -0
  1777. casadi/include/proxsuite/proxqp/dense/fwd.hpp +55 -0
  1778. casadi/include/proxsuite/proxqp/dense/helpers.hpp +520 -0
  1779. casadi/include/proxsuite/proxqp/dense/linesearch.hpp +517 -0
  1780. casadi/include/proxsuite/proxqp/dense/model.hpp +147 -0
  1781. casadi/include/proxsuite/proxqp/dense/preconditioner/identity.hpp +113 -0
  1782. casadi/include/proxsuite/proxqp/dense/preconditioner/ruiz.hpp +571 -0
  1783. casadi/include/proxsuite/proxqp/dense/solver.hpp +1330 -0
  1784. casadi/include/proxsuite/proxqp/dense/utils.hpp +415 -0
  1785. casadi/include/proxsuite/proxqp/dense/views.hpp +1466 -0
  1786. casadi/include/proxsuite/proxqp/dense/workspace.hpp +264 -0
  1787. casadi/include/proxsuite/proxqp/dense/wrapper.hpp +491 -0
  1788. casadi/include/proxsuite/proxqp/results.hpp +212 -0
  1789. casadi/include/proxsuite/proxqp/settings.hpp +302 -0
  1790. casadi/include/proxsuite/proxqp/sparse/fwd.hpp +58 -0
  1791. casadi/include/proxsuite/proxqp/sparse/helpers.hpp +309 -0
  1792. casadi/include/proxsuite/proxqp/sparse/model.hpp +228 -0
  1793. casadi/include/proxsuite/proxqp/sparse/preconditioner/identity.hpp +64 -0
  1794. casadi/include/proxsuite/proxqp/sparse/preconditioner/ruiz.hpp +569 -0
  1795. casadi/include/proxsuite/proxqp/sparse/solver.hpp +1441 -0
  1796. casadi/include/proxsuite/proxqp/sparse/sparse.hpp +10 -0
  1797. casadi/include/proxsuite/proxqp/sparse/utils.hpp +815 -0
  1798. casadi/include/proxsuite/proxqp/sparse/views.hpp +63 -0
  1799. casadi/include/proxsuite/proxqp/sparse/workspace.hpp +790 -0
  1800. casadi/include/proxsuite/proxqp/sparse/wrapper.hpp +772 -0
  1801. casadi/include/proxsuite/proxqp/status.hpp +46 -0
  1802. casadi/include/proxsuite/proxqp/timings.hpp +101 -0
  1803. casadi/include/proxsuite/proxqp/utils/prints.hpp +47 -0
  1804. casadi/include/proxsuite/proxqp/utils/random_qp_problems.hpp +669 -0
  1805. casadi/include/proxsuite/serialization/archive.hpp +231 -0
  1806. casadi/include/proxsuite/serialization/eigen.hpp +107 -0
  1807. casadi/include/proxsuite/serialization/model.hpp +34 -0
  1808. casadi/include/proxsuite/serialization/results.hpp +74 -0
  1809. casadi/include/proxsuite/serialization/settings.hpp +60 -0
  1810. casadi/include/proxsuite/serialization/wrapper.hpp +24 -0
  1811. casadi/include/proxsuite/warning.hpp +35 -0
  1812. casadi/include/qdldl/qdldl.h +169 -0
  1813. casadi/include/qdldl/qdldl_types.h +23 -0
  1814. casadi/include/s_blas.h +78 -0
  1815. casadi/include/s_blas_64.h +73 -0
  1816. casadi/include/simde/arm/neon/aba.h +208 -0
  1817. casadi/include/simde/arm/neon/abd.h +384 -0
  1818. casadi/include/simde/arm/neon/abdl.h +147 -0
  1819. casadi/include/simde/arm/neon/abs.h +408 -0
  1820. casadi/include/simde/arm/neon/add.h +681 -0
  1821. casadi/include/simde/arm/neon/addl.h +127 -0
  1822. casadi/include/simde/arm/neon/addl_high.h +127 -0
  1823. casadi/include/simde/arm/neon/addlv.h +317 -0
  1824. casadi/include/simde/arm/neon/addv.h +447 -0
  1825. casadi/include/simde/arm/neon/addw.h +222 -0
  1826. casadi/include/simde/arm/neon/addw_high.h +193 -0
  1827. casadi/include/simde/arm/neon/and.h +552 -0
  1828. casadi/include/simde/arm/neon/bic.h +472 -0
  1829. casadi/include/simde/arm/neon/bsl.h +448 -0
  1830. casadi/include/simde/arm/neon/cagt.h +168 -0
  1831. casadi/include/simde/arm/neon/ceq.h +711 -0
  1832. casadi/include/simde/arm/neon/ceqz.h +335 -0
  1833. casadi/include/simde/arm/neon/cge.h +677 -0
  1834. casadi/include/simde/arm/neon/cgez.h +378 -0
  1835. casadi/include/simde/arm/neon/cgt.h +686 -0
  1836. casadi/include/simde/arm/neon/cgtz.h +380 -0
  1837. casadi/include/simde/arm/neon/cle.h +677 -0
  1838. casadi/include/simde/arm/neon/clez.h +378 -0
  1839. casadi/include/simde/arm/neon/cls.h +148 -0
  1840. casadi/include/simde/arm/neon/clt.h +679 -0
  1841. casadi/include/simde/arm/neon/cltz.h +263 -0
  1842. casadi/include/simde/arm/neon/clz.h +423 -0
  1843. casadi/include/simde/arm/neon/cnt.h +145 -0
  1844. casadi/include/simde/arm/neon/combine.h +343 -0
  1845. casadi/include/simde/arm/neon/create.h +186 -0
  1846. casadi/include/simde/arm/neon/cvt.h +492 -0
  1847. casadi/include/simde/arm/neon/dot.h +171 -0
  1848. casadi/include/simde/arm/neon/dot_lane.h +196 -0
  1849. casadi/include/simde/arm/neon/dup_lane.h +702 -0
  1850. casadi/include/simde/arm/neon/dup_n.h +534 -0
  1851. casadi/include/simde/arm/neon/eor.h +552 -0
  1852. casadi/include/simde/arm/neon/ext.h +887 -0
  1853. casadi/include/simde/arm/neon/get_high.h +260 -0
  1854. casadi/include/simde/arm/neon/get_lane.h +499 -0
  1855. casadi/include/simde/arm/neon/get_low.h +276 -0
  1856. casadi/include/simde/arm/neon/hadd.h +287 -0
  1857. casadi/include/simde/arm/neon/hsub.h +287 -0
  1858. casadi/include/simde/arm/neon/ld1.h +399 -0
  1859. casadi/include/simde/arm/neon/ld3.h +609 -0
  1860. casadi/include/simde/arm/neon/ld4.h +448 -0
  1861. casadi/include/simde/arm/neon/max.h +614 -0
  1862. casadi/include/simde/arm/neon/maxnm.h +215 -0
  1863. casadi/include/simde/arm/neon/maxv.h +400 -0
  1864. casadi/include/simde/arm/neon/min.h +660 -0
  1865. casadi/include/simde/arm/neon/minnm.h +215 -0
  1866. casadi/include/simde/arm/neon/minv.h +424 -0
  1867. casadi/include/simde/arm/neon/mla.h +530 -0
  1868. casadi/include/simde/arm/neon/mla_n.h +333 -0
  1869. casadi/include/simde/arm/neon/mlal.h +156 -0
  1870. casadi/include/simde/arm/neon/mlal_high.h +156 -0
  1871. casadi/include/simde/arm/neon/mlal_n.h +128 -0
  1872. casadi/include/simde/arm/neon/mls.h +264 -0
  1873. casadi/include/simde/arm/neon/mlsl.h +124 -0
  1874. casadi/include/simde/arm/neon/mlsl_high.h +124 -0
  1875. casadi/include/simde/arm/neon/mlsl_n.h +96 -0
  1876. casadi/include/simde/arm/neon/movl.h +208 -0
  1877. casadi/include/simde/arm/neon/movl_high.h +126 -0
  1878. casadi/include/simde/arm/neon/movn.h +195 -0
  1879. casadi/include/simde/arm/neon/movn_high.h +125 -0
  1880. casadi/include/simde/arm/neon/mul.h +594 -0
  1881. casadi/include/simde/arm/neon/mul_lane.h +472 -0
  1882. casadi/include/simde/arm/neon/mul_n.h +383 -0
  1883. casadi/include/simde/arm/neon/mull.h +236 -0
  1884. casadi/include/simde/arm/neon/mull_high.h +125 -0
  1885. casadi/include/simde/arm/neon/mull_n.h +158 -0
  1886. casadi/include/simde/arm/neon/mvn.h +426 -0
  1887. casadi/include/simde/arm/neon/neg.h +393 -0
  1888. casadi/include/simde/arm/neon/orn.h +505 -0
  1889. casadi/include/simde/arm/neon/orr.h +552 -0
  1890. casadi/include/simde/arm/neon/padal.h +211 -0
  1891. casadi/include/simde/arm/neon/padd.h +293 -0
  1892. casadi/include/simde/arm/neon/paddl.h +239 -0
  1893. casadi/include/simde/arm/neon/pmax.h +253 -0
  1894. casadi/include/simde/arm/neon/pmin.h +260 -0
  1895. casadi/include/simde/arm/neon/qabs.h +281 -0
  1896. casadi/include/simde/arm/neon/qadd.h +553 -0
  1897. casadi/include/simde/arm/neon/qdmulh.h +125 -0
  1898. casadi/include/simde/arm/neon/qdmull.h +125 -0
  1899. casadi/include/simde/arm/neon/qmovn.h +273 -0
  1900. casadi/include/simde/arm/neon/qmovn_high.h +127 -0
  1901. casadi/include/simde/arm/neon/qmovun.h +159 -0
  1902. casadi/include/simde/arm/neon/qneg.h +301 -0
  1903. casadi/include/simde/arm/neon/qrdmulh.h +165 -0
  1904. casadi/include/simde/arm/neon/qrdmulh_n.h +136 -0
  1905. casadi/include/simde/arm/neon/qshl.h +732 -0
  1906. casadi/include/simde/arm/neon/qsub.h +549 -0
  1907. casadi/include/simde/arm/neon/qtbl.h +455 -0
  1908. casadi/include/simde/arm/neon/qtbx.h +470 -0
  1909. casadi/include/simde/arm/neon/rbit.h +165 -0
  1910. casadi/include/simde/arm/neon/reinterpret.h +3101 -0
  1911. casadi/include/simde/arm/neon/rev16.h +137 -0
  1912. casadi/include/simde/arm/neon/rev32.h +235 -0
  1913. casadi/include/simde/arm/neon/rev64.h +358 -0
  1914. casadi/include/simde/arm/neon/rhadd.h +406 -0
  1915. casadi/include/simde/arm/neon/rnd.h +143 -0
  1916. casadi/include/simde/arm/neon/rndi.h +135 -0
  1917. casadi/include/simde/arm/neon/rndm.h +143 -0
  1918. casadi/include/simde/arm/neon/rndn.h +135 -0
  1919. casadi/include/simde/arm/neon/rndp.h +143 -0
  1920. casadi/include/simde/arm/neon/rshl.h +903 -0
  1921. casadi/include/simde/arm/neon/rshr_n.h +471 -0
  1922. casadi/include/simde/arm/neon/rsra_n.h +209 -0
  1923. casadi/include/simde/arm/neon/set_lane.h +422 -0
  1924. casadi/include/simde/arm/neon/shl.h +805 -0
  1925. casadi/include/simde/arm/neon/shl_n.h +560 -0
  1926. casadi/include/simde/arm/neon/shr_n.h +612 -0
  1927. casadi/include/simde/arm/neon/sra_n.h +202 -0
  1928. casadi/include/simde/arm/neon/st1.h +353 -0
  1929. casadi/include/simde/arm/neon/st1_lane.h +363 -0
  1930. casadi/include/simde/arm/neon/st3.h +426 -0
  1931. casadi/include/simde/arm/neon/st4.h +445 -0
  1932. casadi/include/simde/arm/neon/sub.h +659 -0
  1933. casadi/include/simde/arm/neon/subl.h +127 -0
  1934. casadi/include/simde/arm/neon/subw.h +221 -0
  1935. casadi/include/simde/arm/neon/subw_high.h +222 -0
  1936. casadi/include/simde/arm/neon/tbl.h +224 -0
  1937. casadi/include/simde/arm/neon/tbx.h +247 -0
  1938. casadi/include/simde/arm/neon/trn.h +252 -0
  1939. casadi/include/simde/arm/neon/trn1.h +500 -0
  1940. casadi/include/simde/arm/neon/trn2.h +499 -0
  1941. casadi/include/simde/arm/neon/tst.h +540 -0
  1942. casadi/include/simde/arm/neon/types.h +683 -0
  1943. casadi/include/simde/arm/neon/uqadd.h +325 -0
  1944. casadi/include/simde/arm/neon/uzp.h +252 -0
  1945. casadi/include/simde/arm/neon/uzp1.h +643 -0
  1946. casadi/include/simde/arm/neon/uzp2.h +647 -0
  1947. casadi/include/simde/arm/neon/zip.h +252 -0
  1948. casadi/include/simde/arm/neon/zip1.h +625 -0
  1949. casadi/include/simde/arm/neon/zip2.h +625 -0
  1950. casadi/include/simde/arm/neon.h +166 -0
  1951. casadi/include/simde/check.h +276 -0
  1952. casadi/include/simde/debug-trap.h +85 -0
  1953. casadi/include/simde/hedley.h +1971 -0
  1954. casadi/include/simde/simde-align.h +449 -0
  1955. casadi/include/simde/simde-arch.h +532 -0
  1956. casadi/include/simde/simde-common.h +890 -0
  1957. casadi/include/simde/simde-complex.h +148 -0
  1958. casadi/include/simde/simde-constify.h +397 -0
  1959. casadi/include/simde/simde-detect-clang.h +109 -0
  1960. casadi/include/simde/simde-diagnostic.h +428 -0
  1961. casadi/include/simde/simde-features.h +522 -0
  1962. casadi/include/simde/simde-math.h +1805 -0
  1963. casadi/include/simde/x86/avx.h +6193 -0
  1964. casadi/include/simde/x86/avx2.h +5660 -0
  1965. casadi/include/simde/x86/avx512/2intersect.h +250 -0
  1966. casadi/include/simde/x86/avx512/abs.h +562 -0
  1967. casadi/include/simde/x86/avx512/add.h +641 -0
  1968. casadi/include/simde/x86/avx512/adds.h +390 -0
  1969. casadi/include/simde/x86/avx512/and.h +305 -0
  1970. casadi/include/simde/x86/avx512/andnot.h +193 -0
  1971. casadi/include/simde/x86/avx512/avg.h +258 -0
  1972. casadi/include/simde/x86/avx512/blend.h +293 -0
  1973. casadi/include/simde/x86/avx512/broadcast.h +897 -0
  1974. casadi/include/simde/x86/avx512/cast.h +324 -0
  1975. casadi/include/simde/x86/avx512/cmp.h +587 -0
  1976. casadi/include/simde/x86/avx512/cmpeq.h +179 -0
  1977. casadi/include/simde/x86/avx512/cmpge.h +104 -0
  1978. casadi/include/simde/x86/avx512/cmpgt.h +189 -0
  1979. casadi/include/simde/x86/avx512/cmple.h +103 -0
  1980. casadi/include/simde/x86/avx512/cmplt.h +123 -0
  1981. casadi/include/simde/x86/avx512/copysign.h +86 -0
  1982. casadi/include/simde/x86/avx512/cvt.h +122 -0
  1983. casadi/include/simde/x86/avx512/cvts.h +723 -0
  1984. casadi/include/simde/x86/avx512/div.h +162 -0
  1985. casadi/include/simde/x86/avx512/extract.h +198 -0
  1986. casadi/include/simde/x86/avx512/fmadd.h +136 -0
  1987. casadi/include/simde/x86/avx512/fmsub.h +108 -0
  1988. casadi/include/simde/x86/avx512/fnmadd.h +108 -0
  1989. casadi/include/simde/x86/avx512/fnmsub.h +108 -0
  1990. casadi/include/simde/x86/avx512/insert.h +193 -0
  1991. casadi/include/simde/x86/avx512/kshift.h +152 -0
  1992. casadi/include/simde/x86/avx512/load.h +67 -0
  1993. casadi/include/simde/x86/avx512/loadu.h +113 -0
  1994. casadi/include/simde/x86/avx512/lzcnt.h +209 -0
  1995. casadi/include/simde/x86/avx512/madd.h +155 -0
  1996. casadi/include/simde/x86/avx512/maddubs.h +159 -0
  1997. casadi/include/simde/x86/avx512/max.h +587 -0
  1998. casadi/include/simde/x86/avx512/min.h +587 -0
  1999. casadi/include/simde/x86/avx512/mov.h +859 -0
  2000. casadi/include/simde/x86/avx512/mov_mask.h +372 -0
  2001. casadi/include/simde/x86/avx512/movm.h +460 -0
  2002. casadi/include/simde/x86/avx512/mul.h +279 -0
  2003. casadi/include/simde/x86/avx512/mulhi.h +65 -0
  2004. casadi/include/simde/x86/avx512/mulhrs.h +65 -0
  2005. casadi/include/simde/x86/avx512/mullo.h +117 -0
  2006. casadi/include/simde/x86/avx512/negate.h +88 -0
  2007. casadi/include/simde/x86/avx512/or.h +252 -0
  2008. casadi/include/simde/x86/avx512/packs.h +122 -0
  2009. casadi/include/simde/x86/avx512/packus.h +122 -0
  2010. casadi/include/simde/x86/avx512/permutex2var.h +1645 -0
  2011. casadi/include/simde/x86/avx512/permutexvar.h +1180 -0
  2012. casadi/include/simde/x86/avx512/sad.h +77 -0
  2013. casadi/include/simde/x86/avx512/set.h +477 -0
  2014. casadi/include/simde/x86/avx512/set1.h +331 -0
  2015. casadi/include/simde/x86/avx512/set4.h +140 -0
  2016. casadi/include/simde/x86/avx512/setone.h +66 -0
  2017. casadi/include/simde/x86/avx512/setr.h +144 -0
  2018. casadi/include/simde/x86/avx512/setr4.h +140 -0
  2019. casadi/include/simde/x86/avx512/setzero.h +90 -0
  2020. casadi/include/simde/x86/avx512/shuffle.h +176 -0
  2021. casadi/include/simde/x86/avx512/sll.h +247 -0
  2022. casadi/include/simde/x86/avx512/slli.h +179 -0
  2023. casadi/include/simde/x86/avx512/sllv.h +68 -0
  2024. casadi/include/simde/x86/avx512/sqrt.h +127 -0
  2025. casadi/include/simde/x86/avx512/sra.h +81 -0
  2026. casadi/include/simde/x86/avx512/srai.h +70 -0
  2027. casadi/include/simde/x86/avx512/srav.h +67 -0
  2028. casadi/include/simde/x86/avx512/srl.h +216 -0
  2029. casadi/include/simde/x86/avx512/srli.h +180 -0
  2030. casadi/include/simde/x86/avx512/srlv.h +282 -0
  2031. casadi/include/simde/x86/avx512/store.h +93 -0
  2032. casadi/include/simde/x86/avx512/storeu.h +93 -0
  2033. casadi/include/simde/x86/avx512/sub.h +351 -0
  2034. casadi/include/simde/x86/avx512/subs.h +222 -0
  2035. casadi/include/simde/x86/avx512/test.h +193 -0
  2036. casadi/include/simde/x86/avx512/types.h +380 -0
  2037. casadi/include/simde/x86/avx512/unpackhi.h +380 -0
  2038. casadi/include/simde/x86/avx512/unpacklo.h +104 -0
  2039. casadi/include/simde/x86/avx512/xor.h +263 -0
  2040. casadi/include/simde/x86/avx512/xorsign.h +72 -0
  2041. casadi/include/simde/x86/avx512.h +108 -0
  2042. casadi/include/simde/x86/clmul.h +414 -0
  2043. casadi/include/simde/x86/fma.h +724 -0
  2044. casadi/include/simde/x86/gfni.h +802 -0
  2045. casadi/include/simde/x86/mmx.h +2399 -0
  2046. casadi/include/simde/x86/sse.h +4471 -0
  2047. casadi/include/simde/x86/sse2.h +7389 -0
  2048. casadi/include/simde/x86/sse3.h +499 -0
  2049. casadi/include/simde/x86/sse4.1.h +2216 -0
  2050. casadi/include/simde/x86/sse4.2.h +347 -0
  2051. casadi/include/simde/x86/ssse3.h +1032 -0
  2052. casadi/include/simde/x86/svml.h +12139 -0
  2053. casadi/include/simde/x86/xop.h +3644 -0
  2054. casadi/include/sleqp/defs.h +58 -0
  2055. casadi/include/sleqp/export.h +42 -0
  2056. casadi/include/sleqp/pub_cmp.h +18 -0
  2057. casadi/include/sleqp/pub_dyn.h +140 -0
  2058. casadi/include/sleqp/pub_error.h +50 -0
  2059. casadi/include/sleqp/pub_func.h +257 -0
  2060. casadi/include/sleqp/pub_hess_struct.h +105 -0
  2061. casadi/include/sleqp/pub_iterate.h +88 -0
  2062. casadi/include/sleqp/pub_log.h +88 -0
  2063. casadi/include/sleqp/pub_lsq.h +158 -0
  2064. casadi/include/sleqp/pub_mem.h +52 -0
  2065. casadi/include/sleqp/pub_problem.h +213 -0
  2066. casadi/include/sleqp/pub_scale.h +150 -0
  2067. casadi/include/sleqp/pub_settings.h +162 -0
  2068. casadi/include/sleqp/pub_solver.h +155 -0
  2069. casadi/include/sleqp/pub_types.h +230 -0
  2070. casadi/include/sleqp/pub_working_set.h +135 -0
  2071. casadi/include/sleqp/sparse/pub_mat.h +153 -0
  2072. casadi/include/sleqp/sparse/pub_vec.h +336 -0
  2073. casadi/include/sleqp.h +38 -0
  2074. casadi/include/spral.h +13 -0
  2075. casadi/include/spral_lsmr.h +57 -0
  2076. casadi/include/spral_matrix_util.h +40 -0
  2077. casadi/include/spral_random.h +26 -0
  2078. casadi/include/spral_random_matrix.h +27 -0
  2079. casadi/include/spral_rutherford_boeing.h +51 -0
  2080. casadi/include/spral_scaling.h +139 -0
  2081. casadi/include/spral_ssids.h +121 -0
  2082. casadi/include/spral_ssmfe.h +268 -0
  2083. casadi/include/superscs/cones.h +185 -0
  2084. casadi/include/superscs/constants.h +144 -0
  2085. casadi/include/superscs/cs.h +109 -0
  2086. casadi/include/superscs/ctrlc.h +77 -0
  2087. casadi/include/superscs/directions.h +125 -0
  2088. casadi/include/superscs/glbopts.h +240 -0
  2089. casadi/include/superscs/linAlg.h +437 -0
  2090. casadi/include/superscs/linSys.h +205 -0
  2091. casadi/include/superscs/linsys/amatrix.h +77 -0
  2092. casadi/include/superscs/linsys/common.h +49 -0
  2093. casadi/include/superscs/normalize.h +138 -0
  2094. casadi/include/superscs/scs.h +656 -0
  2095. casadi/include/superscs/scs_blas.h +79 -0
  2096. casadi/include/superscs/scs_parser.h +187 -0
  2097. casadi/include/superscs/unit_test_util.h +210 -0
  2098. casadi/include/superscs/util.h +354 -0
  2099. casadi/include/tinyxml2.h +2380 -0
  2100. casadi/include/trlib/trlib_eigen_inverse.h +118 -0
  2101. casadi/include/trlib/trlib_krylov.h +493 -0
  2102. casadi/include/trlib/trlib_leftmost.h +181 -0
  2103. casadi/include/trlib/trlib_private.h +109 -0
  2104. casadi/include/trlib/trlib_quadratic_zero.h +57 -0
  2105. casadi/include/trlib/trlib_tri_factor.h +409 -0
  2106. casadi/include/trlib/trlib_types.h +36 -0
  2107. casadi/include/trlib.h +44 -0
  2108. casadi/lib64/cmake/tinyxml2/tinyxml2-config-version.cmake +70 -0
  2109. casadi/lib64/cmake/tinyxml2/tinyxml2-config.cmake +57 -0
  2110. casadi/lib64/cmake/tinyxml2/tinyxml2-static-targets-release.cmake +19 -0
  2111. casadi/lib64/cmake/tinyxml2/tinyxml2-static-targets.cmake +103 -0
  2112. casadi/lib64/libtinyxml2.a +0 -0
  2113. casadi/lib64/pkgconfig/tinyxml2.pc +10 -0
  2114. casadi/libCbc.la +35 -0
  2115. casadi/libCbc.so +0 -0
  2116. casadi/libCbc.so.3 +0 -0
  2117. casadi/libCbc.so.3.10.11 +0 -0
  2118. casadi/libCbcSolver.la +35 -0
  2119. casadi/libCbcSolver.so +0 -0
  2120. casadi/libCbcSolver.so.3 +0 -0
  2121. casadi/libCbcSolver.so.3.10.11 +0 -0
  2122. casadi/libCgl.la +35 -0
  2123. casadi/libCgl.so +0 -0
  2124. casadi/libCgl.so.1 +0 -0
  2125. casadi/libCgl.so.1.10.8 +0 -0
  2126. casadi/libClp.la +35 -0
  2127. casadi/libClp.so +0 -0
  2128. casadi/libClp.so.1 +0 -0
  2129. casadi/libClp.so.1.14.9 +0 -0
  2130. casadi/libClpSolver.la +35 -0
  2131. casadi/libClpSolver.so +0 -0
  2132. casadi/libClpSolver.so.1 +0 -0
  2133. casadi/libClpSolver.so.1.14.9 +0 -0
  2134. casadi/libCoinUtils.la +35 -0
  2135. casadi/libCoinUtils.so +0 -0
  2136. casadi/libCoinUtils.so.3 +0 -0
  2137. casadi/libCoinUtils.so.3.11.10 +0 -0
  2138. casadi/libOsi.la +35 -0
  2139. casadi/libOsi.so +0 -0
  2140. casadi/libOsi.so.1 +0 -0
  2141. casadi/libOsi.so.1.13.9 +0 -0
  2142. casadi/libOsiCbc.la +35 -0
  2143. casadi/libOsiCbc.so +0 -0
  2144. casadi/libOsiCbc.so.3 +0 -0
  2145. casadi/libOsiCbc.so.3.10.11 +0 -0
  2146. casadi/libOsiClp.la +35 -0
  2147. casadi/libOsiClp.so +0 -0
  2148. casadi/libOsiClp.so.1 +0 -0
  2149. casadi/libOsiClp.so.1.14.9 +0 -0
  2150. casadi/libOsiCommonTests.la +35 -0
  2151. casadi/libOsiCommonTests.so +0 -0
  2152. casadi/libOsiCommonTests.so.1 +0 -0
  2153. casadi/libOsiCommonTests.so.1.13.9 +0 -0
  2154. casadi/libalpaqa-dl-loader.so +0 -0
  2155. casadi/libalpaqa-dl-loader.so.1.0.0 +0 -0
  2156. casadi/libalpaqa.so +0 -0
  2157. casadi/libalpaqa.so.1.0.0 +0 -0
  2158. casadi/libblasfeo.so +0 -0
  2159. casadi/libbonmin.la +35 -0
  2160. casadi/libbonmin.so +0 -0
  2161. casadi/libbonmin.so.4 +0 -0
  2162. casadi/libbonmin.so.4.8.9 +0 -0
  2163. casadi/libcasadi-tp-openblas.so +0 -0
  2164. casadi/libcasadi-tp-openblas.so.0 +0 -0
  2165. casadi/libcasadi-tp-openblas.so.0.3 +0 -0
  2166. casadi/libcasadi.so +0 -0
  2167. casadi/libcasadi.so.3.7 +0 -0
  2168. casadi/libcasadi_conic_cbc.so +0 -0
  2169. casadi/libcasadi_conic_cbc.so.3.7 +0 -0
  2170. casadi/libcasadi_conic_clp.so +0 -0
  2171. casadi/libcasadi_conic_clp.so.3.7 +0 -0
  2172. casadi/libcasadi_conic_cplex.so +0 -0
  2173. casadi/libcasadi_conic_cplex.so.3.7 +0 -0
  2174. casadi/libcasadi_conic_daqp.so +0 -0
  2175. casadi/libcasadi_conic_daqp.so.3.7 +0 -0
  2176. casadi/libcasadi_conic_fatrop.so +0 -0
  2177. casadi/libcasadi_conic_fatrop.so.3.7 +0 -0
  2178. casadi/libcasadi_conic_gurobi.so +0 -0
  2179. casadi/libcasadi_conic_gurobi.so.3.7 +0 -0
  2180. casadi/libcasadi_conic_highs.so +0 -0
  2181. casadi/libcasadi_conic_highs.so.3.7 +0 -0
  2182. casadi/libcasadi_conic_hpipm.so +0 -0
  2183. casadi/libcasadi_conic_hpipm.so.3.7 +0 -0
  2184. casadi/libcasadi_conic_ipqp.so +0 -0
  2185. casadi/libcasadi_conic_ipqp.so.3.7 +0 -0
  2186. casadi/libcasadi_conic_nlpsol.so +0 -0
  2187. casadi/libcasadi_conic_nlpsol.so.3.7 +0 -0
  2188. casadi/libcasadi_conic_osqp.so +0 -0
  2189. casadi/libcasadi_conic_osqp.so.3.7 +0 -0
  2190. casadi/libcasadi_conic_proxqp.so +0 -0
  2191. casadi/libcasadi_conic_proxqp.so.3.7 +0 -0
  2192. casadi/libcasadi_conic_qpoases.so +0 -0
  2193. casadi/libcasadi_conic_qpoases.so.3.7 +0 -0
  2194. casadi/libcasadi_conic_qrqp.so +0 -0
  2195. casadi/libcasadi_conic_qrqp.so.3.7 +0 -0
  2196. casadi/libcasadi_conic_superscs.so +0 -0
  2197. casadi/libcasadi_conic_superscs.so.3.7 +0 -0
  2198. casadi/libcasadi_importer_shell.so +0 -0
  2199. casadi/libcasadi_importer_shell.so.3.7 +0 -0
  2200. casadi/libcasadi_integrator_collocation.so +0 -0
  2201. casadi/libcasadi_integrator_collocation.so.3.7 +0 -0
  2202. casadi/libcasadi_integrator_cvodes.so +0 -0
  2203. casadi/libcasadi_integrator_cvodes.so.3.7 +0 -0
  2204. casadi/libcasadi_integrator_idas.so +0 -0
  2205. casadi/libcasadi_integrator_idas.so.3.7 +0 -0
  2206. casadi/libcasadi_integrator_rk.so +0 -0
  2207. casadi/libcasadi_integrator_rk.so.3.7 +0 -0
  2208. casadi/libcasadi_interpolant_bspline.so +0 -0
  2209. casadi/libcasadi_interpolant_bspline.so.3.7 +0 -0
  2210. casadi/libcasadi_interpolant_linear.so +0 -0
  2211. casadi/libcasadi_interpolant_linear.so.3.7 +0 -0
  2212. casadi/libcasadi_linsol_csparse.so +0 -0
  2213. casadi/libcasadi_linsol_csparse.so.3.7 +0 -0
  2214. casadi/libcasadi_linsol_csparsecholesky.so +0 -0
  2215. casadi/libcasadi_linsol_csparsecholesky.so.3.7 +0 -0
  2216. casadi/libcasadi_linsol_lapacklu.so +0 -0
  2217. casadi/libcasadi_linsol_lapacklu.so.3.7 +0 -0
  2218. casadi/libcasadi_linsol_lapackqr.so +0 -0
  2219. casadi/libcasadi_linsol_lapackqr.so.3.7 +0 -0
  2220. casadi/libcasadi_linsol_ldl.so +0 -0
  2221. casadi/libcasadi_linsol_ldl.so.3.7 +0 -0
  2222. casadi/libcasadi_linsol_lsqr.so +0 -0
  2223. casadi/libcasadi_linsol_lsqr.so.3.7 +0 -0
  2224. casadi/libcasadi_linsol_ma27.so +0 -0
  2225. casadi/libcasadi_linsol_ma27.so.3.7 +0 -0
  2226. casadi/libcasadi_linsol_mumps.so +0 -0
  2227. casadi/libcasadi_linsol_mumps.so.3.7 +0 -0
  2228. casadi/libcasadi_linsol_qr.so +0 -0
  2229. casadi/libcasadi_linsol_qr.so.3.7 +0 -0
  2230. casadi/libcasadi_linsol_symbolicqr.so +0 -0
  2231. casadi/libcasadi_linsol_symbolicqr.so.3.7 +0 -0
  2232. casadi/libcasadi_linsol_tridiag.so +0 -0
  2233. casadi/libcasadi_linsol_tridiag.so.3.7 +0 -0
  2234. casadi/libcasadi_nlpsol_alpaqa.so +0 -0
  2235. casadi/libcasadi_nlpsol_alpaqa.so.3.7 +0 -0
  2236. casadi/libcasadi_nlpsol_ampl.so +0 -0
  2237. casadi/libcasadi_nlpsol_ampl.so.3.7 +0 -0
  2238. casadi/libcasadi_nlpsol_blocksqp.so +0 -0
  2239. casadi/libcasadi_nlpsol_blocksqp.so.3.7 +0 -0
  2240. casadi/libcasadi_nlpsol_bonmin.so +0 -0
  2241. casadi/libcasadi_nlpsol_bonmin.so.3.7 +0 -0
  2242. casadi/libcasadi_nlpsol_fatrop.so +0 -0
  2243. casadi/libcasadi_nlpsol_fatrop.so.3.7 +0 -0
  2244. casadi/libcasadi_nlpsol_feasiblesqpmethod.so +0 -0
  2245. casadi/libcasadi_nlpsol_feasiblesqpmethod.so.3.7 +0 -0
  2246. casadi/libcasadi_nlpsol_ipopt.so +0 -0
  2247. casadi/libcasadi_nlpsol_ipopt.so.3.7 +0 -0
  2248. casadi/libcasadi_nlpsol_knitro.so +0 -0
  2249. casadi/libcasadi_nlpsol_knitro.so.3.7 +0 -0
  2250. casadi/libcasadi_nlpsol_madnlp.so +0 -0
  2251. casadi/libcasadi_nlpsol_madnlp.so.3.7 +0 -0
  2252. casadi/libcasadi_nlpsol_qrsqp.so +0 -0
  2253. casadi/libcasadi_nlpsol_qrsqp.so.3.7 +0 -0
  2254. casadi/libcasadi_nlpsol_scpgen.so +0 -0
  2255. casadi/libcasadi_nlpsol_scpgen.so.3.7 +0 -0
  2256. casadi/libcasadi_nlpsol_sleqp.so +0 -0
  2257. casadi/libcasadi_nlpsol_sleqp.so.3.7 +0 -0
  2258. casadi/libcasadi_nlpsol_snopt.so +0 -0
  2259. casadi/libcasadi_nlpsol_snopt.so.3.7 +0 -0
  2260. casadi/libcasadi_nlpsol_sqpmethod.so +0 -0
  2261. casadi/libcasadi_nlpsol_sqpmethod.so.3.7 +0 -0
  2262. casadi/libcasadi_nlpsol_worhp.so +0 -0
  2263. casadi/libcasadi_nlpsol_worhp.so.3.7 +0 -0
  2264. casadi/libcasadi_rootfinder_fast_newton.so +0 -0
  2265. casadi/libcasadi_rootfinder_fast_newton.so.3.7 +0 -0
  2266. casadi/libcasadi_rootfinder_kinsol.so +0 -0
  2267. casadi/libcasadi_rootfinder_kinsol.so.3.7 +0 -0
  2268. casadi/libcasadi_rootfinder_newton.so +0 -0
  2269. casadi/libcasadi_rootfinder_newton.so.3.7 +0 -0
  2270. casadi/libcasadi_rootfinder_nlpsol.so +0 -0
  2271. casadi/libcasadi_rootfinder_nlpsol.so.3.7 +0 -0
  2272. casadi/libcasadi_sundials_common.so +0 -0
  2273. casadi/libcasadi_sundials_common.so.3.7 +0 -0
  2274. casadi/libcasadi_xmlfile_tinyxml.so +0 -0
  2275. casadi/libcasadi_xmlfile_tinyxml.so.3.7 +0 -0
  2276. casadi/libcoinmetis.la +41 -0
  2277. casadi/libcoinmetis.so +0 -0
  2278. casadi/libcoinmetis.so.2 +0 -0
  2279. casadi/libcoinmetis.so.2.0.0 +0 -0
  2280. casadi/libcoinmumps.la +41 -0
  2281. casadi/libcoinmumps.so +0 -0
  2282. casadi/libcoinmumps.so.3 +0 -0
  2283. casadi/libcoinmumps.so.3.0.1 +0 -0
  2284. casadi/libcplex_adaptor.so +0 -0
  2285. casadi/libdaqp.so +0 -0
  2286. casadi/libdaqpstat.a +0 -0
  2287. casadi/libfatrop.so +0 -0
  2288. casadi/libgfortran-040039e1.so.5.0.0 +0 -0
  2289. casadi/libgurobi_adaptor.so +0 -0
  2290. casadi/libhighs.so +0 -0
  2291. casadi/libhighs.so.1 +0 -0
  2292. casadi/libhighs.so.1.7.2 +0 -0
  2293. casadi/libhpipm.so +0 -0
  2294. casadi/libindirect.a +0 -0
  2295. casadi/libipopt.la +41 -0
  2296. casadi/libipopt.so +0 -0
  2297. casadi/libipopt.so.3 +0 -0
  2298. casadi/libipopt.so.3.14.11 +0 -0
  2299. casadi/liblinsys.a +0 -0
  2300. casadi/libmatlab_ipc.so +0 -0
  2301. casadi/libosqp.a +0 -0
  2302. casadi/libosqp.so +0 -0
  2303. casadi/libqdldl.a +0 -0
  2304. casadi/libqdldl.so +0 -0
  2305. casadi/libquadmath-96973f99.so.0.0.0 +0 -0
  2306. casadi/libsipopt.la +41 -0
  2307. casadi/libsipopt.so +0 -0
  2308. casadi/libsipopt.so.3 +0 -0
  2309. casadi/libsipopt.so.3.14.11 +0 -0
  2310. casadi/libsleqp.so +0 -0
  2311. casadi/libsleqp.so.1.0.1 +0 -0
  2312. casadi/libspral.a +0 -0
  2313. casadi/libsuperscs.a +0 -0
  2314. casadi/libtrlib.so +0 -0
  2315. casadi/libtrlib.so.0.4 +0 -0
  2316. casadi/pkgconfig/blas.pc +11 -0
  2317. casadi/pkgconfig/bonmin.pc +12 -0
  2318. casadi/pkgconfig/casadi.pc +12 -0
  2319. casadi/pkgconfig/cbc.pc +12 -0
  2320. casadi/pkgconfig/cgl.pc +12 -0
  2321. casadi/pkgconfig/clp.pc +12 -0
  2322. casadi/pkgconfig/coinmetis.pc +13 -0
  2323. casadi/pkgconfig/coinmumps.pc +15 -0
  2324. casadi/pkgconfig/coinutils.pc +12 -0
  2325. casadi/pkgconfig/highs.pc +12 -0
  2326. casadi/pkgconfig/ipopt.pc +15 -0
  2327. casadi/pkgconfig/lapack.pc +11 -0
  2328. casadi/pkgconfig/openblas.pc +11 -0
  2329. casadi/pkgconfig/osi-cbc.pc +12 -0
  2330. casadi/pkgconfig/osi-clp.pc +12 -0
  2331. casadi/pkgconfig/osi-unittests.pc +12 -0
  2332. casadi/pkgconfig/osi.pc +12 -0
  2333. casadi/pkgconfig/proxsuite.pc +22 -0
  2334. casadi/pkgconfig/sleqp.pc +10 -0
  2335. casadi/tools/__init__.py +52 -0
  2336. casadi/tools/bounds.py +107 -0
  2337. casadi/tools/graph/__init__.py +35 -0
  2338. casadi/tools/graph/graph.py +747 -0
  2339. casadi/tools/in_out.py +89 -0
  2340. casadi/tools/structure.py +1446 -0
  2341. casadi/tools/structure3.py +1441 -0
  2342. casadi-3.6.7.dist-info/METADATA +45 -0
  2343. casadi-3.6.7.dist-info/RECORD +2345 -0
  2344. casadi-3.6.7.dist-info/WHEEL +4 -0
  2345. dummy.txt +1 -0
@@ -0,0 +1,1495 @@
1
+ /*
2
+ * This file is part of CasADi.
3
+ *
4
+ * CasADi -- A symbolic framework for dynamic optimization.
5
+ * Copyright (C) 2010-2023 Joel Andersson, Joris Gillis, Moritz Diehl,
6
+ * KU Leuven. All rights reserved.
7
+ * Copyright (C) 2011-2014 Greg Horn
8
+ * Copyright (C) 2005-2013 Timothy A. Davis
9
+ *
10
+ * CasADi is free software; you can redistribute it and/or
11
+ * modify it under the terms of the GNU Lesser General Public
12
+ * License as published by the Free Software Foundation; either
13
+ * version 3 of the License, or (at your option) any later version.
14
+ *
15
+ * CasADi is distributed in the hope that it will be useful,
16
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
17
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18
+ * Lesser General Public License for more details.
19
+ *
20
+ * You should have received a copy of the GNU Lesser General Public
21
+ * License along with CasADi; if not, write to the Free Software
22
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
23
+ *
24
+ */
25
+
26
+
27
+ #ifndef CASADI_SPARSITY_HPP
28
+ #define CASADI_SPARSITY_HPP
29
+
30
+ #include "shared_object.hpp"
31
+ #include "printable.hpp"
32
+ #include "casadi_common.hpp"
33
+ #include "sparsity_interface.hpp"
34
+ #include "generic_type.hpp"
35
+ #include <vector>
36
+ #include <list>
37
+ #include <limits>
38
+ #include <unordered_map>
39
+
40
+ namespace casadi {
41
+ // Forward declaration
42
+ class SparsityInternal;
43
+ class SerializingStream;
44
+ class DeserializingStream;
45
+
46
+ #ifndef SWIG
47
+ /** \brief Compact representation of a sparsity pattern
48
+
49
+ \identifier{b8} */
50
+ struct CASADI_EXPORT SparsityStruct {
51
+ casadi_int nrow;
52
+ casadi_int ncol;
53
+ const casadi_int* colind;
54
+ const casadi_int* row;
55
+ };
56
+ #endif // SWIG
57
+
58
+ /** \brief General sparsity class
59
+ *
60
+ * The storage format is a compressed column storage (CCS) format.\n
61
+ *
62
+ In this format, the structural non-zero elements are stored in column-major order, starting from
63
+ the upper left corner of the matrix and ending in the lower right corner.
64
+
65
+ In addition to the dimension (size1(), size2()), (i.e. the number of rows and the number of
66
+ columns respectively), there are also two vectors of integers:
67
+
68
+ 1. "colind" [length size2()+1], which contains the index to the first non-zero element on or
69
+ after the corresponding column. All the non-zero elements of a particular column i are thus
70
+ the elements with index el that fulfills: colind[i] <= el < colind[i+1].
71
+
72
+ 2. "row" [same length as the number of non-zero elements, nnz()] The rows for each of the
73
+ structural non-zeros.
74
+
75
+ Note that with this format, it is cheap to loop over all the non-zero elements of a particular
76
+ column, at constant time per element, but expensive to jump to access a location (i, j).
77
+
78
+ If the matrix is dense, i.e. length(row) == size1()*size2(), the format reduces to standard dense
79
+ column major format, which allows access to an arbitrary element in constant time.
80
+
81
+ Since the object is reference counted (it inherits from SharedObject), several matrices are
82
+ allowed to share the same sparsity pattern.
83
+
84
+ The implementations of methods marked as such in this class has been taken from the
85
+ CSparse package and modified to fit CasADi data structures and separation of
86
+ sparsity pattern calculation and numerical evaluation.
87
+ These functions are Copyright(c) Timothy A. Davis, 2006-2009
88
+ and licensed as a derivative work under the GNU LGPL
89
+
90
+ * \see Matrix
91
+ *
92
+ * \author Joel Andersson
93
+ * \date 2010-2015
94
+
95
+ \identifier{b9} */
96
+ class CASADI_EXPORT Sparsity
97
+ : public SharedObject,
98
+ public SWIG_IF_ELSE(SparsityInterfaceCommon, SparsityInterface<Sparsity>),
99
+ public SWIG_IF_ELSE(PrintableCommon, Printable<Sparsity>) {
100
+ public:
101
+
102
+ /// Default constructor
103
+ explicit Sparsity(casadi_int dummy=0);
104
+
105
+ /** \brief Pattern with all structural zeros
106
+
107
+ \identifier{ba} */
108
+ Sparsity(casadi_int nrow, casadi_int ncol);
109
+
110
+ /// Construct from sparsity pattern vectors given in compressed column storage format
111
+ Sparsity(casadi_int nrow, casadi_int ncol,
112
+ const std::vector<casadi_int>& colind, const std::vector<casadi_int>& row,
113
+ bool order_rows=false);
114
+
115
+ /** \brief Create a sparse matrix with all structural zeros
116
+
117
+ \identifier{bb} */
118
+ explicit Sparsity(const std::pair<casadi_int, casadi_int>& rc);
119
+
120
+ #ifndef SWIG
121
+ /// Construct from sparsity pattern vectors given in compressed column storage format
122
+ Sparsity(casadi_int nrow, casadi_int ncol, const casadi_int* colind, const casadi_int* row,
123
+ bool order_rows=false);
124
+
125
+ /** \brief Create from node
126
+
127
+ \identifier{bc} */
128
+ static Sparsity create(SparsityInternal *node);
129
+
130
+ /// Base class
131
+ typedef SparsityInterface<Sparsity> B;
132
+
133
+ /// Expose base class functions
134
+ using B::horzsplit;
135
+ using B::diagsplit;
136
+ using B::vertsplit;
137
+ using B::mtimes;
138
+
139
+ SparsityInternal* get() const;
140
+ #endif
141
+
142
+ /** \brief Create a scalar sparsity pattern *
143
+
144
+ \identifier{bd} */
145
+ ///@{
146
+ static Sparsity scalar(bool dense_scalar=true)
147
+ { return dense_scalar ? dense(1, 1) : Sparsity(1, 1); }
148
+ ///@}
149
+
150
+ /** \brief Create a dense rectangular sparsity pattern *
151
+
152
+ \identifier{be} */
153
+ ///@{
154
+ static Sparsity dense(casadi_int nrow, casadi_int ncol=1);
155
+ static Sparsity dense(const std::pair<casadi_int, casadi_int> &rc) {
156
+ return dense(rc.first, rc.second);
157
+ }
158
+ ///@}
159
+
160
+ /** \brief Create the sparsity pattern for a unit vector of length n and a nonzero on
161
+
162
+ * position el *
163
+
164
+ \identifier{bf} */
165
+ ///@{
166
+ static Sparsity unit(casadi_int n, casadi_int el);
167
+ ///@}
168
+
169
+ /** \brief Create a upper triangular square sparsity pattern *
170
+
171
+ \identifier{bg} */
172
+ static Sparsity upper(casadi_int n);
173
+
174
+ /** \brief Create a lower triangular square sparsity pattern *
175
+
176
+ \identifier{bh} */
177
+ static Sparsity lower(casadi_int n);
178
+
179
+ /** \brief Create diagonal sparsity pattern *
180
+
181
+ \identifier{bi} */
182
+ ///@{
183
+ static Sparsity diag(casadi_int nrow) { return diag(nrow, nrow);}
184
+ static Sparsity diag(casadi_int nrow, casadi_int ncol);
185
+ static Sparsity diag(const std::pair<casadi_int, casadi_int> &rc) {
186
+ return diag(rc.first, rc.second);
187
+ }
188
+ ///@}
189
+
190
+ /** \brief Create a single band in a square sparsity pattern
191
+ *
192
+ * band(n, 0) is equivalent to diag(n) \n
193
+ * band(n, -1) has a band below the diagonal \n
194
+ * \param p indicate
195
+ *
196
+ \identifier{bj} */
197
+ static Sparsity band(casadi_int n, casadi_int p);
198
+
199
+ /** \brief Create banded square sparsity pattern
200
+ *
201
+ * banded(n, 0) is equivalent to diag(n) \n
202
+ * banded(n, 1) is tri-diagonal matrix \n
203
+ *
204
+ \identifier{bk} */
205
+ static Sparsity banded(casadi_int n, casadi_int p);
206
+
207
+ /** \brief Construct a block sparsity pattern from (row, col) vectors
208
+
209
+ \identifier{bl} */
210
+ static Sparsity rowcol(const std::vector<casadi_int>& row,
211
+ const std::vector<casadi_int>& col,
212
+ casadi_int nrow, casadi_int ncol);
213
+
214
+ ///@{
215
+ /** \brief Create a sparsity pattern given the nonzeros in sparse triplet form *
216
+
217
+ \identifier{bm} */
218
+ static Sparsity triplet(casadi_int nrow, casadi_int ncol,
219
+ const std::vector<casadi_int>& row, const std::vector<casadi_int>& col,
220
+ std::vector<casadi_int>& SWIG_OUTPUT(mapping), bool invert_mapping);
221
+ static Sparsity triplet(casadi_int nrow, casadi_int ncol, const std::vector<casadi_int>& row,
222
+ const std::vector<casadi_int>& col);
223
+ ///@}
224
+
225
+ /** \brief Create a sparsity from nonzeros
226
+ *
227
+ * Inverse of `find()`
228
+
229
+ \identifier{23g} */
230
+ static Sparsity nonzeros(casadi_int nrow, casadi_int ncol, const std::vector<casadi_int>& nz,
231
+ bool ind1=SWIG_IND1);
232
+
233
+ /** Create from a single vector containing the pattern in compressed column storage format:
234
+ * The format:
235
+ * The first two entries are the number of rows (nrow) and columns (ncol)
236
+ * The next ncol+1 entries are the column offsets (colind).
237
+ Note that the last element, colind[ncol], gives the number of nonzeros
238
+ * The last colind[ncol] entries are the row indices
239
+ **/
240
+ ///@{
241
+ static Sparsity compressed(const std::vector<casadi_int>& v, bool order_rows=false);
242
+ #ifndef SWIG
243
+ static Sparsity compressed(const casadi_int* v, bool order_rows=false);
244
+ #endif // SWIG
245
+ ///@}
246
+
247
+ /** \brief Construct a permutation matrix P from a permutation vector p
248
+ *
249
+ * Right multiplication of P with a vector leads to the same results as indexing that vector with p
250
+ *
251
+ * P @ v = v[p]
252
+ *
253
+ * The inverse of a permutation matrix is equal to its transpose (property of orthonormality)
254
+ *
255
+
256
+ \identifier{244} */
257
+ static Sparsity permutation(const std::vector<casadi_int>& p, bool invert=false);
258
+
259
+ /** \brief Construct permutation vector from permutation matrix
260
+
261
+ \identifier{245} */
262
+ const std::vector<casadi_int> permutation_vector(bool invert=false) const;
263
+
264
+ /** Get the diagonal of the matrix/create a diagonal matrix
265
+ (mapping will contain the nonzero mapping)
266
+ When the input is square, the diagonal elements are returned.
267
+ If the input is vector-like, a diagonal matrix is constructed with it.
268
+ */
269
+ Sparsity get_diag(std::vector<casadi_int>& SWIG_OUTPUT(mapping)) const;
270
+
271
+ /// Compress a sparsity pattern
272
+ std::vector<casadi_int> compress() const;
273
+
274
+ #ifndef SWIG
275
+ /// Access a member function or object
276
+ const SparsityInternal* operator->() const;
277
+
278
+ /// Reference to internal structure
279
+ const SparsityInternal& operator*() const;
280
+ #endif // SWIG
281
+ /// \name Check if two sparsity patterns are identical
282
+ /// @{
283
+ bool is_equal(const Sparsity& y) const;
284
+ bool is_equal(casadi_int nrow, casadi_int ncol, const std::vector<casadi_int>& colind,
285
+ const std::vector<casadi_int>& row) const;
286
+ #ifndef SWIG
287
+ bool is_equal(casadi_int nrow, casadi_int ncol,
288
+ const casadi_int* colind, const casadi_int* row) const;
289
+ #endif // SWIG
290
+
291
+ bool operator==(const Sparsity& y) const { return is_equal(y);}
292
+ /// @}
293
+
294
+ /// Check if two sparsity patterns are difference
295
+ bool operator!=(const Sparsity& y) const {return !is_equal(y);}
296
+
297
+ /// Check if pattern is horizontal repeat of another
298
+ bool is_stacked(const Sparsity& y, casadi_int n) const;
299
+
300
+ #ifndef SWIG
301
+ /** \brief Implicit or explicit type conversion to C representation
302
+
303
+ In the C runtime, sparsity patterns are represented as a "const casadi_int*".
304
+ This enables using the C runtime functions using a natural syntax.
305
+
306
+ \identifier{bn} */
307
+ operator const casadi_int*() const;
308
+
309
+ /** \brief Implicit or explicit type conversion to compact representation
310
+
311
+ \identifier{bo} */
312
+ operator const std::vector<casadi_int>&() const;
313
+
314
+ /** \brief Implicit or explicit type conversion to C representation
315
+
316
+ \identifier{bp} */
317
+ operator SparsityStruct() const;
318
+ #endif // SWIG
319
+
320
+ /// \name Size and element counting
321
+ /// @{
322
+
323
+ /// Get the number of rows
324
+ casadi_int size1() const;
325
+
326
+ /// Get the number of rows, Octave-style syntax
327
+ casadi_int rows() const {return size1();}
328
+
329
+ /// Get the number of columns
330
+ casadi_int size2() const;
331
+
332
+ /// Get the number of columns, Octave-style syntax
333
+ casadi_int columns() const {return size2();}
334
+
335
+ /** \brief The total number of elements, including structural zeros, i.e. size2()*size1()
336
+
337
+ * Beware of overflow
338
+ * \see nnz()
339
+
340
+ \identifier{bq} */
341
+ casadi_int numel() const;
342
+
343
+ /** \brief The percentage of nonzero
344
+
345
+ * Equivalent to (100.0 * nnz())/numel(), but avoids overflow
346
+
347
+ \identifier{br} */
348
+ double density() const;
349
+
350
+ /** \brief Check if the sparsity is empty
351
+ *
352
+ * A sparsity is considered empty if one of the dimensions is zero
353
+ * (or optionally both dimensions)
354
+
355
+ \identifier{bs} */
356
+ bool is_empty(bool both=false) const;
357
+
358
+ /** \brief Get the number of (structural) non-zeros
359
+
360
+ * \see numel()
361
+
362
+ \identifier{bt} */
363
+ casadi_int nnz() const;
364
+
365
+ /** \brief Number of non-zeros in the upper triangular half,
366
+
367
+ * i.e. the number of elements (i, j) with j>=i
368
+
369
+ \identifier{bu} */
370
+ casadi_int nnz_upper(bool strictly=false) const;
371
+
372
+ /** \brief Number of non-zeros in the lower triangular half,
373
+
374
+ * i.e. the number of elements (i, j) with j<=i
375
+
376
+ \identifier{bv} */
377
+ casadi_int nnz_lower(bool strictly=false) const;
378
+
379
+ /** \brief Number of non-zeros on the diagonal, i.e. the number of elements (i, j) with j==i
380
+
381
+ \identifier{bw} */
382
+ casadi_int nnz_diag() const;
383
+
384
+ /** \brief Upper half-bandwidth
385
+
386
+ \identifier{bx} */
387
+ casadi_int bw_upper() const;
388
+
389
+ /** \brief Lower half-bandwidth
390
+
391
+ \identifier{by} */
392
+ casadi_int bw_lower() const;
393
+
394
+ /** \brief Get the shape
395
+
396
+ \identifier{bz} */
397
+ std::pair<casadi_int, casadi_int> size() const;
398
+
399
+ /** \brief Get the size along a particular dimensions
400
+
401
+ \identifier{c0} */
402
+ casadi_int size(casadi_int axis) const;
403
+ /// @}
404
+
405
+ /** Obtain information about sparsity */
406
+ Dict info() const;
407
+
408
+ /** Export sparsity pattern to file
409
+ *
410
+ * Supported formats:
411
+ * - .mtx Matrix Market
412
+ */
413
+ void to_file(const std::string& filename, const std::string& format_hint="") const;
414
+
415
+ static Sparsity from_file(const std::string& filename, const std::string& format_hint="");
416
+
417
+ #ifndef SWIG
418
+ /** \brief Serialize
419
+
420
+ \identifier{c1} */
421
+ void serialize(std::ostream &stream) const;
422
+ #endif
423
+
424
+ /** \brief Serialize
425
+
426
+ \identifier{c2} */
427
+ std::string serialize() const;
428
+
429
+ /** \brief Build Sparsity from serialization
430
+
431
+ \identifier{c3} */
432
+ static Sparsity deserialize(std::istream& stream);
433
+
434
+ /** \brief Build Sparsity from serialization
435
+
436
+ \identifier{c4} */
437
+ static Sparsity deserialize(const std::string& s);
438
+
439
+ /** \brief Serialize an object
440
+
441
+ \identifier{c5} */
442
+ void serialize(SerializingStream& s) const;
443
+
444
+ /** \brief Deserialize
445
+
446
+ \identifier{c6} */
447
+ static Sparsity deserialize(DeserializingStream& s);
448
+
449
+ #ifndef SWIG
450
+ /** \brief Get a reference to row-vector,
451
+
452
+ * containing rows for all non-zero elements (see class description)
453
+
454
+ \identifier{c7} */
455
+ const casadi_int* row() const;
456
+
457
+ /** \brief Get a reference to the colindex of all column element (see class description)
458
+
459
+ \identifier{c8} */
460
+ const casadi_int* colind() const;
461
+ #endif
462
+
463
+ /** \brief Get the row for each non-zero entry
464
+
465
+ Together with the column-vector, this vector gives the sparsity of the matrix in
466
+ sparse triplet format, and together with the colind vector, one obtains the sparsity
467
+ in column compressed format.
468
+
469
+ \identifier{c9} */
470
+ std::vector<casadi_int> get_row() const;
471
+
472
+ /** \brief Get the column index for each column
473
+
474
+ Together with the row-vector, one obtains the sparsity pattern in the
475
+ column compressed format.
476
+
477
+ \identifier{ca} */
478
+ std::vector<casadi_int> get_colind() const;
479
+
480
+ /** \brief Get a reference to the colindex of column cc (see class description)
481
+
482
+ \identifier{cb} */
483
+ casadi_int colind(casadi_int cc) const;
484
+
485
+ /** \brief Get the row of a non-zero element
486
+
487
+ \identifier{cc} */
488
+ casadi_int row(casadi_int el) const;
489
+
490
+ /** \brief Get the column for each non-zero entry
491
+
492
+ Together with the row-vector, this vector gives the sparsity of the matrix in
493
+ sparse triplet format, i.e. the column and row for each non-zero elements
494
+
495
+ \identifier{cd} */
496
+ std::vector<casadi_int> get_col() const;
497
+
498
+ /// Resize
499
+ void resize(casadi_int nrow, casadi_int ncol);
500
+
501
+ /** \brief Get the index of a non-zero element
502
+
503
+ Add the element if it does not exist and copy object if it's not unique
504
+
505
+ \identifier{ce} */
506
+ casadi_int add_nz(casadi_int rr, casadi_int cc);
507
+
508
+ /** \brief Get the index of an existing non-zero element
509
+
510
+ return -1 if the element does not exist
511
+
512
+ \identifier{cf} */
513
+ casadi_int get_nz(casadi_int rr, casadi_int cc) const;
514
+
515
+ /// Returns true if the pattern has a non-zero at location rr, cc
516
+ bool has_nz(casadi_int rr, casadi_int cc) const;
517
+
518
+ /** \brief Get a set of non-zero element
519
+
520
+ return -1 if the element does not exist
521
+
522
+ \identifier{cg} */
523
+ std::vector<casadi_int> get_nz(const std::vector<casadi_int>& rr,
524
+ const std::vector<casadi_int>& cc) const;
525
+
526
+ /** \brief Get the nonzero index for a set of elements
527
+
528
+ The index vector is used both for input and outputs and must be sorted by increasing
529
+ nonzero index, i.e. column-wise.
530
+ Elements not found in the sparsity pattern are set to -1.
531
+
532
+ \identifier{ch} */
533
+ void get_nz(std::vector<casadi_int>& SWIG_INOUT(indices)) const;
534
+
535
+ /// Get nonzeros in lower triangular part
536
+ std::vector<casadi_int> get_lower() const;
537
+
538
+ /// Get nonzeros in upper triangular part
539
+ std::vector<casadi_int> get_upper() const;
540
+
541
+ /// Get the sparsity in compressed column storage (CCS) format
542
+ void get_ccs(std::vector<casadi_int>& SWIG_OUTPUT(colind),
543
+ std::vector<casadi_int>& SWIG_OUTPUT(row)) const;
544
+
545
+ /// Get the sparsity in compressed row storage (CRS) format
546
+ void get_crs(std::vector<casadi_int>& SWIG_OUTPUT(rowind),
547
+ std::vector<casadi_int>& SWIG_OUTPUT(col)) const;
548
+
549
+ /// Get the sparsity in sparse triplet format
550
+ void get_triplet(std::vector<casadi_int>& SWIG_OUTPUT(row),
551
+ std::vector<casadi_int>& SWIG_OUTPUT(col)) const;
552
+
553
+ /** \brief Get a submatrix
554
+ *
555
+ * Returns the sparsity of the submatrix, with a mapping such that
556
+ * submatrix[k] = originalmatrix[mapping[k]]
557
+
558
+ \identifier{ci} */
559
+ Sparsity sub(const std::vector<casadi_int>& rr,
560
+ const std::vector<casadi_int>& cc,
561
+ std::vector<casadi_int>& SWIG_OUTPUT(mapping), bool ind1=false) const;
562
+
563
+ /** \brief Get a set of elements
564
+ *
565
+ * Returns the sparsity of the corresponding elements, with a mapping such that
566
+ * submatrix[k] = originalmatrix[mapping[k]]
567
+
568
+ \identifier{cj} */
569
+ Sparsity sub(const std::vector<casadi_int>& rr, const Sparsity& sp,
570
+ std::vector<casadi_int>& SWIG_OUTPUT(mapping), bool ind1=false) const;
571
+
572
+ /// Transpose the matrix
573
+ Sparsity T() const;
574
+
575
+ /** \brief Transpose the matrix and get the reordering of the non-zero entries
576
+ *
577
+ * \param[out] mapping the non-zeros of the original matrix
578
+ * for each non-zero of the new matrix
579
+
580
+ \identifier{ck} */
581
+ Sparsity transpose(std::vector<casadi_int>& SWIG_OUTPUT(mapping),
582
+ bool invert_mapping=false) const;
583
+
584
+ /// Check if the sparsity is the transpose of another
585
+ bool is_transpose(const Sparsity& y) const;
586
+
587
+ /// Check if the sparsity is a reshape of another
588
+ bool is_reshape(const Sparsity& y) const;
589
+
590
+ /// @{
591
+ /** \brief Combine two sparsity patterns
592
+
593
+ Returns the new sparsity pattern as well as a mapping with the same length as
594
+ the number of non-zero elements
595
+ The mapping matrix contains the arguments for each nonzero, the first bit indicates
596
+ if the first argument is nonzero,
597
+ the second bit indicates if the second argument is nonzero (note that none of,
598
+ one of or both of the arguments can be nonzero)
599
+
600
+ \identifier{cl} */
601
+ #ifndef SWIG
602
+ Sparsity combine(const Sparsity& y, bool f0x_is_zero, bool function0_is_zero,
603
+ std::vector<unsigned char>& mapping) const;
604
+ #endif // SWIG
605
+ Sparsity combine(const Sparsity& y, bool f0x_is_zero, bool function0_is_zero) const;
606
+ /// @}
607
+
608
+ /// @{
609
+ /** \brief Union of two sparsity patterns
610
+
611
+ \identifier{cm} */
612
+ #ifndef SWIG
613
+ Sparsity unite(const Sparsity& y, std::vector<unsigned char>& mapping) const;
614
+ #endif // SWIG
615
+ Sparsity unite(const Sparsity& y) const;
616
+ Sparsity operator+(const Sparsity& b) const;
617
+ /// @}
618
+
619
+ /// @{
620
+ /** \brief Intersection of two sparsity patterns
621
+
622
+ Returns the new sparsity pattern as well as a mapping with the same length as the
623
+ number of non-zero elements
624
+ The value is 1 if the non-zero comes from the first (i.e. this) object, 2 if it is from
625
+ the second and 3 (i.e. 1 | 2) if from both
626
+
627
+ \identifier{cn} */
628
+ #ifndef SWIG
629
+ Sparsity intersect(const Sparsity& y,
630
+ std::vector<unsigned char>& mapping) const;
631
+ #endif // SWIG
632
+ Sparsity intersect(const Sparsity& y) const;
633
+ Sparsity operator*(const Sparsity& b) const;
634
+ /// @}
635
+
636
+ /// Is subset?
637
+ bool is_subset(const Sparsity& rhs) const;
638
+
639
+ /** \brief Propagates subset according to sparsity cast
640
+ *
641
+ * Assumption: 'this' is a subset of X.
642
+ *
643
+ * Example:
644
+ *
645
+ * X = [ * . . .; . * . .; . . * .; . . . *]
646
+ * Y = [* *; . . ; * *]
647
+ * x = [ * . . .; . . . .; . . * .; . . . *]
648
+ * returns [* *; . . ; . *]
649
+ *
650
+
651
+ \identifier{246} */
652
+ Sparsity sparsity_cast_mod(const Sparsity& X, const Sparsity& Y) const;
653
+
654
+ /// Take the inverse of a sparsity pattern; flip zeros and non-zeros
655
+ Sparsity pattern_inverse() const;
656
+
657
+ #ifndef SWIG
658
+ /** \brief Propagate sparsity using 0-1 logic through a matrix product,
659
+
660
+ * no memory allocation: <tt>z = mul(x, y)</tt> with work vector
661
+ * Forward mode.
662
+
663
+ \identifier{co} */
664
+ static void mul_sparsityF(const bvec_t* x, const Sparsity& x_sp,
665
+ const bvec_t* y, const Sparsity& y_sp,
666
+ bvec_t* z, const Sparsity& z_sp,
667
+ bvec_t* w);
668
+
669
+ /** \brief Propagate sparsity using 0-1 logic through a matrix product,
670
+
671
+ * no memory allocation: <tt>z = mul(x, y)</tt> with work vector
672
+ * Reverse mode.
673
+
674
+ \identifier{cp} */
675
+ static void mul_sparsityR(bvec_t* x, const Sparsity& x_sp,
676
+ bvec_t* y, const Sparsity& y_sp,
677
+ bvec_t* z, const Sparsity& z_sp,
678
+ bvec_t* w);
679
+
680
+ /// \cond INTERNAL
681
+ /// @{
682
+ /** \brief Accessed by SparsityInterface
683
+
684
+ \identifier{cq} */
685
+ static Sparsity horzcat(const std::vector<Sparsity> & sp);
686
+ static Sparsity vertcat(const std::vector<Sparsity> & sp);
687
+ static Sparsity blockcat(const std::vector< std::vector< Sparsity > > &v);
688
+ static Sparsity diagcat(const std::vector< Sparsity > &v);
689
+ static std::vector<Sparsity>
690
+ horzsplit(const Sparsity& x, const std::vector<casadi_int>& offset);
691
+ static std::vector<Sparsity>
692
+ vertsplit(const Sparsity& x, const std::vector<casadi_int>& offset);
693
+ static std::vector<Sparsity>
694
+ diagsplit(const Sparsity& x,
695
+ const std::vector<casadi_int>& offset1,
696
+ const std::vector<casadi_int>& offset2);
697
+ static Sparsity mtimes(const Sparsity& x, const Sparsity& y);
698
+ static Sparsity mac(const Sparsity& x, const Sparsity& y, const Sparsity& z) { return z;}
699
+ static Sparsity reshape(const Sparsity& x, casadi_int nrow, casadi_int ncol);
700
+ static Sparsity reshape(const Sparsity& x, const Sparsity& sp);
701
+ static Sparsity sparsity_cast(const Sparsity& x, const Sparsity& sp);
702
+ static casadi_int sprank(const Sparsity& x);
703
+ static casadi_int norm_0_mul(const Sparsity& x, const Sparsity& A);
704
+ static Sparsity kron(const Sparsity& a, const Sparsity& b);
705
+ static Sparsity triu(const Sparsity& x, bool includeDiagonal=true);
706
+ static Sparsity tril(const Sparsity& x, bool includeDiagonal=true);
707
+
708
+ static Sparsity sum2(const Sparsity &x);
709
+ static Sparsity sum1(const Sparsity &x);
710
+ #endif //SWIG
711
+
712
+ /** \brief Enlarge matrix
713
+
714
+ Make the matrix larger by inserting empty rows and columns, keeping the existing non-zeros
715
+
716
+ For the matrices A to B
717
+ A(m, n)
718
+ length(jj)=m , length(ii)=n
719
+ B(nrow, ncol)
720
+
721
+ A=enlarge(m, n, ii, jj) makes sure that
722
+
723
+ B[jj, ii] == A
724
+
725
+ \identifier{cr} */
726
+ void enlarge(casadi_int nrow, casadi_int ncol,
727
+ const std::vector<casadi_int>& rr,
728
+ const std::vector<casadi_int>& cc, bool ind1=false);
729
+
730
+ /** \brief Enlarge the matrix along the first dimension (i.e. insert rows)
731
+
732
+ \identifier{cs} */
733
+ void enlargeRows(casadi_int nrow, const std::vector<casadi_int>& rr, bool ind1=false);
734
+
735
+ /** \brief Enlarge the matrix along the second dimension (i.e. insert columns)
736
+
737
+ \identifier{ct} */
738
+ void enlargeColumns(casadi_int ncol, const std::vector<casadi_int>& cc, bool ind1=false);
739
+
740
+ /** \brief Make a patten dense
741
+
742
+ \identifier{cu} */
743
+ Sparsity makeDense(std::vector<casadi_int>& SWIG_OUTPUT(mapping)) const;
744
+
745
+ /** \brief Erase rows and/or columns of a matrix
746
+
747
+ \identifier{cv} */
748
+ std::vector<casadi_int> erase(const std::vector<casadi_int>& rr,
749
+ const std::vector<casadi_int>& cc, bool ind1=false);
750
+
751
+ /** \brief Erase elements of a matrix
752
+
753
+ \identifier{cw} */
754
+ std::vector<casadi_int> erase(const std::vector<casadi_int>& rr, bool ind1=false);
755
+
756
+ /// Append another sparsity patten vertically (NOTE: only efficient if vector)
757
+ void append(const Sparsity& sp);
758
+
759
+ /// Append another sparsity patten horizontally
760
+ void appendColumns(const Sparsity& sp);
761
+
762
+ /// Is scalar?
763
+ bool is_scalar(bool scalar_and_dense=false) const;
764
+
765
+ /// Is dense?
766
+ bool is_dense() const;
767
+
768
+ /** \brief Check if the pattern is a row vector (i.e. size1()==1)
769
+
770
+ \identifier{cx} */
771
+ bool is_row() const;
772
+
773
+ /** \brief Check if the pattern is a column vector (i.e. size2()==1)
774
+
775
+ \identifier{cy} */
776
+ bool is_column() const;
777
+
778
+ /** \brief Check if the pattern is a row or column vector
779
+
780
+ \identifier{cz} */
781
+ bool is_vector() const;
782
+
783
+ /** \brief Is diagonal?
784
+
785
+ \identifier{247} */
786
+ bool is_diag() const;
787
+
788
+ /** \brief Is square?
789
+
790
+ \identifier{248} */
791
+ bool is_square() const;
792
+
793
+ /** \brief Is symmetric?
794
+
795
+ \identifier{249} */
796
+ bool is_symmetric() const;
797
+
798
+ /** \brief Is upper triangular?
799
+
800
+ \identifier{24a} */
801
+ bool is_triu(bool strictly = false) const;
802
+
803
+ /** \brief Is lower triangular?
804
+
805
+ \identifier{24b} */
806
+ bool is_tril(bool strictly = false) const;
807
+
808
+ /** \brief Check whether the sparsity-pattern indicates structural singularity
809
+
810
+ \identifier{24c} */
811
+ bool is_singular() const;
812
+
813
+ /** \brief Is this a permutation matrix?
814
+ *
815
+ * A Matrix P is permutation matrix if right multiplication with a dense vector v leads to
816
+ * a vector with the same elements, but permuted.
817
+ *
818
+ * Implies square
819
+ *
820
+ * Equivalent to is_orthonormal(false)
821
+
822
+ \identifier{24d} */
823
+ bool is_permutation() const;
824
+
825
+ /** \brief Is this a selection matrix?
826
+ *
827
+ * A Matrix S is selection matrix if right multiplication with a dense vector leads to
828
+ * a vector with a subset of the elements of the original vector
829
+ *
830
+ * \param[in] allow_empty Allow the resultant vector to have structural zeros
831
+ *
832
+ * Equivalent to is_orthonormal_rows(allow_empty)
833
+
834
+ \identifier{24e} */
835
+ bool is_selection(bool allow_empty=false) const;
836
+
837
+ /** \brief Are both rows and columns orthonormal ?
838
+ *
839
+ * \param[in] allow_empty Disregard empty rows and columns in the analysis
840
+
841
+ \identifier{24f} */
842
+ bool is_orthonormal(bool allow_empty=false) const;
843
+
844
+ /** \brief Are the rows of the pattern orthonormal ?
845
+ *
846
+ * \param[in] allow_empty Disregard empty rows in the analysis
847
+
848
+ \identifier{24g} */
849
+ bool is_orthonormal_rows(bool allow_empty=false) const;
850
+
851
+ /** \brief Are the columns of the pattern orthonormal ?
852
+ *
853
+ * \param[in] allow_empty Disregard empty columns in the analysis
854
+
855
+ \identifier{24h} */
856
+ bool is_orthonormal_columns(bool allow_empty=false) const;
857
+
858
+ /** \brief Do the rows appear sequentially on each column
859
+ *
860
+ * \param[in] strictly if true, then do not allow multiple entries
861
+
862
+ \identifier{d0} */
863
+ bool rowsSequential(bool strictly=true) const;
864
+
865
+ /** \brief Remove duplicate entries
866
+ *
867
+ * The same indices will be removed from the \a mapping vector,
868
+ * which must have the same length as the number of nonzeros
869
+
870
+ \identifier{d1} */
871
+ void removeDuplicates(std::vector<casadi_int>& SWIG_INOUT(mapping));
872
+
873
+ #ifndef SWIG
874
+ typedef std::unordered_multimap<std::size_t, WeakRef> CachingMap;
875
+
876
+ /// Cached sparsity patterns
877
+ static CachingMap& getCache();
878
+
879
+ /// (Dense) scalar
880
+ static const Sparsity& getScalar();
881
+
882
+ /// (Sparse) scalar
883
+ static const Sparsity& getScalarSparse();
884
+
885
+ /// Empty zero-by-zero
886
+ static const Sparsity& getEmpty();
887
+
888
+ #endif //SWIG
889
+
890
+ /** \brief Calculate the elimination tree
891
+
892
+ See Direct Methods for Sparse Linear Systems by Davis (2006).
893
+ If the parameter ata is false, the algorithm is equivalent to MATLAB's etree(A), except that
894
+ the indices are zero-based. If ata is true, the algorithm is equivalent to MATLAB's
895
+ etree(A, 'col').
896
+
897
+ The implementation is a modified version of cs_etree in CSparse
898
+ Copyright(c) Timothy A. Davis, 2006-2009
899
+ Licensed as a derivative work under the GNU LGPL
900
+
901
+ \identifier{d2} */
902
+ std::vector<casadi_int> etree(bool ata=false) const;
903
+
904
+ /** \brief Symbolic LDL factorization
905
+
906
+ Returns the sparsity pattern of L^T
907
+
908
+ The implementation is a modified version of LDL
909
+ Copyright(c) Timothy A. Davis, 2005-2013
910
+ Licensed as a derivative work under the GNU LGPL
911
+
912
+ \identifier{d3} */
913
+ Sparsity ldl(std::vector<casadi_int>& SWIG_OUTPUT(p), bool amd=true) const;
914
+
915
+ /** \brief Symbolic QR factorization
916
+
917
+ Returns the sparsity pattern of V (compact representation of Q) and R
918
+ as well as vectors needed for the numerical factorization and solution.
919
+ The implementation is a modified version of CSparse
920
+ Copyright(c) Timothy A. Davis, 2006-2009
921
+ Licensed as a derivative work under the GNU LGPL
922
+
923
+ \identifier{d4} */
924
+ void qr_sparse(Sparsity& SWIG_OUTPUT(V), Sparsity& SWIG_OUTPUT(R),
925
+ std::vector<casadi_int>& SWIG_OUTPUT(prinv),
926
+ std::vector<casadi_int>& SWIG_OUTPUT(pc), bool amd=true) const;
927
+
928
+ /** \brief Depth-first search on the adjacency graph of the sparsity
929
+
930
+ See Direct Methods for Sparse Linear Systems by Davis (2006).
931
+
932
+ \identifier{d5} */
933
+ casadi_int dfs(casadi_int j, casadi_int top, std::vector<casadi_int>& SWIG_INOUT(xi),
934
+ std::vector<casadi_int>& SWIG_INOUT(pstack),
935
+ const std::vector<casadi_int>& pinv, std::vector<bool>& SWIG_INOUT(marked)) const;
936
+
937
+ /** \brief Find the strongly connected components of the bigraph defined by the sparsity pattern
938
+
939
+ of a square matrix
940
+
941
+ See Direct Methods for Sparse Linear Systems by Davis (2006).
942
+ Returns:
943
+ - Number of components
944
+ - Offset for each components (length: 1 + number of components)
945
+ - Indices for each components, component i has indices
946
+ index[offset[i]], ..., index[offset[i+1]]
947
+
948
+ In the case that the matrix is symmetric, the result has a particular interpretation:
949
+ Given a symmetric matrix A and
950
+ n = A.scc(p, r)
951
+
952
+ => A[p, p] will appear block-diagonal with n blocks and
953
+ with the indices of the block boundaries to be found in r.
954
+
955
+ The implementation is a modified version of cs_scc in CSparse
956
+ Copyright(c) Timothy A. Davis, 2006-2009
957
+ Licensed as a derivative work under the GNU LGPL
958
+
959
+ \identifier{d6} */
960
+ casadi_int scc(std::vector<casadi_int>& SWIG_OUTPUT(index),
961
+ std::vector<casadi_int>& SWIG_OUTPUT(offset)) const;
962
+
963
+ /** \brief Calculate the block triangular form (BTF)
964
+
965
+ See Direct Methods for Sparse Linear Systems by Davis (2006).
966
+
967
+ The function computes the Dulmage-Mendelsohn decomposition, which allows you to reorder
968
+ the rows and columns of a matrix to bring it into block triangular form (BTF).
969
+
970
+ It will not consider the distance of off-diagonal elements to the diagonal:
971
+ there is no guarantee you will get a block-diagonal matrix if you supply a randomly
972
+ permuted block-diagonal matrix.
973
+
974
+ If your matrix is symmetrical, this method is of limited use; permutation can make it
975
+ non-symmetric.
976
+
977
+ \sa scc
978
+
979
+ The implementation is a modified version of cs_dmperm in CSparse
980
+ Copyright(c) Timothy A. Davis, 2006-2009
981
+ Licensed as a derivative work under the GNU LGPL
982
+
983
+ \identifier{d7} */
984
+ casadi_int btf(std::vector<casadi_int>& SWIG_OUTPUT(rowperm),
985
+ std::vector<casadi_int>& SWIG_OUTPUT(colperm),
986
+ std::vector<casadi_int>& SWIG_OUTPUT(rowblock),
987
+ std::vector<casadi_int>& SWIG_OUTPUT(colblock),
988
+ std::vector<casadi_int>& SWIG_OUTPUT(coarse_rowblock),
989
+ std::vector<casadi_int>& SWIG_OUTPUT(coarse_colblock)) const;
990
+
991
+ /** \brief Approximate minimal degree preordering
992
+
993
+ Fill-reducing ordering applied to the sparsity pattern of a linear system
994
+ prior to factorization.
995
+ The system must be symmetric, for an unsymmetric matrix A, first form the square
996
+ of the pattern, A'*A.
997
+
998
+ The implementation is a modified version of cs_amd in CSparse
999
+ Copyright(c) Timothy A. Davis, 2006-2009
1000
+ Licensed as a derivative work under the GNU LGPL
1001
+
1002
+ \identifier{d8} */
1003
+ std::vector<casadi_int> amd() const;
1004
+
1005
+ #ifndef SWIG
1006
+ /** \brief Propagate sparsity through a linear solve
1007
+
1008
+ \identifier{d9} */
1009
+ void spsolve(bvec_t* X, bvec_t* B, bool tr) const;
1010
+ #endif // SWIG
1011
+
1012
+ /** \brief Get the location of all non-zero elements as they would appear in a Dense matrix
1013
+
1014
+ A : DenseMatrix 4 x 3
1015
+ B : SparseMatrix 4 x 3 , 5 structural non-zeros
1016
+
1017
+ k = A.find()
1018
+ A[k] will contain the elements of A that are non-zero in B
1019
+
1020
+ Inverse of `nonzeros`.
1021
+
1022
+ \identifier{da} */
1023
+ std::vector<casadi_int> find(bool ind1=SWIG_IND1) const;
1024
+
1025
+ #ifndef SWIG
1026
+ /// Get the location of all nonzero elements (inplace version)
1027
+ void find(std::vector<casadi_int>& loc, bool ind1=false) const;
1028
+ #endif // SWIG
1029
+
1030
+ /** \brief Perform a unidirectional coloring: A greedy distance-2 coloring algorithm
1031
+
1032
+ (Algorithm 3.1 in A. H. GEBREMEDHIN, F. MANNE, A. POTHEN)
1033
+
1034
+ \identifier{db} */
1035
+ Sparsity uni_coloring(const Sparsity& AT=Sparsity(),
1036
+ casadi_int cutoff = std::numeric_limits<casadi_int>::max()) const;
1037
+
1038
+ /** \brief Perform a star coloring of a symmetric matrix:
1039
+
1040
+ A greedy distance-2 coloring algorithm
1041
+ Algorithm 4.1 in
1042
+ What Color Is Your Jacobian? Graph Coloring for Computing Derivatives
1043
+ A. H. GEBREMEDHIN, F. MANNE, A. POTHEN
1044
+ SIAM Rev., 47(4), 629–705 (2006)
1045
+
1046
+ Ordering options: None (0), largest first (1)
1047
+
1048
+ \identifier{dc} */
1049
+ Sparsity star_coloring(casadi_int ordering = 1,
1050
+ casadi_int cutoff = std::numeric_limits<casadi_int>::max()) const;
1051
+
1052
+ /** \brief Perform a star coloring of a symmetric matrix:
1053
+
1054
+ A new greedy distance-2 coloring algorithm
1055
+ Algorithm 4.1 in
1056
+ NEW ACYCLIC AND STAR COLORING ALGORITHMS WITH APPLICATION TO COMPUTING HESSIANS
1057
+ A. H. GEBREMEDHIN, A. TARAFDAR, F. MANNE, A. POTHEN
1058
+ SIAM J. SCI. COMPUT. Vol. 29, No. 3, pp. 1042–1072 (2007)
1059
+
1060
+ Ordering options: None (0), largest first (1)
1061
+
1062
+ \identifier{dd} */
1063
+ Sparsity star_coloring2(casadi_int ordering = 1,
1064
+ casadi_int cutoff = std::numeric_limits<casadi_int>::max()) const;
1065
+
1066
+ /** \brief Order the columns by decreasing degree
1067
+
1068
+ \identifier{de} */
1069
+ std::vector<casadi_int> largest_first() const;
1070
+
1071
+ /** \brief Permute rows and/or columns
1072
+
1073
+ Multiply the sparsity with a permutation matrix from the left and/or from the right
1074
+ P * A * trans(P), A * trans(P) or A * trans(P) with P defined by an index vector
1075
+ containing the row for each col. As an alternative, P can be transposed (inverted).
1076
+
1077
+ \identifier{df} */
1078
+ Sparsity pmult(const std::vector<casadi_int>& p,
1079
+ bool permute_rows=true, bool permute_columns=true,
1080
+ bool invert_permutation=false) const;
1081
+
1082
+ /// Get the dimension as a string
1083
+ std::string dim(bool with_nz=false) const;
1084
+
1085
+ /** \brief Dimension string as a postfix to a name
1086
+
1087
+ Rules:
1088
+ 1. Dense and scalar: ""
1089
+ 2. 0-by-0: "[]"
1090
+ 3. Dense column vector: "[5]"
1091
+ 4. Dense matrix: "[5x10]"
1092
+ 5. Otherwise: "[5x10,3nz]"
1093
+
1094
+ \identifier{dg} */
1095
+ std::string postfix_dim() const;
1096
+
1097
+ /// Describe the nonzero location k as a string
1098
+ std::string repr_el(casadi_int k) const;
1099
+
1100
+ /** \brief Print a textual representation of sparsity
1101
+
1102
+ \identifier{dh} */
1103
+ void spy(std::ostream &stream=casadi::uout()) const;
1104
+
1105
+ /** \brief Generate a script for Matlab or Octave which visualizes
1106
+
1107
+ * the sparsity using the spy command
1108
+
1109
+ \identifier{di} */
1110
+ void spy_matlab(const std::string& mfile) const;
1111
+
1112
+ /** \brief Export matrix in specific language
1113
+ *
1114
+ * lang: only 'matlab' supported for now
1115
+ * \verbatim
1116
+ * options:
1117
+ * inline: Indicates if you want everything on a single line (default: False)
1118
+ * name: Name of exported variable (default: 'sp')
1119
+ * as_matrix: Matlab does not have a sparsity object. (default: false)
1120
+ * With this option true, a numeric matrix will be constructed
1121
+ * \endverbatim
1122
+
1123
+ \identifier{dj} */
1124
+ void export_code(const std::string& lang, std::ostream &stream=casadi::uout(),
1125
+ const Dict& options=Dict()) const;
1126
+
1127
+ /// Readable name of the public class
1128
+ static std::string type_name() {return "Sparsity";}
1129
+
1130
+ // Hash the sparsity pattern
1131
+ std::size_t hash() const;
1132
+
1133
+ /// Check if a particular cast is allowed
1134
+ static bool test_cast(const SharedObjectInternal* ptr);
1135
+
1136
+ /** \brief Get KKT system sparsity
1137
+
1138
+ * [H + I1, J'; J, I2] where I1 and I2 are optional
1139
+
1140
+ \identifier{dk} */
1141
+ static Sparsity kkt(const Sparsity& H, const Sparsity& J,
1142
+ bool with_x_diag=true, bool with_lam_g_diag=true);
1143
+
1144
+ #ifndef SWIG
1145
+ /** \brief Assign the nonzero entries of one sparsity pattern to the nonzero
1146
+
1147
+ * entries of another sparsity pattern
1148
+
1149
+ \identifier{dl} */
1150
+ template<typename T>
1151
+ void set(T* data, const T* val_data, const Sparsity& val_sp) const;
1152
+
1153
+ /** \brief Add the nonzero entries of one sparsity pattern to the nonzero entries
1154
+
1155
+ * of another sparsity pattern
1156
+
1157
+ \identifier{dm} */
1158
+ template<typename T>
1159
+ void add(T* data, const T* val_data, const Sparsity& val_sp) const;
1160
+
1161
+ /** \brief Bitwise or of the nonzero entries of one sparsity pattern and the nonzero
1162
+
1163
+ * entries of another sparsity pattern
1164
+
1165
+ \identifier{dn} */
1166
+ template<typename T>
1167
+ void bor(T* data, const T* val_data, const Sparsity& val_sp) const;
1168
+
1169
+ static std::string file_format(const std::string& filename,
1170
+ const std::string& format_hint, const std::set<std::string>& file_formats);
1171
+ static std::set<std::string> file_formats;
1172
+ private:
1173
+
1174
+ /// Construct a sparsity pattern from vectors, reuse cached pattern if possible
1175
+ void assign_cached(casadi_int nrow, casadi_int ncol, const std::vector<casadi_int>& colind,
1176
+ const std::vector<casadi_int>& row, bool order_rows=false);
1177
+
1178
+ /// Construct a sparsity pattern from vectors, reuse cached pattern if possible
1179
+ void assign_cached(casadi_int nrow, casadi_int ncol,
1180
+ const casadi_int* colind, const casadi_int* row, bool order_rows=false);
1181
+
1182
+ #endif //SWIG
1183
+ };
1184
+
1185
+ /** \brief Hash value of an integer
1186
+
1187
+ \identifier{do} */
1188
+ template<typename T>
1189
+ inline size_t hash_value(T v) { return size_t(v);}
1190
+
1191
+ /** \brief Generate a hash value incrementally (function taken from boost)
1192
+
1193
+ \identifier{dp} */
1194
+ template<typename T>
1195
+ inline void hash_combine(std::size_t& seed, T v) {
1196
+ seed ^= hash_value(v) + 0x9e3779b9 + (seed << 6) + (seed >> 2);
1197
+ }
1198
+
1199
+ /** \brief Generate a hash value incrementally, array
1200
+
1201
+ \identifier{dq} */
1202
+ template<typename T>
1203
+ inline void hash_combine(std::size_t& seed, const T* v, std::size_t sz) {
1204
+ for (casadi_int i=0; i<sz; ++i) hash_combine(seed, v[i]);
1205
+ }
1206
+
1207
+ /** \brief Generate a hash value incrementally (function taken from boost)
1208
+
1209
+ \identifier{dr} */
1210
+ template<typename T>
1211
+ inline void hash_combine(std::size_t& seed, const std::vector<T>& v) {
1212
+ hash_combine(seed, get_ptr(v), v.size());
1213
+ }
1214
+
1215
+ template<>
1216
+ inline size_t hash_value(std::string v) {
1217
+ size_t seed = 0;
1218
+ hash_combine(seed, v.c_str(), v.size());
1219
+ return seed;
1220
+ }
1221
+
1222
+ /** \brief Hash a sparsity pattern
1223
+
1224
+ \identifier{ds} */
1225
+ CASADI_EXPORT std::size_t hash_sparsity(casadi_int nrow, casadi_int ncol,
1226
+ const std::vector<casadi_int>& colind,
1227
+ const std::vector<casadi_int>& row);
1228
+
1229
+ CASADI_EXPORT std::size_t hash_sparsity(casadi_int nrow, casadi_int ncol,
1230
+ const casadi_int* colind,
1231
+ const casadi_int* row);
1232
+
1233
+ #ifndef SWIG
1234
+ // Template instantiations
1235
+ template<typename DataType>
1236
+ void Sparsity::set(DataType* data, const DataType* val_data, const Sparsity& val_sp) const {
1237
+ // Get dimensions of this
1238
+ const casadi_int sz = nnz();
1239
+ const casadi_int sz1 = size1();
1240
+ const casadi_int sz2 = size2();
1241
+
1242
+ // Get dimensions of assigning matrix
1243
+ const casadi_int val_sz = val_sp.nnz();
1244
+ const casadi_int val_sz1 = val_sp.size1();
1245
+ const casadi_int val_sz2 = val_sp.size2();
1246
+ const casadi_int val_nel = val_sz1*val_sz2;
1247
+
1248
+ // Check if sparsity matches
1249
+ if (val_sp==*this) {
1250
+ std::copy(val_data, val_data+sz, data);
1251
+ } else if (this->is_empty()) {
1252
+ // Quick return
1253
+ return;
1254
+ } else if (val_sp.is_empty()) {
1255
+ // Quick return
1256
+ return;
1257
+ } else if (val_nel==1) { // if scalar
1258
+ std::fill(data, data+sz, val_sz==0 ? DataType(0) : val_data[0]);
1259
+ } else if (sz2==val_sz2 && sz1==val_sz1) {
1260
+ // Matching dimensions
1261
+ // Sparsity
1262
+ const casadi_int* c = row();
1263
+ const casadi_int* rind = colind();
1264
+ const casadi_int* v_c = val_sp.row();
1265
+ const casadi_int* v_rind = val_sp.colind();
1266
+
1267
+ // For all columns
1268
+ for (casadi_int i=0; i<sz2; ++i) {
1269
+
1270
+ // Nonzero of the assigning matrix
1271
+ casadi_int v_el = v_rind[i];
1272
+
1273
+ // First nonzero of the following column
1274
+ casadi_int v_el_end = v_rind[i+1];
1275
+
1276
+ // Next row of the assigning matrix
1277
+ casadi_int v_j = v_el<v_el_end ? v_c[v_el] : sz1;
1278
+
1279
+ // Assign all nonzeros
1280
+ for (casadi_int el=rind[i]; el!=rind[i+1]; ++el) {
1281
+
1282
+ // Get row
1283
+ casadi_int j=c[el];
1284
+
1285
+ // Forward the assigning nonzero
1286
+ while (v_j<j) {
1287
+ v_el++;
1288
+ v_j = v_el<v_el_end ? v_c[v_el] : sz1;
1289
+ }
1290
+
1291
+ // Assign nonzero
1292
+ if (v_j==j) {
1293
+ data[el] = val_data[v_el++];
1294
+ v_j = v_el<v_el_end ? v_c[v_el] : sz1;
1295
+ } else {
1296
+ data[el] = 0;
1297
+ }
1298
+ }
1299
+ }
1300
+ } else if (sz1==val_sz2 && sz2==val_sz1 && sz2 == 1) {
1301
+ // Assign transposed (this is column)
1302
+ const casadi_int* v_cind = val_sp.colind();
1303
+ const casadi_int* r = row();
1304
+ for (casadi_int el=0; el<sz; ++el) {
1305
+ casadi_int rr=r[el];
1306
+ data[el] = v_cind[rr]==v_cind[rr+1] ? 0 : val_data[v_cind[rr]];
1307
+ }
1308
+ } else if (sz1==val_sz2 && sz2==val_sz1 && sz1 == 1) {
1309
+ // Assign transposed (this is row)
1310
+ for (casadi_int el=0; el<sz; ++el) data[el] = 0;
1311
+ const casadi_int* cind = colind();
1312
+ const casadi_int* v_r = val_sp.row();
1313
+ for (casadi_int el=0; el<val_sz; ++el) {
1314
+ casadi_int rr=v_r[el];
1315
+ if (cind[rr]!=cind[rr+1]) {
1316
+ data[cind[rr]] = val_data[el];
1317
+ }
1318
+ }
1319
+ } else {
1320
+ // Make sure that dimension matches
1321
+ casadi_error("Sparsity::set<DataType>: shape mismatch. lhs is "
1322
+ + dim() + ", while rhs is " + val_sp.dim() + ".");
1323
+ }
1324
+ }
1325
+
1326
+ template<typename DataType>
1327
+ void Sparsity::add(DataType* data, const DataType* val_data, const Sparsity& val_sp) const {
1328
+ // Get dimensions of this
1329
+ const casadi_int sz = nnz();
1330
+ const casadi_int sz1 = size1();
1331
+ const casadi_int sz2 = size2();
1332
+ const casadi_int nel = sz1*sz2;
1333
+
1334
+ // Get dimensions of assigning matrix
1335
+ const casadi_int val_sz = val_sp.nnz();
1336
+ const casadi_int val_sz1 = val_sp.size1();
1337
+ const casadi_int val_sz2 = val_sp.size2();
1338
+ const casadi_int val_nel = val_sz1*val_sz2;
1339
+
1340
+ // Check if sparsity matches
1341
+ if (val_sp==*this) {
1342
+ for (casadi_int k=0; k<sz; ++k) {
1343
+ data[k] += val_data[k];
1344
+ }
1345
+ } else if (this->is_empty()) {
1346
+ // Quick return
1347
+ return;
1348
+ } else if (val_sp.is_empty()) {
1349
+ // Quick return
1350
+ return;
1351
+ } else if (val_nel==1) { // if scalar
1352
+ if (val_sz!=0) {
1353
+ for (casadi_int k=0; k<sz; ++k) {
1354
+ data[k] += val_data[0];
1355
+ }
1356
+ }
1357
+ } else {
1358
+ // Quick return if empty
1359
+ if (nel==0 && val_nel==0) return;
1360
+
1361
+ // Make sure that dimension matches
1362
+ casadi_assert(sz2==val_sz2 && sz1==val_sz1,
1363
+ "Sparsity::add<DataType>: shape mismatch. lhs is "
1364
+ + dim() + ", while rhs is " + val_sp.dim() + ".");
1365
+
1366
+ // Sparsity
1367
+ const casadi_int* c = row();
1368
+ const casadi_int* rind = colind();
1369
+ const casadi_int* v_c = val_sp.row();
1370
+ const casadi_int* v_rind = val_sp.colind();
1371
+
1372
+ // For all columns
1373
+ for (casadi_int i=0; i<sz2; ++i) {
1374
+
1375
+ // Nonzero of the assigning matrix
1376
+ casadi_int v_el = v_rind[i];
1377
+
1378
+ // First nonzero of the following column
1379
+ casadi_int v_el_end = v_rind[i+1];
1380
+
1381
+ // Next row of the assigning matrix
1382
+ casadi_int v_j = v_el<v_el_end ? v_c[v_el] : sz1;
1383
+
1384
+ // Assign all nonzeros
1385
+ for (casadi_int el=rind[i]; el!=rind[i+1]; ++el) {
1386
+
1387
+ // Get row
1388
+ casadi_int j=c[el];
1389
+
1390
+ // Forward the assigning nonzero
1391
+ while (v_j<j) {
1392
+ v_el++;
1393
+ v_j = v_el<v_el_end ? v_c[v_el] : sz1;
1394
+ }
1395
+
1396
+ // Assign nonzero
1397
+ if (v_j==j) {
1398
+ data[el] += val_data[v_el++];
1399
+ v_j = v_el<v_el_end ? v_c[v_el] : sz1;
1400
+ }
1401
+ }
1402
+ }
1403
+ }
1404
+ }
1405
+
1406
+ template<typename DataType>
1407
+ void Sparsity::bor(DataType* data, const DataType* val_data, const Sparsity& val_sp) const {
1408
+ // Get dimensions of this
1409
+ const casadi_int sz = nnz();
1410
+ const casadi_int sz1 = size1();
1411
+ const casadi_int sz2 = size2();
1412
+ const casadi_int nel = sz1*sz2;
1413
+
1414
+ // Get dimensions of assigning matrix
1415
+ const casadi_int val_sz = val_sp.nnz();
1416
+ const casadi_int val_sz1 = val_sp.size1();
1417
+ const casadi_int val_sz2 = val_sp.size2();
1418
+ const casadi_int val_nel = val_sz1*val_sz2;
1419
+
1420
+ // Check if sparsity matches
1421
+ if (val_sp==*this) {
1422
+ for (casadi_int k=0; k<sz; ++k) {
1423
+ data[k] |= val_data[k];
1424
+ }
1425
+ } else if (this->is_empty()) {
1426
+ // Quick return
1427
+ return;
1428
+ } else if (val_sp.is_empty()) {
1429
+ // Quick return
1430
+ return;
1431
+ } else if (val_nel==1) { // if scalar
1432
+ if (val_sz!=0) {
1433
+ for (casadi_int k=0; k<sz; ++k) {
1434
+ data[k] |= val_data[0];
1435
+ }
1436
+ }
1437
+ } else {
1438
+ // Quick return if empty
1439
+ if (nel==0 && val_nel==0) return;
1440
+
1441
+ // Make sure that dimension matches
1442
+ casadi_assert(sz2==val_sz2 && sz1==val_sz1,
1443
+ "Sparsity::add<DataType>: shape mismatch. lhs is "
1444
+ + dim() + ", while rhs is " + val_sp.dim() + ".");
1445
+
1446
+ // Sparsity
1447
+ const casadi_int* c = row();
1448
+ const casadi_int* rind = colind();
1449
+ const casadi_int* v_c = val_sp.row();
1450
+ const casadi_int* v_rind = val_sp.colind();
1451
+
1452
+ // For all columns
1453
+ for (casadi_int i=0; i<sz2; ++i) {
1454
+
1455
+ // Nonzero of the assigning matrix
1456
+ casadi_int v_el = v_rind[i];
1457
+
1458
+ // First nonzero of the following column
1459
+ casadi_int v_el_end = v_rind[i+1];
1460
+
1461
+ // Next row of the assigning matrix
1462
+ casadi_int v_j = v_el<v_el_end ? v_c[v_el] : sz1;
1463
+
1464
+ // Assign all nonzeros
1465
+ for (casadi_int el=rind[i]; el!=rind[i+1]; ++el) {
1466
+
1467
+ // Get row
1468
+ casadi_int j=c[el];
1469
+
1470
+ // Forward the assigning nonzero
1471
+ while (v_j<j) {
1472
+ v_el++;
1473
+ v_j = v_el<v_el_end ? v_c[v_el] : sz1;
1474
+ }
1475
+
1476
+ // Assign nonzero
1477
+ if (v_j==j) {
1478
+ data[el] |= val_data[v_el++];
1479
+ v_j = v_el<v_el_end ? v_c[v_el] : sz1;
1480
+ }
1481
+ }
1482
+ }
1483
+ }
1484
+ }
1485
+
1486
+ #endif //SWIG
1487
+
1488
+ ///@{
1489
+ /// Readability typedefs
1490
+ typedef std::map<std::string, Sparsity> SpDict;
1491
+ ///@}
1492
+
1493
+ } // namespace casadi
1494
+
1495
+ #endif // CASADI_SPARSITY_HPP