casadi 3.6.7__cp313-none-manylinux2014_aarch64.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 (1683) 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/cmake/alpaqa/alpaqaConfig.cmake +24 -0
  6. casadi/cmake/alpaqa/alpaqaConfigVersion.cmake +65 -0
  7. casadi/cmake/alpaqa/alpaqaTargets-release.cmake +29 -0
  8. casadi/cmake/alpaqa/alpaqaTargets.cmake +131 -0
  9. casadi/cmake/casadi-config-version.cmake +11 -0
  10. casadi/cmake/casadi-config.cmake +8 -0
  11. casadi/cmake/casadi-targets-release.cmake +19 -0
  12. casadi/cmake/casadi-targets.cmake +107 -0
  13. casadi/cmake/osqp/osqp-config.cmake +1 -0
  14. casadi/cmake/osqp/osqp-targets-noconfig.cmake +29 -0
  15. casadi/cmake/osqp/osqp-targets.cmake +109 -0
  16. casadi/cmake/proxsuite/find-external/Simde/FindSimde.cmake +39 -0
  17. casadi/cmake/proxsuite/proxsuiteConfig.cmake +177 -0
  18. casadi/cmake/proxsuite/proxsuiteConfigVersion.cmake +65 -0
  19. casadi/cmake/proxsuite/proxsuiteTargets.cmake +115 -0
  20. casadi/cmake/qdldl/qdldl-config.cmake +1 -0
  21. casadi/cmake/qdldl/qdldl-targets-noconfig.cmake +29 -0
  22. casadi/cmake/qdldl/qdldl-targets.cmake +109 -0
  23. casadi/include/alpaqa/accelerators/anderson.hpp +133 -0
  24. casadi/include/alpaqa/accelerators/internal/anderson-helpers.hpp +92 -0
  25. casadi/include/alpaqa/accelerators/internal/limited-memory-qr.hpp +295 -0
  26. casadi/include/alpaqa/accelerators/lbfgs.hpp +244 -0
  27. casadi/include/alpaqa/accelerators/steihaugcg.hpp +143 -0
  28. casadi/include/alpaqa/alpaqa.hpp +3 -0
  29. casadi/include/alpaqa/casadi/CasADiControlProblem.hpp +185 -0
  30. casadi/include/alpaqa/casadi/CasADiFunctionWrapper.hpp +104 -0
  31. casadi/include/alpaqa/casadi/CasADiProblem.hpp +102 -0
  32. casadi/include/alpaqa/casadi-loader-export.hpp +15 -0
  33. casadi/include/alpaqa/casadi-ocp-loader-export.hpp +15 -0
  34. casadi/include/alpaqa/config/config.hpp +165 -0
  35. casadi/include/alpaqa/dl/dl-problem.h +476 -0
  36. casadi/include/alpaqa/dl/dl-problem.hpp +301 -0
  37. casadi/include/alpaqa/export.h +42 -0
  38. casadi/include/alpaqa/export.hpp +30 -0
  39. casadi/include/alpaqa/implementation/accelerators/lbfgs.tpp +240 -0
  40. casadi/include/alpaqa/implementation/casadi/CasADiControlProblem.tpp +594 -0
  41. casadi/include/alpaqa/implementation/casadi/CasADiLoader-util.hpp +50 -0
  42. casadi/include/alpaqa/implementation/casadi/CasADiProblem.tpp +425 -0
  43. casadi/include/alpaqa/implementation/inner/directions/panoc/structured-lbfgs.tpp +164 -0
  44. casadi/include/alpaqa/implementation/inner/panoc-helpers.tpp +389 -0
  45. casadi/include/alpaqa/implementation/inner/panoc-ocp.tpp +798 -0
  46. casadi/include/alpaqa/implementation/inner/panoc.tpp +448 -0
  47. casadi/include/alpaqa/implementation/inner/pantr.tpp +474 -0
  48. casadi/include/alpaqa/implementation/inner/zerofpr.tpp +482 -0
  49. casadi/include/alpaqa/implementation/outer/alm.tpp +228 -0
  50. casadi/include/alpaqa/implementation/outer/internal/alm-helpers.tpp +80 -0
  51. casadi/include/alpaqa/implementation/params/params.tpp +158 -0
  52. casadi/include/alpaqa/implementation/problem/ocproblem.tpp +56 -0
  53. casadi/include/alpaqa/implementation/problem/type-erased-problem.tpp +211 -0
  54. casadi/include/alpaqa/implementation/util/io/csv.tpp +120 -0
  55. casadi/include/alpaqa/implementation/util/print.tpp +151 -0
  56. casadi/include/alpaqa/inner/directions/panoc/anderson.hpp +98 -0
  57. casadi/include/alpaqa/inner/directions/panoc/lbfgs.hpp +94 -0
  58. casadi/include/alpaqa/inner/directions/panoc/structured-lbfgs.hpp +146 -0
  59. casadi/include/alpaqa/inner/directions/panoc/structured-newton.hpp +264 -0
  60. casadi/include/alpaqa/inner/directions/panoc-direction-update.hpp +96 -0
  61. casadi/include/alpaqa/inner/directions/panoc-ocp/lqr.hpp +181 -0
  62. casadi/include/alpaqa/inner/directions/panoc-ocp/ocp-vars.hpp +492 -0
  63. casadi/include/alpaqa/inner/directions/pantr/newton-tr.hpp +192 -0
  64. casadi/include/alpaqa/inner/directions/pantr/pantr-direction.hpp +99 -0
  65. casadi/include/alpaqa/inner/inner-solve-options.hpp +30 -0
  66. casadi/include/alpaqa/inner/internal/lipschitz.hpp +27 -0
  67. casadi/include/alpaqa/inner/internal/panoc-helpers.hpp +10 -0
  68. casadi/include/alpaqa/inner/internal/panoc-stop-crit.hpp +124 -0
  69. casadi/include/alpaqa/inner/internal/solverstatus.hpp +42 -0
  70. casadi/include/alpaqa/inner/panoc-ocp.hpp +302 -0
  71. casadi/include/alpaqa/inner/panoc.hpp +274 -0
  72. casadi/include/alpaqa/inner/pantr.hpp +284 -0
  73. casadi/include/alpaqa/inner/zerofpr.hpp +274 -0
  74. casadi/include/alpaqa/ipopt/ipopt-adapter.hpp +81 -0
  75. casadi/include/alpaqa/ipopt/ipopt-enums.hpp +35 -0
  76. casadi/include/alpaqa/lbfgsb/lbfgsb-adapter.hpp +111 -0
  77. casadi/include/alpaqa/newton-tr-pantr-alm.hpp +27 -0
  78. casadi/include/alpaqa/outer/alm.hpp +190 -0
  79. casadi/include/alpaqa/outer/internal/alm-helpers.hpp +10 -0
  80. casadi/include/alpaqa/panoc-alm.hpp +27 -0
  81. casadi/include/alpaqa/panoc-anderson-alm.hpp +27 -0
  82. casadi/include/alpaqa/params/params.hpp +60 -0
  83. casadi/include/alpaqa/problem/box-constr-problem.hpp +220 -0
  84. casadi/include/alpaqa/problem/box.hpp +82 -0
  85. casadi/include/alpaqa/problem/functional-problem.hpp +73 -0
  86. casadi/include/alpaqa/problem/kkt-error.hpp +43 -0
  87. casadi/include/alpaqa/problem/ocproblem-counters.hpp +116 -0
  88. casadi/include/alpaqa/problem/ocproblem.hpp +662 -0
  89. casadi/include/alpaqa/problem/problem-counters.hpp +116 -0
  90. casadi/include/alpaqa/problem/problem-with-counters.hpp +141 -0
  91. casadi/include/alpaqa/problem/type-erased-problem.hpp +874 -0
  92. casadi/include/alpaqa/problem/unconstr-problem.hpp +37 -0
  93. casadi/include/alpaqa/structured-panoc-alm.hpp +27 -0
  94. casadi/include/alpaqa/structured-zerofpr-alm.hpp +27 -0
  95. casadi/include/alpaqa/util/alloc-check.hpp +23 -0
  96. casadi/include/alpaqa/util/atomic-stop-signal.hpp +24 -0
  97. casadi/include/alpaqa/util/check-dim.hpp +64 -0
  98. casadi/include/alpaqa/util/copyable_unique_ptr.hpp +32 -0
  99. casadi/include/alpaqa/util/demangled-typename.hpp +9 -0
  100. casadi/include/alpaqa/util/enumerate.hpp +70 -0
  101. casadi/include/alpaqa/util/float.hpp +25 -0
  102. casadi/include/alpaqa/util/index-set.hpp +97 -0
  103. casadi/include/alpaqa/util/io/csv.hpp +43 -0
  104. casadi/include/alpaqa/util/iter-adapter.hpp +68 -0
  105. casadi/include/alpaqa/util/max-history.hpp +47 -0
  106. casadi/include/alpaqa/util/noop-delete.hpp +15 -0
  107. casadi/include/alpaqa/util/not-implemented.hpp +12 -0
  108. casadi/include/alpaqa/util/print.hpp +78 -0
  109. casadi/include/alpaqa/util/quadmath/quadmath-print.hpp +20 -0
  110. casadi/include/alpaqa/util/quadmath/quadmath.hpp +137 -0
  111. casadi/include/alpaqa/util/required-method.hpp +29 -0
  112. casadi/include/alpaqa/util/ringbuffer.hpp +212 -0
  113. casadi/include/alpaqa/util/set-intersection.hpp +129 -0
  114. casadi/include/alpaqa/util/sparse-ops.hpp +164 -0
  115. casadi/include/alpaqa/util/timed.hpp +22 -0
  116. casadi/include/alpaqa/util/type-erasure.hpp +568 -0
  117. casadi/include/alpaqa/util/type-traits.hpp +58 -0
  118. casadi/include/alpaqa/zerofpr-alm.hpp +27 -0
  119. casadi/include/alpaqa/zerofpr-anderson-alm.hpp +27 -0
  120. casadi/include/alpaqa-version.h +8 -0
  121. casadi/include/blasfeo.h +52 -0
  122. casadi/include/blasfeo_block_size.h +447 -0
  123. casadi/include/blasfeo_common.h +274 -0
  124. casadi/include/blasfeo_d_aux.h +255 -0
  125. casadi/include/blasfeo_d_aux_ext_dep.h +145 -0
  126. casadi/include/blasfeo_d_aux_ext_dep_ref.h +84 -0
  127. casadi/include/blasfeo_d_aux_old.h +75 -0
  128. casadi/include/blasfeo_d_aux_ref.h +208 -0
  129. casadi/include/blasfeo_d_aux_test.h +226 -0
  130. casadi/include/blasfeo_d_blas.h +46 -0
  131. casadi/include/blasfeo_d_blas_api.h +281 -0
  132. casadi/include/blasfeo_d_blasfeo_api.h +364 -0
  133. casadi/include/blasfeo_d_blasfeo_api_ref.h +147 -0
  134. casadi/include/blasfeo_d_blasfeo_hp_api.h +84 -0
  135. casadi/include/blasfeo_d_blasfeo_ref_api.h +283 -0
  136. casadi/include/blasfeo_d_kernel.h +1321 -0
  137. casadi/include/blasfeo_i_aux_ext_dep.h +69 -0
  138. casadi/include/blasfeo_m_aux.h +57 -0
  139. casadi/include/blasfeo_memory.h +62 -0
  140. casadi/include/blasfeo_naming.h +77 -0
  141. casadi/include/blasfeo_processor_features.h +88 -0
  142. casadi/include/blasfeo_s_aux.h +168 -0
  143. casadi/include/blasfeo_s_aux_ext_dep.h +141 -0
  144. casadi/include/blasfeo_s_aux_ext_dep_ref.h +82 -0
  145. casadi/include/blasfeo_s_aux_old.h +64 -0
  146. casadi/include/blasfeo_s_aux_ref.h +147 -0
  147. casadi/include/blasfeo_s_aux_test.h +177 -0
  148. casadi/include/blasfeo_s_blas.h +46 -0
  149. casadi/include/blasfeo_s_blas_api.h +182 -0
  150. casadi/include/blasfeo_s_blasfeo_api.h +284 -0
  151. casadi/include/blasfeo_s_blasfeo_api_ref.h +135 -0
  152. casadi/include/blasfeo_s_blasfeo_ref_api.h +252 -0
  153. casadi/include/blasfeo_s_kernel.h +692 -0
  154. casadi/include/blasfeo_stdlib.h +62 -0
  155. casadi/include/blasfeo_target.h +73 -0
  156. casadi/include/blasfeo_timing.h +114 -0
  157. casadi/include/blasfeo_v_aux_ext_dep.h +83 -0
  158. casadi/include/casadi/casadi.hpp +31 -0
  159. casadi/include/casadi/casadi.i +4691 -0
  160. casadi/include/casadi/casadi_c.h +138 -0
  161. casadi/include/casadi/casadi_numpy.hpp +97 -0
  162. casadi/include/casadi/config.h +46 -0
  163. casadi/include/casadi/core/calculus.hpp +1750 -0
  164. casadi/include/casadi/core/callback.hpp +226 -0
  165. casadi/include/casadi/core/casadi_common.hpp +318 -0
  166. casadi/include/casadi/core/casadi_enum.hpp +90 -0
  167. casadi/include/casadi/core/casadi_export.h +42 -0
  168. casadi/include/casadi/core/casadi_interrupt.hpp +83 -0
  169. casadi/include/casadi/core/casadi_limits.hpp +104 -0
  170. casadi/include/casadi/core/casadi_logger.hpp +134 -0
  171. casadi/include/casadi/core/casadi_meta.hpp +107 -0
  172. casadi/include/casadi/core/casadi_misc.hpp +1001 -0
  173. casadi/include/casadi/core/casadi_types.hpp +66 -0
  174. casadi/include/casadi/core/code_generator.hpp +975 -0
  175. casadi/include/casadi/core/conic.hpp +213 -0
  176. casadi/include/casadi/core/core.hpp +70 -0
  177. casadi/include/casadi/core/dae_builder.hpp +723 -0
  178. casadi/include/casadi/core/dm.hpp +87 -0
  179. casadi/include/casadi/core/dm_fwd.hpp +39 -0
  180. casadi/include/casadi/core/dple.hpp +138 -0
  181. casadi/include/casadi/core/exception.hpp +167 -0
  182. casadi/include/casadi/core/expm.hpp +84 -0
  183. casadi/include/casadi/core/external.hpp +70 -0
  184. casadi/include/casadi/core/fmu.hpp +224 -0
  185. casadi/include/casadi/core/function.hpp +1347 -0
  186. casadi/include/casadi/core/generic_expression.hpp +760 -0
  187. casadi/include/casadi/core/generic_matrix.hpp +1598 -0
  188. casadi/include/casadi/core/generic_type.hpp +311 -0
  189. casadi/include/casadi/core/global_options.hpp +97 -0
  190. casadi/include/casadi/core/im.hpp +52 -0
  191. casadi/include/casadi/core/im_fwd.hpp +35 -0
  192. casadi/include/casadi/core/importer.hpp +221 -0
  193. casadi/include/casadi/core/integration_tools.hpp +292 -0
  194. casadi/include/casadi/core/integrator.hpp +256 -0
  195. casadi/include/casadi/core/interpolant.hpp +163 -0
  196. casadi/include/casadi/core/linsol.hpp +171 -0
  197. casadi/include/casadi/core/matrix_decl.hpp +1352 -0
  198. casadi/include/casadi/core/matrix_fwd.hpp +37 -0
  199. casadi/include/casadi/core/mx.hpp +953 -0
  200. casadi/include/casadi/core/nlp_builder.hpp +162 -0
  201. casadi/include/casadi/core/nlp_tools.hpp +124 -0
  202. casadi/include/casadi/core/nlpsol.hpp +234 -0
  203. casadi/include/casadi/core/nonzeros.hpp +111 -0
  204. casadi/include/casadi/core/options.hpp +119 -0
  205. casadi/include/casadi/core/optistack.hpp +670 -0
  206. casadi/include/casadi/core/polynomial.hpp +126 -0
  207. casadi/include/casadi/core/printable.hpp +73 -0
  208. casadi/include/casadi/core/rootfinder.hpp +176 -0
  209. casadi/include/casadi/core/runtime/casadi_axpy.hpp +8 -0
  210. casadi/include/casadi/core/runtime/casadi_bfgs.hpp +49 -0
  211. casadi/include/casadi/core/runtime/casadi_bilin.hpp +42 -0
  212. casadi/include/casadi/core/runtime/casadi_bound_consistency.hpp +51 -0
  213. casadi/include/casadi/core/runtime/casadi_cache.hpp +59 -0
  214. casadi/include/casadi/core/runtime/casadi_clear.hpp +27 -0
  215. casadi/include/casadi/core/runtime/casadi_clip_max.hpp +33 -0
  216. casadi/include/casadi/core/runtime/casadi_clip_min.hpp +33 -0
  217. casadi/include/casadi/core/runtime/casadi_convexify.hpp +182 -0
  218. casadi/include/casadi/core/runtime/casadi_copy.hpp +31 -0
  219. casadi/include/casadi/core/runtime/casadi_cvx.hpp +463 -0
  220. casadi/include/casadi/core/runtime/casadi_de_boor.hpp +36 -0
  221. casadi/include/casadi/core/runtime/casadi_dense_lsqr.hpp +247 -0
  222. casadi/include/casadi/core/runtime/casadi_densify.hpp +48 -0
  223. casadi/include/casadi/core/runtime/casadi_dot.hpp +27 -0
  224. casadi/include/casadi/core/runtime/casadi_feasiblesqpmethod.hpp +208 -0
  225. casadi/include/casadi/core/runtime/casadi_file_slurp.hpp +32 -0
  226. casadi/include/casadi/core/runtime/casadi_fill.hpp +27 -0
  227. casadi/include/casadi/core/runtime/casadi_finite_diff.hpp +345 -0
  228. casadi/include/casadi/core/runtime/casadi_flip.hpp +33 -0
  229. casadi/include/casadi/core/runtime/casadi_getu.hpp +35 -0
  230. casadi/include/casadi/core/runtime/casadi_iamax.hpp +36 -0
  231. casadi/include/casadi/core/runtime/casadi_interpn.hpp +39 -0
  232. casadi/include/casadi/core/runtime/casadi_interpn_grad.hpp +72 -0
  233. casadi/include/casadi/core/runtime/casadi_interpn_interpolate.hpp +43 -0
  234. casadi/include/casadi/core/runtime/casadi_interpn_weights.hpp +39 -0
  235. casadi/include/casadi/core/runtime/casadi_ipqp.hpp +868 -0
  236. casadi/include/casadi/core/runtime/casadi_jac.hpp +186 -0
  237. casadi/include/casadi/core/runtime/casadi_kkt.hpp +67 -0
  238. casadi/include/casadi/core/runtime/casadi_kron.hpp +50 -0
  239. casadi/include/casadi/core/runtime/casadi_ldl.hpp +109 -0
  240. casadi/include/casadi/core/runtime/casadi_logsumexp.hpp +41 -0
  241. casadi/include/casadi/core/runtime/casadi_low.hpp +65 -0
  242. casadi/include/casadi/core/runtime/casadi_lsqr.hpp +247 -0
  243. casadi/include/casadi/core/runtime/casadi_masked_norm_inf.hpp +33 -0
  244. casadi/include/casadi/core/runtime/casadi_max_viol.hpp +37 -0
  245. casadi/include/casadi/core/runtime/casadi_mmax.hpp +28 -0
  246. casadi/include/casadi/core/runtime/casadi_mmin.hpp +29 -0
  247. casadi/include/casadi/core/runtime/casadi_mtimes.hpp +75 -0
  248. casadi/include/casadi/core/runtime/casadi_mv.hpp +46 -0
  249. casadi/include/casadi/core/runtime/casadi_mv_dense.hpp +39 -0
  250. casadi/include/casadi/core/runtime/casadi_nd_boor_dual_eval.hpp +127 -0
  251. casadi/include/casadi/core/runtime/casadi_nd_boor_eval.hpp +120 -0
  252. casadi/include/casadi/core/runtime/casadi_newton.hpp +66 -0
  253. casadi/include/casadi/core/runtime/casadi_nlp.hpp +289 -0
  254. casadi/include/casadi/core/runtime/casadi_norm_1.hpp +29 -0
  255. casadi/include/casadi/core/runtime/casadi_norm_2.hpp +24 -0
  256. casadi/include/casadi/core/runtime/casadi_norm_inf.hpp +28 -0
  257. casadi/include/casadi/core/runtime/casadi_norm_inf_mul.hpp +105 -0
  258. casadi/include/casadi/core/runtime/casadi_ocp_block.hpp +55 -0
  259. casadi/include/casadi/core/runtime/casadi_oracle.hpp +44 -0
  260. casadi/include/casadi/core/runtime/casadi_oracle_callback.hpp +39 -0
  261. casadi/include/casadi/core/runtime/casadi_polyval.hpp +29 -0
  262. casadi/include/casadi/core/runtime/casadi_project.hpp +39 -0
  263. casadi/include/casadi/core/runtime/casadi_qp.hpp +86 -0
  264. casadi/include/casadi/core/runtime/casadi_qr.hpp +272 -0
  265. casadi/include/casadi/core/runtime/casadi_qrqp.hpp +1239 -0
  266. casadi/include/casadi/core/runtime/casadi_rank1.hpp +40 -0
  267. casadi/include/casadi/core/runtime/casadi_regularize.hpp +73 -0
  268. casadi/include/casadi/core/runtime/casadi_runtime.hpp +318 -0
  269. casadi/include/casadi/core/runtime/casadi_scal.hpp +26 -0
  270. casadi/include/casadi/core/runtime/casadi_scaled_copy.hpp +31 -0
  271. casadi/include/casadi/core/runtime/casadi_sparsify.hpp +42 -0
  272. casadi/include/casadi/core/runtime/casadi_sparsity.hpp +24 -0
  273. casadi/include/casadi/core/runtime/casadi_sqpmethod.hpp +178 -0
  274. casadi/include/casadi/core/runtime/casadi_sum.hpp +31 -0
  275. casadi/include/casadi/core/runtime/casadi_sum_viol.hpp +37 -0
  276. casadi/include/casadi/core/runtime/casadi_swap.hpp +32 -0
  277. casadi/include/casadi/core/runtime/casadi_trans.hpp +35 -0
  278. casadi/include/casadi/core/runtime/casadi_tri_project.hpp +37 -0
  279. casadi/include/casadi/core/runtime/casadi_trilsolve.hpp +81 -0
  280. casadi/include/casadi/core/runtime/casadi_triusolve.hpp +81 -0
  281. casadi/include/casadi/core/runtime/casadi_vector_fmax.hpp +28 -0
  282. casadi/include/casadi/core/runtime/casadi_vector_fmin.hpp +28 -0
  283. casadi/include/casadi/core/runtime/casadi_vfmax.hpp +28 -0
  284. casadi/include/casadi/core/runtime/casadi_vfmin.hpp +28 -0
  285. casadi/include/casadi/core/runtime/shared.hpp +261 -0
  286. casadi/include/casadi/core/serializer.hpp +256 -0
  287. casadi/include/casadi/core/serializing_stream.hpp +329 -0
  288. casadi/include/casadi/core/shared_object.hpp +270 -0
  289. casadi/include/casadi/core/slice.hpp +149 -0
  290. casadi/include/casadi/core/sparsity.hpp +1495 -0
  291. casadi/include/casadi/core/sparsity_interface.hpp +745 -0
  292. casadi/include/casadi/core/submatrix.hpp +156 -0
  293. casadi/include/casadi/core/sx.hpp +203 -0
  294. casadi/include/casadi/core/sx_elem.hpp +351 -0
  295. casadi/include/casadi/core/sx_fwd.hpp +45 -0
  296. casadi/include/casadi/core/timing.hpp +98 -0
  297. casadi/include/casadi/core/tools.hpp +67 -0
  298. casadi/include/casadi/core/xml_file.hpp +93 -0
  299. casadi/include/casadi/core/xml_node.hpp +207 -0
  300. casadi/include/casadi/doc.i +58615 -0
  301. casadi/include/casadi/doc_merged.i +36123 -0
  302. casadi/include/casadi/mem.h +311 -0
  303. casadi/include/casadi/valgrind-casadi.supp +511 -0
  304. casadi/include/casadi/valgrind-python.supp +1416 -0
  305. casadi/include/coin-or/IpAlgBuilder.hpp +417 -0
  306. casadi/include/coin-or/IpAlgStrategy.hpp +201 -0
  307. casadi/include/coin-or/IpAlgTypes.hpp +64 -0
  308. casadi/include/coin-or/IpAugSystemSolver.hpp +212 -0
  309. casadi/include/coin-or/IpBlas.hpp +426 -0
  310. casadi/include/coin-or/IpCachedResults.hpp +897 -0
  311. casadi/include/coin-or/IpCompoundMatrix.hpp +423 -0
  312. casadi/include/coin-or/IpCompoundSymMatrix.hpp +348 -0
  313. casadi/include/coin-or/IpCompoundVector.hpp +395 -0
  314. casadi/include/coin-or/IpConvCheck.hpp +97 -0
  315. casadi/include/coin-or/IpDebug.hpp +167 -0
  316. casadi/include/coin-or/IpDenseVector.hpp +626 -0
  317. casadi/include/coin-or/IpDiagMatrix.hpp +158 -0
  318. casadi/include/coin-or/IpEqMultCalculator.hpp +76 -0
  319. casadi/include/coin-or/IpException.hpp +156 -0
  320. casadi/include/coin-or/IpExpansionMatrix.hpp +245 -0
  321. casadi/include/coin-or/IpGenTMatrix.hpp +290 -0
  322. casadi/include/coin-or/IpHessianUpdater.hpp +73 -0
  323. casadi/include/coin-or/IpIdentityMatrix.hpp +167 -0
  324. casadi/include/coin-or/IpIpoptAlg.hpp +257 -0
  325. casadi/include/coin-or/IpIpoptApplication.hpp +367 -0
  326. casadi/include/coin-or/IpIpoptCalculatedQuantities.hpp +1009 -0
  327. casadi/include/coin-or/IpIpoptData.hpp +966 -0
  328. casadi/include/coin-or/IpIpoptNLP.hpp +328 -0
  329. casadi/include/coin-or/IpIterateInitializer.hpp +68 -0
  330. casadi/include/coin-or/IpIteratesVector.hpp +840 -0
  331. casadi/include/coin-or/IpIterationOutput.hpp +78 -0
  332. casadi/include/coin-or/IpJournalist.hpp +573 -0
  333. casadi/include/coin-or/IpLapack.hpp +227 -0
  334. casadi/include/coin-or/IpLibraryLoader.hpp +76 -0
  335. casadi/include/coin-or/IpLineSearch.hpp +106 -0
  336. casadi/include/coin-or/IpLinearSolvers.h +46 -0
  337. casadi/include/coin-or/IpMatrix.hpp +434 -0
  338. casadi/include/coin-or/IpMuUpdate.hpp +77 -0
  339. casadi/include/coin-or/IpNLP.hpp +306 -0
  340. casadi/include/coin-or/IpNLPScaling.hpp +582 -0
  341. casadi/include/coin-or/IpObserver.hpp +422 -0
  342. casadi/include/coin-or/IpOptionsList.hpp +412 -0
  343. casadi/include/coin-or/IpOrigIpoptNLP.hpp +603 -0
  344. casadi/include/coin-or/IpPDSystemSolver.hpp +137 -0
  345. casadi/include/coin-or/IpReferenced.hpp +262 -0
  346. casadi/include/coin-or/IpRegOptions.hpp +1152 -0
  347. casadi/include/coin-or/IpReturnCodes.h +23 -0
  348. casadi/include/coin-or/IpReturnCodes.hpp +18 -0
  349. casadi/include/coin-or/IpReturnCodes.inc +71 -0
  350. casadi/include/coin-or/IpReturnCodes_inc.h +45 -0
  351. casadi/include/coin-or/IpScaledMatrix.hpp +291 -0
  352. casadi/include/coin-or/IpSearchDirCalculator.hpp +72 -0
  353. casadi/include/coin-or/IpSmartPtr.hpp +865 -0
  354. casadi/include/coin-or/IpSolveStatistics.hpp +210 -0
  355. casadi/include/coin-or/IpSparseSymLinearSolverInterface.hpp +260 -0
  356. casadi/include/coin-or/IpStdAugSystemSolver.cpp +555 -0
  357. casadi/include/coin-or/IpStdCInterface.h +428 -0
  358. casadi/include/coin-or/IpSumSymMatrix.hpp +186 -0
  359. casadi/include/coin-or/IpSymLinearSolver.hpp +141 -0
  360. casadi/include/coin-or/IpSymMatrix.hpp +167 -0
  361. casadi/include/coin-or/IpSymScaledMatrix.hpp +255 -0
  362. casadi/include/coin-or/IpSymTMatrix.hpp +275 -0
  363. casadi/include/coin-or/IpTNLP.hpp +820 -0
  364. casadi/include/coin-or/IpTNLPAdapter.hpp +648 -0
  365. casadi/include/coin-or/IpTNLPReducer.hpp +274 -0
  366. casadi/include/coin-or/IpTaggedObject.hpp +128 -0
  367. casadi/include/coin-or/IpTimedTask.hpp +218 -0
  368. casadi/include/coin-or/IpTimingStatistics.hpp +323 -0
  369. casadi/include/coin-or/IpTripletHelper.hpp +308 -0
  370. casadi/include/coin-or/IpTypes.h +81 -0
  371. casadi/include/coin-or/IpTypes.hpp +30 -0
  372. casadi/include/coin-or/IpUtils.hpp +166 -0
  373. casadi/include/coin-or/IpVector.hpp +892 -0
  374. casadi/include/coin-or/IpZeroSymMatrix.hpp +155 -0
  375. casadi/include/coin-or/IpoptConfig.h +45 -0
  376. casadi/include/coin-or/SensAlgorithm.hpp +114 -0
  377. casadi/include/coin-or/SensApplication.hpp +188 -0
  378. casadi/include/coin-or/SensBacksolver.hpp +36 -0
  379. casadi/include/coin-or/SensMeasurement.hpp +56 -0
  380. casadi/include/coin-or/SensPCalculator.hpp +137 -0
  381. casadi/include/coin-or/SensRegOp.hpp +21 -0
  382. casadi/include/coin-or/SensSchurData.hpp +182 -0
  383. casadi/include/coin-or/SensSchurDriver.hpp +118 -0
  384. casadi/include/coin-or/SensSimpleBacksolver.hpp +49 -0
  385. casadi/include/coin-or/SensStepCalc.hpp +85 -0
  386. casadi/include/coin-or/SensUtils.hpp +63 -0
  387. casadi/include/coin-or/metis/defs.h +161 -0
  388. casadi/include/coin-or/metis/macros.h +143 -0
  389. casadi/include/coin-or/metis/metis.h +37 -0
  390. casadi/include/coin-or/metis/proto.h +505 -0
  391. casadi/include/coin-or/metis/rename.h +418 -0
  392. casadi/include/coin-or/metis/struct.h +251 -0
  393. casadi/include/coin-or/mumps/dmumps_c.h +142 -0
  394. casadi/include/coin-or/mumps/mumps_c_types.h +72 -0
  395. casadi/include/coin-or/mumps/mumps_compat.h +27 -0
  396. casadi/include/coin-or/mumps/mumps_int_def.h +11 -0
  397. casadi/include/coin-or/mumps/mumps_mpi.h +67 -0
  398. casadi/include/d_blas.h +78 -0
  399. casadi/include/d_blas_64.h +73 -0
  400. casadi/include/daqp/api.h +46 -0
  401. casadi/include/daqp/auxiliary.h +29 -0
  402. casadi/include/daqp/bnb.h +32 -0
  403. casadi/include/daqp/codegen.h +18 -0
  404. casadi/include/daqp/constants.h +92 -0
  405. casadi/include/daqp/daqp.h +22 -0
  406. casadi/include/daqp/daqp_prox.h +18 -0
  407. casadi/include/daqp/factorization.h +18 -0
  408. casadi/include/daqp/types.h +161 -0
  409. casadi/include/daqp/utils.h +44 -0
  410. casadi/include/eigen3/Eigen/Cholesky +45 -0
  411. casadi/include/eigen3/Eigen/CholmodSupport +48 -0
  412. casadi/include/eigen3/Eigen/Core +384 -0
  413. casadi/include/eigen3/Eigen/Dense +7 -0
  414. casadi/include/eigen3/Eigen/Eigen +2 -0
  415. casadi/include/eigen3/Eigen/Eigenvalues +60 -0
  416. casadi/include/eigen3/Eigen/Geometry +59 -0
  417. casadi/include/eigen3/Eigen/Householder +29 -0
  418. casadi/include/eigen3/Eigen/IterativeLinearSolvers +48 -0
  419. casadi/include/eigen3/Eigen/Jacobi +32 -0
  420. casadi/include/eigen3/Eigen/KLUSupport +41 -0
  421. casadi/include/eigen3/Eigen/LU +47 -0
  422. casadi/include/eigen3/Eigen/MetisSupport +35 -0
  423. casadi/include/eigen3/Eigen/OrderingMethods +70 -0
  424. casadi/include/eigen3/Eigen/PaStiXSupport +49 -0
  425. casadi/include/eigen3/Eigen/PardisoSupport +35 -0
  426. casadi/include/eigen3/Eigen/QR +50 -0
  427. casadi/include/eigen3/Eigen/QtAlignedMalloc +39 -0
  428. casadi/include/eigen3/Eigen/SPQRSupport +34 -0
  429. casadi/include/eigen3/Eigen/SVD +50 -0
  430. casadi/include/eigen3/Eigen/Sparse +34 -0
  431. casadi/include/eigen3/Eigen/SparseCholesky +37 -0
  432. casadi/include/eigen3/Eigen/SparseCore +69 -0
  433. casadi/include/eigen3/Eigen/SparseLU +50 -0
  434. casadi/include/eigen3/Eigen/SparseQR +36 -0
  435. casadi/include/eigen3/Eigen/StdDeque +27 -0
  436. casadi/include/eigen3/Eigen/StdList +26 -0
  437. casadi/include/eigen3/Eigen/StdVector +27 -0
  438. casadi/include/eigen3/Eigen/SuperLUSupport +64 -0
  439. casadi/include/eigen3/Eigen/UmfPackSupport +40 -0
  440. casadi/include/eigen3/Eigen/src/Cholesky/LDLT.h +688 -0
  441. casadi/include/eigen3/Eigen/src/Cholesky/LLT.h +558 -0
  442. casadi/include/eigen3/Eigen/src/Cholesky/LLT_LAPACKE.h +99 -0
  443. casadi/include/eigen3/Eigen/src/CholmodSupport/CholmodSupport.h +682 -0
  444. casadi/include/eigen3/Eigen/src/Core/ArithmeticSequence.h +413 -0
  445. casadi/include/eigen3/Eigen/src/Core/Array.h +417 -0
  446. casadi/include/eigen3/Eigen/src/Core/ArrayBase.h +226 -0
  447. casadi/include/eigen3/Eigen/src/Core/ArrayWrapper.h +209 -0
  448. casadi/include/eigen3/Eigen/src/Core/Assign.h +90 -0
  449. casadi/include/eigen3/Eigen/src/Core/AssignEvaluator.h +1010 -0
  450. casadi/include/eigen3/Eigen/src/Core/Assign_MKL.h +178 -0
  451. casadi/include/eigen3/Eigen/src/Core/BandMatrix.h +353 -0
  452. casadi/include/eigen3/Eigen/src/Core/Block.h +448 -0
  453. casadi/include/eigen3/Eigen/src/Core/BooleanRedux.h +162 -0
  454. casadi/include/eigen3/Eigen/src/Core/CommaInitializer.h +164 -0
  455. casadi/include/eigen3/Eigen/src/Core/ConditionEstimator.h +175 -0
  456. casadi/include/eigen3/Eigen/src/Core/CoreEvaluators.h +1741 -0
  457. casadi/include/eigen3/Eigen/src/Core/CoreIterators.h +132 -0
  458. casadi/include/eigen3/Eigen/src/Core/CwiseBinaryOp.h +183 -0
  459. casadi/include/eigen3/Eigen/src/Core/CwiseNullaryOp.h +1001 -0
  460. casadi/include/eigen3/Eigen/src/Core/CwiseTernaryOp.h +197 -0
  461. casadi/include/eigen3/Eigen/src/Core/CwiseUnaryOp.h +103 -0
  462. casadi/include/eigen3/Eigen/src/Core/CwiseUnaryView.h +132 -0
  463. casadi/include/eigen3/Eigen/src/Core/DenseBase.h +701 -0
  464. casadi/include/eigen3/Eigen/src/Core/DenseCoeffsBase.h +685 -0
  465. casadi/include/eigen3/Eigen/src/Core/DenseStorage.h +652 -0
  466. casadi/include/eigen3/Eigen/src/Core/Diagonal.h +258 -0
  467. casadi/include/eigen3/Eigen/src/Core/DiagonalMatrix.h +391 -0
  468. casadi/include/eigen3/Eigen/src/Core/DiagonalProduct.h +28 -0
  469. casadi/include/eigen3/Eigen/src/Core/Dot.h +318 -0
  470. casadi/include/eigen3/Eigen/src/Core/EigenBase.h +160 -0
  471. casadi/include/eigen3/Eigen/src/Core/ForceAlignedAccess.h +150 -0
  472. casadi/include/eigen3/Eigen/src/Core/Fuzzy.h +155 -0
  473. casadi/include/eigen3/Eigen/src/Core/GeneralProduct.h +465 -0
  474. casadi/include/eigen3/Eigen/src/Core/GenericPacketMath.h +1040 -0
  475. casadi/include/eigen3/Eigen/src/Core/GlobalFunctions.h +194 -0
  476. casadi/include/eigen3/Eigen/src/Core/IO.h +258 -0
  477. casadi/include/eigen3/Eigen/src/Core/IndexedView.h +237 -0
  478. casadi/include/eigen3/Eigen/src/Core/Inverse.h +117 -0
  479. casadi/include/eigen3/Eigen/src/Core/Map.h +171 -0
  480. casadi/include/eigen3/Eigen/src/Core/MapBase.h +310 -0
  481. casadi/include/eigen3/Eigen/src/Core/MathFunctions.h +2057 -0
  482. casadi/include/eigen3/Eigen/src/Core/MathFunctionsImpl.h +200 -0
  483. casadi/include/eigen3/Eigen/src/Core/Matrix.h +565 -0
  484. casadi/include/eigen3/Eigen/src/Core/MatrixBase.h +547 -0
  485. casadi/include/eigen3/Eigen/src/Core/NestByValue.h +85 -0
  486. casadi/include/eigen3/Eigen/src/Core/NoAlias.h +109 -0
  487. casadi/include/eigen3/Eigen/src/Core/NumTraits.h +335 -0
  488. casadi/include/eigen3/Eigen/src/Core/PartialReduxEvaluator.h +232 -0
  489. casadi/include/eigen3/Eigen/src/Core/PermutationMatrix.h +605 -0
  490. casadi/include/eigen3/Eigen/src/Core/PlainObjectBase.h +1128 -0
  491. casadi/include/eigen3/Eigen/src/Core/Product.h +191 -0
  492. casadi/include/eigen3/Eigen/src/Core/ProductEvaluators.h +1179 -0
  493. casadi/include/eigen3/Eigen/src/Core/Random.h +218 -0
  494. casadi/include/eigen3/Eigen/src/Core/Redux.h +515 -0
  495. casadi/include/eigen3/Eigen/src/Core/Ref.h +381 -0
  496. casadi/include/eigen3/Eigen/src/Core/Replicate.h +142 -0
  497. casadi/include/eigen3/Eigen/src/Core/Reshaped.h +454 -0
  498. casadi/include/eigen3/Eigen/src/Core/ReturnByValue.h +119 -0
  499. casadi/include/eigen3/Eigen/src/Core/Reverse.h +217 -0
  500. casadi/include/eigen3/Eigen/src/Core/Select.h +164 -0
  501. casadi/include/eigen3/Eigen/src/Core/SelfAdjointView.h +365 -0
  502. casadi/include/eigen3/Eigen/src/Core/SelfCwiseBinaryOp.h +47 -0
  503. casadi/include/eigen3/Eigen/src/Core/Solve.h +188 -0
  504. casadi/include/eigen3/Eigen/src/Core/SolveTriangular.h +235 -0
  505. casadi/include/eigen3/Eigen/src/Core/SolverBase.h +168 -0
  506. casadi/include/eigen3/Eigen/src/Core/StableNorm.h +251 -0
  507. casadi/include/eigen3/Eigen/src/Core/StlIterators.h +463 -0
  508. casadi/include/eigen3/Eigen/src/Core/Stride.h +116 -0
  509. casadi/include/eigen3/Eigen/src/Core/Swap.h +68 -0
  510. casadi/include/eigen3/Eigen/src/Core/Transpose.h +464 -0
  511. casadi/include/eigen3/Eigen/src/Core/Transpositions.h +386 -0
  512. casadi/include/eigen3/Eigen/src/Core/TriangularMatrix.h +1001 -0
  513. casadi/include/eigen3/Eigen/src/Core/VectorBlock.h +96 -0
  514. casadi/include/eigen3/Eigen/src/Core/VectorwiseOp.h +784 -0
  515. casadi/include/eigen3/Eigen/src/Core/Visitor.h +381 -0
  516. casadi/include/eigen3/Eigen/src/Core/arch/AVX/Complex.h +372 -0
  517. casadi/include/eigen3/Eigen/src/Core/arch/AVX/MathFunctions.h +228 -0
  518. casadi/include/eigen3/Eigen/src/Core/arch/AVX/PacketMath.h +1574 -0
  519. casadi/include/eigen3/Eigen/src/Core/arch/AVX/TypeCasting.h +115 -0
  520. casadi/include/eigen3/Eigen/src/Core/arch/AVX512/Complex.h +422 -0
  521. casadi/include/eigen3/Eigen/src/Core/arch/AVX512/MathFunctions.h +362 -0
  522. casadi/include/eigen3/Eigen/src/Core/arch/AVX512/PacketMath.h +2303 -0
  523. casadi/include/eigen3/Eigen/src/Core/arch/AVX512/TypeCasting.h +89 -0
  524. casadi/include/eigen3/Eigen/src/Core/arch/AltiVec/Complex.h +417 -0
  525. casadi/include/eigen3/Eigen/src/Core/arch/AltiVec/MathFunctions.h +90 -0
  526. casadi/include/eigen3/Eigen/src/Core/arch/AltiVec/MatrixProduct.h +2937 -0
  527. casadi/include/eigen3/Eigen/src/Core/arch/AltiVec/MatrixProductCommon.h +221 -0
  528. casadi/include/eigen3/Eigen/src/Core/arch/AltiVec/MatrixProductMMA.h +629 -0
  529. casadi/include/eigen3/Eigen/src/Core/arch/AltiVec/PacketMath.h +2711 -0
  530. casadi/include/eigen3/Eigen/src/Core/arch/CUDA/Complex.h +258 -0
  531. casadi/include/eigen3/Eigen/src/Core/arch/Default/BFloat16.h +700 -0
  532. casadi/include/eigen3/Eigen/src/Core/arch/Default/ConjHelper.h +117 -0
  533. casadi/include/eigen3/Eigen/src/Core/arch/Default/GenericPacketMathFunctions.h +1649 -0
  534. casadi/include/eigen3/Eigen/src/Core/arch/Default/GenericPacketMathFunctionsFwd.h +110 -0
  535. casadi/include/eigen3/Eigen/src/Core/arch/Default/Half.h +942 -0
  536. casadi/include/eigen3/Eigen/src/Core/arch/Default/Settings.h +49 -0
  537. casadi/include/eigen3/Eigen/src/Core/arch/Default/TypeCasting.h +120 -0
  538. casadi/include/eigen3/Eigen/src/Core/arch/GPU/MathFunctions.h +103 -0
  539. casadi/include/eigen3/Eigen/src/Core/arch/GPU/PacketMath.h +1685 -0
  540. casadi/include/eigen3/Eigen/src/Core/arch/GPU/TypeCasting.h +80 -0
  541. casadi/include/eigen3/Eigen/src/Core/arch/HIP/hcc/math_constants.h +23 -0
  542. casadi/include/eigen3/Eigen/src/Core/arch/MSA/Complex.h +648 -0
  543. casadi/include/eigen3/Eigen/src/Core/arch/MSA/MathFunctions.h +387 -0
  544. casadi/include/eigen3/Eigen/src/Core/arch/MSA/PacketMath.h +1233 -0
  545. casadi/include/eigen3/Eigen/src/Core/arch/NEON/Complex.h +584 -0
  546. casadi/include/eigen3/Eigen/src/Core/arch/NEON/GeneralBlockPanelKernel.h +183 -0
  547. casadi/include/eigen3/Eigen/src/Core/arch/NEON/MathFunctions.h +75 -0
  548. casadi/include/eigen3/Eigen/src/Core/arch/NEON/PacketMath.h +4587 -0
  549. casadi/include/eigen3/Eigen/src/Core/arch/NEON/TypeCasting.h +1419 -0
  550. casadi/include/eigen3/Eigen/src/Core/arch/SSE/Complex.h +351 -0
  551. casadi/include/eigen3/Eigen/src/Core/arch/SSE/MathFunctions.h +199 -0
  552. casadi/include/eigen3/Eigen/src/Core/arch/SSE/PacketMath.h +1505 -0
  553. casadi/include/eigen3/Eigen/src/Core/arch/SSE/TypeCasting.h +142 -0
  554. casadi/include/eigen3/Eigen/src/Core/arch/SVE/MathFunctions.h +44 -0
  555. casadi/include/eigen3/Eigen/src/Core/arch/SVE/PacketMath.h +752 -0
  556. casadi/include/eigen3/Eigen/src/Core/arch/SVE/TypeCasting.h +49 -0
  557. casadi/include/eigen3/Eigen/src/Core/arch/SYCL/InteropHeaders.h +232 -0
  558. casadi/include/eigen3/Eigen/src/Core/arch/SYCL/MathFunctions.h +301 -0
  559. casadi/include/eigen3/Eigen/src/Core/arch/SYCL/PacketMath.h +670 -0
  560. casadi/include/eigen3/Eigen/src/Core/arch/SYCL/SyclMemoryModel.h +694 -0
  561. casadi/include/eigen3/Eigen/src/Core/arch/SYCL/TypeCasting.h +85 -0
  562. casadi/include/eigen3/Eigen/src/Core/arch/ZVector/Complex.h +426 -0
  563. casadi/include/eigen3/Eigen/src/Core/arch/ZVector/MathFunctions.h +233 -0
  564. casadi/include/eigen3/Eigen/src/Core/arch/ZVector/PacketMath.h +1060 -0
  565. casadi/include/eigen3/Eigen/src/Core/functors/AssignmentFunctors.h +177 -0
  566. casadi/include/eigen3/Eigen/src/Core/functors/BinaryFunctors.h +541 -0
  567. casadi/include/eigen3/Eigen/src/Core/functors/NullaryFunctors.h +189 -0
  568. casadi/include/eigen3/Eigen/src/Core/functors/StlFunctors.h +166 -0
  569. casadi/include/eigen3/Eigen/src/Core/functors/TernaryFunctors.h +25 -0
  570. casadi/include/eigen3/Eigen/src/Core/functors/UnaryFunctors.h +1131 -0
  571. casadi/include/eigen3/Eigen/src/Core/products/GeneralBlockPanelKernel.h +2645 -0
  572. casadi/include/eigen3/Eigen/src/Core/products/GeneralMatrixMatrix.h +517 -0
  573. casadi/include/eigen3/Eigen/src/Core/products/GeneralMatrixMatrixTriangular.h +317 -0
  574. casadi/include/eigen3/Eigen/src/Core/products/GeneralMatrixMatrixTriangular_BLAS.h +145 -0
  575. casadi/include/eigen3/Eigen/src/Core/products/GeneralMatrixMatrix_BLAS.h +124 -0
  576. casadi/include/eigen3/Eigen/src/Core/products/GeneralMatrixVector.h +518 -0
  577. casadi/include/eigen3/Eigen/src/Core/products/GeneralMatrixVector_BLAS.h +136 -0
  578. casadi/include/eigen3/Eigen/src/Core/products/Parallelizer.h +180 -0
  579. casadi/include/eigen3/Eigen/src/Core/products/SelfadjointMatrixMatrix.h +544 -0
  580. casadi/include/eigen3/Eigen/src/Core/products/SelfadjointMatrixMatrix_BLAS.h +295 -0
  581. casadi/include/eigen3/Eigen/src/Core/products/SelfadjointMatrixVector.h +262 -0
  582. casadi/include/eigen3/Eigen/src/Core/products/SelfadjointMatrixVector_BLAS.h +118 -0
  583. casadi/include/eigen3/Eigen/src/Core/products/SelfadjointProduct.h +133 -0
  584. casadi/include/eigen3/Eigen/src/Core/products/SelfadjointRank2Update.h +94 -0
  585. casadi/include/eigen3/Eigen/src/Core/products/TriangularMatrixMatrix.h +472 -0
  586. casadi/include/eigen3/Eigen/src/Core/products/TriangularMatrixMatrix_BLAS.h +317 -0
  587. casadi/include/eigen3/Eigen/src/Core/products/TriangularMatrixVector.h +350 -0
  588. casadi/include/eigen3/Eigen/src/Core/products/TriangularMatrixVector_BLAS.h +255 -0
  589. casadi/include/eigen3/Eigen/src/Core/products/TriangularSolverMatrix.h +337 -0
  590. casadi/include/eigen3/Eigen/src/Core/products/TriangularSolverMatrix_BLAS.h +167 -0
  591. casadi/include/eigen3/Eigen/src/Core/products/TriangularSolverVector.h +148 -0
  592. casadi/include/eigen3/Eigen/src/Core/util/BlasUtil.h +583 -0
  593. casadi/include/eigen3/Eigen/src/Core/util/ConfigureVectorization.h +512 -0
  594. casadi/include/eigen3/Eigen/src/Core/util/Constants.h +563 -0
  595. casadi/include/eigen3/Eigen/src/Core/util/DisableStupidWarnings.h +106 -0
  596. casadi/include/eigen3/Eigen/src/Core/util/ForwardDeclarations.h +322 -0
  597. casadi/include/eigen3/Eigen/src/Core/util/IndexedViewHelper.h +186 -0
  598. casadi/include/eigen3/Eigen/src/Core/util/IntegralConstant.h +272 -0
  599. casadi/include/eigen3/Eigen/src/Core/util/MKL_support.h +137 -0
  600. casadi/include/eigen3/Eigen/src/Core/util/Macros.h +1464 -0
  601. casadi/include/eigen3/Eigen/src/Core/util/Memory.h +1163 -0
  602. casadi/include/eigen3/Eigen/src/Core/util/Meta.h +812 -0
  603. casadi/include/eigen3/Eigen/src/Core/util/NonMPL2.h +3 -0
  604. casadi/include/eigen3/Eigen/src/Core/util/ReenableStupidWarnings.h +31 -0
  605. casadi/include/eigen3/Eigen/src/Core/util/ReshapedHelper.h +51 -0
  606. casadi/include/eigen3/Eigen/src/Core/util/StaticAssert.h +221 -0
  607. casadi/include/eigen3/Eigen/src/Core/util/SymbolicIndex.h +293 -0
  608. casadi/include/eigen3/Eigen/src/Core/util/XprHelper.h +856 -0
  609. casadi/include/eigen3/Eigen/src/Eigenvalues/ComplexEigenSolver.h +346 -0
  610. casadi/include/eigen3/Eigen/src/Eigenvalues/ComplexSchur.h +462 -0
  611. casadi/include/eigen3/Eigen/src/Eigenvalues/ComplexSchur_LAPACKE.h +91 -0
  612. casadi/include/eigen3/Eigen/src/Eigenvalues/EigenSolver.h +622 -0
  613. casadi/include/eigen3/Eigen/src/Eigenvalues/GeneralizedEigenSolver.h +418 -0
  614. casadi/include/eigen3/Eigen/src/Eigenvalues/GeneralizedSelfAdjointEigenSolver.h +226 -0
  615. casadi/include/eigen3/Eigen/src/Eigenvalues/HessenbergDecomposition.h +374 -0
  616. casadi/include/eigen3/Eigen/src/Eigenvalues/MatrixBaseEigenvalues.h +158 -0
  617. casadi/include/eigen3/Eigen/src/Eigenvalues/RealQZ.h +657 -0
  618. casadi/include/eigen3/Eigen/src/Eigenvalues/RealSchur.h +558 -0
  619. casadi/include/eigen3/Eigen/src/Eigenvalues/RealSchur_LAPACKE.h +77 -0
  620. casadi/include/eigen3/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h +904 -0
  621. casadi/include/eigen3/Eigen/src/Eigenvalues/SelfAdjointEigenSolver_LAPACKE.h +87 -0
  622. casadi/include/eigen3/Eigen/src/Eigenvalues/Tridiagonalization.h +561 -0
  623. casadi/include/eigen3/Eigen/src/Geometry/AlignedBox.h +486 -0
  624. casadi/include/eigen3/Eigen/src/Geometry/AngleAxis.h +247 -0
  625. casadi/include/eigen3/Eigen/src/Geometry/EulerAngles.h +114 -0
  626. casadi/include/eigen3/Eigen/src/Geometry/Homogeneous.h +501 -0
  627. casadi/include/eigen3/Eigen/src/Geometry/Hyperplane.h +282 -0
  628. casadi/include/eigen3/Eigen/src/Geometry/OrthoMethods.h +235 -0
  629. casadi/include/eigen3/Eigen/src/Geometry/ParametrizedLine.h +232 -0
  630. casadi/include/eigen3/Eigen/src/Geometry/Quaternion.h +870 -0
  631. casadi/include/eigen3/Eigen/src/Geometry/Rotation2D.h +199 -0
  632. casadi/include/eigen3/Eigen/src/Geometry/RotationBase.h +206 -0
  633. casadi/include/eigen3/Eigen/src/Geometry/Scaling.h +188 -0
  634. casadi/include/eigen3/Eigen/src/Geometry/Transform.h +1563 -0
  635. casadi/include/eigen3/Eigen/src/Geometry/Translation.h +202 -0
  636. casadi/include/eigen3/Eigen/src/Geometry/Umeyama.h +166 -0
  637. casadi/include/eigen3/Eigen/src/Geometry/arch/Geometry_SIMD.h +168 -0
  638. casadi/include/eigen3/Eigen/src/Householder/BlockHouseholder.h +110 -0
  639. casadi/include/eigen3/Eigen/src/Householder/Householder.h +176 -0
  640. casadi/include/eigen3/Eigen/src/Householder/HouseholderSequence.h +545 -0
  641. casadi/include/eigen3/Eigen/src/IterativeLinearSolvers/BasicPreconditioners.h +226 -0
  642. casadi/include/eigen3/Eigen/src/IterativeLinearSolvers/BiCGSTAB.h +212 -0
  643. casadi/include/eigen3/Eigen/src/IterativeLinearSolvers/ConjugateGradient.h +229 -0
  644. casadi/include/eigen3/Eigen/src/IterativeLinearSolvers/IncompleteCholesky.h +394 -0
  645. casadi/include/eigen3/Eigen/src/IterativeLinearSolvers/IncompleteLUT.h +453 -0
  646. casadi/include/eigen3/Eigen/src/IterativeLinearSolvers/IterativeSolverBase.h +444 -0
  647. casadi/include/eigen3/Eigen/src/IterativeLinearSolvers/LeastSquareConjugateGradient.h +198 -0
  648. casadi/include/eigen3/Eigen/src/IterativeLinearSolvers/SolveWithGuess.h +117 -0
  649. casadi/include/eigen3/Eigen/src/Jacobi/Jacobi.h +483 -0
  650. casadi/include/eigen3/Eigen/src/KLUSupport/KLUSupport.h +358 -0
  651. casadi/include/eigen3/Eigen/src/LU/Determinant.h +117 -0
  652. casadi/include/eigen3/Eigen/src/LU/FullPivLU.h +877 -0
  653. casadi/include/eigen3/Eigen/src/LU/InverseImpl.h +432 -0
  654. casadi/include/eigen3/Eigen/src/LU/PartialPivLU.h +624 -0
  655. casadi/include/eigen3/Eigen/src/LU/PartialPivLU_LAPACKE.h +83 -0
  656. casadi/include/eigen3/Eigen/src/LU/arch/InverseSize4.h +351 -0
  657. casadi/include/eigen3/Eigen/src/MetisSupport/MetisSupport.h +137 -0
  658. casadi/include/eigen3/Eigen/src/OrderingMethods/Amd.h +435 -0
  659. casadi/include/eigen3/Eigen/src/OrderingMethods/Eigen_Colamd.h +1863 -0
  660. casadi/include/eigen3/Eigen/src/OrderingMethods/Ordering.h +153 -0
  661. casadi/include/eigen3/Eigen/src/PaStiXSupport/PaStiXSupport.h +678 -0
  662. casadi/include/eigen3/Eigen/src/PardisoSupport/PardisoSupport.h +545 -0
  663. casadi/include/eigen3/Eigen/src/QR/ColPivHouseholderQR.h +674 -0
  664. casadi/include/eigen3/Eigen/src/QR/ColPivHouseholderQR_LAPACKE.h +97 -0
  665. casadi/include/eigen3/Eigen/src/QR/CompleteOrthogonalDecomposition.h +635 -0
  666. casadi/include/eigen3/Eigen/src/QR/FullPivHouseholderQR.h +713 -0
  667. casadi/include/eigen3/Eigen/src/QR/HouseholderQR.h +434 -0
  668. casadi/include/eigen3/Eigen/src/QR/HouseholderQR_LAPACKE.h +68 -0
  669. casadi/include/eigen3/Eigen/src/SPQRSupport/SuiteSparseQRSupport.h +335 -0
  670. casadi/include/eigen3/Eigen/src/SVD/BDCSVD.h +1366 -0
  671. casadi/include/eigen3/Eigen/src/SVD/JacobiSVD.h +812 -0
  672. casadi/include/eigen3/Eigen/src/SVD/JacobiSVD_LAPACKE.h +91 -0
  673. casadi/include/eigen3/Eigen/src/SVD/SVDBase.h +376 -0
  674. casadi/include/eigen3/Eigen/src/SVD/UpperBidiagonalization.h +414 -0
  675. casadi/include/eigen3/Eigen/src/SparseCholesky/SimplicialCholesky.h +697 -0
  676. casadi/include/eigen3/Eigen/src/SparseCholesky/SimplicialCholesky_impl.h +174 -0
  677. casadi/include/eigen3/Eigen/src/SparseCore/AmbiVector.h +378 -0
  678. casadi/include/eigen3/Eigen/src/SparseCore/CompressedStorage.h +274 -0
  679. casadi/include/eigen3/Eigen/src/SparseCore/ConservativeSparseSparseProduct.h +352 -0
  680. casadi/include/eigen3/Eigen/src/SparseCore/MappedSparseMatrix.h +67 -0
  681. casadi/include/eigen3/Eigen/src/SparseCore/SparseAssign.h +270 -0
  682. casadi/include/eigen3/Eigen/src/SparseCore/SparseBlock.h +571 -0
  683. casadi/include/eigen3/Eigen/src/SparseCore/SparseColEtree.h +206 -0
  684. casadi/include/eigen3/Eigen/src/SparseCore/SparseCompressedBase.h +370 -0
  685. casadi/include/eigen3/Eigen/src/SparseCore/SparseCwiseBinaryOp.h +722 -0
  686. casadi/include/eigen3/Eigen/src/SparseCore/SparseCwiseUnaryOp.h +150 -0
  687. casadi/include/eigen3/Eigen/src/SparseCore/SparseDenseProduct.h +342 -0
  688. casadi/include/eigen3/Eigen/src/SparseCore/SparseDiagonalProduct.h +138 -0
  689. casadi/include/eigen3/Eigen/src/SparseCore/SparseDot.h +98 -0
  690. casadi/include/eigen3/Eigen/src/SparseCore/SparseFuzzy.h +29 -0
  691. casadi/include/eigen3/Eigen/src/SparseCore/SparseMap.h +305 -0
  692. casadi/include/eigen3/Eigen/src/SparseCore/SparseMatrix.h +1518 -0
  693. casadi/include/eigen3/Eigen/src/SparseCore/SparseMatrixBase.h +398 -0
  694. casadi/include/eigen3/Eigen/src/SparseCore/SparsePermutation.h +178 -0
  695. casadi/include/eigen3/Eigen/src/SparseCore/SparseProduct.h +181 -0
  696. casadi/include/eigen3/Eigen/src/SparseCore/SparseRedux.h +49 -0
  697. casadi/include/eigen3/Eigen/src/SparseCore/SparseRef.h +397 -0
  698. casadi/include/eigen3/Eigen/src/SparseCore/SparseSelfAdjointView.h +659 -0
  699. casadi/include/eigen3/Eigen/src/SparseCore/SparseSolverBase.h +124 -0
  700. casadi/include/eigen3/Eigen/src/SparseCore/SparseSparseProductWithPruning.h +198 -0
  701. casadi/include/eigen3/Eigen/src/SparseCore/SparseTranspose.h +92 -0
  702. casadi/include/eigen3/Eigen/src/SparseCore/SparseTriangularView.h +189 -0
  703. casadi/include/eigen3/Eigen/src/SparseCore/SparseUtil.h +186 -0
  704. casadi/include/eigen3/Eigen/src/SparseCore/SparseVector.h +478 -0
  705. casadi/include/eigen3/Eigen/src/SparseCore/SparseView.h +254 -0
  706. casadi/include/eigen3/Eigen/src/SparseCore/TriangularSolver.h +315 -0
  707. casadi/include/eigen3/Eigen/src/SparseLU/SparseLU.h +923 -0
  708. casadi/include/eigen3/Eigen/src/SparseLU/SparseLUImpl.h +66 -0
  709. casadi/include/eigen3/Eigen/src/SparseLU/SparseLU_Memory.h +226 -0
  710. casadi/include/eigen3/Eigen/src/SparseLU/SparseLU_Structs.h +110 -0
  711. casadi/include/eigen3/Eigen/src/SparseLU/SparseLU_SupernodalMatrix.h +375 -0
  712. casadi/include/eigen3/Eigen/src/SparseLU/SparseLU_Utils.h +80 -0
  713. casadi/include/eigen3/Eigen/src/SparseLU/SparseLU_column_bmod.h +181 -0
  714. casadi/include/eigen3/Eigen/src/SparseLU/SparseLU_column_dfs.h +179 -0
  715. casadi/include/eigen3/Eigen/src/SparseLU/SparseLU_copy_to_ucol.h +107 -0
  716. casadi/include/eigen3/Eigen/src/SparseLU/SparseLU_gemm_kernel.h +280 -0
  717. casadi/include/eigen3/Eigen/src/SparseLU/SparseLU_heap_relax_snode.h +126 -0
  718. casadi/include/eigen3/Eigen/src/SparseLU/SparseLU_kernel_bmod.h +130 -0
  719. casadi/include/eigen3/Eigen/src/SparseLU/SparseLU_panel_bmod.h +223 -0
  720. casadi/include/eigen3/Eigen/src/SparseLU/SparseLU_panel_dfs.h +258 -0
  721. casadi/include/eigen3/Eigen/src/SparseLU/SparseLU_pivotL.h +137 -0
  722. casadi/include/eigen3/Eigen/src/SparseLU/SparseLU_pruneL.h +136 -0
  723. casadi/include/eigen3/Eigen/src/SparseLU/SparseLU_relax_snode.h +83 -0
  724. casadi/include/eigen3/Eigen/src/SparseQR/SparseQR.h +758 -0
  725. casadi/include/eigen3/Eigen/src/StlSupport/StdDeque.h +116 -0
  726. casadi/include/eigen3/Eigen/src/StlSupport/StdList.h +106 -0
  727. casadi/include/eigen3/Eigen/src/StlSupport/StdVector.h +131 -0
  728. casadi/include/eigen3/Eigen/src/StlSupport/details.h +84 -0
  729. casadi/include/eigen3/Eigen/src/SuperLUSupport/SuperLUSupport.h +1025 -0
  730. casadi/include/eigen3/Eigen/src/UmfPackSupport/UmfPackSupport.h +642 -0
  731. casadi/include/eigen3/Eigen/src/misc/Image.h +82 -0
  732. casadi/include/eigen3/Eigen/src/misc/Kernel.h +79 -0
  733. casadi/include/eigen3/Eigen/src/misc/RealSvd2x2.h +55 -0
  734. casadi/include/eigen3/Eigen/src/misc/blas.h +440 -0
  735. casadi/include/eigen3/Eigen/src/misc/lapack.h +152 -0
  736. casadi/include/eigen3/Eigen/src/misc/lapacke.h +16292 -0
  737. casadi/include/eigen3/Eigen/src/misc/lapacke_mangling.h +17 -0
  738. casadi/include/eigen3/Eigen/src/plugins/ArrayCwiseBinaryOps.h +358 -0
  739. casadi/include/eigen3/Eigen/src/plugins/ArrayCwiseUnaryOps.h +696 -0
  740. casadi/include/eigen3/Eigen/src/plugins/BlockMethods.h +1442 -0
  741. casadi/include/eigen3/Eigen/src/plugins/CommonCwiseBinaryOps.h +115 -0
  742. casadi/include/eigen3/Eigen/src/plugins/CommonCwiseUnaryOps.h +177 -0
  743. casadi/include/eigen3/Eigen/src/plugins/IndexedViewMethods.h +262 -0
  744. casadi/include/eigen3/Eigen/src/plugins/MatrixCwiseBinaryOps.h +152 -0
  745. casadi/include/eigen3/Eigen/src/plugins/MatrixCwiseUnaryOps.h +95 -0
  746. casadi/include/eigen3/Eigen/src/plugins/ReshapedMethods.h +149 -0
  747. casadi/include/eigen3/signature_of_eigen3_matrix_library +1 -0
  748. casadi/include/eigen3/unsupported/Eigen/AdolcForward +159 -0
  749. casadi/include/eigen3/unsupported/Eigen/AlignedVector3 +234 -0
  750. casadi/include/eigen3/unsupported/Eigen/ArpackSupport +30 -0
  751. casadi/include/eigen3/unsupported/Eigen/AutoDiff +46 -0
  752. casadi/include/eigen3/unsupported/Eigen/BVH +95 -0
  753. casadi/include/eigen3/unsupported/Eigen/CXX11/Tensor +137 -0
  754. casadi/include/eigen3/unsupported/Eigen/CXX11/TensorSymmetry +42 -0
  755. casadi/include/eigen3/unsupported/Eigen/CXX11/ThreadPool +74 -0
  756. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/Tensor.h +554 -0
  757. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorArgMax.h +329 -0
  758. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorAssign.h +247 -0
  759. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorBase.h +1176 -0
  760. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorBlock.h +1559 -0
  761. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorBroadcasting.h +1093 -0
  762. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorChipping.h +518 -0
  763. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorConcatenation.h +377 -0
  764. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContraction.h +1023 -0
  765. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionBlocking.h +73 -0
  766. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionCuda.h +6 -0
  767. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionGpu.h +1413 -0
  768. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionMapper.h +575 -0
  769. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionSycl.h +1650 -0
  770. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionThreadPool.h +1679 -0
  771. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorConversion.h +456 -0
  772. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorConvolution.h +1132 -0
  773. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorConvolutionSycl.h +544 -0
  774. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorCostModel.h +214 -0
  775. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorCustomOp.h +347 -0
  776. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDevice.h +137 -0
  777. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceCuda.h +6 -0
  778. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceDefault.h +104 -0
  779. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceGpu.h +389 -0
  780. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceSycl.h +1048 -0
  781. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceThreadPool.h +409 -0
  782. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDimensionList.h +236 -0
  783. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDimensions.h +490 -0
  784. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorEvalTo.h +236 -0
  785. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorEvaluator.h +983 -0
  786. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorExecutor.h +703 -0
  787. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorExpr.h +388 -0
  788. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorFFT.h +669 -0
  789. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorFixedSize.h +379 -0
  790. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorForcedEval.h +237 -0
  791. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorForwardDeclarations.h +191 -0
  792. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorFunctors.h +488 -0
  793. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorGenerator.h +302 -0
  794. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorGlobalFunctions.h +33 -0
  795. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorGpuHipCudaDefines.h +99 -0
  796. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorGpuHipCudaUndefines.h +44 -0
  797. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorIO.h +79 -0
  798. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorImagePatch.h +603 -0
  799. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorIndexList.h +738 -0
  800. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorInflation.h +247 -0
  801. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorInitializer.h +82 -0
  802. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorIntDiv.h +263 -0
  803. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorLayoutSwap.h +216 -0
  804. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorMacros.h +98 -0
  805. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorMap.h +327 -0
  806. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorMeta.h +311 -0
  807. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorMorphing.h +1102 -0
  808. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorPadding.h +708 -0
  809. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorPatch.h +291 -0
  810. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorRandom.h +322 -0
  811. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReduction.h +998 -0
  812. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReductionCuda.h +6 -0
  813. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReductionGpu.h +966 -0
  814. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReductionSycl.h +582 -0
  815. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorRef.h +454 -0
  816. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReverse.h +465 -0
  817. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorScan.h +528 -0
  818. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorScanSycl.h +513 -0
  819. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorShuffling.h +471 -0
  820. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorStorage.h +161 -0
  821. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorStriding.h +346 -0
  822. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorTrace.h +303 -0
  823. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorTraits.h +264 -0
  824. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorUInt128.h +249 -0
  825. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorVolumePatch.h +629 -0
  826. casadi/include/eigen3/unsupported/Eigen/CXX11/src/TensorSymmetry/DynamicSymmetry.h +293 -0
  827. casadi/include/eigen3/unsupported/Eigen/CXX11/src/TensorSymmetry/StaticSymmetry.h +236 -0
  828. casadi/include/eigen3/unsupported/Eigen/CXX11/src/TensorSymmetry/Symmetry.h +338 -0
  829. casadi/include/eigen3/unsupported/Eigen/CXX11/src/TensorSymmetry/util/TemplateGroupTheory.h +669 -0
  830. casadi/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/Barrier.h +67 -0
  831. casadi/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/EventCount.h +249 -0
  832. casadi/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/NonBlockingThreadPool.h +486 -0
  833. casadi/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/RunQueue.h +236 -0
  834. casadi/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/ThreadCancel.h +23 -0
  835. casadi/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/ThreadEnvironment.h +40 -0
  836. casadi/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/ThreadLocal.h +301 -0
  837. casadi/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/ThreadPoolInterface.h +48 -0
  838. casadi/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/ThreadYield.h +20 -0
  839. casadi/include/eigen3/unsupported/Eigen/CXX11/src/util/CXX11Meta.h +537 -0
  840. casadi/include/eigen3/unsupported/Eigen/CXX11/src/util/CXX11Workarounds.h +88 -0
  841. casadi/include/eigen3/unsupported/Eigen/CXX11/src/util/EmulateArray.h +261 -0
  842. casadi/include/eigen3/unsupported/Eigen/CXX11/src/util/MaxSizeVector.h +158 -0
  843. casadi/include/eigen3/unsupported/Eigen/EulerAngles +43 -0
  844. casadi/include/eigen3/unsupported/Eigen/FFT +419 -0
  845. casadi/include/eigen3/unsupported/Eigen/IterativeSolvers +51 -0
  846. casadi/include/eigen3/unsupported/Eigen/KroneckerProduct +36 -0
  847. casadi/include/eigen3/unsupported/Eigen/LevenbergMarquardt +49 -0
  848. casadi/include/eigen3/unsupported/Eigen/MPRealSupport +213 -0
  849. casadi/include/eigen3/unsupported/Eigen/MatrixFunctions +504 -0
  850. casadi/include/eigen3/unsupported/Eigen/MoreVectorization +24 -0
  851. casadi/include/eigen3/unsupported/Eigen/NonLinearOptimization +140 -0
  852. casadi/include/eigen3/unsupported/Eigen/NumericalDiff +56 -0
  853. casadi/include/eigen3/unsupported/Eigen/OpenGLSupport +322 -0
  854. casadi/include/eigen3/unsupported/Eigen/Polynomials +137 -0
  855. casadi/include/eigen3/unsupported/Eigen/Skyline +39 -0
  856. casadi/include/eigen3/unsupported/Eigen/SparseExtra +54 -0
  857. casadi/include/eigen3/unsupported/Eigen/SpecialFunctions +103 -0
  858. casadi/include/eigen3/unsupported/Eigen/Splines +35 -0
  859. casadi/include/eigen3/unsupported/Eigen/src/AutoDiff/AutoDiffJacobian.h +108 -0
  860. casadi/include/eigen3/unsupported/Eigen/src/AutoDiff/AutoDiffScalar.h +730 -0
  861. casadi/include/eigen3/unsupported/Eigen/src/AutoDiff/AutoDiffVector.h +220 -0
  862. casadi/include/eigen3/unsupported/Eigen/src/BVH/BVAlgorithms.h +293 -0
  863. casadi/include/eigen3/unsupported/Eigen/src/BVH/KdBVH.h +223 -0
  864. casadi/include/eigen3/unsupported/Eigen/src/Eigenvalues/ArpackSelfAdjointEigenSolver.h +790 -0
  865. casadi/include/eigen3/unsupported/Eigen/src/EulerAngles/EulerAngles.h +355 -0
  866. casadi/include/eigen3/unsupported/Eigen/src/EulerAngles/EulerSystem.h +305 -0
  867. casadi/include/eigen3/unsupported/Eigen/src/FFT/ei_fftw_impl.h +261 -0
  868. casadi/include/eigen3/unsupported/Eigen/src/FFT/ei_kissfft_impl.h +449 -0
  869. casadi/include/eigen3/unsupported/Eigen/src/IterativeSolvers/ConstrainedConjGrad.h +187 -0
  870. casadi/include/eigen3/unsupported/Eigen/src/IterativeSolvers/DGMRES.h +511 -0
  871. casadi/include/eigen3/unsupported/Eigen/src/IterativeSolvers/GMRES.h +335 -0
  872. casadi/include/eigen3/unsupported/Eigen/src/IterativeSolvers/IDRS.h +436 -0
  873. casadi/include/eigen3/unsupported/Eigen/src/IterativeSolvers/IncompleteLU.h +90 -0
  874. casadi/include/eigen3/unsupported/Eigen/src/IterativeSolvers/IterationController.h +154 -0
  875. casadi/include/eigen3/unsupported/Eigen/src/IterativeSolvers/MINRES.h +267 -0
  876. casadi/include/eigen3/unsupported/Eigen/src/IterativeSolvers/Scaling.h +193 -0
  877. casadi/include/eigen3/unsupported/Eigen/src/KroneckerProduct/KroneckerTensorProduct.h +305 -0
  878. casadi/include/eigen3/unsupported/Eigen/src/LevenbergMarquardt/LMcovar.h +84 -0
  879. casadi/include/eigen3/unsupported/Eigen/src/LevenbergMarquardt/LMonestep.h +202 -0
  880. casadi/include/eigen3/unsupported/Eigen/src/LevenbergMarquardt/LMpar.h +160 -0
  881. casadi/include/eigen3/unsupported/Eigen/src/LevenbergMarquardt/LMqrsolv.h +188 -0
  882. casadi/include/eigen3/unsupported/Eigen/src/LevenbergMarquardt/LevenbergMarquardt.h +396 -0
  883. casadi/include/eigen3/unsupported/Eigen/src/MatrixFunctions/MatrixExponential.h +441 -0
  884. casadi/include/eigen3/unsupported/Eigen/src/MatrixFunctions/MatrixFunction.h +569 -0
  885. casadi/include/eigen3/unsupported/Eigen/src/MatrixFunctions/MatrixLogarithm.h +373 -0
  886. casadi/include/eigen3/unsupported/Eigen/src/MatrixFunctions/MatrixPower.h +705 -0
  887. casadi/include/eigen3/unsupported/Eigen/src/MatrixFunctions/MatrixSquareRoot.h +368 -0
  888. casadi/include/eigen3/unsupported/Eigen/src/MatrixFunctions/StemFunction.h +117 -0
  889. casadi/include/eigen3/unsupported/Eigen/src/MoreVectorization/MathFunctions.h +95 -0
  890. casadi/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/HybridNonLinearSolver.h +601 -0
  891. casadi/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/LevenbergMarquardt.h +657 -0
  892. casadi/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/chkder.h +66 -0
  893. casadi/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/covar.h +70 -0
  894. casadi/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/dogleg.h +107 -0
  895. casadi/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/fdjac1.h +79 -0
  896. casadi/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/lmpar.h +298 -0
  897. casadi/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/qrsolv.h +91 -0
  898. casadi/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/r1mpyq.h +30 -0
  899. casadi/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/r1updt.h +99 -0
  900. casadi/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/rwupdt.h +49 -0
  901. casadi/include/eigen3/unsupported/Eigen/src/NumericalDiff/NumericalDiff.h +130 -0
  902. casadi/include/eigen3/unsupported/Eigen/src/Polynomials/Companion.h +280 -0
  903. casadi/include/eigen3/unsupported/Eigen/src/Polynomials/PolynomialSolver.h +428 -0
  904. casadi/include/eigen3/unsupported/Eigen/src/Polynomials/PolynomialUtils.h +143 -0
  905. casadi/include/eigen3/unsupported/Eigen/src/Skyline/SkylineInplaceLU.h +352 -0
  906. casadi/include/eigen3/unsupported/Eigen/src/Skyline/SkylineMatrix.h +862 -0
  907. casadi/include/eigen3/unsupported/Eigen/src/Skyline/SkylineMatrixBase.h +212 -0
  908. casadi/include/eigen3/unsupported/Eigen/src/Skyline/SkylineProduct.h +295 -0
  909. casadi/include/eigen3/unsupported/Eigen/src/Skyline/SkylineStorage.h +259 -0
  910. casadi/include/eigen3/unsupported/Eigen/src/Skyline/SkylineUtil.h +89 -0
  911. casadi/include/eigen3/unsupported/Eigen/src/SparseExtra/BlockOfDynamicSparseMatrix.h +122 -0
  912. casadi/include/eigen3/unsupported/Eigen/src/SparseExtra/BlockSparseMatrix.h +1079 -0
  913. casadi/include/eigen3/unsupported/Eigen/src/SparseExtra/DynamicSparseMatrix.h +404 -0
  914. casadi/include/eigen3/unsupported/Eigen/src/SparseExtra/MarketIO.h +282 -0
  915. casadi/include/eigen3/unsupported/Eigen/src/SparseExtra/MatrixMarketIterator.h +247 -0
  916. casadi/include/eigen3/unsupported/Eigen/src/SparseExtra/RandomSetter.h +349 -0
  917. casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsArrayAPI.h +286 -0
  918. casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsBFloat16.h +68 -0
  919. casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h +357 -0
  920. casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsHalf.h +66 -0
  921. casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h +1959 -0
  922. casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsPacketMath.h +118 -0
  923. casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/HipVectorCompatibility.h +67 -0
  924. casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsArrayAPI.h +167 -0
  925. casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsBFloat16.h +58 -0
  926. casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h +330 -0
  927. casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsHalf.h +58 -0
  928. casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h +2045 -0
  929. casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsPacketMath.h +79 -0
  930. casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/AVX/BesselFunctions.h +46 -0
  931. casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/AVX/SpecialFunctions.h +16 -0
  932. casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/AVX512/BesselFunctions.h +46 -0
  933. casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/AVX512/SpecialFunctions.h +16 -0
  934. casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/GPU/SpecialFunctions.h +369 -0
  935. casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/NEON/BesselFunctions.h +54 -0
  936. casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/NEON/SpecialFunctions.h +34 -0
  937. casadi/include/eigen3/unsupported/Eigen/src/Splines/Spline.h +507 -0
  938. casadi/include/eigen3/unsupported/Eigen/src/Splines/SplineFitting.h +431 -0
  939. casadi/include/eigen3/unsupported/Eigen/src/Splines/SplineFwd.h +93 -0
  940. casadi/include/fatrop/auxiliary/Common.hpp +34 -0
  941. casadi/include/fatrop/auxiliary/DynamicLib.hpp +34 -0
  942. casadi/include/fatrop/auxiliary/FatropOptions.hpp +68 -0
  943. casadi/include/fatrop/auxiliary/FatropVector.hpp +143 -0
  944. casadi/include/fatrop/auxiliary/LinearAlgebra.hpp +88 -0
  945. casadi/include/fatrop/auxiliary/VectorUtils.hpp +54 -0
  946. casadi/include/fatrop/blasfeo_wrapper/LinearAlgebraBlasfeo.hpp +493 -0
  947. casadi/include/fatrop/fatrop.hpp +39 -0
  948. casadi/include/fatrop/function_evaluation/CasadiCodegen.hpp +104 -0
  949. casadi/include/fatrop/function_evaluation/FunctionEvaluation.hpp +60 -0
  950. casadi/include/fatrop/json/json.h +946 -0
  951. casadi/include/fatrop/ocp/CasadiCApiUserdataWrap.hpp +87 -0
  952. casadi/include/fatrop/ocp/DuInfEvaluator.hpp +38 -0
  953. casadi/include/fatrop/ocp/FatropOCP.hpp +161 -0
  954. casadi/include/fatrop/ocp/FatropOCPBuilder.hpp +52 -0
  955. casadi/include/fatrop/ocp/FatropOCPResto.hpp +299 -0
  956. casadi/include/fatrop/ocp/OCP.hpp +82 -0
  957. casadi/include/fatrop/ocp/OCPAbstract.hpp +254 -0
  958. casadi/include/fatrop/ocp/OCPAdapter.hpp +197 -0
  959. casadi/include/fatrop/ocp/OCPCInterface.h +289 -0
  960. casadi/include/fatrop/ocp/OCPDims.hpp +60 -0
  961. casadi/include/fatrop/ocp/OCPInitializer.hpp +41 -0
  962. casadi/include/fatrop/ocp/OCPKKT.hpp +69 -0
  963. casadi/include/fatrop/ocp/OCPLSRiccati.hpp +198 -0
  964. casadi/include/fatrop/ocp/OCPLSScaler.hpp +66 -0
  965. casadi/include/fatrop/ocp/OCPLinearSolver.hpp +75 -0
  966. casadi/include/fatrop/ocp/OCPNoScaling.hpp +42 -0
  967. casadi/include/fatrop/ocp/OCPScalingMethod.hpp +42 -0
  968. casadi/include/fatrop/ocp/StageOCP.hpp +592 -0
  969. casadi/include/fatrop/ocp/StageOCPApplication.hpp +242 -0
  970. casadi/include/fatrop/ocp/StageOCPExpressions.hpp +182 -0
  971. casadi/include/fatrop/ocp/UStageEvalAbstract.hpp +168 -0
  972. casadi/include/fatrop/ocp/UStageOCPImpl.hpp +152 -0
  973. casadi/include/fatrop/quasi_newton/bfgs.hpp +159 -0
  974. casadi/include/fatrop/solver/AlgBuilder.hpp +76 -0
  975. casadi/include/fatrop/solver/AlgStrategy.hpp +33 -0
  976. casadi/include/fatrop/solver/FatropAlg.hpp +121 -0
  977. casadi/include/fatrop/solver/FatropData.hpp +188 -0
  978. casadi/include/fatrop/solver/FatropOptions.hpp +95 -0
  979. casadi/include/fatrop/solver/FatropPrinter.hpp +65 -0
  980. casadi/include/fatrop/solver/FatropStats.hpp +63 -0
  981. casadi/include/fatrop/solver/Filter.hpp +54 -0
  982. casadi/include/fatrop/solver/IterationData.hpp +56 -0
  983. casadi/include/fatrop/solver/LineSearch.hpp +86 -0
  984. casadi/include/fatrop/solver/NLPL1.hpp +263 -0
  985. casadi/include/fatrop/templates/NLPAlg.hpp +104 -0
  986. casadi/include/hpipm_aux_mem.h +52 -0
  987. casadi/include/hpipm_aux_string.h +50 -0
  988. casadi/include/hpipm_common.h +76 -0
  989. casadi/include/hpipm_d_cast_qcqp.h +71 -0
  990. casadi/include/hpipm_d_cond.h +135 -0
  991. casadi/include/hpipm_d_cond_aux.h +92 -0
  992. casadi/include/hpipm_d_cond_qcqp.h +129 -0
  993. casadi/include/hpipm_d_core_qp_ipm.h +101 -0
  994. casadi/include/hpipm_d_core_qp_ipm_aux.h +68 -0
  995. casadi/include/hpipm_d_dense_qcqp.h +199 -0
  996. casadi/include/hpipm_d_dense_qcqp_dim.h +98 -0
  997. casadi/include/hpipm_d_dense_qcqp_ipm.h +193 -0
  998. casadi/include/hpipm_d_dense_qcqp_res.h +108 -0
  999. casadi/include/hpipm_d_dense_qcqp_sol.h +85 -0
  1000. casadi/include/hpipm_d_dense_qcqp_utils.h +82 -0
  1001. casadi/include/hpipm_d_dense_qp.h +207 -0
  1002. casadi/include/hpipm_d_dense_qp_dim.h +92 -0
  1003. casadi/include/hpipm_d_dense_qp_ipm.h +260 -0
  1004. casadi/include/hpipm_d_dense_qp_kkt.h +72 -0
  1005. casadi/include/hpipm_d_dense_qp_res.h +106 -0
  1006. casadi/include/hpipm_d_dense_qp_sol.h +94 -0
  1007. casadi/include/hpipm_d_dense_qp_utils.h +83 -0
  1008. casadi/include/hpipm_d_ocp_qcqp.h +322 -0
  1009. casadi/include/hpipm_d_ocp_qcqp_dim.h +130 -0
  1010. casadi/include/hpipm_d_ocp_qcqp_ipm.h +192 -0
  1011. casadi/include/hpipm_d_ocp_qcqp_red.h +118 -0
  1012. casadi/include/hpipm_d_ocp_qcqp_res.h +115 -0
  1013. casadi/include/hpipm_d_ocp_qcqp_sol.h +114 -0
  1014. casadi/include/hpipm_d_ocp_qcqp_utils.h +81 -0
  1015. casadi/include/hpipm_d_ocp_qp.h +306 -0
  1016. casadi/include/hpipm_d_ocp_qp_dim.h +142 -0
  1017. casadi/include/hpipm_d_ocp_qp_ipm.h +252 -0
  1018. casadi/include/hpipm_d_ocp_qp_kkt.h +66 -0
  1019. casadi/include/hpipm_d_ocp_qp_red.h +117 -0
  1020. casadi/include/hpipm_d_ocp_qp_res.h +113 -0
  1021. casadi/include/hpipm_d_ocp_qp_sol.h +128 -0
  1022. casadi/include/hpipm_d_ocp_qp_utils.h +82 -0
  1023. casadi/include/hpipm_d_part_cond.h +115 -0
  1024. casadi/include/hpipm_d_part_cond_qcqp.h +106 -0
  1025. casadi/include/hpipm_d_sim_erk.h +122 -0
  1026. casadi/include/hpipm_d_sim_rk.h +71 -0
  1027. casadi/include/hpipm_d_tree_ocp_qcqp.h +213 -0
  1028. casadi/include/hpipm_d_tree_ocp_qcqp_dim.h +117 -0
  1029. casadi/include/hpipm_d_tree_ocp_qcqp_ipm.h +191 -0
  1030. casadi/include/hpipm_d_tree_ocp_qcqp_res.h +109 -0
  1031. casadi/include/hpipm_d_tree_ocp_qcqp_sol.h +99 -0
  1032. casadi/include/hpipm_d_tree_ocp_qcqp_utils.h +84 -0
  1033. casadi/include/hpipm_d_tree_ocp_qp.h +195 -0
  1034. casadi/include/hpipm_d_tree_ocp_qp_dim.h +111 -0
  1035. casadi/include/hpipm_d_tree_ocp_qp_ipm.h +209 -0
  1036. casadi/include/hpipm_d_tree_ocp_qp_kkt.h +52 -0
  1037. casadi/include/hpipm_d_tree_ocp_qp_res.h +107 -0
  1038. casadi/include/hpipm_d_tree_ocp_qp_sol.h +100 -0
  1039. casadi/include/hpipm_d_tree_ocp_qp_utils.h +83 -0
  1040. casadi/include/hpipm_m_dense_qp.h +68 -0
  1041. casadi/include/hpipm_m_dense_qp_dim.h +68 -0
  1042. casadi/include/hpipm_m_ocp_qp.h +49 -0
  1043. casadi/include/hpipm_m_ocp_qp_ipm_hard.h +115 -0
  1044. casadi/include/hpipm_m_ocp_qp_kkt.h +45 -0
  1045. casadi/include/hpipm_s_cast_qcqp.h +72 -0
  1046. casadi/include/hpipm_s_cond.h +137 -0
  1047. casadi/include/hpipm_s_cond_aux.h +92 -0
  1048. casadi/include/hpipm_s_cond_qcqp.h +130 -0
  1049. casadi/include/hpipm_s_core_qp_ipm.h +101 -0
  1050. casadi/include/hpipm_s_core_qp_ipm_aux.h +68 -0
  1051. casadi/include/hpipm_s_dense_qcqp.h +200 -0
  1052. casadi/include/hpipm_s_dense_qcqp_dim.h +99 -0
  1053. casadi/include/hpipm_s_dense_qcqp_ipm.h +204 -0
  1054. casadi/include/hpipm_s_dense_qcqp_res.h +109 -0
  1055. casadi/include/hpipm_s_dense_qcqp_sol.h +86 -0
  1056. casadi/include/hpipm_s_dense_qcqp_utils.h +83 -0
  1057. casadi/include/hpipm_s_dense_qp.h +207 -0
  1058. casadi/include/hpipm_s_dense_qp_dim.h +94 -0
  1059. casadi/include/hpipm_s_dense_qp_ipm.h +260 -0
  1060. casadi/include/hpipm_s_dense_qp_kkt.h +72 -0
  1061. casadi/include/hpipm_s_dense_qp_res.h +107 -0
  1062. casadi/include/hpipm_s_dense_qp_sol.h +94 -0
  1063. casadi/include/hpipm_s_dense_qp_utils.h +84 -0
  1064. casadi/include/hpipm_s_ocp_qcqp.h +322 -0
  1065. casadi/include/hpipm_s_ocp_qcqp_dim.h +131 -0
  1066. casadi/include/hpipm_s_ocp_qcqp_ipm.h +193 -0
  1067. casadi/include/hpipm_s_ocp_qcqp_red.h +119 -0
  1068. casadi/include/hpipm_s_ocp_qcqp_res.h +116 -0
  1069. casadi/include/hpipm_s_ocp_qcqp_sol.h +115 -0
  1070. casadi/include/hpipm_s_ocp_qcqp_utils.h +82 -0
  1071. casadi/include/hpipm_s_ocp_qp.h +306 -0
  1072. casadi/include/hpipm_s_ocp_qp_dim.h +141 -0
  1073. casadi/include/hpipm_s_ocp_qp_ipm.h +252 -0
  1074. casadi/include/hpipm_s_ocp_qp_kkt.h +66 -0
  1075. casadi/include/hpipm_s_ocp_qp_red.h +118 -0
  1076. casadi/include/hpipm_s_ocp_qp_res.h +115 -0
  1077. casadi/include/hpipm_s_ocp_qp_sol.h +128 -0
  1078. casadi/include/hpipm_s_ocp_qp_utils.h +83 -0
  1079. casadi/include/hpipm_s_part_cond.h +115 -0
  1080. casadi/include/hpipm_s_part_cond_qcqp.h +107 -0
  1081. casadi/include/hpipm_s_sim_erk.h +121 -0
  1082. casadi/include/hpipm_s_sim_rk.h +72 -0
  1083. casadi/include/hpipm_s_tree_ocp_qcqp.h +213 -0
  1084. casadi/include/hpipm_s_tree_ocp_qcqp_dim.h +118 -0
  1085. casadi/include/hpipm_s_tree_ocp_qcqp_ipm.h +192 -0
  1086. casadi/include/hpipm_s_tree_ocp_qcqp_res.h +110 -0
  1087. casadi/include/hpipm_s_tree_ocp_qcqp_sol.h +97 -0
  1088. casadi/include/hpipm_s_tree_ocp_qcqp_utils.h +85 -0
  1089. casadi/include/hpipm_s_tree_ocp_qp.h +196 -0
  1090. casadi/include/hpipm_s_tree_ocp_qp_dim.h +111 -0
  1091. casadi/include/hpipm_s_tree_ocp_qp_ipm.h +208 -0
  1092. casadi/include/hpipm_s_tree_ocp_qp_kkt.h +54 -0
  1093. casadi/include/hpipm_s_tree_ocp_qp_res.h +108 -0
  1094. casadi/include/hpipm_s_tree_ocp_qp_sol.h +98 -0
  1095. casadi/include/hpipm_s_tree_ocp_qp_utils.h +84 -0
  1096. casadi/include/hpipm_scenario_tree.h +70 -0
  1097. casadi/include/hpipm_timing.h +67 -0
  1098. casadi/include/hpipm_tree.h +76 -0
  1099. casadi/include/licenses/FMI-Standard-2.0.2/LICENSE.txt +473 -0
  1100. casadi/include/licenses/FMI-Standard-3.0/LICENSE.txt +464 -0
  1101. casadi/include/licenses/alpaqa-external/LICENSE +165 -0
  1102. casadi/include/licenses/blasfeo-external/LICENSE.txt +26 -0
  1103. casadi/include/licenses/casadi/LICENSE/LICENSE.txt +165 -0
  1104. casadi/include/licenses/casadi-sundials/LICENSE +64 -0
  1105. casadi/include/licenses/casadi-sundials/cvodes/LICENSE +60 -0
  1106. casadi/include/licenses/casadi-sundials/idas/LICENSE +59 -0
  1107. casadi/include/licenses/casadi-sundials/kinsol/LICENSE +59 -0
  1108. casadi/include/licenses/casadi-sundials/sundials/LICENSE +67 -0
  1109. casadi/include/licenses/daqp-external/LICENSE +21 -0
  1110. casadi/include/licenses/fatrop-external/LICENSE.txt +165 -0
  1111. casadi/include/licenses/fatrop-external/external/blasfeo/LICENSE.txt +26 -0
  1112. casadi/include/licenses/fatrop-external/external/pybind11/LICENSE +29 -0
  1113. casadi/include/licenses/hpipm-external/LICENSE.txt +26 -0
  1114. casadi/include/licenses/ipopt-external/LICENSE +260 -0
  1115. casadi/include/licenses/metis-external/LICENSE +87 -0
  1116. casadi/include/licenses/metis-external/metis-4.0/LICENSE +18 -0
  1117. casadi/include/licenses/mockups-external/LICENSE +21 -0
  1118. casadi/include/licenses/mumps-external/LICENSE +87 -0
  1119. casadi/include/licenses/mumps-external/MUMPS/LICENSE +50 -0
  1120. casadi/include/licenses/openblas-external/LICENSE +29 -0
  1121. casadi/include/licenses/openblas-external/ctest/LICENSE +23 -0
  1122. casadi/include/licenses/openblas-external/lapack-netlib/LAPACKE/LICENSE +26 -0
  1123. casadi/include/licenses/openblas-external/lapack-netlib/LICENSE +48 -0
  1124. casadi/include/licenses/openblas-external/reference/LICENSE +23 -0
  1125. casadi/include/licenses/openblas-external/relapack/LICENSE +22 -0
  1126. casadi/include/licenses/openblas-external/test/LICENSE +23 -0
  1127. casadi/include/licenses/osqp-external/LICENSE +201 -0
  1128. casadi/include/licenses/osqp-external/lin_sys/direct/qdldl/amd/LICENSE +36 -0
  1129. casadi/include/licenses/osqp-external/lin_sys/direct/qdldl/qdldl_sources/LICENSE +201 -0
  1130. casadi/include/licenses/proxqp-external/LICENSE +25 -0
  1131. casadi/include/licenses/proxqp-external/bindings/python/external/pybind11/LICENSE +29 -0
  1132. casadi/include/licenses/proxqp-external/cmake-module/LICENSE +4 -0
  1133. casadi/include/licenses/proxqp-external/cmake-module/doxygen/MathJax/LICENSE +202 -0
  1134. casadi/include/licenses/proxqp-external/external/cereal/LICENSE +24 -0
  1135. casadi/include/licenses/proxqp-external/external/cereal/include/cereal/external/LICENSE +21 -0
  1136. casadi/include/licenses/proxqp-external/external/cereal/include/cereal/external/rapidjson/LICENSE +13 -0
  1137. casadi/include/licenses/proxqp-external/external/cereal/include/cereal/external/rapidjson/msinttypes/LICENSE +29 -0
  1138. casadi/include/licenses/qpOASES/LICENSE.txt +503 -0
  1139. casadi/include/licenses/superscs-external/LICENSE.txt +24 -0
  1140. casadi/include/licenses/tinyxml2-9.0.0/LICENSE.txt +18 -0
  1141. casadi/include/openblas/cblas.h +411 -0
  1142. casadi/include/openblas/f77blas.h +796 -0
  1143. casadi/include/openblas/lapack.h +22997 -0
  1144. casadi/include/openblas/lapacke.h +12665 -0
  1145. casadi/include/openblas/lapacke_config.h +119 -0
  1146. casadi/include/openblas/lapacke_example_aux.h +9 -0
  1147. casadi/include/openblas/lapacke_mangling.h +17 -0
  1148. casadi/include/openblas/lapacke_utils.h +582 -0
  1149. casadi/include/openblas/openblas/lapacke_mangling.h +17 -0
  1150. casadi/include/openblas/openblas_config.h +131 -0
  1151. casadi/include/osqp/auxil.h +181 -0
  1152. casadi/include/osqp/constants.h +128 -0
  1153. casadi/include/osqp/cs.h +180 -0
  1154. casadi/include/osqp/ctrlc.h +56 -0
  1155. casadi/include/osqp/error.h +38 -0
  1156. casadi/include/osqp/glob_opts.h +167 -0
  1157. casadi/include/osqp/lin_alg.h +216 -0
  1158. casadi/include/osqp/lin_sys.h +54 -0
  1159. casadi/include/osqp/osqp.h +430 -0
  1160. casadi/include/osqp/osqp_configure.h +49 -0
  1161. casadi/include/osqp/polish.h +25 -0
  1162. casadi/include/osqp/proj.h +37 -0
  1163. casadi/include/osqp/scaling.h +44 -0
  1164. casadi/include/osqp/types.h +326 -0
  1165. casadi/include/osqp/util.h +222 -0
  1166. casadi/include/osqp/version.h +9 -0
  1167. casadi/include/proxsuite/config.hpp +68 -0
  1168. casadi/include/proxsuite/deprecated.hpp +56 -0
  1169. casadi/include/proxsuite/fwd.hpp +52 -0
  1170. casadi/include/proxsuite/helpers/common.hpp +70 -0
  1171. casadi/include/proxsuite/helpers/instruction-set.hpp +275 -0
  1172. casadi/include/proxsuite/helpers/optional.hpp +46 -0
  1173. casadi/include/proxsuite/helpers/tl-optional.hpp +2472 -0
  1174. casadi/include/proxsuite/helpers/version.hpp +39 -0
  1175. casadi/include/proxsuite/linalg/dense/core.hpp +863 -0
  1176. casadi/include/proxsuite/linalg/dense/factorize.hpp +375 -0
  1177. casadi/include/proxsuite/linalg/dense/ldlt.hpp +817 -0
  1178. casadi/include/proxsuite/linalg/dense/modify.hpp +333 -0
  1179. casadi/include/proxsuite/linalg/dense/solve.hpp +38 -0
  1180. casadi/include/proxsuite/linalg/dense/update.hpp +330 -0
  1181. casadi/include/proxsuite/linalg/sparse/core.hpp +531 -0
  1182. casadi/include/proxsuite/linalg/sparse/factorize.hpp +1303 -0
  1183. casadi/include/proxsuite/linalg/sparse/rowmod.hpp +443 -0
  1184. casadi/include/proxsuite/linalg/sparse/update.hpp +348 -0
  1185. casadi/include/proxsuite/linalg/veg/internal/assert_impl.hpp +20 -0
  1186. casadi/include/proxsuite/linalg/veg/internal/collection_algo.hpp +93 -0
  1187. casadi/include/proxsuite/linalg/veg/internal/dbg.hpp +15 -0
  1188. casadi/include/proxsuite/linalg/veg/internal/delete_special_members.hpp +77 -0
  1189. casadi/include/proxsuite/linalg/veg/internal/dyn_index.hpp +292 -0
  1190. casadi/include/proxsuite/linalg/veg/internal/epilogue.hpp +31 -0
  1191. casadi/include/proxsuite/linalg/veg/internal/external/hedley.ext.hpp +2074 -0
  1192. casadi/include/proxsuite/linalg/veg/internal/external/unhedley.ext.hpp +148 -0
  1193. casadi/include/proxsuite/linalg/veg/internal/fix_index.hpp +339 -0
  1194. casadi/include/proxsuite/linalg/veg/internal/has_asan.hpp +17 -0
  1195. casadi/include/proxsuite/linalg/veg/internal/integer_seq.hpp +248 -0
  1196. casadi/include/proxsuite/linalg/veg/internal/macros.hpp +1312 -0
  1197. casadi/include/proxsuite/linalg/veg/internal/narrow.hpp +46 -0
  1198. casadi/include/proxsuite/linalg/veg/internal/preprocessor.hpp +434 -0
  1199. casadi/include/proxsuite/linalg/veg/internal/prologue.hpp +157 -0
  1200. casadi/include/proxsuite/linalg/veg/internal/std.hpp +13 -0
  1201. casadi/include/proxsuite/linalg/veg/internal/terminate.hpp +22 -0
  1202. casadi/include/proxsuite/linalg/veg/internal/typedefs.hpp +58 -0
  1203. casadi/include/proxsuite/linalg/veg/memory/address.hpp +97 -0
  1204. casadi/include/proxsuite/linalg/veg/memory/alloc.hpp +352 -0
  1205. casadi/include/proxsuite/linalg/veg/memory/dynamic_stack.hpp +504 -0
  1206. casadi/include/proxsuite/linalg/veg/memory/placement.hpp +202 -0
  1207. casadi/include/proxsuite/linalg/veg/memory/stack_alloc.hpp +239 -0
  1208. casadi/include/proxsuite/linalg/veg/ref.hpp +148 -0
  1209. casadi/include/proxsuite/linalg/veg/slice.hpp +240 -0
  1210. casadi/include/proxsuite/linalg/veg/tuple.hpp +876 -0
  1211. casadi/include/proxsuite/linalg/veg/type_traits/alloc.hpp +169 -0
  1212. casadi/include/proxsuite/linalg/veg/type_traits/assignable.hpp +53 -0
  1213. casadi/include/proxsuite/linalg/veg/type_traits/constructible.hpp +217 -0
  1214. casadi/include/proxsuite/linalg/veg/type_traits/core.hpp +298 -0
  1215. casadi/include/proxsuite/linalg/veg/type_traits/invocable.hpp +47 -0
  1216. casadi/include/proxsuite/linalg/veg/type_traits/primitives.hpp +43 -0
  1217. casadi/include/proxsuite/linalg/veg/type_traits/tags.hpp +47 -0
  1218. casadi/include/proxsuite/linalg/veg/util/assert.hpp +48 -0
  1219. casadi/include/proxsuite/linalg/veg/util/dbg.hpp +6 -0
  1220. casadi/include/proxsuite/linalg/veg/util/defer.hpp +57 -0
  1221. casadi/include/proxsuite/linalg/veg/util/dynstack_alloc.hpp +19 -0
  1222. casadi/include/proxsuite/linalg/veg/util/get.hpp +153 -0
  1223. casadi/include/proxsuite/linalg/veg/util/index.hpp +6 -0
  1224. casadi/include/proxsuite/linalg/veg/util/unreachable.hpp +41 -0
  1225. casadi/include/proxsuite/linalg/veg/vec.hpp +1034 -0
  1226. casadi/include/proxsuite/proxqp/dense/dense.hpp +10 -0
  1227. casadi/include/proxsuite/proxqp/dense/fwd.hpp +55 -0
  1228. casadi/include/proxsuite/proxqp/dense/helpers.hpp +520 -0
  1229. casadi/include/proxsuite/proxqp/dense/linesearch.hpp +517 -0
  1230. casadi/include/proxsuite/proxqp/dense/model.hpp +147 -0
  1231. casadi/include/proxsuite/proxqp/dense/preconditioner/identity.hpp +113 -0
  1232. casadi/include/proxsuite/proxqp/dense/preconditioner/ruiz.hpp +571 -0
  1233. casadi/include/proxsuite/proxqp/dense/solver.hpp +1330 -0
  1234. casadi/include/proxsuite/proxqp/dense/utils.hpp +415 -0
  1235. casadi/include/proxsuite/proxqp/dense/views.hpp +1466 -0
  1236. casadi/include/proxsuite/proxqp/dense/workspace.hpp +264 -0
  1237. casadi/include/proxsuite/proxqp/dense/wrapper.hpp +491 -0
  1238. casadi/include/proxsuite/proxqp/results.hpp +212 -0
  1239. casadi/include/proxsuite/proxqp/settings.hpp +302 -0
  1240. casadi/include/proxsuite/proxqp/sparse/fwd.hpp +58 -0
  1241. casadi/include/proxsuite/proxqp/sparse/helpers.hpp +309 -0
  1242. casadi/include/proxsuite/proxqp/sparse/model.hpp +228 -0
  1243. casadi/include/proxsuite/proxqp/sparse/preconditioner/identity.hpp +64 -0
  1244. casadi/include/proxsuite/proxqp/sparse/preconditioner/ruiz.hpp +569 -0
  1245. casadi/include/proxsuite/proxqp/sparse/solver.hpp +1441 -0
  1246. casadi/include/proxsuite/proxqp/sparse/sparse.hpp +10 -0
  1247. casadi/include/proxsuite/proxqp/sparse/utils.hpp +815 -0
  1248. casadi/include/proxsuite/proxqp/sparse/views.hpp +63 -0
  1249. casadi/include/proxsuite/proxqp/sparse/workspace.hpp +790 -0
  1250. casadi/include/proxsuite/proxqp/sparse/wrapper.hpp +772 -0
  1251. casadi/include/proxsuite/proxqp/status.hpp +46 -0
  1252. casadi/include/proxsuite/proxqp/timings.hpp +101 -0
  1253. casadi/include/proxsuite/proxqp/utils/prints.hpp +47 -0
  1254. casadi/include/proxsuite/proxqp/utils/random_qp_problems.hpp +669 -0
  1255. casadi/include/proxsuite/serialization/archive.hpp +231 -0
  1256. casadi/include/proxsuite/serialization/eigen.hpp +107 -0
  1257. casadi/include/proxsuite/serialization/model.hpp +34 -0
  1258. casadi/include/proxsuite/serialization/results.hpp +74 -0
  1259. casadi/include/proxsuite/serialization/settings.hpp +60 -0
  1260. casadi/include/proxsuite/serialization/wrapper.hpp +24 -0
  1261. casadi/include/proxsuite/warning.hpp +35 -0
  1262. casadi/include/qdldl/qdldl.h +169 -0
  1263. casadi/include/qdldl/qdldl_types.h +23 -0
  1264. casadi/include/s_blas.h +78 -0
  1265. casadi/include/s_blas_64.h +73 -0
  1266. casadi/include/simde/arm/neon/aba.h +208 -0
  1267. casadi/include/simde/arm/neon/abd.h +384 -0
  1268. casadi/include/simde/arm/neon/abdl.h +147 -0
  1269. casadi/include/simde/arm/neon/abs.h +408 -0
  1270. casadi/include/simde/arm/neon/add.h +681 -0
  1271. casadi/include/simde/arm/neon/addl.h +127 -0
  1272. casadi/include/simde/arm/neon/addl_high.h +127 -0
  1273. casadi/include/simde/arm/neon/addlv.h +317 -0
  1274. casadi/include/simde/arm/neon/addv.h +447 -0
  1275. casadi/include/simde/arm/neon/addw.h +222 -0
  1276. casadi/include/simde/arm/neon/addw_high.h +193 -0
  1277. casadi/include/simde/arm/neon/and.h +552 -0
  1278. casadi/include/simde/arm/neon/bic.h +472 -0
  1279. casadi/include/simde/arm/neon/bsl.h +448 -0
  1280. casadi/include/simde/arm/neon/cagt.h +168 -0
  1281. casadi/include/simde/arm/neon/ceq.h +711 -0
  1282. casadi/include/simde/arm/neon/ceqz.h +335 -0
  1283. casadi/include/simde/arm/neon/cge.h +677 -0
  1284. casadi/include/simde/arm/neon/cgez.h +378 -0
  1285. casadi/include/simde/arm/neon/cgt.h +686 -0
  1286. casadi/include/simde/arm/neon/cgtz.h +380 -0
  1287. casadi/include/simde/arm/neon/cle.h +677 -0
  1288. casadi/include/simde/arm/neon/clez.h +378 -0
  1289. casadi/include/simde/arm/neon/cls.h +148 -0
  1290. casadi/include/simde/arm/neon/clt.h +679 -0
  1291. casadi/include/simde/arm/neon/cltz.h +263 -0
  1292. casadi/include/simde/arm/neon/clz.h +423 -0
  1293. casadi/include/simde/arm/neon/cnt.h +145 -0
  1294. casadi/include/simde/arm/neon/combine.h +343 -0
  1295. casadi/include/simde/arm/neon/create.h +186 -0
  1296. casadi/include/simde/arm/neon/cvt.h +492 -0
  1297. casadi/include/simde/arm/neon/dot.h +171 -0
  1298. casadi/include/simde/arm/neon/dot_lane.h +196 -0
  1299. casadi/include/simde/arm/neon/dup_lane.h +702 -0
  1300. casadi/include/simde/arm/neon/dup_n.h +534 -0
  1301. casadi/include/simde/arm/neon/eor.h +552 -0
  1302. casadi/include/simde/arm/neon/ext.h +887 -0
  1303. casadi/include/simde/arm/neon/get_high.h +260 -0
  1304. casadi/include/simde/arm/neon/get_lane.h +499 -0
  1305. casadi/include/simde/arm/neon/get_low.h +276 -0
  1306. casadi/include/simde/arm/neon/hadd.h +287 -0
  1307. casadi/include/simde/arm/neon/hsub.h +287 -0
  1308. casadi/include/simde/arm/neon/ld1.h +399 -0
  1309. casadi/include/simde/arm/neon/ld3.h +609 -0
  1310. casadi/include/simde/arm/neon/ld4.h +448 -0
  1311. casadi/include/simde/arm/neon/max.h +614 -0
  1312. casadi/include/simde/arm/neon/maxnm.h +215 -0
  1313. casadi/include/simde/arm/neon/maxv.h +400 -0
  1314. casadi/include/simde/arm/neon/min.h +660 -0
  1315. casadi/include/simde/arm/neon/minnm.h +215 -0
  1316. casadi/include/simde/arm/neon/minv.h +424 -0
  1317. casadi/include/simde/arm/neon/mla.h +530 -0
  1318. casadi/include/simde/arm/neon/mla_n.h +333 -0
  1319. casadi/include/simde/arm/neon/mlal.h +156 -0
  1320. casadi/include/simde/arm/neon/mlal_high.h +156 -0
  1321. casadi/include/simde/arm/neon/mlal_n.h +128 -0
  1322. casadi/include/simde/arm/neon/mls.h +264 -0
  1323. casadi/include/simde/arm/neon/mlsl.h +124 -0
  1324. casadi/include/simde/arm/neon/mlsl_high.h +124 -0
  1325. casadi/include/simde/arm/neon/mlsl_n.h +96 -0
  1326. casadi/include/simde/arm/neon/movl.h +208 -0
  1327. casadi/include/simde/arm/neon/movl_high.h +126 -0
  1328. casadi/include/simde/arm/neon/movn.h +195 -0
  1329. casadi/include/simde/arm/neon/movn_high.h +125 -0
  1330. casadi/include/simde/arm/neon/mul.h +594 -0
  1331. casadi/include/simde/arm/neon/mul_lane.h +472 -0
  1332. casadi/include/simde/arm/neon/mul_n.h +383 -0
  1333. casadi/include/simde/arm/neon/mull.h +236 -0
  1334. casadi/include/simde/arm/neon/mull_high.h +125 -0
  1335. casadi/include/simde/arm/neon/mull_n.h +158 -0
  1336. casadi/include/simde/arm/neon/mvn.h +426 -0
  1337. casadi/include/simde/arm/neon/neg.h +393 -0
  1338. casadi/include/simde/arm/neon/orn.h +505 -0
  1339. casadi/include/simde/arm/neon/orr.h +552 -0
  1340. casadi/include/simde/arm/neon/padal.h +211 -0
  1341. casadi/include/simde/arm/neon/padd.h +293 -0
  1342. casadi/include/simde/arm/neon/paddl.h +239 -0
  1343. casadi/include/simde/arm/neon/pmax.h +253 -0
  1344. casadi/include/simde/arm/neon/pmin.h +260 -0
  1345. casadi/include/simde/arm/neon/qabs.h +281 -0
  1346. casadi/include/simde/arm/neon/qadd.h +553 -0
  1347. casadi/include/simde/arm/neon/qdmulh.h +125 -0
  1348. casadi/include/simde/arm/neon/qdmull.h +125 -0
  1349. casadi/include/simde/arm/neon/qmovn.h +273 -0
  1350. casadi/include/simde/arm/neon/qmovn_high.h +127 -0
  1351. casadi/include/simde/arm/neon/qmovun.h +159 -0
  1352. casadi/include/simde/arm/neon/qneg.h +301 -0
  1353. casadi/include/simde/arm/neon/qrdmulh.h +165 -0
  1354. casadi/include/simde/arm/neon/qrdmulh_n.h +136 -0
  1355. casadi/include/simde/arm/neon/qshl.h +732 -0
  1356. casadi/include/simde/arm/neon/qsub.h +549 -0
  1357. casadi/include/simde/arm/neon/qtbl.h +455 -0
  1358. casadi/include/simde/arm/neon/qtbx.h +470 -0
  1359. casadi/include/simde/arm/neon/rbit.h +165 -0
  1360. casadi/include/simde/arm/neon/reinterpret.h +3101 -0
  1361. casadi/include/simde/arm/neon/rev16.h +137 -0
  1362. casadi/include/simde/arm/neon/rev32.h +235 -0
  1363. casadi/include/simde/arm/neon/rev64.h +358 -0
  1364. casadi/include/simde/arm/neon/rhadd.h +406 -0
  1365. casadi/include/simde/arm/neon/rnd.h +143 -0
  1366. casadi/include/simde/arm/neon/rndi.h +135 -0
  1367. casadi/include/simde/arm/neon/rndm.h +143 -0
  1368. casadi/include/simde/arm/neon/rndn.h +135 -0
  1369. casadi/include/simde/arm/neon/rndp.h +143 -0
  1370. casadi/include/simde/arm/neon/rshl.h +903 -0
  1371. casadi/include/simde/arm/neon/rshr_n.h +471 -0
  1372. casadi/include/simde/arm/neon/rsra_n.h +209 -0
  1373. casadi/include/simde/arm/neon/set_lane.h +422 -0
  1374. casadi/include/simde/arm/neon/shl.h +805 -0
  1375. casadi/include/simde/arm/neon/shl_n.h +560 -0
  1376. casadi/include/simde/arm/neon/shr_n.h +612 -0
  1377. casadi/include/simde/arm/neon/sra_n.h +202 -0
  1378. casadi/include/simde/arm/neon/st1.h +353 -0
  1379. casadi/include/simde/arm/neon/st1_lane.h +363 -0
  1380. casadi/include/simde/arm/neon/st3.h +426 -0
  1381. casadi/include/simde/arm/neon/st4.h +445 -0
  1382. casadi/include/simde/arm/neon/sub.h +659 -0
  1383. casadi/include/simde/arm/neon/subl.h +127 -0
  1384. casadi/include/simde/arm/neon/subw.h +221 -0
  1385. casadi/include/simde/arm/neon/subw_high.h +222 -0
  1386. casadi/include/simde/arm/neon/tbl.h +224 -0
  1387. casadi/include/simde/arm/neon/tbx.h +247 -0
  1388. casadi/include/simde/arm/neon/trn.h +252 -0
  1389. casadi/include/simde/arm/neon/trn1.h +500 -0
  1390. casadi/include/simde/arm/neon/trn2.h +499 -0
  1391. casadi/include/simde/arm/neon/tst.h +540 -0
  1392. casadi/include/simde/arm/neon/types.h +683 -0
  1393. casadi/include/simde/arm/neon/uqadd.h +325 -0
  1394. casadi/include/simde/arm/neon/uzp.h +252 -0
  1395. casadi/include/simde/arm/neon/uzp1.h +643 -0
  1396. casadi/include/simde/arm/neon/uzp2.h +647 -0
  1397. casadi/include/simde/arm/neon/zip.h +252 -0
  1398. casadi/include/simde/arm/neon/zip1.h +625 -0
  1399. casadi/include/simde/arm/neon/zip2.h +625 -0
  1400. casadi/include/simde/arm/neon.h +166 -0
  1401. casadi/include/simde/check.h +276 -0
  1402. casadi/include/simde/debug-trap.h +85 -0
  1403. casadi/include/simde/hedley.h +1971 -0
  1404. casadi/include/simde/simde-align.h +449 -0
  1405. casadi/include/simde/simde-arch.h +532 -0
  1406. casadi/include/simde/simde-common.h +890 -0
  1407. casadi/include/simde/simde-complex.h +148 -0
  1408. casadi/include/simde/simde-constify.h +397 -0
  1409. casadi/include/simde/simde-detect-clang.h +109 -0
  1410. casadi/include/simde/simde-diagnostic.h +428 -0
  1411. casadi/include/simde/simde-features.h +522 -0
  1412. casadi/include/simde/simde-math.h +1805 -0
  1413. casadi/include/simde/x86/avx.h +6193 -0
  1414. casadi/include/simde/x86/avx2.h +5660 -0
  1415. casadi/include/simde/x86/avx512/2intersect.h +250 -0
  1416. casadi/include/simde/x86/avx512/abs.h +562 -0
  1417. casadi/include/simde/x86/avx512/add.h +641 -0
  1418. casadi/include/simde/x86/avx512/adds.h +390 -0
  1419. casadi/include/simde/x86/avx512/and.h +305 -0
  1420. casadi/include/simde/x86/avx512/andnot.h +193 -0
  1421. casadi/include/simde/x86/avx512/avg.h +258 -0
  1422. casadi/include/simde/x86/avx512/blend.h +293 -0
  1423. casadi/include/simde/x86/avx512/broadcast.h +897 -0
  1424. casadi/include/simde/x86/avx512/cast.h +324 -0
  1425. casadi/include/simde/x86/avx512/cmp.h +587 -0
  1426. casadi/include/simde/x86/avx512/cmpeq.h +179 -0
  1427. casadi/include/simde/x86/avx512/cmpge.h +104 -0
  1428. casadi/include/simde/x86/avx512/cmpgt.h +189 -0
  1429. casadi/include/simde/x86/avx512/cmple.h +103 -0
  1430. casadi/include/simde/x86/avx512/cmplt.h +123 -0
  1431. casadi/include/simde/x86/avx512/copysign.h +86 -0
  1432. casadi/include/simde/x86/avx512/cvt.h +122 -0
  1433. casadi/include/simde/x86/avx512/cvts.h +723 -0
  1434. casadi/include/simde/x86/avx512/div.h +162 -0
  1435. casadi/include/simde/x86/avx512/extract.h +198 -0
  1436. casadi/include/simde/x86/avx512/fmadd.h +136 -0
  1437. casadi/include/simde/x86/avx512/fmsub.h +108 -0
  1438. casadi/include/simde/x86/avx512/fnmadd.h +108 -0
  1439. casadi/include/simde/x86/avx512/fnmsub.h +108 -0
  1440. casadi/include/simde/x86/avx512/insert.h +193 -0
  1441. casadi/include/simde/x86/avx512/kshift.h +152 -0
  1442. casadi/include/simde/x86/avx512/load.h +67 -0
  1443. casadi/include/simde/x86/avx512/loadu.h +113 -0
  1444. casadi/include/simde/x86/avx512/lzcnt.h +209 -0
  1445. casadi/include/simde/x86/avx512/madd.h +155 -0
  1446. casadi/include/simde/x86/avx512/maddubs.h +159 -0
  1447. casadi/include/simde/x86/avx512/max.h +587 -0
  1448. casadi/include/simde/x86/avx512/min.h +587 -0
  1449. casadi/include/simde/x86/avx512/mov.h +859 -0
  1450. casadi/include/simde/x86/avx512/mov_mask.h +372 -0
  1451. casadi/include/simde/x86/avx512/movm.h +460 -0
  1452. casadi/include/simde/x86/avx512/mul.h +279 -0
  1453. casadi/include/simde/x86/avx512/mulhi.h +65 -0
  1454. casadi/include/simde/x86/avx512/mulhrs.h +65 -0
  1455. casadi/include/simde/x86/avx512/mullo.h +117 -0
  1456. casadi/include/simde/x86/avx512/negate.h +88 -0
  1457. casadi/include/simde/x86/avx512/or.h +252 -0
  1458. casadi/include/simde/x86/avx512/packs.h +122 -0
  1459. casadi/include/simde/x86/avx512/packus.h +122 -0
  1460. casadi/include/simde/x86/avx512/permutex2var.h +1645 -0
  1461. casadi/include/simde/x86/avx512/permutexvar.h +1180 -0
  1462. casadi/include/simde/x86/avx512/sad.h +77 -0
  1463. casadi/include/simde/x86/avx512/set.h +477 -0
  1464. casadi/include/simde/x86/avx512/set1.h +331 -0
  1465. casadi/include/simde/x86/avx512/set4.h +140 -0
  1466. casadi/include/simde/x86/avx512/setone.h +66 -0
  1467. casadi/include/simde/x86/avx512/setr.h +144 -0
  1468. casadi/include/simde/x86/avx512/setr4.h +140 -0
  1469. casadi/include/simde/x86/avx512/setzero.h +90 -0
  1470. casadi/include/simde/x86/avx512/shuffle.h +176 -0
  1471. casadi/include/simde/x86/avx512/sll.h +247 -0
  1472. casadi/include/simde/x86/avx512/slli.h +179 -0
  1473. casadi/include/simde/x86/avx512/sllv.h +68 -0
  1474. casadi/include/simde/x86/avx512/sqrt.h +127 -0
  1475. casadi/include/simde/x86/avx512/sra.h +81 -0
  1476. casadi/include/simde/x86/avx512/srai.h +70 -0
  1477. casadi/include/simde/x86/avx512/srav.h +67 -0
  1478. casadi/include/simde/x86/avx512/srl.h +216 -0
  1479. casadi/include/simde/x86/avx512/srli.h +180 -0
  1480. casadi/include/simde/x86/avx512/srlv.h +282 -0
  1481. casadi/include/simde/x86/avx512/store.h +93 -0
  1482. casadi/include/simde/x86/avx512/storeu.h +93 -0
  1483. casadi/include/simde/x86/avx512/sub.h +351 -0
  1484. casadi/include/simde/x86/avx512/subs.h +222 -0
  1485. casadi/include/simde/x86/avx512/test.h +193 -0
  1486. casadi/include/simde/x86/avx512/types.h +380 -0
  1487. casadi/include/simde/x86/avx512/unpackhi.h +380 -0
  1488. casadi/include/simde/x86/avx512/unpacklo.h +104 -0
  1489. casadi/include/simde/x86/avx512/xor.h +263 -0
  1490. casadi/include/simde/x86/avx512/xorsign.h +72 -0
  1491. casadi/include/simde/x86/avx512.h +108 -0
  1492. casadi/include/simde/x86/clmul.h +414 -0
  1493. casadi/include/simde/x86/fma.h +724 -0
  1494. casadi/include/simde/x86/gfni.h +802 -0
  1495. casadi/include/simde/x86/mmx.h +2399 -0
  1496. casadi/include/simde/x86/sse.h +4471 -0
  1497. casadi/include/simde/x86/sse2.h +7389 -0
  1498. casadi/include/simde/x86/sse3.h +499 -0
  1499. casadi/include/simde/x86/sse4.1.h +2216 -0
  1500. casadi/include/simde/x86/sse4.2.h +347 -0
  1501. casadi/include/simde/x86/ssse3.h +1032 -0
  1502. casadi/include/simde/x86/svml.h +12139 -0
  1503. casadi/include/simde/x86/xop.h +3644 -0
  1504. casadi/include/superscs/cones.h +185 -0
  1505. casadi/include/superscs/constants.h +144 -0
  1506. casadi/include/superscs/cs.h +109 -0
  1507. casadi/include/superscs/ctrlc.h +77 -0
  1508. casadi/include/superscs/directions.h +125 -0
  1509. casadi/include/superscs/glbopts.h +240 -0
  1510. casadi/include/superscs/linAlg.h +437 -0
  1511. casadi/include/superscs/linSys.h +205 -0
  1512. casadi/include/superscs/linsys/amatrix.h +77 -0
  1513. casadi/include/superscs/linsys/common.h +49 -0
  1514. casadi/include/superscs/normalize.h +138 -0
  1515. casadi/include/superscs/scs.h +656 -0
  1516. casadi/include/superscs/scs_blas.h +79 -0
  1517. casadi/include/superscs/scs_parser.h +187 -0
  1518. casadi/include/superscs/unit_test_util.h +210 -0
  1519. casadi/include/superscs/util.h +354 -0
  1520. casadi/include/tinyxml2.h +2380 -0
  1521. casadi/lib/cmake/tinyxml2/tinyxml2-config-version.cmake +65 -0
  1522. casadi/lib/cmake/tinyxml2/tinyxml2-config.cmake +57 -0
  1523. casadi/lib/cmake/tinyxml2/tinyxml2-static-targets-release.cmake +19 -0
  1524. casadi/lib/cmake/tinyxml2/tinyxml2-static-targets.cmake +103 -0
  1525. casadi/lib/libtinyxml2.a +0 -0
  1526. casadi/lib/pkgconfig/tinyxml2.pc +10 -0
  1527. casadi/libalpaqa-dl-loader.so +0 -0
  1528. casadi/libalpaqa-dl-loader.so.1.0.0 +0 -0
  1529. casadi/libalpaqa.so +0 -0
  1530. casadi/libalpaqa.so.1.0.0 +0 -0
  1531. casadi/libblasfeo.so +0 -0
  1532. casadi/libcasadi-tp-openblas.so +0 -0
  1533. casadi/libcasadi-tp-openblas.so.0 +0 -0
  1534. casadi/libcasadi-tp-openblas.so.0.3 +0 -0
  1535. casadi/libcasadi.so +0 -0
  1536. casadi/libcasadi.so.3.7 +0 -0
  1537. casadi/libcasadi_conic_cplex.so +0 -0
  1538. casadi/libcasadi_conic_cplex.so.3.7 +0 -0
  1539. casadi/libcasadi_conic_daqp.so +0 -0
  1540. casadi/libcasadi_conic_daqp.so.3.7 +0 -0
  1541. casadi/libcasadi_conic_fatrop.so +0 -0
  1542. casadi/libcasadi_conic_fatrop.so.3.7 +0 -0
  1543. casadi/libcasadi_conic_gurobi.so +0 -0
  1544. casadi/libcasadi_conic_gurobi.so.3.7 +0 -0
  1545. casadi/libcasadi_conic_hpipm.so +0 -0
  1546. casadi/libcasadi_conic_hpipm.so.3.7 +0 -0
  1547. casadi/libcasadi_conic_ipqp.so +0 -0
  1548. casadi/libcasadi_conic_ipqp.so.3.7 +0 -0
  1549. casadi/libcasadi_conic_nlpsol.so +0 -0
  1550. casadi/libcasadi_conic_nlpsol.so.3.7 +0 -0
  1551. casadi/libcasadi_conic_osqp.so +0 -0
  1552. casadi/libcasadi_conic_osqp.so.3.7 +0 -0
  1553. casadi/libcasadi_conic_proxqp.so +0 -0
  1554. casadi/libcasadi_conic_proxqp.so.3.7 +0 -0
  1555. casadi/libcasadi_conic_qpoases.so +0 -0
  1556. casadi/libcasadi_conic_qpoases.so.3.7 +0 -0
  1557. casadi/libcasadi_conic_qrqp.so +0 -0
  1558. casadi/libcasadi_conic_qrqp.so.3.7 +0 -0
  1559. casadi/libcasadi_conic_superscs.so +0 -0
  1560. casadi/libcasadi_conic_superscs.so.3.7 +0 -0
  1561. casadi/libcasadi_importer_shell.so +0 -0
  1562. casadi/libcasadi_importer_shell.so.3.7 +0 -0
  1563. casadi/libcasadi_integrator_collocation.so +0 -0
  1564. casadi/libcasadi_integrator_collocation.so.3.7 +0 -0
  1565. casadi/libcasadi_integrator_cvodes.so +0 -0
  1566. casadi/libcasadi_integrator_cvodes.so.3.7 +0 -0
  1567. casadi/libcasadi_integrator_idas.so +0 -0
  1568. casadi/libcasadi_integrator_idas.so.3.7 +0 -0
  1569. casadi/libcasadi_integrator_rk.so +0 -0
  1570. casadi/libcasadi_integrator_rk.so.3.7 +0 -0
  1571. casadi/libcasadi_interpolant_bspline.so +0 -0
  1572. casadi/libcasadi_interpolant_bspline.so.3.7 +0 -0
  1573. casadi/libcasadi_interpolant_linear.so +0 -0
  1574. casadi/libcasadi_interpolant_linear.so.3.7 +0 -0
  1575. casadi/libcasadi_linsol_csparse.so +0 -0
  1576. casadi/libcasadi_linsol_csparse.so.3.7 +0 -0
  1577. casadi/libcasadi_linsol_csparsecholesky.so +0 -0
  1578. casadi/libcasadi_linsol_csparsecholesky.so.3.7 +0 -0
  1579. casadi/libcasadi_linsol_lapacklu.so +0 -0
  1580. casadi/libcasadi_linsol_lapacklu.so.3.7 +0 -0
  1581. casadi/libcasadi_linsol_lapackqr.so +0 -0
  1582. casadi/libcasadi_linsol_lapackqr.so.3.7 +0 -0
  1583. casadi/libcasadi_linsol_ldl.so +0 -0
  1584. casadi/libcasadi_linsol_ldl.so.3.7 +0 -0
  1585. casadi/libcasadi_linsol_lsqr.so +0 -0
  1586. casadi/libcasadi_linsol_lsqr.so.3.7 +0 -0
  1587. casadi/libcasadi_linsol_ma27.so +0 -0
  1588. casadi/libcasadi_linsol_ma27.so.3.7 +0 -0
  1589. casadi/libcasadi_linsol_mumps.so +0 -0
  1590. casadi/libcasadi_linsol_mumps.so.3.7 +0 -0
  1591. casadi/libcasadi_linsol_qr.so +0 -0
  1592. casadi/libcasadi_linsol_qr.so.3.7 +0 -0
  1593. casadi/libcasadi_linsol_symbolicqr.so +0 -0
  1594. casadi/libcasadi_linsol_symbolicqr.so.3.7 +0 -0
  1595. casadi/libcasadi_linsol_tridiag.so +0 -0
  1596. casadi/libcasadi_linsol_tridiag.so.3.7 +0 -0
  1597. casadi/libcasadi_nlpsol_alpaqa.so +0 -0
  1598. casadi/libcasadi_nlpsol_alpaqa.so.3.7 +0 -0
  1599. casadi/libcasadi_nlpsol_ampl.so +0 -0
  1600. casadi/libcasadi_nlpsol_ampl.so.3.7 +0 -0
  1601. casadi/libcasadi_nlpsol_blocksqp.so +0 -0
  1602. casadi/libcasadi_nlpsol_blocksqp.so.3.7 +0 -0
  1603. casadi/libcasadi_nlpsol_fatrop.so +0 -0
  1604. casadi/libcasadi_nlpsol_fatrop.so.3.7 +0 -0
  1605. casadi/libcasadi_nlpsol_feasiblesqpmethod.so +0 -0
  1606. casadi/libcasadi_nlpsol_feasiblesqpmethod.so.3.7 +0 -0
  1607. casadi/libcasadi_nlpsol_ipopt.so +0 -0
  1608. casadi/libcasadi_nlpsol_ipopt.so.3.7 +0 -0
  1609. casadi/libcasadi_nlpsol_knitro.so +0 -0
  1610. casadi/libcasadi_nlpsol_knitro.so.3.7 +0 -0
  1611. casadi/libcasadi_nlpsol_madnlp.so +0 -0
  1612. casadi/libcasadi_nlpsol_madnlp.so.3.7 +0 -0
  1613. casadi/libcasadi_nlpsol_qrsqp.so +0 -0
  1614. casadi/libcasadi_nlpsol_qrsqp.so.3.7 +0 -0
  1615. casadi/libcasadi_nlpsol_scpgen.so +0 -0
  1616. casadi/libcasadi_nlpsol_scpgen.so.3.7 +0 -0
  1617. casadi/libcasadi_nlpsol_snopt.so +0 -0
  1618. casadi/libcasadi_nlpsol_snopt.so.3.7 +0 -0
  1619. casadi/libcasadi_nlpsol_sqpmethod.so +0 -0
  1620. casadi/libcasadi_nlpsol_sqpmethod.so.3.7 +0 -0
  1621. casadi/libcasadi_nlpsol_worhp.so +0 -0
  1622. casadi/libcasadi_nlpsol_worhp.so.3.7 +0 -0
  1623. casadi/libcasadi_rootfinder_fast_newton.so +0 -0
  1624. casadi/libcasadi_rootfinder_fast_newton.so.3.7 +0 -0
  1625. casadi/libcasadi_rootfinder_kinsol.so +0 -0
  1626. casadi/libcasadi_rootfinder_kinsol.so.3.7 +0 -0
  1627. casadi/libcasadi_rootfinder_newton.so +0 -0
  1628. casadi/libcasadi_rootfinder_newton.so.3.7 +0 -0
  1629. casadi/libcasadi_rootfinder_nlpsol.so +0 -0
  1630. casadi/libcasadi_rootfinder_nlpsol.so.3.7 +0 -0
  1631. casadi/libcasadi_sundials_common.so +0 -0
  1632. casadi/libcasadi_sundials_common.so.3.7 +0 -0
  1633. casadi/libcasadi_xmlfile_tinyxml.so +0 -0
  1634. casadi/libcasadi_xmlfile_tinyxml.so.3.7 +0 -0
  1635. casadi/libcoinmetis.la +41 -0
  1636. casadi/libcoinmetis.so +0 -0
  1637. casadi/libcoinmetis.so.2 +0 -0
  1638. casadi/libcoinmetis.so.2.0.0 +0 -0
  1639. casadi/libcoinmumps.la +41 -0
  1640. casadi/libcoinmumps.so +0 -0
  1641. casadi/libcoinmumps.so.3 +0 -0
  1642. casadi/libcoinmumps.so.3.0.1 +0 -0
  1643. casadi/libcplex_adaptor.so +0 -0
  1644. casadi/libdaqp.so +0 -0
  1645. casadi/libdaqpstat.a +0 -0
  1646. casadi/libfatrop.so +0 -0
  1647. casadi/libgurobi_adaptor.so +0 -0
  1648. casadi/libhpipm.so +0 -0
  1649. casadi/libindirect.a +0 -0
  1650. casadi/libipopt.la +41 -0
  1651. casadi/libipopt.so +0 -0
  1652. casadi/libipopt.so.3 +0 -0
  1653. casadi/libipopt.so.3.14.11 +0 -0
  1654. casadi/liblinsys.a +0 -0
  1655. casadi/libmatlab_ipc.so +0 -0
  1656. casadi/libosqp.a +0 -0
  1657. casadi/libosqp.so +0 -0
  1658. casadi/libqdldl.a +0 -0
  1659. casadi/libqdldl.so +0 -0
  1660. casadi/libsipopt.la +41 -0
  1661. casadi/libsipopt.so +0 -0
  1662. casadi/libsipopt.so.3 +0 -0
  1663. casadi/libsipopt.so.3.14.11 +0 -0
  1664. casadi/libsuperscs.a +0 -0
  1665. casadi/pkgconfig/blas.pc +11 -0
  1666. casadi/pkgconfig/casadi.pc +12 -0
  1667. casadi/pkgconfig/coinmetis.pc +13 -0
  1668. casadi/pkgconfig/coinmumps.pc +15 -0
  1669. casadi/pkgconfig/ipopt.pc +15 -0
  1670. casadi/pkgconfig/lapack.pc +11 -0
  1671. casadi/pkgconfig/openblas.pc +11 -0
  1672. casadi/pkgconfig/proxsuite.pc +22 -0
  1673. casadi/tools/__init__.py +52 -0
  1674. casadi/tools/bounds.py +107 -0
  1675. casadi/tools/graph/__init__.py +35 -0
  1676. casadi/tools/graph/graph.py +747 -0
  1677. casadi/tools/in_out.py +89 -0
  1678. casadi/tools/structure.py +1446 -0
  1679. casadi/tools/structure3.py +1441 -0
  1680. casadi-3.6.7.dist-info/METADATA +45 -0
  1681. casadi-3.6.7.dist-info/RECORD +1683 -0
  1682. casadi-3.6.7.dist-info/WHEEL +4 -0
  1683. dummy.txt +1 -0
@@ -0,0 +1,1347 @@
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
+ *
9
+ * CasADi is free software; you can redistribute it and/or
10
+ * modify it under the terms of the GNU Lesser General Public
11
+ * License as published by the Free Software Foundation; either
12
+ * version 3 of the License, or (at your option) any later version.
13
+ *
14
+ * CasADi is distributed in the hope that it will be useful,
15
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
16
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17
+ * Lesser General Public License for more details.
18
+ *
19
+ * You should have received a copy of the GNU Lesser General Public
20
+ * License along with CasADi; if not, write to the Free Software
21
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
22
+ *
23
+ */
24
+
25
+ #ifndef CASADI_FUNCTION_HPP
26
+ #define CASADI_FUNCTION_HPP
27
+
28
+ #include "sx_elem.hpp"
29
+ #include "mx.hpp"
30
+ #include "printable.hpp"
31
+ #include <exception>
32
+ #include <stack>
33
+
34
+ namespace casadi {
35
+
36
+ #ifndef SWIG
37
+ /** Forward declaration of internal class */
38
+ class FunctionInternal;
39
+ class SerializingStream;
40
+ class DeserializingStream;
41
+ #endif // SWIG
42
+
43
+ /** \brief Function object
44
+
45
+ A Function instance is a general multiple-input, multiple-output function
46
+ where each input and output can be a sparse matrix.\n
47
+
48
+ For an introduction to this class, see the CasADi user guide.\n
49
+
50
+ Function is a reference counted and immutable class; copying a class instance
51
+ is very cheap and its behavior (with some exceptions) is not affected by
52
+ calling its member functions.\n
53
+
54
+ \author Joel Andersson
55
+ \date 2010-2017
56
+
57
+ \identifier{1uw} */
58
+ class CASADI_EXPORT Function :
59
+ public SharedObject,
60
+ public SWIG_IF_ELSE(PrintableCommon, Printable<Function>) {
61
+ public:
62
+ /** \brief Get type name
63
+
64
+ \identifier{1ux} */
65
+ static std::string type_name() {return "Function";}
66
+
67
+ /** \brief Default constructor, null pointer
68
+
69
+ \identifier{1uy} */
70
+ Function();
71
+
72
+ /** \brief Construct from a file
73
+
74
+ \identifier{1uz} */
75
+ Function(const std::string& fname);
76
+
77
+ ///@{
78
+ /** \brief Construct an SX function
79
+
80
+ \identifier{1v0} */
81
+ Function(const std::string& name,
82
+ const std::vector<SX>& ex_in,
83
+ const std::vector<SX>& ex_out,
84
+ const Dict& opts=Dict());
85
+ Function(const std::string& name,
86
+ const std::vector<SX>& ex_in,
87
+ const std::vector<SX>& ex_out,
88
+ const std::vector<std::string>& name_in,
89
+ const std::vector<std::string>& name_out,
90
+ const Dict& opts=Dict());
91
+ Function(const std::string& name, const std::map<std::string, SX>& dict,
92
+ const std::vector<std::string>& name_in,
93
+ const std::vector<std::string>& name_out,
94
+ const Dict& opts=Dict());
95
+ ///@}
96
+
97
+ ///@{
98
+ /** \brief Construct an MX function
99
+
100
+ \identifier{1v1} */
101
+ Function(const std::string& name,
102
+ const std::vector<MX>& ex_in,
103
+ const std::vector<MX>& ex_out,
104
+ const Dict& opts=Dict());
105
+ Function(const std::string& name,
106
+ const std::vector<MX>& ex_in,
107
+ const std::vector<MX>& ex_out,
108
+ const std::vector<std::string>& name_in,
109
+ const std::vector<std::string>& name_out,
110
+ const Dict& opts=Dict());
111
+ Function(const std::string& name, const std::map<std::string, MX>& dict,
112
+ const std::vector<std::string>& name_in,
113
+ const std::vector<std::string>& name_out,
114
+ const Dict& opts=Dict());
115
+ ///@}
116
+
117
+ ///@{
118
+ /** \brief To resolve ambiguity on some compilers
119
+
120
+ \identifier{1v2} */
121
+ #ifndef SWIG
122
+ Function(const std::string& name, SXIList ex_in,
123
+ const SXVector& ex_out, const Dict& opts=Dict());
124
+ Function(const std::string& name, const SXVector& ex_in,
125
+ SXIList ex_out, const Dict& opts=Dict());
126
+ Function(const std::string& name, SXIList ex_in,
127
+ SXIList ex_out, const Dict& opts=Dict());
128
+ Function(const std::string& name, SXIList ex_in, const SXVector& ex_out,
129
+ const StringVector& name_in, const StringVector& name_out,
130
+ const Dict& opts=Dict());
131
+ Function(const std::string& name, const SXVector& ex_in, SXIList ex_out,
132
+ const StringVector& name_in, const StringVector& name_out,
133
+ const Dict& opts=Dict());
134
+ Function(const std::string& name, SXIList ex_in, SXIList ex_out,
135
+ const StringVector& name_in, const StringVector& name_out,
136
+ const Dict& opts=Dict());
137
+ Function(const std::string& name, MXIList ex_in, const MXVector& ex_out,
138
+ const Dict& opts=Dict());
139
+ Function(const std::string& name, const MXVector& ex_in, MXIList ex_out,
140
+ const Dict& opts=Dict());
141
+ Function(const std::string& name, MXIList ex_in, MXIList ex_out,
142
+ const Dict& opts=Dict());
143
+ Function(const std::string& name, MXIList ex_in, const MXVector& ex_out,
144
+ const StringVector& name_in, const StringVector& name_out,
145
+ const Dict& opts=Dict());
146
+ Function(const std::string& name, const MXVector& ex_in, MXIList ex_out,
147
+ const StringVector& name_in, const StringVector& name_out,
148
+ const Dict& opts=Dict());
149
+ Function(const std::string& name, MXIList ex_in, MXIList ex_out,
150
+ const StringVector& name_in, const StringVector& name_out,
151
+ const Dict& opts=Dict());
152
+ #endif // SWIG
153
+ ///@}
154
+
155
+ ///@{
156
+ /** \brief Create a just-in-time compiled function from a C language string
157
+
158
+ * The names and sparsity patterns of all the inputs and outputs must be provided.
159
+ * If sparsities are not provided, all inputs and outputs are assumed to be scalar.
160
+ * Only specify the function body, assuming that input and output nonzeros are
161
+ * stored in arrays with the specified naming convension.
162
+ * The data type used is 'casadi_real', which is typically equal to 'double` or
163
+ * another data type with the same API as 'double'.
164
+ *
165
+ * Inputs may be null pointers. This means that the all entries are zero.
166
+ * Outputs may be null points. This means that the corresponding result can be ignored.
167
+ *
168
+ * If an error occurs in the evaluation, issue "return 1;";
169
+ *
170
+ * The final generated function will have a structure similar to:
171
+ *
172
+ * casadi_int fname(const casadi_real** arg, casadi_real** res, casadi_int* iw,
173
+ casadi_real* w, void* mem) {
174
+ * const casadi_real *x1, *x2;
175
+ * casadi_real *r1, *r2;
176
+ * x1 = *arg++;
177
+ * x2 = *arg++;
178
+ * r1 = *res++;
179
+ * r2 = *res++;
180
+ * <FUNCTION_BODY>
181
+ * return 0;
182
+ * }
183
+ *
184
+ \identifier{1v3} */
185
+ static Function jit(const std::string& name, const std::string& body,
186
+ const std::vector<std::string>& name_in,
187
+ const std::vector<std::string>& name_out,
188
+ const Dict& opts=Dict());
189
+ static Function jit(const std::string& name, const std::string& body,
190
+ const std::vector<std::string>& name_in,
191
+ const std::vector<std::string>& name_out,
192
+ const std::vector<Sparsity>& sparsity_in,
193
+ const std::vector<Sparsity>& sparsity_out,
194
+ const Dict& opts=Dict());
195
+ ///@}
196
+
197
+ /** \brief Destructor
198
+
199
+ \identifier{1v4} */
200
+ ~Function();
201
+
202
+ /** \brief Expand a function to SX
203
+
204
+ \identifier{1v5} */
205
+ ///@{
206
+ Function expand() const;
207
+ Function expand(const std::string& name,
208
+ const Dict& opts=Dict()) const;
209
+ ///@}
210
+
211
+ /// \cond INTERNAL
212
+ #ifndef SWIG
213
+ /** \brief Create from node
214
+
215
+ \identifier{1v6} */
216
+ static Function create(FunctionInternal* node);
217
+
218
+ /** \brief Create from node and initialize
219
+
220
+ \identifier{1v7} */
221
+ static Function create(FunctionInternal* node, const Dict& opts);
222
+ #endif // SWIG
223
+ /// \endcond
224
+
225
+ /** \brief Get the number of function inputs
226
+
227
+ \identifier{1v8} */
228
+ casadi_int n_in() const;
229
+
230
+ /** \brief Get the number of function outputs
231
+
232
+ \identifier{1v9} */
233
+ casadi_int n_out() const;
234
+
235
+ ///@{
236
+ /** \brief Get input dimension
237
+
238
+ \identifier{1va} */
239
+ casadi_int size1_in(casadi_int ind) const;
240
+ casadi_int size1_in(const std::string& iname) const {return size1_in(index_in(iname));}
241
+ casadi_int size2_in(casadi_int ind) const;
242
+ casadi_int size2_in(const std::string& iname) const {return size2_in(index_in(iname));}
243
+ std::pair<casadi_int, casadi_int> size_in(casadi_int ind) const;
244
+ std::pair<casadi_int, casadi_int> size_in(const std::string& iname) const {
245
+ return size_in(index_in(iname));
246
+ }
247
+ ///@}
248
+
249
+ ///@{
250
+ /** \brief Get output dimension
251
+
252
+ \identifier{1vb} */
253
+ casadi_int size1_out(casadi_int ind) const;
254
+ casadi_int size1_out(const std::string& oname) const {return size1_out(index_out(oname));}
255
+ casadi_int size2_out(casadi_int ind) const;
256
+ casadi_int size2_out(const std::string& oname) const {return size2_out(index_out(oname));}
257
+ std::pair<casadi_int, casadi_int> size_out(casadi_int ind) const;
258
+ std::pair<casadi_int, casadi_int> size_out(const std::string& oname) const {
259
+ return size_out(index_out(oname));
260
+ }
261
+ ///@}
262
+
263
+ ///@{
264
+ /** \brief Get number of input nonzeros
265
+ *
266
+ * For a particular input or for all of the inputs
267
+
268
+ \identifier{1vc} */
269
+ casadi_int nnz_in() const;
270
+ casadi_int nnz_in(casadi_int ind) const;
271
+ casadi_int nnz_in(const std::string& iname) const {return nnz_in(index_in(iname));}
272
+ ///@}
273
+
274
+ ///@{
275
+ /** \brief Get number of output nonzeros
276
+ *
277
+ * For a particular output or for all of the outputs
278
+
279
+ \identifier{1vd} */
280
+ casadi_int nnz_out() const;
281
+ casadi_int nnz_out(casadi_int ind) const;
282
+ casadi_int nnz_out(const std::string& oname) const {return nnz_out(index_out(oname));}
283
+ ///@}
284
+
285
+ ///@{
286
+ /** \brief Get number of input elements
287
+ *
288
+ * For a particular input or for all of the inputs
289
+
290
+ \identifier{1ve} */
291
+ casadi_int numel_in() const;
292
+ casadi_int numel_in(casadi_int ind) const;
293
+ casadi_int numel_in(const std::string& iname) const {return numel_in(index_in(iname));}
294
+ ///@}
295
+
296
+ ///@{
297
+ /** \brief Get number of output elements
298
+ *
299
+ * For a particular output or for all of the outputs
300
+
301
+ \identifier{1vf} */
302
+ casadi_int numel_out() const;
303
+ casadi_int numel_out(casadi_int ind) const;
304
+ casadi_int numel_out(const std::string& oname) const {return numel_out(index_out(oname));}
305
+ ///@}
306
+
307
+ /** \brief Get input scheme
308
+
309
+ \identifier{1vg} */
310
+ const std::vector<std::string>& name_in() const;
311
+
312
+ /** \brief Get output scheme
313
+
314
+ \identifier{1vh} */
315
+ const std::vector<std::string>& name_out() const;
316
+
317
+ /** \brief Get input scheme name by index
318
+
319
+ \identifier{1vi} */
320
+ const std::string& name_in(casadi_int ind) const;
321
+
322
+ /** \brief Get output scheme name by index
323
+
324
+ \identifier{1vj} */
325
+ const std::string& name_out(casadi_int ind) const;
326
+
327
+ /** \brief Find the index for a string describing a particular entry of an input scheme
328
+ *
329
+ * example: schemeEntry("x_opt") -> returns NLPSOL_X if FunctionInternal adheres to
330
+ * SCHEME_NLPINput
331
+
332
+ \identifier{1vk} */
333
+ casadi_int index_in(const std::string &name) const;
334
+
335
+ /** \brief Find the index for a string describing a particular entry of an output scheme
336
+ *
337
+ * example: schemeEntry("x_opt") -> returns NLPSOL_X if FunctionInternal adheres to
338
+ * SCHEME_NLPINput
339
+
340
+ \identifier{1vl} */
341
+ casadi_int index_out(const std::string &name) const;
342
+
343
+ /** \brief Get default input value
344
+
345
+ \identifier{1vm} */
346
+ double default_in(casadi_int ind) const;
347
+
348
+ /** \brief Get largest input value
349
+
350
+ \identifier{1vn} */
351
+ double max_in(casadi_int ind) const;
352
+
353
+ /** \brief Get smallest input value
354
+
355
+ \identifier{1vo} */
356
+ double min_in(casadi_int ind) const;
357
+
358
+ /** \brief Get nominal input value
359
+
360
+ \identifier{1vp} */
361
+ std::vector<double> nominal_in(casadi_int ind) const;
362
+
363
+ /** \brief Get nominal output value
364
+
365
+ \identifier{1vq} */
366
+ std::vector<double> nominal_out(casadi_int ind) const;
367
+
368
+ /** \brief Get sparsity of a given input
369
+
370
+ \identifier{1vr} */
371
+ /// @{
372
+ const Sparsity& sparsity_in(casadi_int ind) const;
373
+ const Sparsity& sparsity_in(const std::string& iname) const;
374
+ /// @}
375
+
376
+ /** \brief Get sparsity of a given output
377
+
378
+ \identifier{1vs} */
379
+ /// @{
380
+ const Sparsity& sparsity_out(casadi_int ind) const;
381
+ const Sparsity& sparsity_out(const std::string& iname) const;
382
+ /// @}
383
+
384
+ /** \brief Get differentiability of inputs/output
385
+
386
+ \identifier{1vt} */
387
+ /// @{
388
+ bool is_diff_in(casadi_int ind) const;
389
+ bool is_diff_out(casadi_int ind) const;
390
+ std::vector<bool> is_diff_in() const;
391
+ std::vector<bool> is_diff_out() const;
392
+ /// @}
393
+
394
+ // A linear combination of inputs
395
+ typedef std::map<std::string, std::vector<std::string> > AuxOut;
396
+
397
+ // Factory
398
+ Function factory(const std::string& name,
399
+ const std::vector<std::string>& s_in,
400
+ const std::vector<std::string>& s_out,
401
+ const AuxOut& aux=AuxOut(),
402
+ const Dict& opts=Dict()) const;
403
+
404
+ /** \brief Get oracle
405
+
406
+ \identifier{1vu} */
407
+ Function oracle() const;
408
+
409
+ /** \brief Wrap in an Function instance consisting of only one MX call
410
+
411
+ \identifier{1vv} */
412
+ Function wrap() const;
413
+
414
+ /** \brief Wrap in a Function with options
415
+
416
+ \identifier{1vw} */
417
+ Function wrap_as_needed(const Dict& opts) const;
418
+
419
+ /** \brief Which variables enter with some order
420
+ *
421
+ * \param[in] order Only 1 (linear) and 2 (nonlinear) allowed
422
+ * \param[in] tr Flip the relationship. Return which expressions contain the variables
423
+
424
+ \identifier{1vx} */
425
+ std::vector<bool> which_depends(const std::string& s_in,
426
+ const std::vector<std::string>& s_out,
427
+ casadi_int order=1, bool tr=false) const;
428
+
429
+ /** \brief Print dimensions of inputs and outputs
430
+
431
+ \identifier{1vy} */
432
+ void print_dimensions(std::ostream &stream=casadi::uout()) const;
433
+
434
+ /** \brief Print options to a stream
435
+
436
+ \identifier{1vz} */
437
+ void print_options(std::ostream &stream=casadi::uout()) const;
438
+
439
+ /** \brief Print all information there is to know about a certain option
440
+
441
+ \identifier{1w0} */
442
+ void print_option(const std::string &name, std::ostream &stream = casadi::uout()) const;
443
+
444
+ /** \brief Does a particular option exist
445
+
446
+ \identifier{1w1} */
447
+ bool has_option(const std::string &option_name) const;
448
+
449
+ /** \brief Change option after object creation for debugging
450
+
451
+ * This is only possible for a selected number of options that do not change the numerical
452
+ * results of the computation, e.g. to enable a more verbose output or saving to file.
453
+
454
+ \identifier{1w2} */
455
+ void change_option(const std::string& option_name, const GenericType& option_value);
456
+
457
+ /** \brief Do the derivative functions need nondifferentiated outputs?
458
+
459
+ \identifier{1w3} */
460
+ bool uses_output() const;
461
+
462
+ #ifdef WITH_DEPRECATED_FEATURES
463
+ /** \brief [DEPRECATED] Replaced by Function::factory.
464
+
465
+ \identifier{1w4} */
466
+ Function jacobian_old(casadi_int iind, casadi_int oind) const;
467
+
468
+ /** \brief [DEPRECATED] Replaced by Function::factory.
469
+
470
+ \identifier{1w5} */
471
+ Function hessian_old(casadi_int iind, casadi_int oind) const;
472
+
473
+ ///@{
474
+ /// [DEPRECATED] Get, if necessary generate, the sparsity of a Jacobian block
475
+ const Sparsity sparsity_jac(casadi_int iind, casadi_int oind,
476
+ bool compact=false, bool symmetric=false) const;
477
+ const Sparsity sparsity_jac(const std::string &iind, casadi_int oind=0,
478
+ bool compact=false, bool symmetric=false) const {
479
+ return sparsity_jac(index_in(iind), oind, compact, symmetric);
480
+ }
481
+ const Sparsity sparsity_jac(casadi_int iind, const std::string &oind,
482
+ bool compact=false, bool symmetric=false) const {
483
+ return sparsity_jac(iind, index_out(oind), compact, symmetric);
484
+ }
485
+ const Sparsity sparsity_jac(const std::string &iind, const std::string &oind,
486
+ bool compact=false, bool symmetric=false) const {
487
+ return sparsity_jac(index_in(iind), index_out(oind), compact, symmetric);
488
+ }
489
+ ///@}
490
+ #endif // WITH_DEPRECATED_FEATURES
491
+
492
+ /** \brief Calculate all Jacobian blocks
493
+
494
+ * Generates a function that takes all non-differentiated inputs and outputs
495
+ * and calculates all Jacobian blocks.
496
+ * Inputs that are not needed by the routine are all-zero sparse matrices
497
+ * with the correct dimensions. Output blocks that are not calculated,
498
+ * e.g. if the corresponding input or output is marked non-differentiated
499
+ * are also all-zero sparse.
500
+ * The Jacobian blocks are sorted starting by all the blocks for the first
501
+ * output, then all the blocks for the second output and so on.
502
+ * E.g. f : (x, y) -> (r, s) results in the function
503
+ * jac_f : (x, y, out_r, out_s) -> (jac_r_x, jac_r_y, jac_s_x, jac_s_y)
504
+ *
505
+ * This function is cached.
506
+
507
+ \identifier{1w6} */
508
+ Function jacobian() const;
509
+
510
+ ///@{
511
+ /** \brief Evaluate the function symbolically or numerically
512
+
513
+ \identifier{1w7} */
514
+ void call(const std::vector<DM> &arg, std::vector<DM>& SWIG_OUTPUT(res),
515
+ bool always_inline=false, bool never_inline=false) const;
516
+ void call(const std::vector<SX> &arg, std::vector<SX>& SWIG_OUTPUT(res),
517
+ bool always_inline=false, bool never_inline=false) const;
518
+ void call(const std::vector<MX> &arg, std::vector<MX>& SWIG_OUTPUT(res),
519
+ bool always_inline=false, bool never_inline=false) const;
520
+ void call(const DMDict& arg, DMDict& SWIG_OUTPUT(res),
521
+ bool always_inline=false, bool never_inline=false) const;
522
+ void call(const SXDict& arg, SXDict& SWIG_OUTPUT(res),
523
+ bool always_inline=false, bool never_inline=false) const;
524
+ void call(const MXDict& arg, MXDict& SWIG_OUTPUT(res),
525
+ bool always_inline=false, bool never_inline=false) const;
526
+ ///@}
527
+
528
+ #ifndef SWIG
529
+ /// Check if same as another function
530
+ bool operator==(const Function& f) const;
531
+
532
+ ///@{
533
+ /// Functor shorthand for evaluation
534
+ std::vector<DM> operator()(const std::vector<DM>& arg) const;
535
+ std::vector<SX> operator()(const std::vector<SX>& arg) const;
536
+ std::vector<MX> operator()(const std::vector<MX>& arg) const;
537
+ const DMDict operator()(const DMDict& arg) const;
538
+ const SXDict operator()(const SXDict& arg) const;
539
+ const MXDict operator()(const MXDict& arg) const;
540
+ ///@}
541
+
542
+ ///@{
543
+ /** \brief Evaluate with temporary memory allocation
544
+
545
+ \identifier{1w8} */
546
+ void operator()(std::vector<const double*> arg, std::vector<double*> res) const;
547
+ void operator()(std::vector<const bvec_t*> arg, std::vector<bvec_t*> res) const;
548
+ void operator()(std::vector<const SXElem*> arg, std::vector<SXElem*> res) const;
549
+ template<typename D> void call_gen(std::vector<const D*> arg, std::vector<D*> res) const;
550
+ ///@}
551
+
552
+ ///@{
553
+ /** \brief Supported arguments for numerical evaluation and converters
554
+
555
+ \identifier{1w9} */
556
+ typedef const std::vector<std::vector<double>>& VecArg;
557
+ std::vector<const double*> buf_in(VecArg arg) const;
558
+ typedef std::vector<std::vector<double>>& VecRes;
559
+ std::vector<double*> buf_out(VecRes res) const;
560
+ typedef std::vector<std::vector<double>*> VPrRes;
561
+ std::vector<double*> buf_out(VPrRes res) const;
562
+
563
+ typedef const std::map<std::string, std::vector<double>>& MapArg;
564
+ std::vector<const double*> buf_in(MapArg arg) const;
565
+ typedef std::map<std::string, std::vector<double>>& MapRes;
566
+ std::vector<double*> buf_out(MapRes res) const;
567
+ typedef std::map<std::string, std::vector<double>*> MPrRes;
568
+ std::vector<double*> buf_out(MPrRes res) const;
569
+ ///@}
570
+
571
+ ///@{
572
+ /** \brief Numerical evaluation
573
+
574
+ \identifier{1wa} */
575
+ void operator()(VecArg arg, VecRes res) const { (*this)(buf_in(arg), buf_out(res)); }
576
+ void operator()(VecArg arg, MapRes res) const { (*this)(buf_in(arg), buf_out(res)); }
577
+ void operator()(VecArg arg, VPrRes res) const { (*this)(buf_in(arg), buf_out(res)); }
578
+ void operator()(VecArg arg, MPrRes res) const { (*this)(buf_in(arg), buf_out(res)); }
579
+
580
+ void operator()(MapArg arg, VecRes res) const { (*this)(buf_in(arg), buf_out(res)); }
581
+ void operator()(MapArg arg, MapRes res) const { (*this)(buf_in(arg), buf_out(res)); }
582
+ void operator()(MapArg arg, VPrRes res) const { (*this)(buf_in(arg), buf_out(res)); }
583
+ void operator()(MapArg arg, MPrRes res) const { (*this)(buf_in(arg), buf_out(res)); }
584
+ ///@}
585
+
586
+ ///@{
587
+ /// Functor shorthand for evaluation, single argument (only C++)
588
+ std::vector<DM> operator()(const DM& arg0) const {
589
+ return operator()(std::vector<DM>{arg0});
590
+ }
591
+ std::vector<SX> operator()(const SX& arg0) const {
592
+ return operator()(std::vector<SX>{arg0});
593
+ }
594
+ std::vector<MX> operator()(const MX& arg0) const {
595
+ return operator()(std::vector<MX>{arg0});
596
+ }
597
+ ///@}
598
+
599
+ /** \brief Evaluate memory-less, numerically
600
+
601
+ \identifier{1wb} */
602
+ int operator()(const double** arg, double** res,
603
+ casadi_int* iw, double* w, int mem) const;
604
+
605
+ /** \brief Evaluate numerically with checkout/release
606
+
607
+ \identifier{1wc} */
608
+ int operator()(const double** arg, double** res,
609
+ casadi_int* iw, double* w) const;
610
+
611
+ /** \brief Evaluate memory-less SXElem
612
+
613
+ Same syntax as the double version, allowing use in templated code
614
+
615
+ \identifier{1wd} */
616
+ int operator()(const SXElem** arg, SXElem** res,
617
+ casadi_int* iw, SXElem* w, int mem=0) const;
618
+
619
+ /** \brief Propagate sparsity forward
620
+
621
+ \identifier{1we} */
622
+ int operator()(const bvec_t** arg, bvec_t** res,
623
+ casadi_int* iw, bvec_t* w, int mem=0) const;
624
+
625
+ /** \brief Propagate sparsity backward
626
+
627
+ \identifier{1wf} */
628
+ int rev(bvec_t** arg, bvec_t** res, casadi_int* iw, bvec_t* w, int mem=0) const;
629
+
630
+ /** \brief Propagate sparsity backward with temporary memory allocation
631
+
632
+ \identifier{1wg} */
633
+ int rev(std::vector<bvec_t*> arg, std::vector<bvec_t*> res) const;
634
+
635
+ #endif // SWIG
636
+
637
+ /** \brief Evaluate symbolically in parallel and sum (matrix graph)
638
+
639
+ \param parallelization Type of parallelization used: unroll|serial|openmp
640
+
641
+ \identifier{1wh} */
642
+ std::vector<MX> mapsum(const std::vector<MX > &x,
643
+ const std::string& parallelization="serial") const;
644
+
645
+ ///@{
646
+ /** \brief Create a mapaccumulated version of this function
647
+
648
+ Suppose the function has a signature of:
649
+ \verbatim
650
+ f: (x, u) -> (x_next , y )
651
+ \endverbatim
652
+
653
+ The the mapaccumulated version has the signature:
654
+ \verbatim
655
+ F: (x0, U) -> (X , Y )
656
+
657
+ with
658
+ U: horzcat([u0, u1, ..., u_(N-1)])
659
+ X: horzcat([x1, x2, ..., x_N])
660
+ Y: horzcat([y0, y1, ..., y_(N-1)])
661
+
662
+ and
663
+ x1, y0 <- f(x0, u0)
664
+ x2, y1 <- f(x1, u1)
665
+ ...
666
+ x_N, y_(N-1) <- f(x_(N-1), u_(N-1))
667
+ \endverbatim
668
+
669
+ Mapaccum has the following benefits over writing an equivalent for-loop:
670
+ - much faster at construction time
671
+ - potentially much faster compilation times (for codegen)
672
+ - offers a trade-off between memory and evaluation time
673
+
674
+ The base (settable through the options dictionary, default 10),
675
+ is used to create a tower of function calls,
676
+ containing unrolled for-loops of length maximum base.
677
+
678
+ This technique is much more scalable in terms of memory-usage,
679
+ but slightly slower at evaluation, than a plain for-loop.
680
+ The effect is similar to that of a for-loop with a check-pointing instruction
681
+ after each chunk of iterations with size base.
682
+
683
+ Set base to -1 to unroll all the way; no gains in memory efficiency here.
684
+
685
+ \identifier{1wi} */
686
+ Function mapaccum(const std::string& name, casadi_int N, const Dict& opts = Dict()) const;
687
+ Function mapaccum(const std::string& name, casadi_int N, casadi_int n_accum,
688
+ const Dict& opts = Dict()) const;
689
+ Function mapaccum(const std::string& name, casadi_int n,
690
+ const std::vector<casadi_int>& accum_in,
691
+ const std::vector<casadi_int>& accum_out,
692
+ const Dict& opts=Dict()) const;
693
+ Function mapaccum(const std::string& name, casadi_int n,
694
+ const std::vector<std::string>& accum_in,
695
+ const std::vector<std::string>& accum_out,
696
+ const Dict& opts=Dict()) const;
697
+ Function mapaccum(casadi_int N, const Dict& opts = Dict()) const;
698
+ Function fold(casadi_int N, const Dict& opts = Dict()) const;
699
+ ///@}
700
+
701
+ /** \brief Create a mapped version of this function
702
+
703
+ Suppose the function has a signature of:
704
+ \verbatim
705
+ f: (a, p) -> ( s )
706
+ \endverbatim
707
+
708
+ The the mapped version has the signature:
709
+ \verbatim
710
+ F: (A, P) -> (S )
711
+
712
+ with
713
+ A: horzcat([a0, a1, ..., a_(N-1)])
714
+ P: horzcat([p0, p1, ..., p_(N-1)])
715
+ S: horzcat([s0, s1, ..., s_(N-1)])
716
+ and
717
+ s0 <- f(a0, p0)
718
+ s1 <- f(a1, p1)
719
+ ...
720
+ s_(N-1) <- f(a_(N-1), p_(N-1))
721
+ \endverbatim
722
+
723
+ \param parallelization Type of parallelization used: unroll|serial|openmp
724
+
725
+ \identifier{1wj} */
726
+ Function map(casadi_int n, const std::string& parallelization="serial") const;
727
+ Function map(casadi_int n, const std::string& parallelization,
728
+ casadi_int max_num_threads) const;
729
+
730
+ ///@{
731
+ /** \brief Map with reduction
732
+
733
+ A subset of the inputs are non-repeated and a subset of the outputs summed
734
+ up.
735
+
736
+ \identifier{1wk} */
737
+ Function map(const std::string& name, const std::string& parallelization, casadi_int n,
738
+ const std::vector<casadi_int>& reduce_in,
739
+ const std::vector<casadi_int>& reduce_out,
740
+ const Dict& opts=Dict()) const;
741
+ Function map(const std::string& name, const std::string& parallelization, casadi_int n,
742
+ const std::vector<std::string>& reduce_in,
743
+ const std::vector<std::string>& reduce_out,
744
+ const Dict& opts=Dict()) const;
745
+ Function map(casadi_int n,
746
+ const std::vector<bool>& reduce_in,
747
+ const std::vector<bool>& reduce_out=std::vector<bool>(),
748
+ const Dict& opts=Dict()) const;
749
+ ///@}
750
+
751
+ /** \brief returns a new function with a selection of inputs/outputs of the original
752
+
753
+ \identifier{1wl} */
754
+ Function slice(const std::string& name, const std::vector<casadi_int>& order_in,
755
+ const std::vector<casadi_int>& order_out, const Dict& opts=Dict()) const;
756
+
757
+ /** \brief Constuct a switch function
758
+
759
+ \identifier{1wm} */
760
+ static Function conditional(const std::string& name, const std::vector<Function>& f,
761
+ const Function& f_def, const Dict& opts=Dict());
762
+
763
+ /** \brief Conditional call to a function
764
+
765
+ \identifier{1wn} */
766
+ static Function conditional(const std::string& name,
767
+ const Function& f, const Dict& opts=Dict());
768
+
769
+ /** \brief BSpline evaluator function
770
+ *
771
+ * Requires a known coefficient tensor
772
+
773
+ \identifier{1wo} */
774
+ static Function bspline(const std::string &name,
775
+ const std::vector< std::vector<double> >& knots, const std::vector<double>& coeffs,
776
+ const std::vector<casadi_int>& degree, casadi_int m=1, const Dict& opts=Dict());
777
+
778
+ /** \brief Constructor (if-else)
779
+
780
+ \identifier{1wp} */
781
+ static Function if_else(const std::string& name, const Function& f_true,
782
+ const Function& f_false, const Dict& opts=Dict());
783
+
784
+ /** \brief Get a function that calculates \a nfwd forward derivatives
785
+ *
786
+ * Returns a function with <tt>n_in + n_out + n_in</tt> inputs
787
+ * and <tt>nfwd</tt> outputs.
788
+ * The first <tt>n_in</tt> inputs correspond to nondifferentiated inputs.
789
+ * The next <tt>n_out</tt> inputs correspond to nondifferentiated outputs.
790
+ * and the last <tt>n_in</tt> inputs correspond to forward seeds,
791
+ * stacked horizontally
792
+ * The <tt>n_out</tt> outputs correspond to forward sensitivities,
793
+ * stacked horizontally. *
794
+ * <tt>(n_in = n_in(), n_out = n_out())</tt>
795
+ *
796
+ * The functions returned are cached, meaning that if called multiple timed
797
+ * with the same value, then multiple references to the same function will be returned.
798
+
799
+ \identifier{1wq} */
800
+ Function forward(casadi_int nfwd) const;
801
+
802
+ /** \brief Get a function that calculates \a nadj adjoint derivatives
803
+ *
804
+ * Returns a function with <tt>n_in + n_out + n_out</tt> inputs
805
+ * and <tt>n_in</tt> outputs.
806
+ * The first <tt>n_in</tt> inputs correspond to nondifferentiated inputs.
807
+ * The next <tt>n_out</tt> inputs correspond to nondifferentiated outputs.
808
+ * and the last <tt>n_out</tt> inputs correspond to adjoint seeds,
809
+ * stacked horizontally
810
+ * The <tt>n_in</tt> outputs correspond to adjoint sensitivities,
811
+ * stacked horizontally. *
812
+ * <tt>(n_in = n_in(), n_out = n_out())</tt>
813
+ *
814
+ * <tt>(n_in = n_in(), n_out = n_out())</tt>
815
+ *
816
+ * The functions returned are cached, meaning that if called multiple timed
817
+ * with the same value, then multiple references to the same function will be returned.
818
+
819
+ \identifier{1wr} */
820
+ Function reverse(casadi_int nadj) const;
821
+
822
+ /** \brief Get, if necessary generate, the sparsity of all Jacobian blocks
823
+
824
+ \identifier{1ws} */
825
+ const std::vector<Sparsity>& jac_sparsity(bool compact = false) const;
826
+
827
+ /** \brief Get, if necessary generate, the sparsity of a single Jacobian block
828
+
829
+ \identifier{1wt} */
830
+ Sparsity jac_sparsity(casadi_int oind, casadi_int iind, bool compact = false) const;
831
+
832
+ /** \brief Export / Generate C code for the function
833
+
834
+ \identifier{1wu} */
835
+ std::string generate(const std::string& fname, const Dict& opts=Dict()) const;
836
+
837
+ /** \brief Export / Generate C code for the function
838
+
839
+ \identifier{1wv} */
840
+ std::string generate(const Dict& opts=Dict()) const;
841
+
842
+ /** \brief Export / Generate C code for the dependency function
843
+
844
+ \identifier{1ww} */
845
+ std::string generate_dependencies(const std::string& fname, const Dict& opts=Dict()) const;
846
+
847
+ /** \brief Export an input file that can be passed to generate C code with a main
848
+ *
849
+ * \see generate_out
850
+ * \see convert_in to convert between dict/map and vector
851
+
852
+ \identifier{1wx} */
853
+ /// @{
854
+ void generate_in(const std::string& fname, const std::vector<DM>& arg);
855
+ std::vector<DM> generate_in(const std::string& fname);
856
+ /// @}
857
+
858
+ /** \brief Export an output file that can be checked with generated C code output
859
+ *
860
+ * \see generate_in
861
+ * \see convert_out to convert between dict/map and vector
862
+
863
+ \identifier{1wy} */
864
+ /// @{
865
+ void generate_out(const std::string& fname, const std::vector<DM>& arg);
866
+ std::vector<DM> generate_out(const std::string& fname);
867
+ /// @}
868
+
869
+ /** \brief Export function in specific language
870
+ *
871
+ * Only allowed for (a subset of) SX/MX Functions
872
+
873
+ \identifier{1wz} */
874
+ ///@{
875
+ void export_code(const std::string& lang,
876
+ const std::string &fname, const Dict& options=Dict()) const;
877
+
878
+ #ifndef SWIG
879
+ /** \brief Serialize
880
+
881
+ \identifier{1x0} */
882
+ void serialize(std::ostream &stream, const Dict& opts=Dict()) const;
883
+
884
+ /** \brief Serialize an object
885
+
886
+ \identifier{1x1} */
887
+ void serialize(SerializingStream &s) const;
888
+ #endif
889
+
890
+ /** \brief Serialize
891
+
892
+ \identifier{1x2} */
893
+ std::string serialize(const Dict& opts=Dict()) const;
894
+
895
+ /** \brief Save Function to a file
896
+
897
+ \see load
898
+
899
+ \identifier{240} */
900
+ void save(const std::string &fname, const Dict& opts=Dict()) const;
901
+
902
+ std::string export_code(const std::string& lang, const Dict& options=Dict()) const;
903
+ #ifndef SWIG
904
+ void export_code(const std::string& lang,
905
+ std::ostream &stream, const Dict& options=Dict()) const;
906
+ #endif // SWIG
907
+ ///@}
908
+ #ifndef SWIG
909
+ /// \cond INTERNAL
910
+ /// Get a const pointer to the node
911
+ FunctionInternal* get() const;
912
+
913
+ /// Get a pointer and typecast
914
+ template<typename T>
915
+ T* get() const {
916
+ T* ret = dynamic_cast<T*>(get());
917
+ casadi_assert_dev(ret!=nullptr);
918
+ return ret;
919
+ }
920
+
921
+ /** \brief Const access functions of the node
922
+
923
+ \identifier{1x3} */
924
+ FunctionInternal* operator->() const;
925
+
926
+ /// Check if a particular cast is allowed
927
+ static bool test_cast(const SharedObjectInternal* ptr);
928
+ /// \endcond
929
+ #endif // SWIG
930
+
931
+ /// Get all statistics obtained at the end of the last evaluate call
932
+ Dict stats(int mem=0) const;
933
+
934
+ ///@{
935
+ /** \brief Get symbolic primitives equivalent to the input expressions
936
+
937
+ * There is no guarantee that subsequent calls return unique answers
938
+
939
+ \identifier{1x4} */
940
+ const SX sx_in(casadi_int iind) const;
941
+ const SX sx_in(const std::string& iname) const {
942
+ return sx_in(index_in(iname));
943
+ }
944
+ const std::vector<SX> sx_in() const;
945
+ const MX mx_in(casadi_int ind) const;
946
+ const MX mx_in(const std::string & iname) const {
947
+ return mx_in(index_in(iname));
948
+ }
949
+ const std::vector<MX> mx_in() const;
950
+ ///@}
951
+
952
+ ///@{
953
+ /** \brief Get symbolic primitives equivalent to the output expressions
954
+
955
+ * There is no guarantee that subsequent calls return unique answers
956
+
957
+ \identifier{1x5} */
958
+ const SX sx_out(casadi_int oind) const;
959
+ const SX sx_out(const std::string& oname) const {
960
+ return sx_out(index_out(oname));
961
+ }
962
+ const std::vector<SX> sx_out() const;
963
+ const MX mx_out(casadi_int ind) const;
964
+ const MX mx_out(const std::string& oname) const {
965
+ return mx_out(index_out(oname));
966
+ }
967
+ const std::vector<MX> mx_out() const;
968
+ ///@}
969
+
970
+ /** \brief Convert from/to flat vector of input/output nonzeros
971
+
972
+ \identifier{1x6} */
973
+ /// @{
974
+ std::vector<double> nz_from_in(const std::vector<DM>& arg) const;
975
+ std::vector<double> nz_from_out(const std::vector<DM>& arg) const;
976
+ std::vector<DM> nz_to_in(const std::vector<double>& arg) const;
977
+ std::vector<DM> nz_to_out(const std::vector<double>& arg) const;
978
+ ///@}
979
+
980
+ /** \brief Convert from/to input/output lists/map
981
+ *
982
+ * Will raise an error when an unknown key is used or a list has incorrect size.
983
+ * Does not perform sparsity checking.
984
+
985
+ \identifier{1x7} */
986
+ /// @{
987
+ DMDict convert_in(const std::vector<DM>& arg) const;
988
+ std::vector<DM> convert_in(const DMDict& arg) const;
989
+ DMDict convert_out(const std::vector<DM>& arg) const;
990
+ std::vector<DM> convert_out(const DMDict& arg) const;
991
+ SXDict convert_in(const std::vector<SX>& arg) const;
992
+ std::vector<SX> convert_in(const SXDict& arg) const;
993
+ SXDict convert_out(const std::vector<SX>& arg) const;
994
+ std::vector<SX> convert_out(const SXDict& arg) const;
995
+ MXDict convert_in(const std::vector<MX>& arg) const;
996
+ std::vector<MX> convert_in(const MXDict& arg) const;
997
+ MXDict convert_out(const std::vector<MX>& arg) const;
998
+ std::vector<MX> convert_out(const MXDict& arg) const;
999
+ /// @}
1000
+
1001
+ /** \brief Does the function have free variables
1002
+
1003
+ \identifier{1x8} */
1004
+ bool has_free() const;
1005
+
1006
+ /** \brief Get free variables as a string
1007
+
1008
+ \identifier{1x9} */
1009
+ std::vector<std::string> get_free() const;
1010
+
1011
+ /** \brief Get all the free variables of the function
1012
+
1013
+ \identifier{1xa} */
1014
+ std::vector<SX> free_sx() const;
1015
+
1016
+ /** \brief Get all the free variables of the function
1017
+
1018
+ \identifier{1xb} */
1019
+ std::vector<MX> free_mx() const;
1020
+
1021
+ /** \brief Extract the functions needed for the Lifted Newton method
1022
+
1023
+ \identifier{1xc} */
1024
+ void generate_lifted(Function& SWIG_OUTPUT(vdef_fcn),
1025
+ Function& SWIG_OUTPUT(vinit_fcn)) const;
1026
+
1027
+ /** \brief Number of nodes in the algorithm
1028
+
1029
+ \identifier{1xd} */
1030
+ casadi_int n_nodes() const;
1031
+
1032
+ /** \brief Number of instruction in the algorithm (SXFunction/MXFunction)
1033
+
1034
+ \identifier{1xe} */
1035
+ casadi_int n_instructions() const;
1036
+
1037
+ /** \brief Identifier index of the instruction (SXFunction/MXFunction)
1038
+
1039
+ \identifier{1xf} */
1040
+ casadi_int instruction_id(casadi_int k) const;
1041
+
1042
+ /** \brief Locations in the work vector for the inputs of the instruction
1043
+
1044
+ * (SXFunction/MXFunction)
1045
+
1046
+ \identifier{1xg} */
1047
+ std::vector<casadi_int> instruction_input(casadi_int k) const;
1048
+
1049
+ /** \brief Get the floating point output argument of an instruction (SXFunction)
1050
+
1051
+ \identifier{1xh} */
1052
+ double instruction_constant(casadi_int k) const;
1053
+
1054
+ /** \brief Location in the work vector for the output of the instruction
1055
+
1056
+ * (SXFunction/MXFunction)
1057
+
1058
+ \identifier{1xi} */
1059
+ std::vector<casadi_int> instruction_output(casadi_int k) const;
1060
+
1061
+ /** \brief Get the MX node corresponding to an instruction (MXFunction)
1062
+
1063
+ \identifier{1xj} */
1064
+ MX instruction_MX(casadi_int k) const;
1065
+
1066
+ /** \brief Get the SX node corresponding to all instructions (SXFunction)
1067
+ *
1068
+ * Note: input and output instructions have no SX representation.
1069
+ * This method returns nan for those instructions.
1070
+
1071
+ \identifier{1xk} */
1072
+ SX instructions_sx() const;
1073
+
1074
+ ///@{
1075
+ /** \brief Is the class able to propagate seeds through the algorithm?
1076
+
1077
+ \identifier{1xl} */
1078
+ bool has_spfwd() const;
1079
+ bool has_sprev() const;
1080
+ ///@}
1081
+
1082
+ /** \brief Get required length of arg field
1083
+
1084
+ \identifier{1xm} */
1085
+ size_t sz_arg() const;
1086
+
1087
+ /** \brief Get required length of res field
1088
+
1089
+ \identifier{1xn} */
1090
+ size_t sz_res() const;
1091
+
1092
+ /** \brief Get required length of iw field
1093
+
1094
+ \identifier{1xo} */
1095
+ size_t sz_iw() const;
1096
+
1097
+ /** \brief Get required length of w field
1098
+
1099
+ \identifier{1xp} */
1100
+ size_t sz_w() const;
1101
+
1102
+ #ifndef SWIG
1103
+ /** \brief Get number of temporary variables needed
1104
+
1105
+ \identifier{1xq} */
1106
+ void sz_work(size_t& sz_arg, size_t& sz_res, size_t& sz_iw, size_t& sz_w) const;
1107
+
1108
+ /** \brief Set the (persistent) work vectors
1109
+
1110
+ \identifier{1xr} */
1111
+ void set_work(const double**& arg, double**& res,
1112
+ casadi_int*& iw, double*& w, int mem=0) const;
1113
+
1114
+ /** \brief Set the (temporary) work vectors
1115
+
1116
+ \identifier{1xs} */
1117
+ void set_temp(const double** arg, double** res,
1118
+ casadi_int* iw, double* w, int mem=0) const;
1119
+
1120
+ /** \brief Set the (persistent and temporary) work vectors
1121
+
1122
+ \identifier{1xt} */
1123
+ void setup(const double** arg, double** res, casadi_int* iw, double* w, int mem=0) const;
1124
+
1125
+ /** \brief Call using a map
1126
+
1127
+ \identifier{1xu} */
1128
+ template<typename M>
1129
+ void call_gen(const std::map<std::string, M>& arg, std::map<std::string, M>& res,
1130
+ bool always_inline, bool never_inline) const;
1131
+ #endif // SWIG
1132
+ /// \endcond
1133
+
1134
+ /** \brief Name of the function
1135
+
1136
+ \identifier{1xv} */
1137
+ const std::string& name() const;
1138
+
1139
+ /** \brief Check if the function is of a particular type
1140
+
1141
+ Optionally check if name matches one of the base classes (default true)
1142
+
1143
+ \identifier{1xw} */
1144
+ bool is_a(const std::string& type, bool recursive=true) const;
1145
+
1146
+ /** \brief Check if a string is a valid function name
1147
+
1148
+ * Valid function names consist of
1149
+ *
1150
+ * - At least one character
1151
+ * - Upper and lower case letters: a-zA-Z
1152
+ * - Numbers 0-9, but never as first character
1153
+ * - Underscore, but never as first character and never next to another underscore
1154
+ *
1155
+ * May not be one of the following keywords: "null", "jac", "hess"
1156
+
1157
+ \identifier{1xx} */
1158
+ static bool check_name(const std::string& name);
1159
+
1160
+ /** \brief Turn a string into a valid function name as defined by "check_name"
1161
+
1162
+ * Non-alphanumeric characters are converted into underscores and multiple
1163
+ * consecutive undercores are dropped
1164
+
1165
+ \identifier{1xy} */
1166
+ static std::string fix_name(const std::string& name);
1167
+
1168
+ /** \brief Build function from serialization
1169
+
1170
+ \identifier{1xz} */
1171
+ static Function deserialize(std::istream& stream);
1172
+
1173
+ /** \brief Build function from serialization
1174
+
1175
+ \identifier{1y0} */
1176
+ static Function deserialize(const std::string& s);
1177
+
1178
+ /** \brief Build function from serialization
1179
+
1180
+ \identifier{1y1} */
1181
+ static Function load(const std::string& filename);
1182
+
1183
+ /** \brief Build function from serialization
1184
+
1185
+ \identifier{1y2} */
1186
+ static Function deserialize(DeserializingStream& s);
1187
+
1188
+ /// Assert that an input dimension is equal so some given value
1189
+ void assert_size_in(casadi_int i, casadi_int nrow, casadi_int ncol) const;
1190
+
1191
+ /// Assert that an output dimension is equal so some given value
1192
+ void assert_size_out(casadi_int i, casadi_int nrow, casadi_int ncol) const;
1193
+
1194
+ /// Assert that an output sparsity is a multiple of some given sparsity
1195
+ void assert_sparsity_out(casadi_int i, const Sparsity& sp,
1196
+ casadi_int n = 1, bool allow_all_zero_sparse = true) const;
1197
+
1198
+ /// Checkout a memory object
1199
+ casadi_int checkout() const;
1200
+
1201
+ /// Release a memory object
1202
+ void release(int mem) const;
1203
+
1204
+ #ifndef SWIG
1205
+ /// Get memory object
1206
+ void* memory(int ind) const;
1207
+ #endif // SWIG
1208
+
1209
+ /** \brief Get all functions in the cache
1210
+
1211
+ \identifier{26i} */
1212
+ Dict cache() const;
1213
+
1214
+ /** \brief Get a list of all functions
1215
+
1216
+ \identifier{1y3} */
1217
+ std::vector<std::string> get_function() const;
1218
+
1219
+ /** \brief Get a dependency function
1220
+
1221
+ \identifier{1y4} */
1222
+ Function get_function(const std::string &name) const;
1223
+
1224
+ /** \brief Check if a particular dependency exists
1225
+
1226
+ \identifier{1y5} */
1227
+ bool has_function(const std::string& fname) const;
1228
+
1229
+ /** \brief Get all functions embedded in the expression graphs
1230
+
1231
+ * \param[in] max_depth Maximum depth - a negative number indicates no maximum
1232
+
1233
+ \identifier{1y6} */
1234
+ std::vector<Function> find_functions(casadi_int max_depth = -1) const;
1235
+
1236
+ /** \brief Get a specific function embedded in the expression graphs
1237
+
1238
+ * \param[in] name Name of function needed
1239
+ * \param[in] max_depth Maximum depth - a negative number indicates no maximum
1240
+
1241
+ \identifier{1y7} */
1242
+ Function find_function(const std::string &name, casadi_int max_depth=-1) const;
1243
+
1244
+ /** Obtain information about function */
1245
+ Dict info() const;
1246
+
1247
+ #ifndef SWIG
1248
+ protected:
1249
+ ///@{
1250
+ /** \brief Called by constructors
1251
+
1252
+ \identifier{1y8} */
1253
+ void construct(const std::string& name,
1254
+ const std::vector<SX>& ex_in, const std::vector<SX>& ex_out,
1255
+ const std::vector<std::string>& name_in,
1256
+ const std::vector<std::string>& name_out,
1257
+ const Dict& opts);
1258
+ void construct(const std::string& name,
1259
+ const std::vector<MX>& ex_in, const std::vector<MX>& ex_out,
1260
+ const std::vector<std::string>& name_in,
1261
+ const std::vector<std::string>& name_out,
1262
+ const Dict& opts);
1263
+ template<typename M>
1264
+ void construct(const std::string& name, const std::map<std::string, M>& dict,
1265
+ const std::vector<std::string>& name_in,
1266
+ const std::vector<std::string>& name_out,
1267
+ const Dict& opts);
1268
+ ///@}
1269
+
1270
+ /// Helper function for parsing .casadi files
1271
+ static bool proceed_to(std::istream& file, const std::string& str);
1272
+
1273
+ /// Helper function for mapaccum
1274
+ Function mapaccum(const std::string& name, const std::vector<Function>& chain,
1275
+ casadi_int n_accum=1, const Dict& opts = Dict()) const;
1276
+
1277
+ #ifdef WITH_EXTRA_CHECKS
1278
+ public:
1279
+ // How many times have we passed through
1280
+ // operator()(const double** arg, double** res, casadi_int* iw, double* w, int mem)?
1281
+ static thread_local casadi_int call_depth_;
1282
+ #endif
1283
+
1284
+
1285
+ #endif // SWIG
1286
+
1287
+
1288
+
1289
+ };
1290
+
1291
+
1292
+ /** \brief Class to achieve minimal overhead function evaluations
1293
+
1294
+ \identifier{1y9} */
1295
+ class CASADI_EXPORT FunctionBuffer {
1296
+ Function f_;
1297
+ std::vector<double> w_;
1298
+ std::vector<casadi_int> iw_;
1299
+ std::vector<const double*> arg_;
1300
+ std::vector<double*> res_;
1301
+ FunctionInternal* f_node_;
1302
+ casadi_int mem_;
1303
+ void *mem_internal_;
1304
+ int ret_;
1305
+ public:
1306
+ /** \brief Main constructor
1307
+
1308
+ \identifier{1ya} */
1309
+ FunctionBuffer(const Function& f);
1310
+ #ifndef SWIG
1311
+ ~FunctionBuffer();
1312
+ FunctionBuffer(const FunctionBuffer& f);
1313
+ FunctionBuffer& operator=(const FunctionBuffer& f);
1314
+ #endif // SWIG
1315
+
1316
+ /** \brief Set input buffer for input i
1317
+
1318
+ mem.set_arg(0, memoryview(a))
1319
+
1320
+ Note that CasADi uses 'fortran' order: column-by-column
1321
+
1322
+ \identifier{1yb} */
1323
+ void set_arg(casadi_int i, const double* a, casadi_int size);
1324
+
1325
+ /** \brief Set output buffer for ouput i
1326
+
1327
+ mem.set_res(0, memoryview(a))
1328
+
1329
+ Note that CasADi uses 'fortran' order: column-by-column
1330
+
1331
+ \identifier{1yc} */
1332
+ void set_res(casadi_int i, double* a, casadi_int size);
1333
+ /// Get last return value
1334
+ int ret();
1335
+ void _eval();
1336
+ void* _self() { return this; }
1337
+ };
1338
+
1339
+ void CASADI_EXPORT _function_buffer_eval(void* raw);
1340
+
1341
+
1342
+ } // namespace casadi
1343
+
1344
+ #include "casadi_interrupt.hpp"
1345
+ #include "runtime/shared.hpp"
1346
+
1347
+ #endif // CASADI_FUNCTION_HPP