casadi 3.7.2__cp314-none-win_amd64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2398) hide show
  1. casadi/__init__.py +92 -0
  2. casadi/_casadi.pyd +0 -0
  3. casadi/blasfeo.lib +0 -0
  4. casadi/casadi-cli.exe +0 -0
  5. casadi/casadi.lib +0 -0
  6. casadi/casadi.py +54468 -0
  7. casadi/cbc.exe +0 -0
  8. casadi/clp.exe +0 -0
  9. casadi/cmake/alpaqa/alpaqaConfig.cmake +24 -0
  10. casadi/cmake/alpaqa/alpaqaConfigVersion.cmake +67 -0
  11. casadi/cmake/alpaqa/alpaqaTargets-release.cmake +19 -0
  12. casadi/cmake/alpaqa/alpaqaTargets.cmake +108 -0
  13. casadi/cmake/casadi-config-version.cmake +11 -0
  14. casadi/cmake/casadi-config.cmake +8 -0
  15. casadi/cmake/casadi-targets-release.cmake +19 -0
  16. casadi/cmake/casadi-targets.cmake +94 -0
  17. casadi/cmake/ghc_filesystem/ghc_filesystem-config-version.cmake +76 -0
  18. casadi/cmake/ghc_filesystem/ghc_filesystem-config.cmake +30 -0
  19. casadi/cmake/ghc_filesystem/ghc_filesystem-targets.cmake +99 -0
  20. casadi/cmake/highs/highs-config.cmake +17 -0
  21. casadi/cmake/highs/highs-targets-release.cmake +28 -0
  22. casadi/cmake/highs/highs-targets.cmake +105 -0
  23. casadi/cmake/libzip/libzip-config-version.cmake +48 -0
  24. casadi/cmake/libzip/libzip-config.cmake +69 -0
  25. casadi/cmake/libzip/libzip-targets-release.cmake +19 -0
  26. casadi/cmake/libzip/libzip-targets.cmake +99 -0
  27. casadi/cmake/libzip/modules/FindMbedTLS.cmake +141 -0
  28. casadi/cmake/libzip/modules/FindNettle.cmake +141 -0
  29. casadi/cmake/libzip/modules/Findzstd.cmake +186 -0
  30. casadi/cmake/osqp/osqp-config.cmake +1 -0
  31. casadi/cmake/osqp/osqp-targets-release.cmake +29 -0
  32. casadi/cmake/osqp/osqp-targets.cmake +101 -0
  33. casadi/cmake/proxsuite/find-external/Simde/FindSimde.cmake +39 -0
  34. casadi/cmake/proxsuite/proxsuiteConfig.cmake +177 -0
  35. casadi/cmake/proxsuite/proxsuiteConfigVersion.cmake +67 -0
  36. casadi/cmake/proxsuite/proxsuiteTargets.cmake +107 -0
  37. casadi/cmake/qdldl/qdldl-config.cmake +1 -0
  38. casadi/cmake/qdldl/qdldl-targets-release.cmake +29 -0
  39. casadi/cmake/qdldl/qdldl-targets.cmake +101 -0
  40. casadi/cmake/sleqp/sleqp-config-version.cmake +67 -0
  41. casadi/cmake/sleqp/sleqp-config.cmake +1 -0
  42. casadi/cmake/sleqp/sleqp-targets-release.cmake +20 -0
  43. casadi/cmake/sleqp/sleqp-targets.cmake +94 -0
  44. casadi/cmake/trlib/trlib-config-release.cmake +19 -0
  45. casadi/cmake/trlib/trlib-config-version.cmake +59 -0
  46. casadi/cmake/trlib/trlib-config.cmake +99 -0
  47. casadi/daqp.lib +0 -0
  48. casadi/fatrop.lib +0 -0
  49. casadi/highs.exe +0 -0
  50. casadi/highs.lib +0 -0
  51. casadi/hpipm.lib +0 -0
  52. casadi/include/alpaqa/accelerators/anderson.hpp +133 -0
  53. casadi/include/alpaqa/accelerators/internal/anderson-helpers.hpp +92 -0
  54. casadi/include/alpaqa/accelerators/internal/limited-memory-qr.hpp +295 -0
  55. casadi/include/alpaqa/accelerators/lbfgs.hpp +244 -0
  56. casadi/include/alpaqa/accelerators/steihaugcg.hpp +143 -0
  57. casadi/include/alpaqa/alpaqa.hpp +3 -0
  58. casadi/include/alpaqa/casadi/CasADiControlProblem.hpp +185 -0
  59. casadi/include/alpaqa/casadi/CasADiFunctionWrapper.hpp +104 -0
  60. casadi/include/alpaqa/casadi/CasADiProblem.hpp +102 -0
  61. casadi/include/alpaqa/casadi-loader-export.hpp +15 -0
  62. casadi/include/alpaqa/casadi-ocp-loader-export.hpp +15 -0
  63. casadi/include/alpaqa/config/config.hpp +165 -0
  64. casadi/include/alpaqa/dl/dl-problem.h +476 -0
  65. casadi/include/alpaqa/dl/dl-problem.hpp +301 -0
  66. casadi/include/alpaqa/export.h +42 -0
  67. casadi/include/alpaqa/export.hpp +30 -0
  68. casadi/include/alpaqa/implementation/accelerators/lbfgs.tpp +240 -0
  69. casadi/include/alpaqa/implementation/casadi/CasADiControlProblem.tpp +594 -0
  70. casadi/include/alpaqa/implementation/casadi/CasADiLoader-util.hpp +50 -0
  71. casadi/include/alpaqa/implementation/casadi/CasADiProblem.tpp +425 -0
  72. casadi/include/alpaqa/implementation/inner/directions/panoc/structured-lbfgs.tpp +164 -0
  73. casadi/include/alpaqa/implementation/inner/panoc-helpers.tpp +389 -0
  74. casadi/include/alpaqa/implementation/inner/panoc-ocp.tpp +798 -0
  75. casadi/include/alpaqa/implementation/inner/panoc.tpp +448 -0
  76. casadi/include/alpaqa/implementation/inner/pantr.tpp +474 -0
  77. casadi/include/alpaqa/implementation/inner/zerofpr.tpp +482 -0
  78. casadi/include/alpaqa/implementation/outer/alm.tpp +228 -0
  79. casadi/include/alpaqa/implementation/outer/internal/alm-helpers.tpp +80 -0
  80. casadi/include/alpaqa/implementation/params/params.tpp +158 -0
  81. casadi/include/alpaqa/implementation/problem/ocproblem.tpp +56 -0
  82. casadi/include/alpaqa/implementation/problem/type-erased-problem.tpp +211 -0
  83. casadi/include/alpaqa/implementation/util/io/csv.tpp +120 -0
  84. casadi/include/alpaqa/implementation/util/print.tpp +151 -0
  85. casadi/include/alpaqa/inner/directions/panoc/anderson.hpp +98 -0
  86. casadi/include/alpaqa/inner/directions/panoc/lbfgs.hpp +94 -0
  87. casadi/include/alpaqa/inner/directions/panoc/structured-lbfgs.hpp +146 -0
  88. casadi/include/alpaqa/inner/directions/panoc/structured-newton.hpp +264 -0
  89. casadi/include/alpaqa/inner/directions/panoc-direction-update.hpp +96 -0
  90. casadi/include/alpaqa/inner/directions/panoc-ocp/lqr.hpp +181 -0
  91. casadi/include/alpaqa/inner/directions/panoc-ocp/ocp-vars.hpp +492 -0
  92. casadi/include/alpaqa/inner/directions/pantr/newton-tr.hpp +192 -0
  93. casadi/include/alpaqa/inner/directions/pantr/pantr-direction.hpp +99 -0
  94. casadi/include/alpaqa/inner/inner-solve-options.hpp +30 -0
  95. casadi/include/alpaqa/inner/internal/lipschitz.hpp +27 -0
  96. casadi/include/alpaqa/inner/internal/panoc-helpers.hpp +10 -0
  97. casadi/include/alpaqa/inner/internal/panoc-stop-crit.hpp +124 -0
  98. casadi/include/alpaqa/inner/internal/solverstatus.hpp +42 -0
  99. casadi/include/alpaqa/inner/panoc-ocp.hpp +302 -0
  100. casadi/include/alpaqa/inner/panoc.hpp +274 -0
  101. casadi/include/alpaqa/inner/pantr.hpp +284 -0
  102. casadi/include/alpaqa/inner/zerofpr.hpp +274 -0
  103. casadi/include/alpaqa/ipopt/ipopt-adapter.hpp +81 -0
  104. casadi/include/alpaqa/ipopt/ipopt-enums.hpp +35 -0
  105. casadi/include/alpaqa/lbfgsb/lbfgsb-adapter.hpp +111 -0
  106. casadi/include/alpaqa/newton-tr-pantr-alm.hpp +27 -0
  107. casadi/include/alpaqa/outer/alm.hpp +190 -0
  108. casadi/include/alpaqa/outer/internal/alm-helpers.hpp +10 -0
  109. casadi/include/alpaqa/panoc-alm.hpp +27 -0
  110. casadi/include/alpaqa/panoc-anderson-alm.hpp +27 -0
  111. casadi/include/alpaqa/params/params.hpp +60 -0
  112. casadi/include/alpaqa/problem/box-constr-problem.hpp +220 -0
  113. casadi/include/alpaqa/problem/box.hpp +82 -0
  114. casadi/include/alpaqa/problem/functional-problem.hpp +73 -0
  115. casadi/include/alpaqa/problem/kkt-error.hpp +43 -0
  116. casadi/include/alpaqa/problem/ocproblem-counters.hpp +116 -0
  117. casadi/include/alpaqa/problem/ocproblem.hpp +662 -0
  118. casadi/include/alpaqa/problem/problem-counters.hpp +116 -0
  119. casadi/include/alpaqa/problem/problem-with-counters.hpp +141 -0
  120. casadi/include/alpaqa/problem/type-erased-problem.hpp +874 -0
  121. casadi/include/alpaqa/problem/unconstr-problem.hpp +37 -0
  122. casadi/include/alpaqa/structured-panoc-alm.hpp +27 -0
  123. casadi/include/alpaqa/structured-zerofpr-alm.hpp +27 -0
  124. casadi/include/alpaqa/util/alloc-check.hpp +23 -0
  125. casadi/include/alpaqa/util/atomic-stop-signal.hpp +24 -0
  126. casadi/include/alpaqa/util/check-dim.hpp +64 -0
  127. casadi/include/alpaqa/util/copyable_unique_ptr.hpp +32 -0
  128. casadi/include/alpaqa/util/demangled-typename.hpp +9 -0
  129. casadi/include/alpaqa/util/enumerate.hpp +70 -0
  130. casadi/include/alpaqa/util/float.hpp +25 -0
  131. casadi/include/alpaqa/util/index-set.hpp +97 -0
  132. casadi/include/alpaqa/util/io/csv.hpp +43 -0
  133. casadi/include/alpaqa/util/iter-adapter.hpp +68 -0
  134. casadi/include/alpaqa/util/max-history.hpp +47 -0
  135. casadi/include/alpaqa/util/noop-delete.hpp +15 -0
  136. casadi/include/alpaqa/util/not-implemented.hpp +12 -0
  137. casadi/include/alpaqa/util/print.hpp +78 -0
  138. casadi/include/alpaqa/util/quadmath/quadmath-print.hpp +20 -0
  139. casadi/include/alpaqa/util/quadmath/quadmath.hpp +137 -0
  140. casadi/include/alpaqa/util/required-method.hpp +29 -0
  141. casadi/include/alpaqa/util/ringbuffer.hpp +212 -0
  142. casadi/include/alpaqa/util/set-intersection.hpp +129 -0
  143. casadi/include/alpaqa/util/sparse-ops.hpp +164 -0
  144. casadi/include/alpaqa/util/timed.hpp +22 -0
  145. casadi/include/alpaqa/util/type-erasure.hpp +568 -0
  146. casadi/include/alpaqa/util/type-traits.hpp +58 -0
  147. casadi/include/alpaqa/zerofpr-alm.hpp +27 -0
  148. casadi/include/alpaqa/zerofpr-anderson-alm.hpp +27 -0
  149. casadi/include/alpaqa-version.h +8 -0
  150. casadi/include/blasfeo.h +52 -0
  151. casadi/include/blasfeo_block_size.h +447 -0
  152. casadi/include/blasfeo_common.h +274 -0
  153. casadi/include/blasfeo_d_aux.h +255 -0
  154. casadi/include/blasfeo_d_aux_ext_dep.h +145 -0
  155. casadi/include/blasfeo_d_aux_ext_dep_ref.h +84 -0
  156. casadi/include/blasfeo_d_aux_old.h +75 -0
  157. casadi/include/blasfeo_d_aux_ref.h +208 -0
  158. casadi/include/blasfeo_d_aux_test.h +226 -0
  159. casadi/include/blasfeo_d_blas.h +46 -0
  160. casadi/include/blasfeo_d_blas_api.h +281 -0
  161. casadi/include/blasfeo_d_blasfeo_api.h +364 -0
  162. casadi/include/blasfeo_d_blasfeo_api_ref.h +147 -0
  163. casadi/include/blasfeo_d_blasfeo_hp_api.h +84 -0
  164. casadi/include/blasfeo_d_blasfeo_ref_api.h +283 -0
  165. casadi/include/blasfeo_d_kernel.h +1321 -0
  166. casadi/include/blasfeo_i_aux_ext_dep.h +69 -0
  167. casadi/include/blasfeo_m_aux.h +57 -0
  168. casadi/include/blasfeo_memory.h +62 -0
  169. casadi/include/blasfeo_naming.h +77 -0
  170. casadi/include/blasfeo_processor_features.h +88 -0
  171. casadi/include/blasfeo_s_aux.h +168 -0
  172. casadi/include/blasfeo_s_aux_ext_dep.h +141 -0
  173. casadi/include/blasfeo_s_aux_ext_dep_ref.h +82 -0
  174. casadi/include/blasfeo_s_aux_old.h +64 -0
  175. casadi/include/blasfeo_s_aux_ref.h +147 -0
  176. casadi/include/blasfeo_s_aux_test.h +177 -0
  177. casadi/include/blasfeo_s_blas.h +46 -0
  178. casadi/include/blasfeo_s_blas_api.h +182 -0
  179. casadi/include/blasfeo_s_blasfeo_api.h +284 -0
  180. casadi/include/blasfeo_s_blasfeo_api_ref.h +135 -0
  181. casadi/include/blasfeo_s_blasfeo_ref_api.h +252 -0
  182. casadi/include/blasfeo_s_kernel.h +692 -0
  183. casadi/include/blasfeo_stdlib.h +62 -0
  184. casadi/include/blasfeo_target.h +73 -0
  185. casadi/include/blasfeo_timing.h +114 -0
  186. casadi/include/blasfeo_v_aux_ext_dep.h +83 -0
  187. casadi/include/casadi/casadi.hpp +31 -0
  188. casadi/include/casadi/casadi.i +4920 -0
  189. casadi/include/casadi/casadi_c.h +138 -0
  190. casadi/include/casadi/casadi_numpy.hpp +97 -0
  191. casadi/include/casadi/config.h +46 -0
  192. casadi/include/casadi/core/archiver.hpp +58 -0
  193. casadi/include/casadi/core/blazing_spline.hpp +47 -0
  194. casadi/include/casadi/core/calculus.hpp +1805 -0
  195. casadi/include/casadi/core/callback.hpp +235 -0
  196. casadi/include/casadi/core/casadi_common.hpp +355 -0
  197. casadi/include/casadi/core/casadi_enum.hpp +90 -0
  198. casadi/include/casadi/core/casadi_export.h +42 -0
  199. casadi/include/casadi/core/casadi_interrupt.hpp +83 -0
  200. casadi/include/casadi/core/casadi_limits.hpp +104 -0
  201. casadi/include/casadi/core/casadi_logger.hpp +134 -0
  202. casadi/include/casadi/core/casadi_meta.hpp +122 -0
  203. casadi/include/casadi/core/casadi_misc.hpp +1022 -0
  204. casadi/include/casadi/core/casadi_types.hpp +66 -0
  205. casadi/include/casadi/core/code_generator.hpp +1071 -0
  206. casadi/include/casadi/core/conic.hpp +213 -0
  207. casadi/include/casadi/core/core.hpp +75 -0
  208. casadi/include/casadi/core/dae_builder.hpp +885 -0
  209. casadi/include/casadi/core/dm.hpp +90 -0
  210. casadi/include/casadi/core/dm_fwd.hpp +39 -0
  211. casadi/include/casadi/core/dple.hpp +138 -0
  212. casadi/include/casadi/core/exception.hpp +167 -0
  213. casadi/include/casadi/core/expm.hpp +84 -0
  214. casadi/include/casadi/core/external.hpp +70 -0
  215. casadi/include/casadi/core/filesystem.hpp +58 -0
  216. casadi/include/casadi/core/fmu.hpp +270 -0
  217. casadi/include/casadi/core/function.hpp +1389 -0
  218. casadi/include/casadi/core/generic_expression.hpp +760 -0
  219. casadi/include/casadi/core/generic_matrix.hpp +1805 -0
  220. casadi/include/casadi/core/generic_shared.hpp +395 -0
  221. casadi/include/casadi/core/generic_shared_impl.hpp +218 -0
  222. casadi/include/casadi/core/generic_shared_internal.hpp +215 -0
  223. casadi/include/casadi/core/generic_type.hpp +314 -0
  224. casadi/include/casadi/core/global_options.hpp +107 -0
  225. casadi/include/casadi/core/im.hpp +52 -0
  226. casadi/include/casadi/core/im_fwd.hpp +35 -0
  227. casadi/include/casadi/core/importer.hpp +221 -0
  228. casadi/include/casadi/core/integration_tools.hpp +292 -0
  229. casadi/include/casadi/core/integrator.hpp +290 -0
  230. casadi/include/casadi/core/interpolant.hpp +163 -0
  231. casadi/include/casadi/core/linsol.hpp +171 -0
  232. casadi/include/casadi/core/matrix_decl.hpp +1423 -0
  233. casadi/include/casadi/core/matrix_fwd.hpp +37 -0
  234. casadi/include/casadi/core/mx.hpp +1014 -0
  235. casadi/include/casadi/core/nlp_builder.hpp +163 -0
  236. casadi/include/casadi/core/nlp_tools.hpp +124 -0
  237. casadi/include/casadi/core/nlpsol.hpp +234 -0
  238. casadi/include/casadi/core/nonzeros.hpp +111 -0
  239. casadi/include/casadi/core/options.hpp +122 -0
  240. casadi/include/casadi/core/optistack.hpp +704 -0
  241. casadi/include/casadi/core/polynomial.hpp +126 -0
  242. casadi/include/casadi/core/printable.hpp +81 -0
  243. casadi/include/casadi/core/resource.hpp +107 -0
  244. casadi/include/casadi/core/rootfinder.hpp +176 -0
  245. casadi/include/casadi/core/runtime/casadi_axpy.hpp +8 -0
  246. casadi/include/casadi/core/runtime/casadi_bfgs.hpp +49 -0
  247. casadi/include/casadi/core/runtime/casadi_bilin.hpp +42 -0
  248. casadi/include/casadi/core/runtime/casadi_blazing_1d_boor_eval.hpp +112 -0
  249. casadi/include/casadi/core/runtime/casadi_blazing_2d_boor_eval.hpp +311 -0
  250. casadi/include/casadi/core/runtime/casadi_blazing_3d_boor_eval.hpp +645 -0
  251. casadi/include/casadi/core/runtime/casadi_blazing_de_boor.hpp +101 -0
  252. casadi/include/casadi/core/runtime/casadi_bound_consistency.hpp +51 -0
  253. casadi/include/casadi/core/runtime/casadi_cache.hpp +59 -0
  254. casadi/include/casadi/core/runtime/casadi_clear.hpp +27 -0
  255. casadi/include/casadi/core/runtime/casadi_clip_max.hpp +33 -0
  256. casadi/include/casadi/core/runtime/casadi_clip_min.hpp +33 -0
  257. casadi/include/casadi/core/runtime/casadi_convexify.hpp +182 -0
  258. casadi/include/casadi/core/runtime/casadi_copy.hpp +31 -0
  259. casadi/include/casadi/core/runtime/casadi_cvx.hpp +463 -0
  260. casadi/include/casadi/core/runtime/casadi_de_boor.hpp +36 -0
  261. casadi/include/casadi/core/runtime/casadi_dense_lsqr.hpp +247 -0
  262. casadi/include/casadi/core/runtime/casadi_densify.hpp +48 -0
  263. casadi/include/casadi/core/runtime/casadi_dot.hpp +27 -0
  264. casadi/include/casadi/core/runtime/casadi_feasiblesqpmethod.hpp +208 -0
  265. casadi/include/casadi/core/runtime/casadi_file_slurp.hpp +32 -0
  266. casadi/include/casadi/core/runtime/casadi_fill.hpp +27 -0
  267. casadi/include/casadi/core/runtime/casadi_finite_diff.hpp +345 -0
  268. casadi/include/casadi/core/runtime/casadi_flip.hpp +33 -0
  269. casadi/include/casadi/core/runtime/casadi_getu.hpp +35 -0
  270. casadi/include/casadi/core/runtime/casadi_iamax.hpp +36 -0
  271. casadi/include/casadi/core/runtime/casadi_interpn.hpp +39 -0
  272. casadi/include/casadi/core/runtime/casadi_interpn_grad.hpp +72 -0
  273. casadi/include/casadi/core/runtime/casadi_interpn_interpolate.hpp +43 -0
  274. casadi/include/casadi/core/runtime/casadi_interpn_weights.hpp +39 -0
  275. casadi/include/casadi/core/runtime/casadi_ipqp.hpp +868 -0
  276. casadi/include/casadi/core/runtime/casadi_jac.hpp +186 -0
  277. casadi/include/casadi/core/runtime/casadi_kkt.hpp +67 -0
  278. casadi/include/casadi/core/runtime/casadi_kron.hpp +50 -0
  279. casadi/include/casadi/core/runtime/casadi_ldl.hpp +109 -0
  280. casadi/include/casadi/core/runtime/casadi_logsumexp.hpp +41 -0
  281. casadi/include/casadi/core/runtime/casadi_low.hpp +65 -0
  282. casadi/include/casadi/core/runtime/casadi_lsqr.hpp +247 -0
  283. casadi/include/casadi/core/runtime/casadi_masked_norm_inf.hpp +33 -0
  284. casadi/include/casadi/core/runtime/casadi_max_viol.hpp +37 -0
  285. casadi/include/casadi/core/runtime/casadi_mmax.hpp +28 -0
  286. casadi/include/casadi/core/runtime/casadi_mmin.hpp +29 -0
  287. casadi/include/casadi/core/runtime/casadi_mtimes.hpp +75 -0
  288. casadi/include/casadi/core/runtime/casadi_mv.hpp +46 -0
  289. casadi/include/casadi/core/runtime/casadi_mv_dense.hpp +39 -0
  290. casadi/include/casadi/core/runtime/casadi_nd_boor_dual_eval.hpp +127 -0
  291. casadi/include/casadi/core/runtime/casadi_nd_boor_eval.hpp +120 -0
  292. casadi/include/casadi/core/runtime/casadi_newton.hpp +66 -0
  293. casadi/include/casadi/core/runtime/casadi_nlp.hpp +295 -0
  294. casadi/include/casadi/core/runtime/casadi_norm_1.hpp +29 -0
  295. casadi/include/casadi/core/runtime/casadi_norm_2.hpp +24 -0
  296. casadi/include/casadi/core/runtime/casadi_norm_inf.hpp +28 -0
  297. casadi/include/casadi/core/runtime/casadi_norm_inf_mul.hpp +105 -0
  298. casadi/include/casadi/core/runtime/casadi_ocp_block.hpp +55 -0
  299. casadi/include/casadi/core/runtime/casadi_oracle.hpp +44 -0
  300. casadi/include/casadi/core/runtime/casadi_oracle_callback.hpp +39 -0
  301. casadi/include/casadi/core/runtime/casadi_polyval.hpp +29 -0
  302. casadi/include/casadi/core/runtime/casadi_print_canonical.hpp +55 -0
  303. casadi/include/casadi/core/runtime/casadi_print_scalar.hpp +25 -0
  304. casadi/include/casadi/core/runtime/casadi_print_vector.hpp +32 -0
  305. casadi/include/casadi/core/runtime/casadi_printme.hpp +26 -0
  306. casadi/include/casadi/core/runtime/casadi_project.hpp +39 -0
  307. casadi/include/casadi/core/runtime/casadi_qp.hpp +86 -0
  308. casadi/include/casadi/core/runtime/casadi_qr.hpp +272 -0
  309. casadi/include/casadi/core/runtime/casadi_qrqp.hpp +1239 -0
  310. casadi/include/casadi/core/runtime/casadi_rank1.hpp +40 -0
  311. casadi/include/casadi/core/runtime/casadi_regularize.hpp +73 -0
  312. casadi/include/casadi/core/runtime/casadi_runtime.hpp +318 -0
  313. casadi/include/casadi/core/runtime/casadi_scal.hpp +26 -0
  314. casadi/include/casadi/core/runtime/casadi_scaled_copy.hpp +31 -0
  315. casadi/include/casadi/core/runtime/casadi_sparsify.hpp +42 -0
  316. casadi/include/casadi/core/runtime/casadi_sparsity.hpp +24 -0
  317. casadi/include/casadi/core/runtime/casadi_sqpmethod.hpp +178 -0
  318. casadi/include/casadi/core/runtime/casadi_sum.hpp +31 -0
  319. casadi/include/casadi/core/runtime/casadi_sum_viol.hpp +37 -0
  320. casadi/include/casadi/core/runtime/casadi_swap.hpp +32 -0
  321. casadi/include/casadi/core/runtime/casadi_trans.hpp +35 -0
  322. casadi/include/casadi/core/runtime/casadi_tri_project.hpp +37 -0
  323. casadi/include/casadi/core/runtime/casadi_trilsolve.hpp +81 -0
  324. casadi/include/casadi/core/runtime/casadi_triusolve.hpp +81 -0
  325. casadi/include/casadi/core/runtime/casadi_vector_fmax.hpp +28 -0
  326. casadi/include/casadi/core/runtime/casadi_vector_fmin.hpp +28 -0
  327. casadi/include/casadi/core/runtime/casadi_vfmax.hpp +28 -0
  328. casadi/include/casadi/core/runtime/casadi_vfmin.hpp +28 -0
  329. casadi/include/casadi/core/runtime/shared.hpp +261 -0
  330. casadi/include/casadi/core/serializer.hpp +264 -0
  331. casadi/include/casadi/core/serializing_stream.hpp +336 -0
  332. casadi/include/casadi/core/shared_object.hpp +182 -0
  333. casadi/include/casadi/core/slice.hpp +149 -0
  334. casadi/include/casadi/core/sparsity.hpp +1507 -0
  335. casadi/include/casadi/core/sparsity_interface.hpp +763 -0
  336. casadi/include/casadi/core/submatrix.hpp +156 -0
  337. casadi/include/casadi/core/sx.hpp +244 -0
  338. casadi/include/casadi/core/sx_elem.hpp +376 -0
  339. casadi/include/casadi/core/sx_fwd.hpp +45 -0
  340. casadi/include/casadi/core/timing.hpp +98 -0
  341. casadi/include/casadi/core/tools.hpp +67 -0
  342. casadi/include/casadi/core/xml_file.hpp +93 -0
  343. casadi/include/casadi/core/xml_node.hpp +212 -0
  344. casadi/include/casadi/doc.i +62244 -0
  345. casadi/include/casadi/doc_merged.i +38499 -0
  346. casadi/include/casadi/mem.h +311 -0
  347. casadi/include/casadi/valgrind-casadi.supp +649 -0
  348. casadi/include/casadi/valgrind-python.supp +3886 -0
  349. casadi/include/coin/BonArraysHelpers.hpp +52 -0
  350. casadi/include/coin/BonAuxInfos.hpp +110 -0
  351. casadi/include/coin/BonBabInfos.hpp +57 -0
  352. casadi/include/coin/BonBabSetupBase.hpp +386 -0
  353. casadi/include/coin/BonBonminSetup.hpp +95 -0
  354. casadi/include/coin/BonBranchingTQP.hpp +197 -0
  355. casadi/include/coin/BonCbc.hpp +127 -0
  356. casadi/include/coin/BonCbcLpStrategy.hpp +45 -0
  357. casadi/include/coin/BonCbcNlpStrategy.hpp +98 -0
  358. casadi/include/coin/BonCbcNode.hpp +133 -0
  359. casadi/include/coin/BonChooseVariable.hpp +345 -0
  360. casadi/include/coin/BonCurvBranchingSolver.hpp +77 -0
  361. casadi/include/coin/BonCutStrengthener.hpp +244 -0
  362. casadi/include/coin/BonDiver.hpp +424 -0
  363. casadi/include/coin/BonDummyHeuristic.hpp +53 -0
  364. casadi/include/coin/BonDummyPump.hpp +43 -0
  365. casadi/include/coin/BonEcpCuts.hpp +97 -0
  366. casadi/include/coin/BonExitCodes.hpp +12 -0
  367. casadi/include/coin/BonFixAndSolveHeuristic.hpp +43 -0
  368. casadi/include/coin/BonGuessHeuristic.hpp +46 -0
  369. casadi/include/coin/BonHeuristicDive.hpp +88 -0
  370. casadi/include/coin/BonHeuristicDiveFractional.hpp +67 -0
  371. casadi/include/coin/BonHeuristicDiveMIP.hpp +83 -0
  372. casadi/include/coin/BonHeuristicDiveMIPFractional.hpp +67 -0
  373. casadi/include/coin/BonHeuristicDiveMIPVectorLength.hpp +74 -0
  374. casadi/include/coin/BonHeuristicDiveVectorLength.hpp +74 -0
  375. casadi/include/coin/BonHeuristicFPump.hpp +111 -0
  376. casadi/include/coin/BonHeuristicLocalBranching.hpp +59 -0
  377. casadi/include/coin/BonHeuristicRINS.hpp +55 -0
  378. casadi/include/coin/BonIpoptInteriorWarmStarter.hpp +103 -0
  379. casadi/include/coin/BonIpoptSolver.hpp +188 -0
  380. casadi/include/coin/BonIpoptWarmStart.hpp +148 -0
  381. casadi/include/coin/BonLinearCutsGenerator.hpp +75 -0
  382. casadi/include/coin/BonLocalSolverBasedHeuristic.hpp +102 -0
  383. casadi/include/coin/BonLpBranchingSolver.hpp +80 -0
  384. casadi/include/coin/BonMilpRounding.hpp +74 -0
  385. casadi/include/coin/BonOACutGenerator2.hpp +56 -0
  386. casadi/include/coin/BonOAMessages.hpp +44 -0
  387. casadi/include/coin/BonOaDecBase.hpp +297 -0
  388. casadi/include/coin/BonOaFeasChecker.hpp +73 -0
  389. casadi/include/coin/BonOaNlpOptim.hpp +116 -0
  390. casadi/include/coin/BonOsiTMINLPInterface.hpp +1342 -0
  391. casadi/include/coin/BonOuterApprox.hpp +123 -0
  392. casadi/include/coin/BonPseudoCosts.hpp +91 -0
  393. casadi/include/coin/BonPumpForMinlp.hpp +45 -0
  394. casadi/include/coin/BonQuadCut.hpp +217 -0
  395. casadi/include/coin/BonQuadRow.hpp +122 -0
  396. casadi/include/coin/BonRegisteredOptions.hpp +225 -0
  397. casadi/include/coin/BonStrongBranchingSolver.hpp +69 -0
  398. casadi/include/coin/BonSubMipSolver.hpp +143 -0
  399. casadi/include/coin/BonTMINLP.hpp +420 -0
  400. casadi/include/coin/BonTMINLP2OsiLP.hpp +164 -0
  401. casadi/include/coin/BonTMINLP2Quad.hpp +191 -0
  402. casadi/include/coin/BonTMINLP2TNLP.hpp +509 -0
  403. casadi/include/coin/BonTMINLPLinObj.hpp +216 -0
  404. casadi/include/coin/BonTMatrix.hpp +167 -0
  405. casadi/include/coin/BonTNLP2FPNLP.hpp +264 -0
  406. casadi/include/coin/BonTNLPSolver.hpp +241 -0
  407. casadi/include/coin/BonTypes.hpp +95 -0
  408. casadi/include/coin/BonminConfig.h +19 -0
  409. casadi/include/coin/CbcBranchActual.hpp +26 -0
  410. casadi/include/coin/CbcBranchAllDifferent.hpp +61 -0
  411. casadi/include/coin/CbcBranchBase.hpp +79 -0
  412. casadi/include/coin/CbcBranchCut.hpp +182 -0
  413. casadi/include/coin/CbcBranchDecision.hpp +135 -0
  414. casadi/include/coin/CbcBranchDefaultDecision.hpp +101 -0
  415. casadi/include/coin/CbcBranchDynamic.hpp +210 -0
  416. casadi/include/coin/CbcBranchLotsize.hpp +249 -0
  417. casadi/include/coin/CbcBranchToFixLots.hpp +94 -0
  418. casadi/include/coin/CbcBranchingObject.hpp +245 -0
  419. casadi/include/coin/CbcClique.hpp +309 -0
  420. casadi/include/coin/CbcCompare.hpp +46 -0
  421. casadi/include/coin/CbcCompareActual.hpp +16 -0
  422. casadi/include/coin/CbcCompareBase.hpp +155 -0
  423. casadi/include/coin/CbcCompareDefault.hpp +129 -0
  424. casadi/include/coin/CbcCompareDepth.hpp +48 -0
  425. casadi/include/coin/CbcCompareEstimate.hpp +48 -0
  426. casadi/include/coin/CbcCompareObjective.hpp +50 -0
  427. casadi/include/coin/CbcConfig.h +18 -0
  428. casadi/include/coin/CbcConsequence.hpp +50 -0
  429. casadi/include/coin/CbcCountRowCut.hpp +176 -0
  430. casadi/include/coin/CbcCutGenerator.hpp +550 -0
  431. casadi/include/coin/CbcCutModifier.hpp +59 -0
  432. casadi/include/coin/CbcCutSubsetModifier.hpp +69 -0
  433. casadi/include/coin/CbcDummyBranchingObject.hpp +83 -0
  434. casadi/include/coin/CbcEventHandler.hpp +250 -0
  435. casadi/include/coin/CbcFathom.hpp +136 -0
  436. casadi/include/coin/CbcFathomDynamicProgramming.hpp +177 -0
  437. casadi/include/coin/CbcFeasibilityBase.hpp +60 -0
  438. casadi/include/coin/CbcFixVariable.hpp +68 -0
  439. casadi/include/coin/CbcFollowOn.hpp +207 -0
  440. casadi/include/coin/CbcFullNodeInfo.hpp +171 -0
  441. casadi/include/coin/CbcGeneral.hpp +60 -0
  442. casadi/include/coin/CbcGeneralDepth.hpp +289 -0
  443. casadi/include/coin/CbcHeuristic.hpp +735 -0
  444. casadi/include/coin/CbcHeuristicDINS.hpp +98 -0
  445. casadi/include/coin/CbcHeuristicDW.hpp +374 -0
  446. casadi/include/coin/CbcHeuristicDive.hpp +198 -0
  447. casadi/include/coin/CbcHeuristicDiveCoefficient.hpp +52 -0
  448. casadi/include/coin/CbcHeuristicDiveFractional.hpp +52 -0
  449. casadi/include/coin/CbcHeuristicDiveGuided.hpp +55 -0
  450. casadi/include/coin/CbcHeuristicDiveLineSearch.hpp +52 -0
  451. casadi/include/coin/CbcHeuristicDivePseudoCost.hpp +60 -0
  452. casadi/include/coin/CbcHeuristicDiveVectorLength.hpp +52 -0
  453. casadi/include/coin/CbcHeuristicFPump.hpp +375 -0
  454. casadi/include/coin/CbcHeuristicGreedy.hpp +289 -0
  455. casadi/include/coin/CbcHeuristicLocal.hpp +276 -0
  456. casadi/include/coin/CbcHeuristicPivotAndFix.hpp +58 -0
  457. casadi/include/coin/CbcHeuristicRENS.hpp +79 -0
  458. casadi/include/coin/CbcHeuristicRINS.hpp +106 -0
  459. casadi/include/coin/CbcHeuristicRandRound.hpp +58 -0
  460. casadi/include/coin/CbcHeuristicVND.hpp +95 -0
  461. casadi/include/coin/CbcLinked.hpp +1443 -0
  462. casadi/include/coin/CbcMessage.hpp +94 -0
  463. casadi/include/coin/CbcMipStartIO.hpp +29 -0
  464. casadi/include/coin/CbcModel.hpp +3296 -0
  465. casadi/include/coin/CbcNWay.hpp +171 -0
  466. casadi/include/coin/CbcNode.hpp +380 -0
  467. casadi/include/coin/CbcNodeInfo.hpp +377 -0
  468. casadi/include/coin/CbcObject.hpp +288 -0
  469. casadi/include/coin/CbcObjectUpdateData.hpp +63 -0
  470. casadi/include/coin/CbcOrClpParam.cpp +4321 -0
  471. casadi/include/coin/CbcOrClpParam.hpp +585 -0
  472. casadi/include/coin/CbcParam.hpp +338 -0
  473. casadi/include/coin/CbcPartialNodeInfo.hpp +116 -0
  474. casadi/include/coin/CbcSOS.hpp +290 -0
  475. casadi/include/coin/CbcSimpleInteger.hpp +299 -0
  476. casadi/include/coin/CbcSimpleIntegerDynamicPseudoCost.hpp +619 -0
  477. casadi/include/coin/CbcSimpleIntegerPseudoCost.hpp +122 -0
  478. casadi/include/coin/CbcSolver.hpp +460 -0
  479. casadi/include/coin/CbcStrategy.hpp +269 -0
  480. casadi/include/coin/CbcSubProblem.hpp +84 -0
  481. casadi/include/coin/CbcTree.hpp +493 -0
  482. casadi/include/coin/CbcTreeLocal.hpp +393 -0
  483. casadi/include/coin/Cbc_C_Interface.h +904 -0
  484. casadi/include/coin/Cgl012cut.hpp +464 -0
  485. casadi/include/coin/CglAllDifferent.hpp +115 -0
  486. casadi/include/coin/CglClique.hpp +312 -0
  487. casadi/include/coin/CglConfig.h +19 -0
  488. casadi/include/coin/CglCutGenerator.hpp +133 -0
  489. casadi/include/coin/CglDuplicateRow.hpp +189 -0
  490. casadi/include/coin/CglFlowCover.hpp +371 -0
  491. casadi/include/coin/CglGMI.hpp +364 -0
  492. casadi/include/coin/CglGMIParam.hpp +313 -0
  493. casadi/include/coin/CglGomory.hpp +204 -0
  494. casadi/include/coin/CglKnapsackCover.hpp +310 -0
  495. casadi/include/coin/CglLandP.hpp +306 -0
  496. casadi/include/coin/CglLandPValidator.hpp +130 -0
  497. casadi/include/coin/CglLiftAndProject.hpp +104 -0
  498. casadi/include/coin/CglMessage.hpp +49 -0
  499. casadi/include/coin/CglMixedIntegerRounding.hpp +429 -0
  500. casadi/include/coin/CglMixedIntegerRounding2.hpp +427 -0
  501. casadi/include/coin/CglOddHole.hpp +160 -0
  502. casadi/include/coin/CglParam.hpp +93 -0
  503. casadi/include/coin/CglPreProcess.hpp +600 -0
  504. casadi/include/coin/CglProbing.hpp +543 -0
  505. casadi/include/coin/CglRedSplit.hpp +448 -0
  506. casadi/include/coin/CglRedSplit2.hpp +494 -0
  507. casadi/include/coin/CglRedSplit2Param.hpp +495 -0
  508. casadi/include/coin/CglRedSplitParam.hpp +272 -0
  509. casadi/include/coin/CglResidualCapacity.hpp +240 -0
  510. casadi/include/coin/CglSimpleRounding.hpp +174 -0
  511. casadi/include/coin/CglStored.hpp +140 -0
  512. casadi/include/coin/CglTreeInfo.hpp +216 -0
  513. casadi/include/coin/CglTwomir.hpp +562 -0
  514. casadi/include/coin/CglZeroHalf.hpp +133 -0
  515. casadi/include/coin/ClpAmplObjective.hpp +113 -0
  516. casadi/include/coin/ClpCholeskyBase.hpp +321 -0
  517. casadi/include/coin/ClpCholeskyDense.hpp +157 -0
  518. casadi/include/coin/ClpCholeskyMumps.hpp +65 -0
  519. casadi/include/coin/ClpCholeskyPardiso.hpp +67 -0
  520. casadi/include/coin/ClpConfig.h +17 -0
  521. casadi/include/coin/ClpConstraint.hpp +129 -0
  522. casadi/include/coin/ClpConstraintAmpl.hpp +109 -0
  523. casadi/include/coin/ClpConstraintLinear.hpp +113 -0
  524. casadi/include/coin/ClpConstraintQuadratic.hpp +123 -0
  525. casadi/include/coin/ClpDualRowDantzig.hpp +72 -0
  526. casadi/include/coin/ClpDualRowPivot.hpp +136 -0
  527. casadi/include/coin/ClpDualRowSteepest.hpp +160 -0
  528. casadi/include/coin/ClpDummyMatrix.hpp +186 -0
  529. casadi/include/coin/ClpDynamicExampleMatrix.hpp +199 -0
  530. casadi/include/coin/ClpDynamicMatrix.hpp +420 -0
  531. casadi/include/coin/ClpEventHandler.hpp +193 -0
  532. casadi/include/coin/ClpFactorization.hpp +556 -0
  533. casadi/include/coin/ClpGubDynamicMatrix.hpp +270 -0
  534. casadi/include/coin/ClpGubMatrix.hpp +373 -0
  535. casadi/include/coin/ClpInterior.hpp +622 -0
  536. casadi/include/coin/ClpLinearObjective.hpp +104 -0
  537. casadi/include/coin/ClpMatrixBase.hpp +561 -0
  538. casadi/include/coin/ClpMessage.hpp +131 -0
  539. casadi/include/coin/ClpModel.hpp +1442 -0
  540. casadi/include/coin/ClpNetworkMatrix.hpp +235 -0
  541. casadi/include/coin/ClpNode.hpp +364 -0
  542. casadi/include/coin/ClpNonLinearCost.hpp +432 -0
  543. casadi/include/coin/ClpObjective.hpp +142 -0
  544. casadi/include/coin/ClpPEDualRowDantzig.hpp +84 -0
  545. casadi/include/coin/ClpPEDualRowSteepest.hpp +100 -0
  546. casadi/include/coin/ClpPEPrimalColumnDantzig.hpp +71 -0
  547. casadi/include/coin/ClpPEPrimalColumnSteepest.hpp +107 -0
  548. casadi/include/coin/ClpPESimplex.hpp +231 -0
  549. casadi/include/coin/ClpPackedMatrix.hpp +778 -0
  550. casadi/include/coin/ClpParameters.hpp +132 -0
  551. casadi/include/coin/ClpPdcoBase.hpp +110 -0
  552. casadi/include/coin/ClpPlusMinusOneMatrix.hpp +565 -0
  553. casadi/include/coin/ClpPresolve.hpp +379 -0
  554. casadi/include/coin/ClpPrimalColumnDantzig.hpp +74 -0
  555. casadi/include/coin/ClpPrimalColumnPivot.hpp +163 -0
  556. casadi/include/coin/ClpPrimalColumnSteepest.hpp +281 -0
  557. casadi/include/coin/ClpQuadraticObjective.hpp +161 -0
  558. casadi/include/coin/ClpSimplex.hpp +2137 -0
  559. casadi/include/coin/ClpSimplexDual.hpp +304 -0
  560. casadi/include/coin/ClpSimplexNonlinear.hpp +117 -0
  561. casadi/include/coin/ClpSimplexOther.hpp +282 -0
  562. casadi/include/coin/ClpSimplexPrimal.hpp +244 -0
  563. casadi/include/coin/ClpSolve.hpp +505 -0
  564. casadi/include/coin/Clp_C_Interface.h +554 -0
  565. casadi/include/coin/CoinAlloc.hpp +179 -0
  566. casadi/include/coin/CoinBuild.hpp +159 -0
  567. casadi/include/coin/CoinDenseFactorization.hpp +452 -0
  568. casadi/include/coin/CoinDenseVector.hpp +401 -0
  569. casadi/include/coin/CoinDistance.hpp +51 -0
  570. casadi/include/coin/CoinError.hpp +274 -0
  571. casadi/include/coin/CoinFactorization.hpp +2178 -0
  572. casadi/include/coin/CoinFileIO.hpp +185 -0
  573. casadi/include/coin/CoinFinite.hpp +37 -0
  574. casadi/include/coin/CoinFloatEqual.hpp +204 -0
  575. casadi/include/coin/CoinHelperFunctions.hpp +1270 -0
  576. casadi/include/coin/CoinIndexedVector.hpp +1437 -0
  577. casadi/include/coin/CoinLpIO.hpp +836 -0
  578. casadi/include/coin/CoinMessage.hpp +95 -0
  579. casadi/include/coin/CoinMessageHandler.hpp +717 -0
  580. casadi/include/coin/CoinModel.hpp +1214 -0
  581. casadi/include/coin/CoinModelUseful.hpp +518 -0
  582. casadi/include/coin/CoinMpsIO.hpp +1142 -0
  583. casadi/include/coin/CoinOslFactorization.hpp +287 -0
  584. casadi/include/coin/CoinPackedMatrix.hpp +956 -0
  585. casadi/include/coin/CoinPackedVector.hpp +670 -0
  586. casadi/include/coin/CoinPackedVectorBase.hpp +274 -0
  587. casadi/include/coin/CoinParam.hpp +644 -0
  588. casadi/include/coin/CoinPragma.hpp +29 -0
  589. casadi/include/coin/CoinPresolveDoubleton.hpp +76 -0
  590. casadi/include/coin/CoinPresolveDual.hpp +84 -0
  591. casadi/include/coin/CoinPresolveDupcol.hpp +259 -0
  592. casadi/include/coin/CoinPresolveEmpty.hpp +120 -0
  593. casadi/include/coin/CoinPresolveFixed.hpp +185 -0
  594. casadi/include/coin/CoinPresolveForcing.hpp +69 -0
  595. casadi/include/coin/CoinPresolveImpliedFree.hpp +66 -0
  596. casadi/include/coin/CoinPresolveIsolated.hpp +59 -0
  597. casadi/include/coin/CoinPresolveMatrix.hpp +1996 -0
  598. casadi/include/coin/CoinPresolveMonitor.hpp +105 -0
  599. casadi/include/coin/CoinPresolvePsdebug.hpp +169 -0
  600. casadi/include/coin/CoinPresolveSingleton.hpp +115 -0
  601. casadi/include/coin/CoinPresolveSubst.hpp +103 -0
  602. casadi/include/coin/CoinPresolveTighten.hpp +58 -0
  603. casadi/include/coin/CoinPresolveTripleton.hpp +69 -0
  604. casadi/include/coin/CoinPresolveUseless.hpp +63 -0
  605. casadi/include/coin/CoinPresolveZeros.hpp +65 -0
  606. casadi/include/coin/CoinRational.hpp +43 -0
  607. casadi/include/coin/CoinSearchTree.hpp +523 -0
  608. casadi/include/coin/CoinShallowPackedVector.hpp +149 -0
  609. casadi/include/coin/CoinSignal.hpp +127 -0
  610. casadi/include/coin/CoinSimpFactorization.hpp +432 -0
  611. casadi/include/coin/CoinSmartPtr.hpp +548 -0
  612. casadi/include/coin/CoinSnapshot.hpp +572 -0
  613. casadi/include/coin/CoinSort.hpp +753 -0
  614. casadi/include/coin/CoinStructuredModel.hpp +270 -0
  615. casadi/include/coin/CoinTime.hpp +350 -0
  616. casadi/include/coin/CoinTypes.hpp +67 -0
  617. casadi/include/coin/CoinUtility.hpp +26 -0
  618. casadi/include/coin/CoinUtilsConfig.h +34 -0
  619. casadi/include/coin/CoinWarmStart.hpp +56 -0
  620. casadi/include/coin/CoinWarmStartBasis.hpp +468 -0
  621. casadi/include/coin/CoinWarmStartDual.hpp +180 -0
  622. casadi/include/coin/CoinWarmStartPrimalDual.hpp +233 -0
  623. casadi/include/coin/CoinWarmStartVector.hpp +523 -0
  624. casadi/include/coin/Coin_C_defines.h +149 -0
  625. casadi/include/coin/Idiot.hpp +327 -0
  626. casadi/include/coin/OsiAuxInfo.hpp +261 -0
  627. casadi/include/coin/OsiBranchingObject.hpp +1097 -0
  628. casadi/include/coin/OsiCbcSolverInterface.hpp +791 -0
  629. casadi/include/coin/OsiChooseVariable.hpp +645 -0
  630. casadi/include/coin/OsiClpSolverInterface.hpp +1604 -0
  631. casadi/include/coin/OsiColCut.hpp +322 -0
  632. casadi/include/coin/OsiCollections.hpp +34 -0
  633. casadi/include/coin/OsiConfig.h +19 -0
  634. casadi/include/coin/OsiCut.hpp +251 -0
  635. casadi/include/coin/OsiCuts.hpp +505 -0
  636. casadi/include/coin/OsiPresolve.hpp +272 -0
  637. casadi/include/coin/OsiRowCut.hpp +345 -0
  638. casadi/include/coin/OsiRowCutDebugger.hpp +190 -0
  639. casadi/include/coin/OsiSolverBranch.hpp +169 -0
  640. casadi/include/coin/OsiSolverInterface.hpp +2221 -0
  641. casadi/include/coin/OsiSolverParameters.hpp +144 -0
  642. casadi/include/coin/OsiUnitTests.hpp +390 -0
  643. casadi/include/coin-or/IpAlgBuilder.hpp +417 -0
  644. casadi/include/coin-or/IpAlgStrategy.hpp +201 -0
  645. casadi/include/coin-or/IpAlgTypes.hpp +64 -0
  646. casadi/include/coin-or/IpAugSystemSolver.hpp +212 -0
  647. casadi/include/coin-or/IpBlas.hpp +426 -0
  648. casadi/include/coin-or/IpCachedResults.hpp +897 -0
  649. casadi/include/coin-or/IpCompoundMatrix.hpp +423 -0
  650. casadi/include/coin-or/IpCompoundSymMatrix.hpp +348 -0
  651. casadi/include/coin-or/IpCompoundVector.hpp +395 -0
  652. casadi/include/coin-or/IpConvCheck.hpp +97 -0
  653. casadi/include/coin-or/IpDebug.hpp +167 -0
  654. casadi/include/coin-or/IpDenseVector.hpp +626 -0
  655. casadi/include/coin-or/IpDiagMatrix.hpp +158 -0
  656. casadi/include/coin-or/IpEqMultCalculator.hpp +76 -0
  657. casadi/include/coin-or/IpException.hpp +156 -0
  658. casadi/include/coin-or/IpExpansionMatrix.hpp +245 -0
  659. casadi/include/coin-or/IpGenTMatrix.hpp +290 -0
  660. casadi/include/coin-or/IpHessianUpdater.hpp +73 -0
  661. casadi/include/coin-or/IpIdentityMatrix.hpp +167 -0
  662. casadi/include/coin-or/IpIpoptAlg.hpp +257 -0
  663. casadi/include/coin-or/IpIpoptApplication.hpp +367 -0
  664. casadi/include/coin-or/IpIpoptCalculatedQuantities.hpp +1009 -0
  665. casadi/include/coin-or/IpIpoptData.hpp +966 -0
  666. casadi/include/coin-or/IpIpoptNLP.hpp +328 -0
  667. casadi/include/coin-or/IpIterateInitializer.hpp +68 -0
  668. casadi/include/coin-or/IpIteratesVector.hpp +840 -0
  669. casadi/include/coin-or/IpIterationOutput.hpp +78 -0
  670. casadi/include/coin-or/IpJournalist.hpp +573 -0
  671. casadi/include/coin-or/IpLapack.hpp +227 -0
  672. casadi/include/coin-or/IpLibraryLoader.hpp +76 -0
  673. casadi/include/coin-or/IpLineSearch.hpp +106 -0
  674. casadi/include/coin-or/IpLinearSolvers.h +46 -0
  675. casadi/include/coin-or/IpMatrix.hpp +434 -0
  676. casadi/include/coin-or/IpMuUpdate.hpp +77 -0
  677. casadi/include/coin-or/IpNLP.hpp +306 -0
  678. casadi/include/coin-or/IpNLPScaling.hpp +582 -0
  679. casadi/include/coin-or/IpObserver.hpp +422 -0
  680. casadi/include/coin-or/IpOptionsList.hpp +412 -0
  681. casadi/include/coin-or/IpOrigIpoptNLP.hpp +603 -0
  682. casadi/include/coin-or/IpPDSystemSolver.hpp +137 -0
  683. casadi/include/coin-or/IpReferenced.hpp +262 -0
  684. casadi/include/coin-or/IpRegOptions.hpp +1152 -0
  685. casadi/include/coin-or/IpReturnCodes.h +23 -0
  686. casadi/include/coin-or/IpReturnCodes.hpp +18 -0
  687. casadi/include/coin-or/IpReturnCodes.inc +71 -0
  688. casadi/include/coin-or/IpReturnCodes_inc.h +45 -0
  689. casadi/include/coin-or/IpScaledMatrix.hpp +291 -0
  690. casadi/include/coin-or/IpSearchDirCalculator.hpp +72 -0
  691. casadi/include/coin-or/IpSmartPtr.hpp +865 -0
  692. casadi/include/coin-or/IpSolveStatistics.hpp +210 -0
  693. casadi/include/coin-or/IpSparseSymLinearSolverInterface.hpp +260 -0
  694. casadi/include/coin-or/IpStdAugSystemSolver.cpp +555 -0
  695. casadi/include/coin-or/IpStdCInterface.h +428 -0
  696. casadi/include/coin-or/IpSumSymMatrix.hpp +186 -0
  697. casadi/include/coin-or/IpSymLinearSolver.hpp +141 -0
  698. casadi/include/coin-or/IpSymMatrix.hpp +167 -0
  699. casadi/include/coin-or/IpSymScaledMatrix.hpp +255 -0
  700. casadi/include/coin-or/IpSymTMatrix.hpp +275 -0
  701. casadi/include/coin-or/IpTNLP.hpp +820 -0
  702. casadi/include/coin-or/IpTNLPAdapter.hpp +648 -0
  703. casadi/include/coin-or/IpTNLPReducer.hpp +274 -0
  704. casadi/include/coin-or/IpTaggedObject.hpp +128 -0
  705. casadi/include/coin-or/IpTimedTask.hpp +218 -0
  706. casadi/include/coin-or/IpTimingStatistics.hpp +323 -0
  707. casadi/include/coin-or/IpTripletHelper.hpp +308 -0
  708. casadi/include/coin-or/IpTypes.h +81 -0
  709. casadi/include/coin-or/IpTypes.hpp +30 -0
  710. casadi/include/coin-or/IpUtils.hpp +166 -0
  711. casadi/include/coin-or/IpVector.hpp +892 -0
  712. casadi/include/coin-or/IpZeroSymMatrix.hpp +155 -0
  713. casadi/include/coin-or/IpoptConfig.h +45 -0
  714. casadi/include/coin-or/SensAlgorithm.hpp +114 -0
  715. casadi/include/coin-or/SensApplication.hpp +188 -0
  716. casadi/include/coin-or/SensBacksolver.hpp +36 -0
  717. casadi/include/coin-or/SensMeasurement.hpp +56 -0
  718. casadi/include/coin-or/SensPCalculator.hpp +137 -0
  719. casadi/include/coin-or/SensRegOp.hpp +21 -0
  720. casadi/include/coin-or/SensSchurData.hpp +182 -0
  721. casadi/include/coin-or/SensSchurDriver.hpp +118 -0
  722. casadi/include/coin-or/SensSimpleBacksolver.hpp +49 -0
  723. casadi/include/coin-or/SensStepCalc.hpp +85 -0
  724. casadi/include/coin-or/SensUtils.hpp +63 -0
  725. casadi/include/coin-or/metis/defs.h +161 -0
  726. casadi/include/coin-or/metis/macros.h +143 -0
  727. casadi/include/coin-or/metis/metis.h +37 -0
  728. casadi/include/coin-or/metis/proto.h +505 -0
  729. casadi/include/coin-or/metis/rename.h +418 -0
  730. casadi/include/coin-or/metis/struct.h +251 -0
  731. casadi/include/coin-or/mumps/dmumps_c.h +142 -0
  732. casadi/include/coin-or/mumps/mumps_c_types.h +72 -0
  733. casadi/include/coin-or/mumps/mumps_compat.h +27 -0
  734. casadi/include/coin-or/mumps/mumps_int_def.h +11 -0
  735. casadi/include/coin-or/mumps/mumps_mpi.h +67 -0
  736. casadi/include/d_blas.h +78 -0
  737. casadi/include/d_blas_64.h +73 -0
  738. casadi/include/daqp/api.h +46 -0
  739. casadi/include/daqp/auxiliary.h +29 -0
  740. casadi/include/daqp/bnb.h +32 -0
  741. casadi/include/daqp/codegen.h +18 -0
  742. casadi/include/daqp/constants.h +92 -0
  743. casadi/include/daqp/daqp.h +22 -0
  744. casadi/include/daqp/daqp_prox.h +18 -0
  745. casadi/include/daqp/factorization.h +18 -0
  746. casadi/include/daqp/types.h +161 -0
  747. casadi/include/daqp/utils.h +44 -0
  748. casadi/include/dlfcn.h +94 -0
  749. casadi/include/eigen3/Eigen/Cholesky +45 -0
  750. casadi/include/eigen3/Eigen/CholmodSupport +48 -0
  751. casadi/include/eigen3/Eigen/Core +384 -0
  752. casadi/include/eigen3/Eigen/Dense +7 -0
  753. casadi/include/eigen3/Eigen/Eigen +2 -0
  754. casadi/include/eigen3/Eigen/Eigenvalues +60 -0
  755. casadi/include/eigen3/Eigen/Geometry +59 -0
  756. casadi/include/eigen3/Eigen/Householder +29 -0
  757. casadi/include/eigen3/Eigen/IterativeLinearSolvers +48 -0
  758. casadi/include/eigen3/Eigen/Jacobi +32 -0
  759. casadi/include/eigen3/Eigen/KLUSupport +41 -0
  760. casadi/include/eigen3/Eigen/LU +47 -0
  761. casadi/include/eigen3/Eigen/MetisSupport +35 -0
  762. casadi/include/eigen3/Eigen/OrderingMethods +70 -0
  763. casadi/include/eigen3/Eigen/PaStiXSupport +49 -0
  764. casadi/include/eigen3/Eigen/PardisoSupport +35 -0
  765. casadi/include/eigen3/Eigen/QR +50 -0
  766. casadi/include/eigen3/Eigen/QtAlignedMalloc +39 -0
  767. casadi/include/eigen3/Eigen/SPQRSupport +34 -0
  768. casadi/include/eigen3/Eigen/SVD +50 -0
  769. casadi/include/eigen3/Eigen/Sparse +34 -0
  770. casadi/include/eigen3/Eigen/SparseCholesky +37 -0
  771. casadi/include/eigen3/Eigen/SparseCore +69 -0
  772. casadi/include/eigen3/Eigen/SparseLU +50 -0
  773. casadi/include/eigen3/Eigen/SparseQR +36 -0
  774. casadi/include/eigen3/Eigen/StdDeque +27 -0
  775. casadi/include/eigen3/Eigen/StdList +26 -0
  776. casadi/include/eigen3/Eigen/StdVector +27 -0
  777. casadi/include/eigen3/Eigen/SuperLUSupport +64 -0
  778. casadi/include/eigen3/Eigen/UmfPackSupport +40 -0
  779. casadi/include/eigen3/Eigen/src/Cholesky/LDLT.h +688 -0
  780. casadi/include/eigen3/Eigen/src/Cholesky/LLT.h +558 -0
  781. casadi/include/eigen3/Eigen/src/Cholesky/LLT_LAPACKE.h +99 -0
  782. casadi/include/eigen3/Eigen/src/CholmodSupport/CholmodSupport.h +682 -0
  783. casadi/include/eigen3/Eigen/src/Core/ArithmeticSequence.h +413 -0
  784. casadi/include/eigen3/Eigen/src/Core/Array.h +417 -0
  785. casadi/include/eigen3/Eigen/src/Core/ArrayBase.h +226 -0
  786. casadi/include/eigen3/Eigen/src/Core/ArrayWrapper.h +209 -0
  787. casadi/include/eigen3/Eigen/src/Core/Assign.h +90 -0
  788. casadi/include/eigen3/Eigen/src/Core/AssignEvaluator.h +1010 -0
  789. casadi/include/eigen3/Eigen/src/Core/Assign_MKL.h +178 -0
  790. casadi/include/eigen3/Eigen/src/Core/BandMatrix.h +353 -0
  791. casadi/include/eigen3/Eigen/src/Core/Block.h +448 -0
  792. casadi/include/eigen3/Eigen/src/Core/BooleanRedux.h +162 -0
  793. casadi/include/eigen3/Eigen/src/Core/CommaInitializer.h +164 -0
  794. casadi/include/eigen3/Eigen/src/Core/ConditionEstimator.h +175 -0
  795. casadi/include/eigen3/Eigen/src/Core/CoreEvaluators.h +1741 -0
  796. casadi/include/eigen3/Eigen/src/Core/CoreIterators.h +132 -0
  797. casadi/include/eigen3/Eigen/src/Core/CwiseBinaryOp.h +183 -0
  798. casadi/include/eigen3/Eigen/src/Core/CwiseNullaryOp.h +1001 -0
  799. casadi/include/eigen3/Eigen/src/Core/CwiseTernaryOp.h +197 -0
  800. casadi/include/eigen3/Eigen/src/Core/CwiseUnaryOp.h +103 -0
  801. casadi/include/eigen3/Eigen/src/Core/CwiseUnaryView.h +132 -0
  802. casadi/include/eigen3/Eigen/src/Core/DenseBase.h +701 -0
  803. casadi/include/eigen3/Eigen/src/Core/DenseCoeffsBase.h +685 -0
  804. casadi/include/eigen3/Eigen/src/Core/DenseStorage.h +652 -0
  805. casadi/include/eigen3/Eigen/src/Core/Diagonal.h +258 -0
  806. casadi/include/eigen3/Eigen/src/Core/DiagonalMatrix.h +391 -0
  807. casadi/include/eigen3/Eigen/src/Core/DiagonalProduct.h +28 -0
  808. casadi/include/eigen3/Eigen/src/Core/Dot.h +318 -0
  809. casadi/include/eigen3/Eigen/src/Core/EigenBase.h +160 -0
  810. casadi/include/eigen3/Eigen/src/Core/ForceAlignedAccess.h +150 -0
  811. casadi/include/eigen3/Eigen/src/Core/Fuzzy.h +155 -0
  812. casadi/include/eigen3/Eigen/src/Core/GeneralProduct.h +465 -0
  813. casadi/include/eigen3/Eigen/src/Core/GenericPacketMath.h +1040 -0
  814. casadi/include/eigen3/Eigen/src/Core/GlobalFunctions.h +194 -0
  815. casadi/include/eigen3/Eigen/src/Core/IO.h +258 -0
  816. casadi/include/eigen3/Eigen/src/Core/IndexedView.h +237 -0
  817. casadi/include/eigen3/Eigen/src/Core/Inverse.h +117 -0
  818. casadi/include/eigen3/Eigen/src/Core/Map.h +171 -0
  819. casadi/include/eigen3/Eigen/src/Core/MapBase.h +310 -0
  820. casadi/include/eigen3/Eigen/src/Core/MathFunctions.h +2057 -0
  821. casadi/include/eigen3/Eigen/src/Core/MathFunctionsImpl.h +200 -0
  822. casadi/include/eigen3/Eigen/src/Core/Matrix.h +565 -0
  823. casadi/include/eigen3/Eigen/src/Core/MatrixBase.h +547 -0
  824. casadi/include/eigen3/Eigen/src/Core/NestByValue.h +85 -0
  825. casadi/include/eigen3/Eigen/src/Core/NoAlias.h +109 -0
  826. casadi/include/eigen3/Eigen/src/Core/NumTraits.h +335 -0
  827. casadi/include/eigen3/Eigen/src/Core/PartialReduxEvaluator.h +232 -0
  828. casadi/include/eigen3/Eigen/src/Core/PermutationMatrix.h +605 -0
  829. casadi/include/eigen3/Eigen/src/Core/PlainObjectBase.h +1128 -0
  830. casadi/include/eigen3/Eigen/src/Core/Product.h +191 -0
  831. casadi/include/eigen3/Eigen/src/Core/ProductEvaluators.h +1179 -0
  832. casadi/include/eigen3/Eigen/src/Core/Random.h +218 -0
  833. casadi/include/eigen3/Eigen/src/Core/Redux.h +515 -0
  834. casadi/include/eigen3/Eigen/src/Core/Ref.h +381 -0
  835. casadi/include/eigen3/Eigen/src/Core/Replicate.h +142 -0
  836. casadi/include/eigen3/Eigen/src/Core/Reshaped.h +454 -0
  837. casadi/include/eigen3/Eigen/src/Core/ReturnByValue.h +119 -0
  838. casadi/include/eigen3/Eigen/src/Core/Reverse.h +217 -0
  839. casadi/include/eigen3/Eigen/src/Core/Select.h +164 -0
  840. casadi/include/eigen3/Eigen/src/Core/SelfAdjointView.h +365 -0
  841. casadi/include/eigen3/Eigen/src/Core/SelfCwiseBinaryOp.h +47 -0
  842. casadi/include/eigen3/Eigen/src/Core/Solve.h +188 -0
  843. casadi/include/eigen3/Eigen/src/Core/SolveTriangular.h +235 -0
  844. casadi/include/eigen3/Eigen/src/Core/SolverBase.h +168 -0
  845. casadi/include/eigen3/Eigen/src/Core/StableNorm.h +251 -0
  846. casadi/include/eigen3/Eigen/src/Core/StlIterators.h +463 -0
  847. casadi/include/eigen3/Eigen/src/Core/Stride.h +116 -0
  848. casadi/include/eigen3/Eigen/src/Core/Swap.h +68 -0
  849. casadi/include/eigen3/Eigen/src/Core/Transpose.h +464 -0
  850. casadi/include/eigen3/Eigen/src/Core/Transpositions.h +386 -0
  851. casadi/include/eigen3/Eigen/src/Core/TriangularMatrix.h +1001 -0
  852. casadi/include/eigen3/Eigen/src/Core/VectorBlock.h +96 -0
  853. casadi/include/eigen3/Eigen/src/Core/VectorwiseOp.h +784 -0
  854. casadi/include/eigen3/Eigen/src/Core/Visitor.h +381 -0
  855. casadi/include/eigen3/Eigen/src/Core/arch/AVX/Complex.h +372 -0
  856. casadi/include/eigen3/Eigen/src/Core/arch/AVX/MathFunctions.h +228 -0
  857. casadi/include/eigen3/Eigen/src/Core/arch/AVX/PacketMath.h +1574 -0
  858. casadi/include/eigen3/Eigen/src/Core/arch/AVX/TypeCasting.h +115 -0
  859. casadi/include/eigen3/Eigen/src/Core/arch/AVX512/Complex.h +422 -0
  860. casadi/include/eigen3/Eigen/src/Core/arch/AVX512/MathFunctions.h +362 -0
  861. casadi/include/eigen3/Eigen/src/Core/arch/AVX512/PacketMath.h +2303 -0
  862. casadi/include/eigen3/Eigen/src/Core/arch/AVX512/TypeCasting.h +89 -0
  863. casadi/include/eigen3/Eigen/src/Core/arch/AltiVec/Complex.h +417 -0
  864. casadi/include/eigen3/Eigen/src/Core/arch/AltiVec/MathFunctions.h +90 -0
  865. casadi/include/eigen3/Eigen/src/Core/arch/AltiVec/MatrixProduct.h +2937 -0
  866. casadi/include/eigen3/Eigen/src/Core/arch/AltiVec/MatrixProductCommon.h +221 -0
  867. casadi/include/eigen3/Eigen/src/Core/arch/AltiVec/MatrixProductMMA.h +629 -0
  868. casadi/include/eigen3/Eigen/src/Core/arch/AltiVec/PacketMath.h +2711 -0
  869. casadi/include/eigen3/Eigen/src/Core/arch/CUDA/Complex.h +258 -0
  870. casadi/include/eigen3/Eigen/src/Core/arch/Default/BFloat16.h +700 -0
  871. casadi/include/eigen3/Eigen/src/Core/arch/Default/ConjHelper.h +117 -0
  872. casadi/include/eigen3/Eigen/src/Core/arch/Default/GenericPacketMathFunctions.h +1649 -0
  873. casadi/include/eigen3/Eigen/src/Core/arch/Default/GenericPacketMathFunctionsFwd.h +110 -0
  874. casadi/include/eigen3/Eigen/src/Core/arch/Default/Half.h +942 -0
  875. casadi/include/eigen3/Eigen/src/Core/arch/Default/Settings.h +49 -0
  876. casadi/include/eigen3/Eigen/src/Core/arch/Default/TypeCasting.h +120 -0
  877. casadi/include/eigen3/Eigen/src/Core/arch/GPU/MathFunctions.h +103 -0
  878. casadi/include/eigen3/Eigen/src/Core/arch/GPU/PacketMath.h +1685 -0
  879. casadi/include/eigen3/Eigen/src/Core/arch/GPU/TypeCasting.h +80 -0
  880. casadi/include/eigen3/Eigen/src/Core/arch/HIP/hcc/math_constants.h +23 -0
  881. casadi/include/eigen3/Eigen/src/Core/arch/MSA/Complex.h +648 -0
  882. casadi/include/eigen3/Eigen/src/Core/arch/MSA/MathFunctions.h +387 -0
  883. casadi/include/eigen3/Eigen/src/Core/arch/MSA/PacketMath.h +1233 -0
  884. casadi/include/eigen3/Eigen/src/Core/arch/NEON/Complex.h +584 -0
  885. casadi/include/eigen3/Eigen/src/Core/arch/NEON/GeneralBlockPanelKernel.h +183 -0
  886. casadi/include/eigen3/Eigen/src/Core/arch/NEON/MathFunctions.h +75 -0
  887. casadi/include/eigen3/Eigen/src/Core/arch/NEON/PacketMath.h +4587 -0
  888. casadi/include/eigen3/Eigen/src/Core/arch/NEON/TypeCasting.h +1419 -0
  889. casadi/include/eigen3/Eigen/src/Core/arch/SSE/Complex.h +351 -0
  890. casadi/include/eigen3/Eigen/src/Core/arch/SSE/MathFunctions.h +199 -0
  891. casadi/include/eigen3/Eigen/src/Core/arch/SSE/PacketMath.h +1505 -0
  892. casadi/include/eigen3/Eigen/src/Core/arch/SSE/TypeCasting.h +142 -0
  893. casadi/include/eigen3/Eigen/src/Core/arch/SVE/MathFunctions.h +44 -0
  894. casadi/include/eigen3/Eigen/src/Core/arch/SVE/PacketMath.h +752 -0
  895. casadi/include/eigen3/Eigen/src/Core/arch/SVE/TypeCasting.h +49 -0
  896. casadi/include/eigen3/Eigen/src/Core/arch/SYCL/InteropHeaders.h +232 -0
  897. casadi/include/eigen3/Eigen/src/Core/arch/SYCL/MathFunctions.h +301 -0
  898. casadi/include/eigen3/Eigen/src/Core/arch/SYCL/PacketMath.h +670 -0
  899. casadi/include/eigen3/Eigen/src/Core/arch/SYCL/SyclMemoryModel.h +694 -0
  900. casadi/include/eigen3/Eigen/src/Core/arch/SYCL/TypeCasting.h +85 -0
  901. casadi/include/eigen3/Eigen/src/Core/arch/ZVector/Complex.h +426 -0
  902. casadi/include/eigen3/Eigen/src/Core/arch/ZVector/MathFunctions.h +233 -0
  903. casadi/include/eigen3/Eigen/src/Core/arch/ZVector/PacketMath.h +1060 -0
  904. casadi/include/eigen3/Eigen/src/Core/functors/AssignmentFunctors.h +177 -0
  905. casadi/include/eigen3/Eigen/src/Core/functors/BinaryFunctors.h +541 -0
  906. casadi/include/eigen3/Eigen/src/Core/functors/NullaryFunctors.h +189 -0
  907. casadi/include/eigen3/Eigen/src/Core/functors/StlFunctors.h +166 -0
  908. casadi/include/eigen3/Eigen/src/Core/functors/TernaryFunctors.h +25 -0
  909. casadi/include/eigen3/Eigen/src/Core/functors/UnaryFunctors.h +1131 -0
  910. casadi/include/eigen3/Eigen/src/Core/products/GeneralBlockPanelKernel.h +2645 -0
  911. casadi/include/eigen3/Eigen/src/Core/products/GeneralMatrixMatrix.h +517 -0
  912. casadi/include/eigen3/Eigen/src/Core/products/GeneralMatrixMatrixTriangular.h +317 -0
  913. casadi/include/eigen3/Eigen/src/Core/products/GeneralMatrixMatrixTriangular_BLAS.h +145 -0
  914. casadi/include/eigen3/Eigen/src/Core/products/GeneralMatrixMatrix_BLAS.h +124 -0
  915. casadi/include/eigen3/Eigen/src/Core/products/GeneralMatrixVector.h +518 -0
  916. casadi/include/eigen3/Eigen/src/Core/products/GeneralMatrixVector_BLAS.h +136 -0
  917. casadi/include/eigen3/Eigen/src/Core/products/Parallelizer.h +180 -0
  918. casadi/include/eigen3/Eigen/src/Core/products/SelfadjointMatrixMatrix.h +544 -0
  919. casadi/include/eigen3/Eigen/src/Core/products/SelfadjointMatrixMatrix_BLAS.h +295 -0
  920. casadi/include/eigen3/Eigen/src/Core/products/SelfadjointMatrixVector.h +262 -0
  921. casadi/include/eigen3/Eigen/src/Core/products/SelfadjointMatrixVector_BLAS.h +118 -0
  922. casadi/include/eigen3/Eigen/src/Core/products/SelfadjointProduct.h +133 -0
  923. casadi/include/eigen3/Eigen/src/Core/products/SelfadjointRank2Update.h +94 -0
  924. casadi/include/eigen3/Eigen/src/Core/products/TriangularMatrixMatrix.h +472 -0
  925. casadi/include/eigen3/Eigen/src/Core/products/TriangularMatrixMatrix_BLAS.h +317 -0
  926. casadi/include/eigen3/Eigen/src/Core/products/TriangularMatrixVector.h +350 -0
  927. casadi/include/eigen3/Eigen/src/Core/products/TriangularMatrixVector_BLAS.h +255 -0
  928. casadi/include/eigen3/Eigen/src/Core/products/TriangularSolverMatrix.h +337 -0
  929. casadi/include/eigen3/Eigen/src/Core/products/TriangularSolverMatrix_BLAS.h +167 -0
  930. casadi/include/eigen3/Eigen/src/Core/products/TriangularSolverVector.h +148 -0
  931. casadi/include/eigen3/Eigen/src/Core/util/BlasUtil.h +583 -0
  932. casadi/include/eigen3/Eigen/src/Core/util/ConfigureVectorization.h +512 -0
  933. casadi/include/eigen3/Eigen/src/Core/util/Constants.h +563 -0
  934. casadi/include/eigen3/Eigen/src/Core/util/DisableStupidWarnings.h +106 -0
  935. casadi/include/eigen3/Eigen/src/Core/util/ForwardDeclarations.h +322 -0
  936. casadi/include/eigen3/Eigen/src/Core/util/IndexedViewHelper.h +186 -0
  937. casadi/include/eigen3/Eigen/src/Core/util/IntegralConstant.h +272 -0
  938. casadi/include/eigen3/Eigen/src/Core/util/MKL_support.h +137 -0
  939. casadi/include/eigen3/Eigen/src/Core/util/Macros.h +1464 -0
  940. casadi/include/eigen3/Eigen/src/Core/util/Memory.h +1163 -0
  941. casadi/include/eigen3/Eigen/src/Core/util/Meta.h +812 -0
  942. casadi/include/eigen3/Eigen/src/Core/util/NonMPL2.h +3 -0
  943. casadi/include/eigen3/Eigen/src/Core/util/ReenableStupidWarnings.h +31 -0
  944. casadi/include/eigen3/Eigen/src/Core/util/ReshapedHelper.h +51 -0
  945. casadi/include/eigen3/Eigen/src/Core/util/StaticAssert.h +221 -0
  946. casadi/include/eigen3/Eigen/src/Core/util/SymbolicIndex.h +293 -0
  947. casadi/include/eigen3/Eigen/src/Core/util/XprHelper.h +856 -0
  948. casadi/include/eigen3/Eigen/src/Eigenvalues/ComplexEigenSolver.h +346 -0
  949. casadi/include/eigen3/Eigen/src/Eigenvalues/ComplexSchur.h +462 -0
  950. casadi/include/eigen3/Eigen/src/Eigenvalues/ComplexSchur_LAPACKE.h +91 -0
  951. casadi/include/eigen3/Eigen/src/Eigenvalues/EigenSolver.h +622 -0
  952. casadi/include/eigen3/Eigen/src/Eigenvalues/GeneralizedEigenSolver.h +418 -0
  953. casadi/include/eigen3/Eigen/src/Eigenvalues/GeneralizedSelfAdjointEigenSolver.h +226 -0
  954. casadi/include/eigen3/Eigen/src/Eigenvalues/HessenbergDecomposition.h +374 -0
  955. casadi/include/eigen3/Eigen/src/Eigenvalues/MatrixBaseEigenvalues.h +158 -0
  956. casadi/include/eigen3/Eigen/src/Eigenvalues/RealQZ.h +657 -0
  957. casadi/include/eigen3/Eigen/src/Eigenvalues/RealSchur.h +558 -0
  958. casadi/include/eigen3/Eigen/src/Eigenvalues/RealSchur_LAPACKE.h +77 -0
  959. casadi/include/eigen3/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h +904 -0
  960. casadi/include/eigen3/Eigen/src/Eigenvalues/SelfAdjointEigenSolver_LAPACKE.h +87 -0
  961. casadi/include/eigen3/Eigen/src/Eigenvalues/Tridiagonalization.h +561 -0
  962. casadi/include/eigen3/Eigen/src/Geometry/AlignedBox.h +486 -0
  963. casadi/include/eigen3/Eigen/src/Geometry/AngleAxis.h +247 -0
  964. casadi/include/eigen3/Eigen/src/Geometry/EulerAngles.h +114 -0
  965. casadi/include/eigen3/Eigen/src/Geometry/Homogeneous.h +501 -0
  966. casadi/include/eigen3/Eigen/src/Geometry/Hyperplane.h +282 -0
  967. casadi/include/eigen3/Eigen/src/Geometry/OrthoMethods.h +235 -0
  968. casadi/include/eigen3/Eigen/src/Geometry/ParametrizedLine.h +232 -0
  969. casadi/include/eigen3/Eigen/src/Geometry/Quaternion.h +870 -0
  970. casadi/include/eigen3/Eigen/src/Geometry/Rotation2D.h +199 -0
  971. casadi/include/eigen3/Eigen/src/Geometry/RotationBase.h +206 -0
  972. casadi/include/eigen3/Eigen/src/Geometry/Scaling.h +188 -0
  973. casadi/include/eigen3/Eigen/src/Geometry/Transform.h +1563 -0
  974. casadi/include/eigen3/Eigen/src/Geometry/Translation.h +202 -0
  975. casadi/include/eigen3/Eigen/src/Geometry/Umeyama.h +166 -0
  976. casadi/include/eigen3/Eigen/src/Geometry/arch/Geometry_SIMD.h +168 -0
  977. casadi/include/eigen3/Eigen/src/Householder/BlockHouseholder.h +110 -0
  978. casadi/include/eigen3/Eigen/src/Householder/Householder.h +176 -0
  979. casadi/include/eigen3/Eigen/src/Householder/HouseholderSequence.h +545 -0
  980. casadi/include/eigen3/Eigen/src/IterativeLinearSolvers/BasicPreconditioners.h +226 -0
  981. casadi/include/eigen3/Eigen/src/IterativeLinearSolvers/BiCGSTAB.h +212 -0
  982. casadi/include/eigen3/Eigen/src/IterativeLinearSolvers/ConjugateGradient.h +229 -0
  983. casadi/include/eigen3/Eigen/src/IterativeLinearSolvers/IncompleteCholesky.h +394 -0
  984. casadi/include/eigen3/Eigen/src/IterativeLinearSolvers/IncompleteLUT.h +453 -0
  985. casadi/include/eigen3/Eigen/src/IterativeLinearSolvers/IterativeSolverBase.h +444 -0
  986. casadi/include/eigen3/Eigen/src/IterativeLinearSolvers/LeastSquareConjugateGradient.h +198 -0
  987. casadi/include/eigen3/Eigen/src/IterativeLinearSolvers/SolveWithGuess.h +117 -0
  988. casadi/include/eigen3/Eigen/src/Jacobi/Jacobi.h +483 -0
  989. casadi/include/eigen3/Eigen/src/KLUSupport/KLUSupport.h +358 -0
  990. casadi/include/eigen3/Eigen/src/LU/Determinant.h +117 -0
  991. casadi/include/eigen3/Eigen/src/LU/FullPivLU.h +877 -0
  992. casadi/include/eigen3/Eigen/src/LU/InverseImpl.h +432 -0
  993. casadi/include/eigen3/Eigen/src/LU/PartialPivLU.h +624 -0
  994. casadi/include/eigen3/Eigen/src/LU/PartialPivLU_LAPACKE.h +83 -0
  995. casadi/include/eigen3/Eigen/src/LU/arch/InverseSize4.h +351 -0
  996. casadi/include/eigen3/Eigen/src/MetisSupport/MetisSupport.h +137 -0
  997. casadi/include/eigen3/Eigen/src/OrderingMethods/Amd.h +435 -0
  998. casadi/include/eigen3/Eigen/src/OrderingMethods/Eigen_Colamd.h +1863 -0
  999. casadi/include/eigen3/Eigen/src/OrderingMethods/Ordering.h +153 -0
  1000. casadi/include/eigen3/Eigen/src/PaStiXSupport/PaStiXSupport.h +678 -0
  1001. casadi/include/eigen3/Eigen/src/PardisoSupport/PardisoSupport.h +545 -0
  1002. casadi/include/eigen3/Eigen/src/QR/ColPivHouseholderQR.h +674 -0
  1003. casadi/include/eigen3/Eigen/src/QR/ColPivHouseholderQR_LAPACKE.h +97 -0
  1004. casadi/include/eigen3/Eigen/src/QR/CompleteOrthogonalDecomposition.h +635 -0
  1005. casadi/include/eigen3/Eigen/src/QR/FullPivHouseholderQR.h +713 -0
  1006. casadi/include/eigen3/Eigen/src/QR/HouseholderQR.h +434 -0
  1007. casadi/include/eigen3/Eigen/src/QR/HouseholderQR_LAPACKE.h +68 -0
  1008. casadi/include/eigen3/Eigen/src/SPQRSupport/SuiteSparseQRSupport.h +335 -0
  1009. casadi/include/eigen3/Eigen/src/SVD/BDCSVD.h +1366 -0
  1010. casadi/include/eigen3/Eigen/src/SVD/JacobiSVD.h +812 -0
  1011. casadi/include/eigen3/Eigen/src/SVD/JacobiSVD_LAPACKE.h +91 -0
  1012. casadi/include/eigen3/Eigen/src/SVD/SVDBase.h +376 -0
  1013. casadi/include/eigen3/Eigen/src/SVD/UpperBidiagonalization.h +414 -0
  1014. casadi/include/eigen3/Eigen/src/SparseCholesky/SimplicialCholesky.h +697 -0
  1015. casadi/include/eigen3/Eigen/src/SparseCholesky/SimplicialCholesky_impl.h +174 -0
  1016. casadi/include/eigen3/Eigen/src/SparseCore/AmbiVector.h +378 -0
  1017. casadi/include/eigen3/Eigen/src/SparseCore/CompressedStorage.h +274 -0
  1018. casadi/include/eigen3/Eigen/src/SparseCore/ConservativeSparseSparseProduct.h +352 -0
  1019. casadi/include/eigen3/Eigen/src/SparseCore/MappedSparseMatrix.h +67 -0
  1020. casadi/include/eigen3/Eigen/src/SparseCore/SparseAssign.h +270 -0
  1021. casadi/include/eigen3/Eigen/src/SparseCore/SparseBlock.h +571 -0
  1022. casadi/include/eigen3/Eigen/src/SparseCore/SparseColEtree.h +206 -0
  1023. casadi/include/eigen3/Eigen/src/SparseCore/SparseCompressedBase.h +370 -0
  1024. casadi/include/eigen3/Eigen/src/SparseCore/SparseCwiseBinaryOp.h +722 -0
  1025. casadi/include/eigen3/Eigen/src/SparseCore/SparseCwiseUnaryOp.h +150 -0
  1026. casadi/include/eigen3/Eigen/src/SparseCore/SparseDenseProduct.h +342 -0
  1027. casadi/include/eigen3/Eigen/src/SparseCore/SparseDiagonalProduct.h +138 -0
  1028. casadi/include/eigen3/Eigen/src/SparseCore/SparseDot.h +98 -0
  1029. casadi/include/eigen3/Eigen/src/SparseCore/SparseFuzzy.h +29 -0
  1030. casadi/include/eigen3/Eigen/src/SparseCore/SparseMap.h +305 -0
  1031. casadi/include/eigen3/Eigen/src/SparseCore/SparseMatrix.h +1518 -0
  1032. casadi/include/eigen3/Eigen/src/SparseCore/SparseMatrixBase.h +398 -0
  1033. casadi/include/eigen3/Eigen/src/SparseCore/SparsePermutation.h +178 -0
  1034. casadi/include/eigen3/Eigen/src/SparseCore/SparseProduct.h +181 -0
  1035. casadi/include/eigen3/Eigen/src/SparseCore/SparseRedux.h +49 -0
  1036. casadi/include/eigen3/Eigen/src/SparseCore/SparseRef.h +397 -0
  1037. casadi/include/eigen3/Eigen/src/SparseCore/SparseSelfAdjointView.h +659 -0
  1038. casadi/include/eigen3/Eigen/src/SparseCore/SparseSolverBase.h +124 -0
  1039. casadi/include/eigen3/Eigen/src/SparseCore/SparseSparseProductWithPruning.h +198 -0
  1040. casadi/include/eigen3/Eigen/src/SparseCore/SparseTranspose.h +92 -0
  1041. casadi/include/eigen3/Eigen/src/SparseCore/SparseTriangularView.h +189 -0
  1042. casadi/include/eigen3/Eigen/src/SparseCore/SparseUtil.h +186 -0
  1043. casadi/include/eigen3/Eigen/src/SparseCore/SparseVector.h +478 -0
  1044. casadi/include/eigen3/Eigen/src/SparseCore/SparseView.h +254 -0
  1045. casadi/include/eigen3/Eigen/src/SparseCore/TriangularSolver.h +315 -0
  1046. casadi/include/eigen3/Eigen/src/SparseLU/SparseLU.h +923 -0
  1047. casadi/include/eigen3/Eigen/src/SparseLU/SparseLUImpl.h +66 -0
  1048. casadi/include/eigen3/Eigen/src/SparseLU/SparseLU_Memory.h +226 -0
  1049. casadi/include/eigen3/Eigen/src/SparseLU/SparseLU_Structs.h +110 -0
  1050. casadi/include/eigen3/Eigen/src/SparseLU/SparseLU_SupernodalMatrix.h +375 -0
  1051. casadi/include/eigen3/Eigen/src/SparseLU/SparseLU_Utils.h +80 -0
  1052. casadi/include/eigen3/Eigen/src/SparseLU/SparseLU_column_bmod.h +181 -0
  1053. casadi/include/eigen3/Eigen/src/SparseLU/SparseLU_column_dfs.h +179 -0
  1054. casadi/include/eigen3/Eigen/src/SparseLU/SparseLU_copy_to_ucol.h +107 -0
  1055. casadi/include/eigen3/Eigen/src/SparseLU/SparseLU_gemm_kernel.h +280 -0
  1056. casadi/include/eigen3/Eigen/src/SparseLU/SparseLU_heap_relax_snode.h +126 -0
  1057. casadi/include/eigen3/Eigen/src/SparseLU/SparseLU_kernel_bmod.h +130 -0
  1058. casadi/include/eigen3/Eigen/src/SparseLU/SparseLU_panel_bmod.h +223 -0
  1059. casadi/include/eigen3/Eigen/src/SparseLU/SparseLU_panel_dfs.h +258 -0
  1060. casadi/include/eigen3/Eigen/src/SparseLU/SparseLU_pivotL.h +137 -0
  1061. casadi/include/eigen3/Eigen/src/SparseLU/SparseLU_pruneL.h +136 -0
  1062. casadi/include/eigen3/Eigen/src/SparseLU/SparseLU_relax_snode.h +83 -0
  1063. casadi/include/eigen3/Eigen/src/SparseQR/SparseQR.h +758 -0
  1064. casadi/include/eigen3/Eigen/src/StlSupport/StdDeque.h +116 -0
  1065. casadi/include/eigen3/Eigen/src/StlSupport/StdList.h +106 -0
  1066. casadi/include/eigen3/Eigen/src/StlSupport/StdVector.h +131 -0
  1067. casadi/include/eigen3/Eigen/src/StlSupport/details.h +84 -0
  1068. casadi/include/eigen3/Eigen/src/SuperLUSupport/SuperLUSupport.h +1025 -0
  1069. casadi/include/eigen3/Eigen/src/UmfPackSupport/UmfPackSupport.h +642 -0
  1070. casadi/include/eigen3/Eigen/src/misc/Image.h +82 -0
  1071. casadi/include/eigen3/Eigen/src/misc/Kernel.h +79 -0
  1072. casadi/include/eigen3/Eigen/src/misc/RealSvd2x2.h +55 -0
  1073. casadi/include/eigen3/Eigen/src/misc/blas.h +440 -0
  1074. casadi/include/eigen3/Eigen/src/misc/lapack.h +152 -0
  1075. casadi/include/eigen3/Eigen/src/misc/lapacke.h +16292 -0
  1076. casadi/include/eigen3/Eigen/src/misc/lapacke_mangling.h +17 -0
  1077. casadi/include/eigen3/Eigen/src/plugins/ArrayCwiseBinaryOps.h +358 -0
  1078. casadi/include/eigen3/Eigen/src/plugins/ArrayCwiseUnaryOps.h +696 -0
  1079. casadi/include/eigen3/Eigen/src/plugins/BlockMethods.h +1442 -0
  1080. casadi/include/eigen3/Eigen/src/plugins/CommonCwiseBinaryOps.h +115 -0
  1081. casadi/include/eigen3/Eigen/src/plugins/CommonCwiseUnaryOps.h +177 -0
  1082. casadi/include/eigen3/Eigen/src/plugins/IndexedViewMethods.h +262 -0
  1083. casadi/include/eigen3/Eigen/src/plugins/MatrixCwiseBinaryOps.h +152 -0
  1084. casadi/include/eigen3/Eigen/src/plugins/MatrixCwiseUnaryOps.h +95 -0
  1085. casadi/include/eigen3/Eigen/src/plugins/ReshapedMethods.h +149 -0
  1086. casadi/include/eigen3/signature_of_eigen3_matrix_library +1 -0
  1087. casadi/include/eigen3/unsupported/Eigen/AdolcForward +159 -0
  1088. casadi/include/eigen3/unsupported/Eigen/AlignedVector3 +234 -0
  1089. casadi/include/eigen3/unsupported/Eigen/ArpackSupport +30 -0
  1090. casadi/include/eigen3/unsupported/Eigen/AutoDiff +46 -0
  1091. casadi/include/eigen3/unsupported/Eigen/BVH +95 -0
  1092. casadi/include/eigen3/unsupported/Eigen/CXX11/Tensor +137 -0
  1093. casadi/include/eigen3/unsupported/Eigen/CXX11/TensorSymmetry +42 -0
  1094. casadi/include/eigen3/unsupported/Eigen/CXX11/ThreadPool +74 -0
  1095. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/Tensor.h +554 -0
  1096. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorArgMax.h +329 -0
  1097. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorAssign.h +247 -0
  1098. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorBase.h +1176 -0
  1099. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorBlock.h +1559 -0
  1100. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorBroadcasting.h +1093 -0
  1101. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorChipping.h +518 -0
  1102. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorConcatenation.h +377 -0
  1103. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContraction.h +1023 -0
  1104. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionBlocking.h +73 -0
  1105. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionCuda.h +6 -0
  1106. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionGpu.h +1413 -0
  1107. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionMapper.h +575 -0
  1108. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionSycl.h +1650 -0
  1109. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionThreadPool.h +1679 -0
  1110. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorConversion.h +456 -0
  1111. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorConvolution.h +1132 -0
  1112. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorConvolutionSycl.h +544 -0
  1113. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorCostModel.h +214 -0
  1114. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorCustomOp.h +347 -0
  1115. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDevice.h +137 -0
  1116. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceCuda.h +6 -0
  1117. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceDefault.h +104 -0
  1118. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceGpu.h +389 -0
  1119. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceSycl.h +1048 -0
  1120. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceThreadPool.h +409 -0
  1121. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDimensionList.h +236 -0
  1122. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDimensions.h +490 -0
  1123. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorEvalTo.h +236 -0
  1124. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorEvaluator.h +983 -0
  1125. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorExecutor.h +703 -0
  1126. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorExpr.h +388 -0
  1127. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorFFT.h +669 -0
  1128. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorFixedSize.h +379 -0
  1129. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorForcedEval.h +237 -0
  1130. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorForwardDeclarations.h +191 -0
  1131. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorFunctors.h +488 -0
  1132. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorGenerator.h +302 -0
  1133. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorGlobalFunctions.h +33 -0
  1134. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorGpuHipCudaDefines.h +99 -0
  1135. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorGpuHipCudaUndefines.h +44 -0
  1136. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorIO.h +79 -0
  1137. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorImagePatch.h +603 -0
  1138. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorIndexList.h +738 -0
  1139. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorInflation.h +247 -0
  1140. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorInitializer.h +82 -0
  1141. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorIntDiv.h +263 -0
  1142. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorLayoutSwap.h +216 -0
  1143. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorMacros.h +98 -0
  1144. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorMap.h +327 -0
  1145. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorMeta.h +311 -0
  1146. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorMorphing.h +1102 -0
  1147. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorPadding.h +708 -0
  1148. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorPatch.h +291 -0
  1149. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorRandom.h +322 -0
  1150. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReduction.h +998 -0
  1151. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReductionCuda.h +6 -0
  1152. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReductionGpu.h +966 -0
  1153. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReductionSycl.h +582 -0
  1154. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorRef.h +454 -0
  1155. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReverse.h +465 -0
  1156. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorScan.h +528 -0
  1157. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorScanSycl.h +513 -0
  1158. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorShuffling.h +471 -0
  1159. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorStorage.h +161 -0
  1160. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorStriding.h +346 -0
  1161. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorTrace.h +303 -0
  1162. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorTraits.h +264 -0
  1163. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorUInt128.h +249 -0
  1164. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorVolumePatch.h +629 -0
  1165. casadi/include/eigen3/unsupported/Eigen/CXX11/src/TensorSymmetry/DynamicSymmetry.h +293 -0
  1166. casadi/include/eigen3/unsupported/Eigen/CXX11/src/TensorSymmetry/StaticSymmetry.h +236 -0
  1167. casadi/include/eigen3/unsupported/Eigen/CXX11/src/TensorSymmetry/Symmetry.h +338 -0
  1168. casadi/include/eigen3/unsupported/Eigen/CXX11/src/TensorSymmetry/util/TemplateGroupTheory.h +669 -0
  1169. casadi/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/Barrier.h +67 -0
  1170. casadi/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/EventCount.h +249 -0
  1171. casadi/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/NonBlockingThreadPool.h +486 -0
  1172. casadi/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/RunQueue.h +236 -0
  1173. casadi/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/ThreadCancel.h +23 -0
  1174. casadi/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/ThreadEnvironment.h +40 -0
  1175. casadi/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/ThreadLocal.h +301 -0
  1176. casadi/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/ThreadPoolInterface.h +48 -0
  1177. casadi/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/ThreadYield.h +20 -0
  1178. casadi/include/eigen3/unsupported/Eigen/CXX11/src/util/CXX11Meta.h +537 -0
  1179. casadi/include/eigen3/unsupported/Eigen/CXX11/src/util/CXX11Workarounds.h +88 -0
  1180. casadi/include/eigen3/unsupported/Eigen/CXX11/src/util/EmulateArray.h +261 -0
  1181. casadi/include/eigen3/unsupported/Eigen/CXX11/src/util/MaxSizeVector.h +158 -0
  1182. casadi/include/eigen3/unsupported/Eigen/EulerAngles +43 -0
  1183. casadi/include/eigen3/unsupported/Eigen/FFT +419 -0
  1184. casadi/include/eigen3/unsupported/Eigen/IterativeSolvers +51 -0
  1185. casadi/include/eigen3/unsupported/Eigen/KroneckerProduct +36 -0
  1186. casadi/include/eigen3/unsupported/Eigen/LevenbergMarquardt +49 -0
  1187. casadi/include/eigen3/unsupported/Eigen/MPRealSupport +213 -0
  1188. casadi/include/eigen3/unsupported/Eigen/MatrixFunctions +504 -0
  1189. casadi/include/eigen3/unsupported/Eigen/MoreVectorization +24 -0
  1190. casadi/include/eigen3/unsupported/Eigen/NonLinearOptimization +140 -0
  1191. casadi/include/eigen3/unsupported/Eigen/NumericalDiff +56 -0
  1192. casadi/include/eigen3/unsupported/Eigen/OpenGLSupport +322 -0
  1193. casadi/include/eigen3/unsupported/Eigen/Polynomials +137 -0
  1194. casadi/include/eigen3/unsupported/Eigen/Skyline +39 -0
  1195. casadi/include/eigen3/unsupported/Eigen/SparseExtra +54 -0
  1196. casadi/include/eigen3/unsupported/Eigen/SpecialFunctions +103 -0
  1197. casadi/include/eigen3/unsupported/Eigen/Splines +35 -0
  1198. casadi/include/eigen3/unsupported/Eigen/src/AutoDiff/AutoDiffJacobian.h +108 -0
  1199. casadi/include/eigen3/unsupported/Eigen/src/AutoDiff/AutoDiffScalar.h +730 -0
  1200. casadi/include/eigen3/unsupported/Eigen/src/AutoDiff/AutoDiffVector.h +220 -0
  1201. casadi/include/eigen3/unsupported/Eigen/src/BVH/BVAlgorithms.h +293 -0
  1202. casadi/include/eigen3/unsupported/Eigen/src/BVH/KdBVH.h +223 -0
  1203. casadi/include/eigen3/unsupported/Eigen/src/Eigenvalues/ArpackSelfAdjointEigenSolver.h +790 -0
  1204. casadi/include/eigen3/unsupported/Eigen/src/EulerAngles/EulerAngles.h +355 -0
  1205. casadi/include/eigen3/unsupported/Eigen/src/EulerAngles/EulerSystem.h +305 -0
  1206. casadi/include/eigen3/unsupported/Eigen/src/FFT/ei_fftw_impl.h +261 -0
  1207. casadi/include/eigen3/unsupported/Eigen/src/FFT/ei_kissfft_impl.h +449 -0
  1208. casadi/include/eigen3/unsupported/Eigen/src/IterativeSolvers/ConstrainedConjGrad.h +187 -0
  1209. casadi/include/eigen3/unsupported/Eigen/src/IterativeSolvers/DGMRES.h +511 -0
  1210. casadi/include/eigen3/unsupported/Eigen/src/IterativeSolvers/GMRES.h +335 -0
  1211. casadi/include/eigen3/unsupported/Eigen/src/IterativeSolvers/IDRS.h +436 -0
  1212. casadi/include/eigen3/unsupported/Eigen/src/IterativeSolvers/IncompleteLU.h +90 -0
  1213. casadi/include/eigen3/unsupported/Eigen/src/IterativeSolvers/IterationController.h +154 -0
  1214. casadi/include/eigen3/unsupported/Eigen/src/IterativeSolvers/MINRES.h +267 -0
  1215. casadi/include/eigen3/unsupported/Eigen/src/IterativeSolvers/Scaling.h +193 -0
  1216. casadi/include/eigen3/unsupported/Eigen/src/KroneckerProduct/KroneckerTensorProduct.h +305 -0
  1217. casadi/include/eigen3/unsupported/Eigen/src/LevenbergMarquardt/LMcovar.h +84 -0
  1218. casadi/include/eigen3/unsupported/Eigen/src/LevenbergMarquardt/LMonestep.h +202 -0
  1219. casadi/include/eigen3/unsupported/Eigen/src/LevenbergMarquardt/LMpar.h +160 -0
  1220. casadi/include/eigen3/unsupported/Eigen/src/LevenbergMarquardt/LMqrsolv.h +188 -0
  1221. casadi/include/eigen3/unsupported/Eigen/src/LevenbergMarquardt/LevenbergMarquardt.h +396 -0
  1222. casadi/include/eigen3/unsupported/Eigen/src/MatrixFunctions/MatrixExponential.h +441 -0
  1223. casadi/include/eigen3/unsupported/Eigen/src/MatrixFunctions/MatrixFunction.h +569 -0
  1224. casadi/include/eigen3/unsupported/Eigen/src/MatrixFunctions/MatrixLogarithm.h +373 -0
  1225. casadi/include/eigen3/unsupported/Eigen/src/MatrixFunctions/MatrixPower.h +705 -0
  1226. casadi/include/eigen3/unsupported/Eigen/src/MatrixFunctions/MatrixSquareRoot.h +368 -0
  1227. casadi/include/eigen3/unsupported/Eigen/src/MatrixFunctions/StemFunction.h +117 -0
  1228. casadi/include/eigen3/unsupported/Eigen/src/MoreVectorization/MathFunctions.h +95 -0
  1229. casadi/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/HybridNonLinearSolver.h +601 -0
  1230. casadi/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/LevenbergMarquardt.h +657 -0
  1231. casadi/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/chkder.h +66 -0
  1232. casadi/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/covar.h +70 -0
  1233. casadi/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/dogleg.h +107 -0
  1234. casadi/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/fdjac1.h +79 -0
  1235. casadi/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/lmpar.h +298 -0
  1236. casadi/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/qrsolv.h +91 -0
  1237. casadi/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/r1mpyq.h +30 -0
  1238. casadi/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/r1updt.h +99 -0
  1239. casadi/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/rwupdt.h +49 -0
  1240. casadi/include/eigen3/unsupported/Eigen/src/NumericalDiff/NumericalDiff.h +130 -0
  1241. casadi/include/eigen3/unsupported/Eigen/src/Polynomials/Companion.h +280 -0
  1242. casadi/include/eigen3/unsupported/Eigen/src/Polynomials/PolynomialSolver.h +428 -0
  1243. casadi/include/eigen3/unsupported/Eigen/src/Polynomials/PolynomialUtils.h +143 -0
  1244. casadi/include/eigen3/unsupported/Eigen/src/Skyline/SkylineInplaceLU.h +352 -0
  1245. casadi/include/eigen3/unsupported/Eigen/src/Skyline/SkylineMatrix.h +862 -0
  1246. casadi/include/eigen3/unsupported/Eigen/src/Skyline/SkylineMatrixBase.h +212 -0
  1247. casadi/include/eigen3/unsupported/Eigen/src/Skyline/SkylineProduct.h +295 -0
  1248. casadi/include/eigen3/unsupported/Eigen/src/Skyline/SkylineStorage.h +259 -0
  1249. casadi/include/eigen3/unsupported/Eigen/src/Skyline/SkylineUtil.h +89 -0
  1250. casadi/include/eigen3/unsupported/Eigen/src/SparseExtra/BlockOfDynamicSparseMatrix.h +122 -0
  1251. casadi/include/eigen3/unsupported/Eigen/src/SparseExtra/BlockSparseMatrix.h +1079 -0
  1252. casadi/include/eigen3/unsupported/Eigen/src/SparseExtra/DynamicSparseMatrix.h +404 -0
  1253. casadi/include/eigen3/unsupported/Eigen/src/SparseExtra/MarketIO.h +282 -0
  1254. casadi/include/eigen3/unsupported/Eigen/src/SparseExtra/MatrixMarketIterator.h +247 -0
  1255. casadi/include/eigen3/unsupported/Eigen/src/SparseExtra/RandomSetter.h +349 -0
  1256. casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsArrayAPI.h +286 -0
  1257. casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsBFloat16.h +68 -0
  1258. casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h +357 -0
  1259. casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsHalf.h +66 -0
  1260. casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h +1959 -0
  1261. casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsPacketMath.h +118 -0
  1262. casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/HipVectorCompatibility.h +67 -0
  1263. casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsArrayAPI.h +167 -0
  1264. casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsBFloat16.h +58 -0
  1265. casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h +330 -0
  1266. casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsHalf.h +58 -0
  1267. casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h +2045 -0
  1268. casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsPacketMath.h +79 -0
  1269. casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/AVX/BesselFunctions.h +46 -0
  1270. casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/AVX/SpecialFunctions.h +16 -0
  1271. casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/AVX512/BesselFunctions.h +46 -0
  1272. casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/AVX512/SpecialFunctions.h +16 -0
  1273. casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/GPU/SpecialFunctions.h +369 -0
  1274. casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/NEON/BesselFunctions.h +54 -0
  1275. casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/NEON/SpecialFunctions.h +34 -0
  1276. casadi/include/eigen3/unsupported/Eigen/src/Splines/Spline.h +507 -0
  1277. casadi/include/eigen3/unsupported/Eigen/src/Splines/SplineFitting.h +431 -0
  1278. casadi/include/eigen3/unsupported/Eigen/src/Splines/SplineFwd.h +93 -0
  1279. casadi/include/fatrop/auxiliary/Common.hpp +34 -0
  1280. casadi/include/fatrop/auxiliary/DynamicLib.hpp +34 -0
  1281. casadi/include/fatrop/auxiliary/FatropOptions.hpp +68 -0
  1282. casadi/include/fatrop/auxiliary/FatropVector.hpp +143 -0
  1283. casadi/include/fatrop/auxiliary/LinearAlgebra.hpp +88 -0
  1284. casadi/include/fatrop/auxiliary/VectorUtils.hpp +54 -0
  1285. casadi/include/fatrop/blasfeo_wrapper/LinearAlgebraBlasfeo.hpp +496 -0
  1286. casadi/include/fatrop/fatrop.hpp +39 -0
  1287. casadi/include/fatrop/function_evaluation/CasadiCodegen.hpp +104 -0
  1288. casadi/include/fatrop/function_evaluation/FunctionEvaluation.hpp +60 -0
  1289. casadi/include/fatrop/json/json.h +946 -0
  1290. casadi/include/fatrop/ocp/CasadiCApiUserdataWrap.hpp +87 -0
  1291. casadi/include/fatrop/ocp/DuInfEvaluator.hpp +38 -0
  1292. casadi/include/fatrop/ocp/FatropOCP.hpp +161 -0
  1293. casadi/include/fatrop/ocp/FatropOCPBuilder.hpp +52 -0
  1294. casadi/include/fatrop/ocp/FatropOCPResto.hpp +299 -0
  1295. casadi/include/fatrop/ocp/OCP.hpp +82 -0
  1296. casadi/include/fatrop/ocp/OCPAbstract.hpp +254 -0
  1297. casadi/include/fatrop/ocp/OCPAdapter.hpp +197 -0
  1298. casadi/include/fatrop/ocp/OCPCInterface.h +289 -0
  1299. casadi/include/fatrop/ocp/OCPDims.hpp +60 -0
  1300. casadi/include/fatrop/ocp/OCPInitializer.hpp +41 -0
  1301. casadi/include/fatrop/ocp/OCPKKT.hpp +69 -0
  1302. casadi/include/fatrop/ocp/OCPLSRiccati.hpp +198 -0
  1303. casadi/include/fatrop/ocp/OCPLSScaler.hpp +66 -0
  1304. casadi/include/fatrop/ocp/OCPLinearSolver.hpp +75 -0
  1305. casadi/include/fatrop/ocp/OCPNoScaling.hpp +42 -0
  1306. casadi/include/fatrop/ocp/OCPScalingMethod.hpp +42 -0
  1307. casadi/include/fatrop/ocp/StageOCP.hpp +592 -0
  1308. casadi/include/fatrop/ocp/StageOCPApplication.hpp +242 -0
  1309. casadi/include/fatrop/ocp/StageOCPExpressions.hpp +182 -0
  1310. casadi/include/fatrop/ocp/UStageEvalAbstract.hpp +168 -0
  1311. casadi/include/fatrop/ocp/UStageOCPImpl.hpp +152 -0
  1312. casadi/include/fatrop/quasi_newton/bfgs.hpp +159 -0
  1313. casadi/include/fatrop/solver/AlgBuilder.hpp +76 -0
  1314. casadi/include/fatrop/solver/AlgStrategy.hpp +33 -0
  1315. casadi/include/fatrop/solver/FatropAlg.hpp +121 -0
  1316. casadi/include/fatrop/solver/FatropData.hpp +188 -0
  1317. casadi/include/fatrop/solver/FatropOptions.hpp +95 -0
  1318. casadi/include/fatrop/solver/FatropPrinter.hpp +65 -0
  1319. casadi/include/fatrop/solver/FatropStats.hpp +63 -0
  1320. casadi/include/fatrop/solver/Filter.hpp +54 -0
  1321. casadi/include/fatrop/solver/IterationData.hpp +56 -0
  1322. casadi/include/fatrop/solver/LineSearch.hpp +86 -0
  1323. casadi/include/fatrop/solver/NLPL1.hpp +263 -0
  1324. casadi/include/fatrop/templates/NLPAlg.hpp +104 -0
  1325. casadi/include/ghc/filesystem.hpp +6083 -0
  1326. casadi/include/ghc/fs_fwd.hpp +38 -0
  1327. casadi/include/ghc/fs_impl.hpp +35 -0
  1328. casadi/include/ghc/fs_std.hpp +60 -0
  1329. casadi/include/ghc/fs_std_fwd.hpp +63 -0
  1330. casadi/include/ghc/fs_std_impl.hpp +46 -0
  1331. casadi/include/highs/HConfig.h +23 -0
  1332. casadi/include/highs/Highs.h +1703 -0
  1333. casadi/include/highs/filereaderlp/builder.hpp +25 -0
  1334. casadi/include/highs/filereaderlp/def.hpp +19 -0
  1335. casadi/include/highs/filereaderlp/model.hpp +68 -0
  1336. casadi/include/highs/filereaderlp/reader.hpp +10 -0
  1337. casadi/include/highs/interfaces/highs_c_api.h +2456 -0
  1338. casadi/include/highs/io/Filereader.h +45 -0
  1339. casadi/include/highs/io/FilereaderEms.h +30 -0
  1340. casadi/include/highs/io/FilereaderLp.h +51 -0
  1341. casadi/include/highs/io/FilereaderMps.h +27 -0
  1342. casadi/include/highs/io/HMPSIO.h +78 -0
  1343. casadi/include/highs/io/HMpsFF.h +238 -0
  1344. casadi/include/highs/io/HighsIO.h +114 -0
  1345. casadi/include/highs/io/LoadOptions.h +24 -0
  1346. casadi/include/highs/ipm/IpxSolution.h +32 -0
  1347. casadi/include/highs/ipm/IpxWrapper.h +70 -0
  1348. casadi/include/highs/ipm/basiclu/basiclu.h +161 -0
  1349. casadi/include/highs/ipm/basiclu/basiclu_factorize.h +247 -0
  1350. casadi/include/highs/ipm/basiclu/basiclu_get_factors.h +108 -0
  1351. casadi/include/highs/ipm/basiclu/basiclu_initialize.h +119 -0
  1352. casadi/include/highs/ipm/basiclu/basiclu_obj_factorize.h +34 -0
  1353. casadi/include/highs/ipm/basiclu/basiclu_obj_free.h +19 -0
  1354. casadi/include/highs/ipm/basiclu/basiclu_obj_get_factors.h +34 -0
  1355. casadi/include/highs/ipm/basiclu/basiclu_obj_initialize.h +46 -0
  1356. casadi/include/highs/ipm/basiclu/basiclu_obj_solve_dense.h +29 -0
  1357. casadi/include/highs/ipm/basiclu/basiclu_obj_solve_for_update.h +42 -0
  1358. casadi/include/highs/ipm/basiclu/basiclu_obj_solve_sparse.h +32 -0
  1359. casadi/include/highs/ipm/basiclu/basiclu_obj_update.h +31 -0
  1360. casadi/include/highs/ipm/basiclu/basiclu_object.h +30 -0
  1361. casadi/include/highs/ipm/basiclu/basiclu_solve_dense.h +75 -0
  1362. casadi/include/highs/ipm/basiclu/basiclu_solve_for_update.h +169 -0
  1363. casadi/include/highs/ipm/basiclu/basiclu_solve_sparse.h +112 -0
  1364. casadi/include/highs/ipm/basiclu/basiclu_update.h +125 -0
  1365. casadi/include/highs/ipm/basiclu/lu_def.h +39 -0
  1366. casadi/include/highs/ipm/basiclu/lu_file.h +21 -0
  1367. casadi/include/highs/ipm/basiclu/lu_internal.h +220 -0
  1368. casadi/include/highs/ipm/basiclu/lu_list.h +168 -0
  1369. casadi/include/highs/ipm/ipx/basiclu_kernel.h +20 -0
  1370. casadi/include/highs/ipm/ipx/basiclu_wrapper.h +47 -0
  1371. casadi/include/highs/ipm/ipx/basis.h +351 -0
  1372. casadi/include/highs/ipm/ipx/conjugate_residuals.h +74 -0
  1373. casadi/include/highs/ipm/ipx/control.h +164 -0
  1374. casadi/include/highs/ipm/ipx/crossover.h +157 -0
  1375. casadi/include/highs/ipm/ipx/diagonal_precond.h +45 -0
  1376. casadi/include/highs/ipm/ipx/forrest_tomlin.h +102 -0
  1377. casadi/include/highs/ipm/ipx/guess_basis.h +21 -0
  1378. casadi/include/highs/ipm/ipx/indexed_vector.h +113 -0
  1379. casadi/include/highs/ipm/ipx/info.h +27 -0
  1380. casadi/include/highs/ipm/ipx/ipm.h +94 -0
  1381. casadi/include/highs/ipm/ipx/ipx_c.h +47 -0
  1382. casadi/include/highs/ipm/ipx/ipx_config.h +9 -0
  1383. casadi/include/highs/ipm/ipx/ipx_info.h +111 -0
  1384. casadi/include/highs/ipm/ipx/ipx_internal.h +88 -0
  1385. casadi/include/highs/ipm/ipx/ipx_parameters.h +76 -0
  1386. casadi/include/highs/ipm/ipx/ipx_status.h +57 -0
  1387. casadi/include/highs/ipm/ipx/iterate.h +328 -0
  1388. casadi/include/highs/ipm/ipx/kkt_solver.h +70 -0
  1389. casadi/include/highs/ipm/ipx/kkt_solver_basis.h +66 -0
  1390. casadi/include/highs/ipm/ipx/kkt_solver_diag.h +48 -0
  1391. casadi/include/highs/ipm/ipx/linear_operator.h +26 -0
  1392. casadi/include/highs/ipm/ipx/lp_solver.h +202 -0
  1393. casadi/include/highs/ipm/ipx/lu_factorization.h +79 -0
  1394. casadi/include/highs/ipm/ipx/lu_update.h +129 -0
  1395. casadi/include/highs/ipm/ipx/maxvolume.h +54 -0
  1396. casadi/include/highs/ipm/ipx/model.h +413 -0
  1397. casadi/include/highs/ipm/ipx/multistream.h +52 -0
  1398. casadi/include/highs/ipm/ipx/normal_matrix.h +44 -0
  1399. casadi/include/highs/ipm/ipx/power_method.h +44 -0
  1400. casadi/include/highs/ipm/ipx/sparse_matrix.h +195 -0
  1401. casadi/include/highs/ipm/ipx/sparse_utils.h +58 -0
  1402. casadi/include/highs/ipm/ipx/splitted_normal_matrix.h +63 -0
  1403. casadi/include/highs/ipm/ipx/starting_basis.h +39 -0
  1404. casadi/include/highs/ipm/ipx/symbolic_invert.h +29 -0
  1405. casadi/include/highs/ipm/ipx/timer.h +24 -0
  1406. casadi/include/highs/ipm/ipx/utils.h +39 -0
  1407. casadi/include/highs/lp_data/HConst.h +320 -0
  1408. casadi/include/highs/lp_data/HStruct.h +182 -0
  1409. casadi/include/highs/lp_data/HighsAnalysis.h +23 -0
  1410. casadi/include/highs/lp_data/HighsCallback.h +47 -0
  1411. casadi/include/highs/lp_data/HighsCallbackStruct.h +62 -0
  1412. casadi/include/highs/lp_data/HighsDebug.h +34 -0
  1413. casadi/include/highs/lp_data/HighsIis.h +62 -0
  1414. casadi/include/highs/lp_data/HighsInfo.h +329 -0
  1415. casadi/include/highs/lp_data/HighsInfoDebug.h +27 -0
  1416. casadi/include/highs/lp_data/HighsLp.h +100 -0
  1417. casadi/include/highs/lp_data/HighsLpSolverObject.h +45 -0
  1418. casadi/include/highs/lp_data/HighsLpUtils.h +298 -0
  1419. casadi/include/highs/lp_data/HighsModelUtils.h +112 -0
  1420. casadi/include/highs/lp_data/HighsOptions.h +1469 -0
  1421. casadi/include/highs/lp_data/HighsRanging.h +43 -0
  1422. casadi/include/highs/lp_data/HighsSolution.h +144 -0
  1423. casadi/include/highs/lp_data/HighsSolutionDebug.h +87 -0
  1424. casadi/include/highs/lp_data/HighsSolve.h +23 -0
  1425. casadi/include/highs/lp_data/HighsStatus.h +29 -0
  1426. casadi/include/highs/mip/HighsCliqueTable.h +318 -0
  1427. casadi/include/highs/mip/HighsConflictPool.h +109 -0
  1428. casadi/include/highs/mip/HighsCutGeneration.h +106 -0
  1429. casadi/include/highs/mip/HighsCutPool.h +168 -0
  1430. casadi/include/highs/mip/HighsDebugSol.h +132 -0
  1431. casadi/include/highs/mip/HighsDomain.h +653 -0
  1432. casadi/include/highs/mip/HighsDomainChange.h +48 -0
  1433. casadi/include/highs/mip/HighsDynamicRowMatrix.h +104 -0
  1434. casadi/include/highs/mip/HighsGFkSolve.h +438 -0
  1435. casadi/include/highs/mip/HighsImplications.h +170 -0
  1436. casadi/include/highs/mip/HighsLpAggregator.h +50 -0
  1437. casadi/include/highs/mip/HighsLpRelaxation.h +357 -0
  1438. casadi/include/highs/mip/HighsMipAnalysis.h +52 -0
  1439. casadi/include/highs/mip/HighsMipSolver.h +112 -0
  1440. casadi/include/highs/mip/HighsMipSolverData.h +297 -0
  1441. casadi/include/highs/mip/HighsModkSeparator.h +60 -0
  1442. casadi/include/highs/mip/HighsNodeQueue.h +311 -0
  1443. casadi/include/highs/mip/HighsObjectiveFunction.h +71 -0
  1444. casadi/include/highs/mip/HighsPathSeparator.h +39 -0
  1445. casadi/include/highs/mip/HighsPrimalHeuristics.h +70 -0
  1446. casadi/include/highs/mip/HighsPseudocost.h +360 -0
  1447. casadi/include/highs/mip/HighsRedcostFixing.h +42 -0
  1448. casadi/include/highs/mip/HighsSearch.h +241 -0
  1449. casadi/include/highs/mip/HighsSeparation.h +41 -0
  1450. casadi/include/highs/mip/HighsSeparator.h +52 -0
  1451. casadi/include/highs/mip/HighsTableauSeparator.h +34 -0
  1452. casadi/include/highs/mip/HighsTransformedLp.h +63 -0
  1453. casadi/include/highs/mip/MipTimer.h +471 -0
  1454. casadi/include/highs/model/HighsHessian.h +54 -0
  1455. casadi/include/highs/model/HighsHessianUtils.h +49 -0
  1456. casadi/include/highs/model/HighsModel.h +52 -0
  1457. casadi/include/highs/parallel/HighsBinarySemaphore.h +113 -0
  1458. casadi/include/highs/parallel/HighsCacheAlign.h +87 -0
  1459. casadi/include/highs/parallel/HighsCombinable.h +121 -0
  1460. casadi/include/highs/parallel/HighsMutex.h +129 -0
  1461. casadi/include/highs/parallel/HighsParallel.h +133 -0
  1462. casadi/include/highs/parallel/HighsRaceTimer.h +43 -0
  1463. casadi/include/highs/parallel/HighsSchedulerConstants.h +24 -0
  1464. casadi/include/highs/parallel/HighsSpinMutex.h +53 -0
  1465. casadi/include/highs/parallel/HighsSplitDeque.h +583 -0
  1466. casadi/include/highs/parallel/HighsTask.h +175 -0
  1467. casadi/include/highs/parallel/HighsTaskExecutor.h +222 -0
  1468. casadi/include/highs/pdlp/CupdlpWrapper.h +104 -0
  1469. casadi/include/highs/pdlp/cupdlp/cupdlp_cs.h +40 -0
  1470. casadi/include/highs/pdlp/cupdlp/cupdlp_defs.h +433 -0
  1471. casadi/include/highs/pdlp/cupdlp/cupdlp_linalg.h +189 -0
  1472. casadi/include/highs/pdlp/cupdlp/cupdlp_proj.h +19 -0
  1473. casadi/include/highs/pdlp/cupdlp/cupdlp_restart.h +31 -0
  1474. casadi/include/highs/pdlp/cupdlp/cupdlp_scaling.h +26 -0
  1475. casadi/include/highs/pdlp/cupdlp/cupdlp_solver.h +98 -0
  1476. casadi/include/highs/pdlp/cupdlp/cupdlp_step.h +37 -0
  1477. casadi/include/highs/pdlp/cupdlp/cupdlp_utils.c +1807 -0
  1478. casadi/include/highs/pdqsort/pdqsort.h +532 -0
  1479. casadi/include/highs/presolve/HPresolve.h +405 -0
  1480. casadi/include/highs/presolve/HPresolveAnalysis.h +51 -0
  1481. casadi/include/highs/presolve/HighsPostsolveStack.h +940 -0
  1482. casadi/include/highs/presolve/HighsSymmetry.h +281 -0
  1483. casadi/include/highs/presolve/ICrash.h +124 -0
  1484. casadi/include/highs/presolve/ICrashUtil.h +62 -0
  1485. casadi/include/highs/presolve/ICrashX.h +23 -0
  1486. casadi/include/highs/presolve/PresolveComponent.h +90 -0
  1487. casadi/include/highs/qpsolver/a_asm.hpp +70 -0
  1488. casadi/include/highs/qpsolver/a_quass.hpp +15 -0
  1489. casadi/include/highs/qpsolver/basis.hpp +152 -0
  1490. casadi/include/highs/qpsolver/crashsolution.hpp +13 -0
  1491. casadi/include/highs/qpsolver/dantzigpricing.hpp +73 -0
  1492. casadi/include/highs/qpsolver/devexpricing.hpp +101 -0
  1493. casadi/include/highs/qpsolver/eventhandler.hpp +23 -0
  1494. casadi/include/highs/qpsolver/factor.hpp +401 -0
  1495. casadi/include/highs/qpsolver/feasibility_bounded.hpp +107 -0
  1496. casadi/include/highs/qpsolver/feasibility_highs.hpp +294 -0
  1497. casadi/include/highs/qpsolver/gradient.hpp +39 -0
  1498. casadi/include/highs/qpsolver/instance.hpp +63 -0
  1499. casadi/include/highs/qpsolver/matrix.hpp +335 -0
  1500. casadi/include/highs/qpsolver/perturbation.hpp +8 -0
  1501. casadi/include/highs/qpsolver/pricing.hpp +15 -0
  1502. casadi/include/highs/qpsolver/qpconst.hpp +27 -0
  1503. casadi/include/highs/qpsolver/qpvector.hpp +235 -0
  1504. casadi/include/highs/qpsolver/quass.hpp +20 -0
  1505. casadi/include/highs/qpsolver/ratiotest.hpp +19 -0
  1506. casadi/include/highs/qpsolver/runtime.hpp +38 -0
  1507. casadi/include/highs/qpsolver/scaling.hpp +8 -0
  1508. casadi/include/highs/qpsolver/settings.hpp +69 -0
  1509. casadi/include/highs/qpsolver/snippets.hpp +29 -0
  1510. casadi/include/highs/qpsolver/statistics.hpp +23 -0
  1511. casadi/include/highs/qpsolver/steepestedgepricing.hpp +166 -0
  1512. casadi/include/highs/simplex/HApp.h +476 -0
  1513. casadi/include/highs/simplex/HEkk.h +416 -0
  1514. casadi/include/highs/simplex/HEkkDual.h +513 -0
  1515. casadi/include/highs/simplex/HEkkDualRHS.h +134 -0
  1516. casadi/include/highs/simplex/HEkkDualRow.h +201 -0
  1517. casadi/include/highs/simplex/HEkkPrimal.h +191 -0
  1518. casadi/include/highs/simplex/HSimplex.h +42 -0
  1519. casadi/include/highs/simplex/HSimplexDebug.h +48 -0
  1520. casadi/include/highs/simplex/HSimplexNla.h +158 -0
  1521. casadi/include/highs/simplex/HSimplexReport.h +21 -0
  1522. casadi/include/highs/simplex/HighsSimplexAnalysis.h +500 -0
  1523. casadi/include/highs/simplex/SimplexConst.h +273 -0
  1524. casadi/include/highs/simplex/SimplexStruct.h +261 -0
  1525. casadi/include/highs/simplex/SimplexTimer.h +409 -0
  1526. casadi/include/highs/test/DevKkt.h +143 -0
  1527. casadi/include/highs/test/KktCh2.h +79 -0
  1528. casadi/include/highs/util/FactorTimer.h +199 -0
  1529. casadi/include/highs/util/HFactor.h +587 -0
  1530. casadi/include/highs/util/HFactorConst.h +81 -0
  1531. casadi/include/highs/util/HFactorDebug.h +55 -0
  1532. casadi/include/highs/util/HSet.h +89 -0
  1533. casadi/include/highs/util/HVector.h +22 -0
  1534. casadi/include/highs/util/HVectorBase.h +102 -0
  1535. casadi/include/highs/util/HighsCDouble.h +319 -0
  1536. casadi/include/highs/util/HighsComponent.h +53 -0
  1537. casadi/include/highs/util/HighsDataStack.h +83 -0
  1538. casadi/include/highs/util/HighsDisjointSets.h +107 -0
  1539. casadi/include/highs/util/HighsHash.h +1274 -0
  1540. casadi/include/highs/util/HighsHashTree.h +1447 -0
  1541. casadi/include/highs/util/HighsInt.h +36 -0
  1542. casadi/include/highs/util/HighsIntegers.h +212 -0
  1543. casadi/include/highs/util/HighsLinearSumBounds.h +157 -0
  1544. casadi/include/highs/util/HighsMatrixPic.h +37 -0
  1545. casadi/include/highs/util/HighsMatrixSlice.h +561 -0
  1546. casadi/include/highs/util/HighsMatrixUtils.h +54 -0
  1547. casadi/include/highs/util/HighsMemoryAllocation.h +63 -0
  1548. casadi/include/highs/util/HighsRandom.h +242 -0
  1549. casadi/include/highs/util/HighsRbTree.h +452 -0
  1550. casadi/include/highs/util/HighsSort.h +131 -0
  1551. casadi/include/highs/util/HighsSparseMatrix.h +150 -0
  1552. casadi/include/highs/util/HighsSparseVectorSum.h +95 -0
  1553. casadi/include/highs/util/HighsSplay.h +135 -0
  1554. casadi/include/highs/util/HighsTimer.h +381 -0
  1555. casadi/include/highs/util/HighsUtils.h +217 -0
  1556. casadi/include/highs/util/stringutil.h +46 -0
  1557. casadi/include/highs/zstr/strict_fstream.hpp +237 -0
  1558. casadi/include/highs/zstr/zstr.hpp +472 -0
  1559. casadi/include/highs_export.h +42 -0
  1560. casadi/include/hpipm_aux_mem.h +52 -0
  1561. casadi/include/hpipm_aux_string.h +50 -0
  1562. casadi/include/hpipm_common.h +76 -0
  1563. casadi/include/hpipm_d_cast_qcqp.h +71 -0
  1564. casadi/include/hpipm_d_cond.h +135 -0
  1565. casadi/include/hpipm_d_cond_aux.h +92 -0
  1566. casadi/include/hpipm_d_cond_qcqp.h +129 -0
  1567. casadi/include/hpipm_d_core_qp_ipm.h +101 -0
  1568. casadi/include/hpipm_d_core_qp_ipm_aux.h +68 -0
  1569. casadi/include/hpipm_d_dense_qcqp.h +199 -0
  1570. casadi/include/hpipm_d_dense_qcqp_dim.h +98 -0
  1571. casadi/include/hpipm_d_dense_qcqp_ipm.h +193 -0
  1572. casadi/include/hpipm_d_dense_qcqp_res.h +108 -0
  1573. casadi/include/hpipm_d_dense_qcqp_sol.h +85 -0
  1574. casadi/include/hpipm_d_dense_qcqp_utils.h +82 -0
  1575. casadi/include/hpipm_d_dense_qp.h +207 -0
  1576. casadi/include/hpipm_d_dense_qp_dim.h +92 -0
  1577. casadi/include/hpipm_d_dense_qp_ipm.h +260 -0
  1578. casadi/include/hpipm_d_dense_qp_kkt.h +72 -0
  1579. casadi/include/hpipm_d_dense_qp_res.h +106 -0
  1580. casadi/include/hpipm_d_dense_qp_sol.h +94 -0
  1581. casadi/include/hpipm_d_dense_qp_utils.h +83 -0
  1582. casadi/include/hpipm_d_ocp_qcqp.h +322 -0
  1583. casadi/include/hpipm_d_ocp_qcqp_dim.h +130 -0
  1584. casadi/include/hpipm_d_ocp_qcqp_ipm.h +192 -0
  1585. casadi/include/hpipm_d_ocp_qcqp_red.h +118 -0
  1586. casadi/include/hpipm_d_ocp_qcqp_res.h +115 -0
  1587. casadi/include/hpipm_d_ocp_qcqp_sol.h +114 -0
  1588. casadi/include/hpipm_d_ocp_qcqp_utils.h +81 -0
  1589. casadi/include/hpipm_d_ocp_qp.h +306 -0
  1590. casadi/include/hpipm_d_ocp_qp_dim.h +142 -0
  1591. casadi/include/hpipm_d_ocp_qp_ipm.h +252 -0
  1592. casadi/include/hpipm_d_ocp_qp_kkt.h +66 -0
  1593. casadi/include/hpipm_d_ocp_qp_red.h +117 -0
  1594. casadi/include/hpipm_d_ocp_qp_res.h +113 -0
  1595. casadi/include/hpipm_d_ocp_qp_sol.h +128 -0
  1596. casadi/include/hpipm_d_ocp_qp_utils.h +82 -0
  1597. casadi/include/hpipm_d_part_cond.h +115 -0
  1598. casadi/include/hpipm_d_part_cond_qcqp.h +106 -0
  1599. casadi/include/hpipm_d_sim_erk.h +122 -0
  1600. casadi/include/hpipm_d_sim_rk.h +71 -0
  1601. casadi/include/hpipm_d_tree_ocp_qcqp.h +213 -0
  1602. casadi/include/hpipm_d_tree_ocp_qcqp_dim.h +117 -0
  1603. casadi/include/hpipm_d_tree_ocp_qcqp_ipm.h +191 -0
  1604. casadi/include/hpipm_d_tree_ocp_qcqp_res.h +109 -0
  1605. casadi/include/hpipm_d_tree_ocp_qcqp_sol.h +99 -0
  1606. casadi/include/hpipm_d_tree_ocp_qcqp_utils.h +84 -0
  1607. casadi/include/hpipm_d_tree_ocp_qp.h +195 -0
  1608. casadi/include/hpipm_d_tree_ocp_qp_dim.h +111 -0
  1609. casadi/include/hpipm_d_tree_ocp_qp_ipm.h +209 -0
  1610. casadi/include/hpipm_d_tree_ocp_qp_kkt.h +52 -0
  1611. casadi/include/hpipm_d_tree_ocp_qp_res.h +107 -0
  1612. casadi/include/hpipm_d_tree_ocp_qp_sol.h +100 -0
  1613. casadi/include/hpipm_d_tree_ocp_qp_utils.h +83 -0
  1614. casadi/include/hpipm_m_dense_qp.h +68 -0
  1615. casadi/include/hpipm_m_dense_qp_dim.h +68 -0
  1616. casadi/include/hpipm_m_ocp_qp.h +49 -0
  1617. casadi/include/hpipm_m_ocp_qp_ipm_hard.h +115 -0
  1618. casadi/include/hpipm_m_ocp_qp_kkt.h +45 -0
  1619. casadi/include/hpipm_s_cast_qcqp.h +72 -0
  1620. casadi/include/hpipm_s_cond.h +137 -0
  1621. casadi/include/hpipm_s_cond_aux.h +92 -0
  1622. casadi/include/hpipm_s_cond_qcqp.h +130 -0
  1623. casadi/include/hpipm_s_core_qp_ipm.h +101 -0
  1624. casadi/include/hpipm_s_core_qp_ipm_aux.h +68 -0
  1625. casadi/include/hpipm_s_dense_qcqp.h +200 -0
  1626. casadi/include/hpipm_s_dense_qcqp_dim.h +99 -0
  1627. casadi/include/hpipm_s_dense_qcqp_ipm.h +204 -0
  1628. casadi/include/hpipm_s_dense_qcqp_res.h +109 -0
  1629. casadi/include/hpipm_s_dense_qcqp_sol.h +86 -0
  1630. casadi/include/hpipm_s_dense_qcqp_utils.h +83 -0
  1631. casadi/include/hpipm_s_dense_qp.h +207 -0
  1632. casadi/include/hpipm_s_dense_qp_dim.h +94 -0
  1633. casadi/include/hpipm_s_dense_qp_ipm.h +260 -0
  1634. casadi/include/hpipm_s_dense_qp_kkt.h +72 -0
  1635. casadi/include/hpipm_s_dense_qp_res.h +107 -0
  1636. casadi/include/hpipm_s_dense_qp_sol.h +94 -0
  1637. casadi/include/hpipm_s_dense_qp_utils.h +84 -0
  1638. casadi/include/hpipm_s_ocp_qcqp.h +322 -0
  1639. casadi/include/hpipm_s_ocp_qcqp_dim.h +131 -0
  1640. casadi/include/hpipm_s_ocp_qcqp_ipm.h +193 -0
  1641. casadi/include/hpipm_s_ocp_qcqp_red.h +119 -0
  1642. casadi/include/hpipm_s_ocp_qcqp_res.h +116 -0
  1643. casadi/include/hpipm_s_ocp_qcqp_sol.h +115 -0
  1644. casadi/include/hpipm_s_ocp_qcqp_utils.h +82 -0
  1645. casadi/include/hpipm_s_ocp_qp.h +306 -0
  1646. casadi/include/hpipm_s_ocp_qp_dim.h +141 -0
  1647. casadi/include/hpipm_s_ocp_qp_ipm.h +252 -0
  1648. casadi/include/hpipm_s_ocp_qp_kkt.h +66 -0
  1649. casadi/include/hpipm_s_ocp_qp_red.h +118 -0
  1650. casadi/include/hpipm_s_ocp_qp_res.h +115 -0
  1651. casadi/include/hpipm_s_ocp_qp_sol.h +128 -0
  1652. casadi/include/hpipm_s_ocp_qp_utils.h +83 -0
  1653. casadi/include/hpipm_s_part_cond.h +115 -0
  1654. casadi/include/hpipm_s_part_cond_qcqp.h +107 -0
  1655. casadi/include/hpipm_s_sim_erk.h +121 -0
  1656. casadi/include/hpipm_s_sim_rk.h +72 -0
  1657. casadi/include/hpipm_s_tree_ocp_qcqp.h +213 -0
  1658. casadi/include/hpipm_s_tree_ocp_qcqp_dim.h +118 -0
  1659. casadi/include/hpipm_s_tree_ocp_qcqp_ipm.h +192 -0
  1660. casadi/include/hpipm_s_tree_ocp_qcqp_res.h +110 -0
  1661. casadi/include/hpipm_s_tree_ocp_qcqp_sol.h +97 -0
  1662. casadi/include/hpipm_s_tree_ocp_qcqp_utils.h +85 -0
  1663. casadi/include/hpipm_s_tree_ocp_qp.h +196 -0
  1664. casadi/include/hpipm_s_tree_ocp_qp_dim.h +111 -0
  1665. casadi/include/hpipm_s_tree_ocp_qp_ipm.h +208 -0
  1666. casadi/include/hpipm_s_tree_ocp_qp_kkt.h +54 -0
  1667. casadi/include/hpipm_s_tree_ocp_qp_res.h +108 -0
  1668. casadi/include/hpipm_s_tree_ocp_qp_sol.h +98 -0
  1669. casadi/include/hpipm_s_tree_ocp_qp_utils.h +84 -0
  1670. casadi/include/hpipm_scenario_tree.h +70 -0
  1671. casadi/include/hpipm_timing.h +67 -0
  1672. casadi/include/hpipm_tree.h +76 -0
  1673. casadi/include/licenses/FMI-Standard-2.0.2/LICENSE.txt +473 -0
  1674. casadi/include/licenses/FMI-Standard-3.0/LICENSE.txt +464 -0
  1675. casadi/include/licenses/alpaqa-external/LICENSE +165 -0
  1676. casadi/include/licenses/blasfeo-external/LICENSE.txt +26 -0
  1677. casadi/include/licenses/bonmin-external/Bonmin/LICENSE +87 -0
  1678. casadi/include/licenses/bonmin-external/LICENSE +3 -0
  1679. casadi/include/licenses/casadi/LICENSE/LICENSE.txt +165 -0
  1680. casadi/include/licenses/casadi-sundials/LICENSE +64 -0
  1681. casadi/include/licenses/casadi-sundials/cvodes/LICENSE +60 -0
  1682. casadi/include/licenses/casadi-sundials/idas/LICENSE +59 -0
  1683. casadi/include/licenses/casadi-sundials/kinsol/LICENSE +59 -0
  1684. casadi/include/licenses/casadi-sundials/sundials/LICENSE +67 -0
  1685. casadi/include/licenses/cbc-external/Cbc/LICENSE +239 -0
  1686. casadi/include/licenses/cbc-external/LICENSE +245 -0
  1687. casadi/include/licenses/cgl-external/Cgl/LICENSE +239 -0
  1688. casadi/include/licenses/cgl-external/LICENSE +245 -0
  1689. casadi/include/licenses/clp-external/Clp/LICENSE +239 -0
  1690. casadi/include/licenses/clp-external/LICENSE +245 -0
  1691. casadi/include/licenses/coinutils-external/CoinUtils/LICENSE +239 -0
  1692. casadi/include/licenses/coinutils-external/LICENSE +245 -0
  1693. casadi/include/licenses/daqp-external/LICENSE +21 -0
  1694. casadi/include/licenses/fatrop-external/LICENSE.txt +165 -0
  1695. casadi/include/licenses/fatrop-external/external/blasfeo/LICENSE.txt +26 -0
  1696. casadi/include/licenses/fatrop-external/external/pybind11/LICENSE +29 -0
  1697. casadi/include/licenses/ghc-external/LICENSE +19 -0
  1698. casadi/include/licenses/highs-external/LICENSE.txt +21 -0
  1699. casadi/include/licenses/highs-external/extern/filereaderlp/LICENSE +19 -0
  1700. casadi/include/licenses/hpipm-external/LICENSE.txt +26 -0
  1701. casadi/include/licenses/ipopt-external/LICENSE +260 -0
  1702. casadi/include/licenses/libz-external/LICENSE +22 -0
  1703. casadi/include/licenses/libz-external/contrib/dotzlib/LICENSE_1_0.txt +23 -0
  1704. casadi/include/licenses/libzip-external/LICENSE +31 -0
  1705. casadi/include/licenses/metis-external/LICENSE +87 -0
  1706. casadi/include/licenses/metis-external/metis-4.0/LICENSE +18 -0
  1707. casadi/include/licenses/mockups-external/LICENSE +21 -0
  1708. casadi/include/licenses/mumps-external/LICENSE +87 -0
  1709. casadi/include/licenses/mumps-external/MUMPS/LICENSE +50 -0
  1710. casadi/include/licenses/openblas-external/LICENSE +29 -0
  1711. casadi/include/licenses/openblas-external/ctest/LICENSE +23 -0
  1712. casadi/include/licenses/openblas-external/lapack-netlib/LAPACKE/LICENSE +26 -0
  1713. casadi/include/licenses/openblas-external/lapack-netlib/LICENSE +48 -0
  1714. casadi/include/licenses/openblas-external/reference/LICENSE +23 -0
  1715. casadi/include/licenses/openblas-external/relapack/LICENSE +22 -0
  1716. casadi/include/licenses/openblas-external/test/LICENSE +23 -0
  1717. casadi/include/licenses/osi-external/LICENSE +245 -0
  1718. casadi/include/licenses/osi-external/Osi/LICENSE +239 -0
  1719. casadi/include/licenses/osqp-external/LICENSE +201 -0
  1720. casadi/include/licenses/osqp-external/lin_sys/direct/qdldl/amd/LICENSE +36 -0
  1721. casadi/include/licenses/osqp-external/lin_sys/direct/qdldl/qdldl_sources/LICENSE +201 -0
  1722. casadi/include/licenses/proxqp-external/LICENSE +25 -0
  1723. casadi/include/licenses/proxqp-external/bindings/python/external/pybind11/LICENSE +29 -0
  1724. casadi/include/licenses/proxqp-external/cmake-module/LICENSE +4 -0
  1725. casadi/include/licenses/proxqp-external/cmake-module/doxygen/MathJax/LICENSE +202 -0
  1726. casadi/include/licenses/proxqp-external/external/cereal/LICENSE +24 -0
  1727. casadi/include/licenses/proxqp-external/external/cereal/include/cereal/external/LICENSE +21 -0
  1728. casadi/include/licenses/proxqp-external/external/cereal/include/cereal/external/rapidjson/LICENSE +13 -0
  1729. casadi/include/licenses/proxqp-external/external/cereal/include/cereal/external/rapidjson/msinttypes/LICENSE +29 -0
  1730. casadi/include/licenses/qpOASES/LICENSE.txt +503 -0
  1731. casadi/include/licenses/sleqp-external/LICENSE +165 -0
  1732. casadi/include/licenses/superscs-external/LICENSE.txt +24 -0
  1733. casadi/include/licenses/tinyxml2-9.0.0/LICENSE.txt +18 -0
  1734. casadi/include/licenses/trlib-external/LICENSE +21 -0
  1735. casadi/include/openblas/cblas.h +411 -0
  1736. casadi/include/openblas/f77blas.h +796 -0
  1737. casadi/include/openblas/lapack.h +22997 -0
  1738. casadi/include/openblas/lapacke.h +12665 -0
  1739. casadi/include/openblas/lapacke_config.h +119 -0
  1740. casadi/include/openblas/lapacke_example_aux.h +9 -0
  1741. casadi/include/openblas/lapacke_mangling.h +17 -0
  1742. casadi/include/openblas/lapacke_utils.h +582 -0
  1743. casadi/include/openblas/openblas/lapacke_mangling.h +17 -0
  1744. casadi/include/openblas/openblas_config.h +140 -0
  1745. casadi/include/osqp/auxil.h +181 -0
  1746. casadi/include/osqp/constants.h +128 -0
  1747. casadi/include/osqp/cs.h +180 -0
  1748. casadi/include/osqp/ctrlc.h +56 -0
  1749. casadi/include/osqp/error.h +38 -0
  1750. casadi/include/osqp/glob_opts.h +167 -0
  1751. casadi/include/osqp/lin_alg.h +216 -0
  1752. casadi/include/osqp/lin_sys.h +54 -0
  1753. casadi/include/osqp/osqp.h +430 -0
  1754. casadi/include/osqp/osqp_configure.h +49 -0
  1755. casadi/include/osqp/polish.h +25 -0
  1756. casadi/include/osqp/proj.h +37 -0
  1757. casadi/include/osqp/scaling.h +44 -0
  1758. casadi/include/osqp/types.h +326 -0
  1759. casadi/include/osqp/util.h +222 -0
  1760. casadi/include/osqp/version.h +9 -0
  1761. casadi/include/proxsuite/config.hpp +68 -0
  1762. casadi/include/proxsuite/deprecated.hpp +56 -0
  1763. casadi/include/proxsuite/fwd.hpp +52 -0
  1764. casadi/include/proxsuite/helpers/common.hpp +70 -0
  1765. casadi/include/proxsuite/helpers/instruction-set.hpp +275 -0
  1766. casadi/include/proxsuite/helpers/optional.hpp +46 -0
  1767. casadi/include/proxsuite/helpers/tl-optional.hpp +2472 -0
  1768. casadi/include/proxsuite/helpers/version.hpp +39 -0
  1769. casadi/include/proxsuite/linalg/dense/core.hpp +863 -0
  1770. casadi/include/proxsuite/linalg/dense/factorize.hpp +375 -0
  1771. casadi/include/proxsuite/linalg/dense/ldlt.hpp +817 -0
  1772. casadi/include/proxsuite/linalg/dense/modify.hpp +333 -0
  1773. casadi/include/proxsuite/linalg/dense/solve.hpp +38 -0
  1774. casadi/include/proxsuite/linalg/dense/update.hpp +330 -0
  1775. casadi/include/proxsuite/linalg/sparse/core.hpp +531 -0
  1776. casadi/include/proxsuite/linalg/sparse/factorize.hpp +1303 -0
  1777. casadi/include/proxsuite/linalg/sparse/rowmod.hpp +443 -0
  1778. casadi/include/proxsuite/linalg/sparse/update.hpp +348 -0
  1779. casadi/include/proxsuite/linalg/veg/internal/assert_impl.hpp +20 -0
  1780. casadi/include/proxsuite/linalg/veg/internal/collection_algo.hpp +93 -0
  1781. casadi/include/proxsuite/linalg/veg/internal/dbg.hpp +15 -0
  1782. casadi/include/proxsuite/linalg/veg/internal/delete_special_members.hpp +77 -0
  1783. casadi/include/proxsuite/linalg/veg/internal/dyn_index.hpp +292 -0
  1784. casadi/include/proxsuite/linalg/veg/internal/epilogue.hpp +31 -0
  1785. casadi/include/proxsuite/linalg/veg/internal/external/hedley.ext.hpp +2074 -0
  1786. casadi/include/proxsuite/linalg/veg/internal/external/unhedley.ext.hpp +148 -0
  1787. casadi/include/proxsuite/linalg/veg/internal/fix_index.hpp +339 -0
  1788. casadi/include/proxsuite/linalg/veg/internal/has_asan.hpp +17 -0
  1789. casadi/include/proxsuite/linalg/veg/internal/integer_seq.hpp +248 -0
  1790. casadi/include/proxsuite/linalg/veg/internal/macros.hpp +1312 -0
  1791. casadi/include/proxsuite/linalg/veg/internal/narrow.hpp +46 -0
  1792. casadi/include/proxsuite/linalg/veg/internal/preprocessor.hpp +434 -0
  1793. casadi/include/proxsuite/linalg/veg/internal/prologue.hpp +157 -0
  1794. casadi/include/proxsuite/linalg/veg/internal/std.hpp +13 -0
  1795. casadi/include/proxsuite/linalg/veg/internal/terminate.hpp +22 -0
  1796. casadi/include/proxsuite/linalg/veg/internal/typedefs.hpp +58 -0
  1797. casadi/include/proxsuite/linalg/veg/memory/address.hpp +97 -0
  1798. casadi/include/proxsuite/linalg/veg/memory/alloc.hpp +352 -0
  1799. casadi/include/proxsuite/linalg/veg/memory/dynamic_stack.hpp +504 -0
  1800. casadi/include/proxsuite/linalg/veg/memory/placement.hpp +202 -0
  1801. casadi/include/proxsuite/linalg/veg/memory/stack_alloc.hpp +239 -0
  1802. casadi/include/proxsuite/linalg/veg/ref.hpp +148 -0
  1803. casadi/include/proxsuite/linalg/veg/slice.hpp +240 -0
  1804. casadi/include/proxsuite/linalg/veg/tuple.hpp +876 -0
  1805. casadi/include/proxsuite/linalg/veg/type_traits/alloc.hpp +169 -0
  1806. casadi/include/proxsuite/linalg/veg/type_traits/assignable.hpp +53 -0
  1807. casadi/include/proxsuite/linalg/veg/type_traits/constructible.hpp +217 -0
  1808. casadi/include/proxsuite/linalg/veg/type_traits/core.hpp +298 -0
  1809. casadi/include/proxsuite/linalg/veg/type_traits/invocable.hpp +47 -0
  1810. casadi/include/proxsuite/linalg/veg/type_traits/primitives.hpp +43 -0
  1811. casadi/include/proxsuite/linalg/veg/type_traits/tags.hpp +47 -0
  1812. casadi/include/proxsuite/linalg/veg/util/assert.hpp +48 -0
  1813. casadi/include/proxsuite/linalg/veg/util/dbg.hpp +6 -0
  1814. casadi/include/proxsuite/linalg/veg/util/defer.hpp +57 -0
  1815. casadi/include/proxsuite/linalg/veg/util/dynstack_alloc.hpp +19 -0
  1816. casadi/include/proxsuite/linalg/veg/util/get.hpp +153 -0
  1817. casadi/include/proxsuite/linalg/veg/util/index.hpp +6 -0
  1818. casadi/include/proxsuite/linalg/veg/util/unreachable.hpp +41 -0
  1819. casadi/include/proxsuite/linalg/veg/vec.hpp +1034 -0
  1820. casadi/include/proxsuite/proxqp/dense/dense.hpp +10 -0
  1821. casadi/include/proxsuite/proxqp/dense/fwd.hpp +55 -0
  1822. casadi/include/proxsuite/proxqp/dense/helpers.hpp +520 -0
  1823. casadi/include/proxsuite/proxqp/dense/linesearch.hpp +517 -0
  1824. casadi/include/proxsuite/proxqp/dense/model.hpp +147 -0
  1825. casadi/include/proxsuite/proxqp/dense/preconditioner/identity.hpp +113 -0
  1826. casadi/include/proxsuite/proxqp/dense/preconditioner/ruiz.hpp +571 -0
  1827. casadi/include/proxsuite/proxqp/dense/solver.hpp +1330 -0
  1828. casadi/include/proxsuite/proxqp/dense/utils.hpp +415 -0
  1829. casadi/include/proxsuite/proxqp/dense/views.hpp +1466 -0
  1830. casadi/include/proxsuite/proxqp/dense/workspace.hpp +264 -0
  1831. casadi/include/proxsuite/proxqp/dense/wrapper.hpp +491 -0
  1832. casadi/include/proxsuite/proxqp/results.hpp +212 -0
  1833. casadi/include/proxsuite/proxqp/settings.hpp +302 -0
  1834. casadi/include/proxsuite/proxqp/sparse/fwd.hpp +58 -0
  1835. casadi/include/proxsuite/proxqp/sparse/helpers.hpp +309 -0
  1836. casadi/include/proxsuite/proxqp/sparse/model.hpp +228 -0
  1837. casadi/include/proxsuite/proxqp/sparse/preconditioner/identity.hpp +64 -0
  1838. casadi/include/proxsuite/proxqp/sparse/preconditioner/ruiz.hpp +569 -0
  1839. casadi/include/proxsuite/proxqp/sparse/solver.hpp +1441 -0
  1840. casadi/include/proxsuite/proxqp/sparse/sparse.hpp +10 -0
  1841. casadi/include/proxsuite/proxqp/sparse/utils.hpp +815 -0
  1842. casadi/include/proxsuite/proxqp/sparse/views.hpp +63 -0
  1843. casadi/include/proxsuite/proxqp/sparse/workspace.hpp +790 -0
  1844. casadi/include/proxsuite/proxqp/sparse/wrapper.hpp +772 -0
  1845. casadi/include/proxsuite/proxqp/status.hpp +46 -0
  1846. casadi/include/proxsuite/proxqp/timings.hpp +101 -0
  1847. casadi/include/proxsuite/proxqp/utils/prints.hpp +47 -0
  1848. casadi/include/proxsuite/proxqp/utils/random_qp_problems.hpp +669 -0
  1849. casadi/include/proxsuite/serialization/archive.hpp +231 -0
  1850. casadi/include/proxsuite/serialization/eigen.hpp +107 -0
  1851. casadi/include/proxsuite/serialization/model.hpp +34 -0
  1852. casadi/include/proxsuite/serialization/results.hpp +74 -0
  1853. casadi/include/proxsuite/serialization/settings.hpp +60 -0
  1854. casadi/include/proxsuite/serialization/wrapper.hpp +24 -0
  1855. casadi/include/proxsuite/warning.hpp +35 -0
  1856. casadi/include/qdldl/qdldl.h +169 -0
  1857. casadi/include/qdldl/qdldl_types.h +23 -0
  1858. casadi/include/s_blas.h +78 -0
  1859. casadi/include/s_blas_64.h +73 -0
  1860. casadi/include/simde/arm/neon/aba.h +208 -0
  1861. casadi/include/simde/arm/neon/abd.h +384 -0
  1862. casadi/include/simde/arm/neon/abdl.h +147 -0
  1863. casadi/include/simde/arm/neon/abs.h +408 -0
  1864. casadi/include/simde/arm/neon/add.h +681 -0
  1865. casadi/include/simde/arm/neon/addl.h +127 -0
  1866. casadi/include/simde/arm/neon/addl_high.h +127 -0
  1867. casadi/include/simde/arm/neon/addlv.h +317 -0
  1868. casadi/include/simde/arm/neon/addv.h +447 -0
  1869. casadi/include/simde/arm/neon/addw.h +222 -0
  1870. casadi/include/simde/arm/neon/addw_high.h +193 -0
  1871. casadi/include/simde/arm/neon/and.h +552 -0
  1872. casadi/include/simde/arm/neon/bic.h +472 -0
  1873. casadi/include/simde/arm/neon/bsl.h +448 -0
  1874. casadi/include/simde/arm/neon/cagt.h +168 -0
  1875. casadi/include/simde/arm/neon/ceq.h +711 -0
  1876. casadi/include/simde/arm/neon/ceqz.h +335 -0
  1877. casadi/include/simde/arm/neon/cge.h +677 -0
  1878. casadi/include/simde/arm/neon/cgez.h +378 -0
  1879. casadi/include/simde/arm/neon/cgt.h +686 -0
  1880. casadi/include/simde/arm/neon/cgtz.h +380 -0
  1881. casadi/include/simde/arm/neon/cle.h +677 -0
  1882. casadi/include/simde/arm/neon/clez.h +378 -0
  1883. casadi/include/simde/arm/neon/cls.h +148 -0
  1884. casadi/include/simde/arm/neon/clt.h +679 -0
  1885. casadi/include/simde/arm/neon/cltz.h +263 -0
  1886. casadi/include/simde/arm/neon/clz.h +423 -0
  1887. casadi/include/simde/arm/neon/cnt.h +145 -0
  1888. casadi/include/simde/arm/neon/combine.h +343 -0
  1889. casadi/include/simde/arm/neon/create.h +186 -0
  1890. casadi/include/simde/arm/neon/cvt.h +492 -0
  1891. casadi/include/simde/arm/neon/dot.h +171 -0
  1892. casadi/include/simde/arm/neon/dot_lane.h +196 -0
  1893. casadi/include/simde/arm/neon/dup_lane.h +702 -0
  1894. casadi/include/simde/arm/neon/dup_n.h +534 -0
  1895. casadi/include/simde/arm/neon/eor.h +552 -0
  1896. casadi/include/simde/arm/neon/ext.h +887 -0
  1897. casadi/include/simde/arm/neon/get_high.h +260 -0
  1898. casadi/include/simde/arm/neon/get_lane.h +499 -0
  1899. casadi/include/simde/arm/neon/get_low.h +276 -0
  1900. casadi/include/simde/arm/neon/hadd.h +287 -0
  1901. casadi/include/simde/arm/neon/hsub.h +287 -0
  1902. casadi/include/simde/arm/neon/ld1.h +399 -0
  1903. casadi/include/simde/arm/neon/ld3.h +609 -0
  1904. casadi/include/simde/arm/neon/ld4.h +448 -0
  1905. casadi/include/simde/arm/neon/max.h +614 -0
  1906. casadi/include/simde/arm/neon/maxnm.h +215 -0
  1907. casadi/include/simde/arm/neon/maxv.h +400 -0
  1908. casadi/include/simde/arm/neon/min.h +660 -0
  1909. casadi/include/simde/arm/neon/minnm.h +215 -0
  1910. casadi/include/simde/arm/neon/minv.h +424 -0
  1911. casadi/include/simde/arm/neon/mla.h +530 -0
  1912. casadi/include/simde/arm/neon/mla_n.h +333 -0
  1913. casadi/include/simde/arm/neon/mlal.h +156 -0
  1914. casadi/include/simde/arm/neon/mlal_high.h +156 -0
  1915. casadi/include/simde/arm/neon/mlal_n.h +128 -0
  1916. casadi/include/simde/arm/neon/mls.h +264 -0
  1917. casadi/include/simde/arm/neon/mlsl.h +124 -0
  1918. casadi/include/simde/arm/neon/mlsl_high.h +124 -0
  1919. casadi/include/simde/arm/neon/mlsl_n.h +96 -0
  1920. casadi/include/simde/arm/neon/movl.h +208 -0
  1921. casadi/include/simde/arm/neon/movl_high.h +126 -0
  1922. casadi/include/simde/arm/neon/movn.h +195 -0
  1923. casadi/include/simde/arm/neon/movn_high.h +125 -0
  1924. casadi/include/simde/arm/neon/mul.h +594 -0
  1925. casadi/include/simde/arm/neon/mul_lane.h +472 -0
  1926. casadi/include/simde/arm/neon/mul_n.h +383 -0
  1927. casadi/include/simde/arm/neon/mull.h +236 -0
  1928. casadi/include/simde/arm/neon/mull_high.h +125 -0
  1929. casadi/include/simde/arm/neon/mull_n.h +158 -0
  1930. casadi/include/simde/arm/neon/mvn.h +426 -0
  1931. casadi/include/simde/arm/neon/neg.h +393 -0
  1932. casadi/include/simde/arm/neon/orn.h +505 -0
  1933. casadi/include/simde/arm/neon/orr.h +552 -0
  1934. casadi/include/simde/arm/neon/padal.h +211 -0
  1935. casadi/include/simde/arm/neon/padd.h +293 -0
  1936. casadi/include/simde/arm/neon/paddl.h +239 -0
  1937. casadi/include/simde/arm/neon/pmax.h +253 -0
  1938. casadi/include/simde/arm/neon/pmin.h +260 -0
  1939. casadi/include/simde/arm/neon/qabs.h +281 -0
  1940. casadi/include/simde/arm/neon/qadd.h +553 -0
  1941. casadi/include/simde/arm/neon/qdmulh.h +125 -0
  1942. casadi/include/simde/arm/neon/qdmull.h +125 -0
  1943. casadi/include/simde/arm/neon/qmovn.h +273 -0
  1944. casadi/include/simde/arm/neon/qmovn_high.h +127 -0
  1945. casadi/include/simde/arm/neon/qmovun.h +159 -0
  1946. casadi/include/simde/arm/neon/qneg.h +301 -0
  1947. casadi/include/simde/arm/neon/qrdmulh.h +165 -0
  1948. casadi/include/simde/arm/neon/qrdmulh_n.h +136 -0
  1949. casadi/include/simde/arm/neon/qshl.h +732 -0
  1950. casadi/include/simde/arm/neon/qsub.h +549 -0
  1951. casadi/include/simde/arm/neon/qtbl.h +455 -0
  1952. casadi/include/simde/arm/neon/qtbx.h +470 -0
  1953. casadi/include/simde/arm/neon/rbit.h +165 -0
  1954. casadi/include/simde/arm/neon/reinterpret.h +3101 -0
  1955. casadi/include/simde/arm/neon/rev16.h +137 -0
  1956. casadi/include/simde/arm/neon/rev32.h +235 -0
  1957. casadi/include/simde/arm/neon/rev64.h +358 -0
  1958. casadi/include/simde/arm/neon/rhadd.h +406 -0
  1959. casadi/include/simde/arm/neon/rnd.h +143 -0
  1960. casadi/include/simde/arm/neon/rndi.h +135 -0
  1961. casadi/include/simde/arm/neon/rndm.h +143 -0
  1962. casadi/include/simde/arm/neon/rndn.h +135 -0
  1963. casadi/include/simde/arm/neon/rndp.h +143 -0
  1964. casadi/include/simde/arm/neon/rshl.h +903 -0
  1965. casadi/include/simde/arm/neon/rshr_n.h +471 -0
  1966. casadi/include/simde/arm/neon/rsra_n.h +209 -0
  1967. casadi/include/simde/arm/neon/set_lane.h +422 -0
  1968. casadi/include/simde/arm/neon/shl.h +805 -0
  1969. casadi/include/simde/arm/neon/shl_n.h +560 -0
  1970. casadi/include/simde/arm/neon/shr_n.h +612 -0
  1971. casadi/include/simde/arm/neon/sra_n.h +202 -0
  1972. casadi/include/simde/arm/neon/st1.h +353 -0
  1973. casadi/include/simde/arm/neon/st1_lane.h +363 -0
  1974. casadi/include/simde/arm/neon/st3.h +426 -0
  1975. casadi/include/simde/arm/neon/st4.h +445 -0
  1976. casadi/include/simde/arm/neon/sub.h +659 -0
  1977. casadi/include/simde/arm/neon/subl.h +127 -0
  1978. casadi/include/simde/arm/neon/subw.h +221 -0
  1979. casadi/include/simde/arm/neon/subw_high.h +222 -0
  1980. casadi/include/simde/arm/neon/tbl.h +224 -0
  1981. casadi/include/simde/arm/neon/tbx.h +247 -0
  1982. casadi/include/simde/arm/neon/trn.h +252 -0
  1983. casadi/include/simde/arm/neon/trn1.h +500 -0
  1984. casadi/include/simde/arm/neon/trn2.h +499 -0
  1985. casadi/include/simde/arm/neon/tst.h +540 -0
  1986. casadi/include/simde/arm/neon/types.h +683 -0
  1987. casadi/include/simde/arm/neon/uqadd.h +325 -0
  1988. casadi/include/simde/arm/neon/uzp.h +252 -0
  1989. casadi/include/simde/arm/neon/uzp1.h +643 -0
  1990. casadi/include/simde/arm/neon/uzp2.h +647 -0
  1991. casadi/include/simde/arm/neon/zip.h +252 -0
  1992. casadi/include/simde/arm/neon/zip1.h +625 -0
  1993. casadi/include/simde/arm/neon/zip2.h +625 -0
  1994. casadi/include/simde/arm/neon.h +166 -0
  1995. casadi/include/simde/check.h +276 -0
  1996. casadi/include/simde/debug-trap.h +85 -0
  1997. casadi/include/simde/hedley.h +1971 -0
  1998. casadi/include/simde/simde-align.h +449 -0
  1999. casadi/include/simde/simde-arch.h +532 -0
  2000. casadi/include/simde/simde-common.h +890 -0
  2001. casadi/include/simde/simde-complex.h +148 -0
  2002. casadi/include/simde/simde-constify.h +397 -0
  2003. casadi/include/simde/simde-detect-clang.h +109 -0
  2004. casadi/include/simde/simde-diagnostic.h +428 -0
  2005. casadi/include/simde/simde-features.h +522 -0
  2006. casadi/include/simde/simde-math.h +1805 -0
  2007. casadi/include/simde/x86/avx.h +6193 -0
  2008. casadi/include/simde/x86/avx2.h +5660 -0
  2009. casadi/include/simde/x86/avx512/2intersect.h +250 -0
  2010. casadi/include/simde/x86/avx512/abs.h +562 -0
  2011. casadi/include/simde/x86/avx512/add.h +641 -0
  2012. casadi/include/simde/x86/avx512/adds.h +390 -0
  2013. casadi/include/simde/x86/avx512/and.h +305 -0
  2014. casadi/include/simde/x86/avx512/andnot.h +193 -0
  2015. casadi/include/simde/x86/avx512/avg.h +258 -0
  2016. casadi/include/simde/x86/avx512/blend.h +293 -0
  2017. casadi/include/simde/x86/avx512/broadcast.h +897 -0
  2018. casadi/include/simde/x86/avx512/cast.h +324 -0
  2019. casadi/include/simde/x86/avx512/cmp.h +587 -0
  2020. casadi/include/simde/x86/avx512/cmpeq.h +179 -0
  2021. casadi/include/simde/x86/avx512/cmpge.h +104 -0
  2022. casadi/include/simde/x86/avx512/cmpgt.h +189 -0
  2023. casadi/include/simde/x86/avx512/cmple.h +103 -0
  2024. casadi/include/simde/x86/avx512/cmplt.h +123 -0
  2025. casadi/include/simde/x86/avx512/copysign.h +86 -0
  2026. casadi/include/simde/x86/avx512/cvt.h +122 -0
  2027. casadi/include/simde/x86/avx512/cvts.h +723 -0
  2028. casadi/include/simde/x86/avx512/div.h +162 -0
  2029. casadi/include/simde/x86/avx512/extract.h +198 -0
  2030. casadi/include/simde/x86/avx512/fmadd.h +136 -0
  2031. casadi/include/simde/x86/avx512/fmsub.h +108 -0
  2032. casadi/include/simde/x86/avx512/fnmadd.h +108 -0
  2033. casadi/include/simde/x86/avx512/fnmsub.h +108 -0
  2034. casadi/include/simde/x86/avx512/insert.h +193 -0
  2035. casadi/include/simde/x86/avx512/kshift.h +152 -0
  2036. casadi/include/simde/x86/avx512/load.h +67 -0
  2037. casadi/include/simde/x86/avx512/loadu.h +113 -0
  2038. casadi/include/simde/x86/avx512/lzcnt.h +209 -0
  2039. casadi/include/simde/x86/avx512/madd.h +155 -0
  2040. casadi/include/simde/x86/avx512/maddubs.h +159 -0
  2041. casadi/include/simde/x86/avx512/max.h +587 -0
  2042. casadi/include/simde/x86/avx512/min.h +587 -0
  2043. casadi/include/simde/x86/avx512/mov.h +859 -0
  2044. casadi/include/simde/x86/avx512/mov_mask.h +372 -0
  2045. casadi/include/simde/x86/avx512/movm.h +460 -0
  2046. casadi/include/simde/x86/avx512/mul.h +279 -0
  2047. casadi/include/simde/x86/avx512/mulhi.h +65 -0
  2048. casadi/include/simde/x86/avx512/mulhrs.h +65 -0
  2049. casadi/include/simde/x86/avx512/mullo.h +117 -0
  2050. casadi/include/simde/x86/avx512/negate.h +88 -0
  2051. casadi/include/simde/x86/avx512/or.h +252 -0
  2052. casadi/include/simde/x86/avx512/packs.h +122 -0
  2053. casadi/include/simde/x86/avx512/packus.h +122 -0
  2054. casadi/include/simde/x86/avx512/permutex2var.h +1645 -0
  2055. casadi/include/simde/x86/avx512/permutexvar.h +1180 -0
  2056. casadi/include/simde/x86/avx512/sad.h +77 -0
  2057. casadi/include/simde/x86/avx512/set.h +477 -0
  2058. casadi/include/simde/x86/avx512/set1.h +331 -0
  2059. casadi/include/simde/x86/avx512/set4.h +140 -0
  2060. casadi/include/simde/x86/avx512/setone.h +66 -0
  2061. casadi/include/simde/x86/avx512/setr.h +144 -0
  2062. casadi/include/simde/x86/avx512/setr4.h +140 -0
  2063. casadi/include/simde/x86/avx512/setzero.h +90 -0
  2064. casadi/include/simde/x86/avx512/shuffle.h +176 -0
  2065. casadi/include/simde/x86/avx512/sll.h +247 -0
  2066. casadi/include/simde/x86/avx512/slli.h +179 -0
  2067. casadi/include/simde/x86/avx512/sllv.h +68 -0
  2068. casadi/include/simde/x86/avx512/sqrt.h +127 -0
  2069. casadi/include/simde/x86/avx512/sra.h +81 -0
  2070. casadi/include/simde/x86/avx512/srai.h +70 -0
  2071. casadi/include/simde/x86/avx512/srav.h +67 -0
  2072. casadi/include/simde/x86/avx512/srl.h +216 -0
  2073. casadi/include/simde/x86/avx512/srli.h +180 -0
  2074. casadi/include/simde/x86/avx512/srlv.h +282 -0
  2075. casadi/include/simde/x86/avx512/store.h +93 -0
  2076. casadi/include/simde/x86/avx512/storeu.h +93 -0
  2077. casadi/include/simde/x86/avx512/sub.h +351 -0
  2078. casadi/include/simde/x86/avx512/subs.h +222 -0
  2079. casadi/include/simde/x86/avx512/test.h +193 -0
  2080. casadi/include/simde/x86/avx512/types.h +380 -0
  2081. casadi/include/simde/x86/avx512/unpackhi.h +380 -0
  2082. casadi/include/simde/x86/avx512/unpacklo.h +104 -0
  2083. casadi/include/simde/x86/avx512/xor.h +263 -0
  2084. casadi/include/simde/x86/avx512/xorsign.h +72 -0
  2085. casadi/include/simde/x86/avx512.h +108 -0
  2086. casadi/include/simde/x86/clmul.h +414 -0
  2087. casadi/include/simde/x86/fma.h +724 -0
  2088. casadi/include/simde/x86/gfni.h +802 -0
  2089. casadi/include/simde/x86/mmx.h +2399 -0
  2090. casadi/include/simde/x86/sse.h +4471 -0
  2091. casadi/include/simde/x86/sse2.h +7389 -0
  2092. casadi/include/simde/x86/sse3.h +499 -0
  2093. casadi/include/simde/x86/sse4.1.h +2216 -0
  2094. casadi/include/simde/x86/sse4.2.h +347 -0
  2095. casadi/include/simde/x86/ssse3.h +1032 -0
  2096. casadi/include/simde/x86/svml.h +12139 -0
  2097. casadi/include/simde/x86/xop.h +3644 -0
  2098. casadi/include/sleqp/defs.h +58 -0
  2099. casadi/include/sleqp/export.h +42 -0
  2100. casadi/include/sleqp/pub_cmp.h +18 -0
  2101. casadi/include/sleqp/pub_dyn.h +140 -0
  2102. casadi/include/sleqp/pub_error.h +50 -0
  2103. casadi/include/sleqp/pub_func.h +257 -0
  2104. casadi/include/sleqp/pub_hess_struct.h +105 -0
  2105. casadi/include/sleqp/pub_iterate.h +88 -0
  2106. casadi/include/sleqp/pub_log.h +88 -0
  2107. casadi/include/sleqp/pub_lsq.h +158 -0
  2108. casadi/include/sleqp/pub_mem.h +52 -0
  2109. casadi/include/sleqp/pub_problem.h +213 -0
  2110. casadi/include/sleqp/pub_scale.h +150 -0
  2111. casadi/include/sleqp/pub_settings.h +162 -0
  2112. casadi/include/sleqp/pub_solver.h +155 -0
  2113. casadi/include/sleqp/pub_types.h +230 -0
  2114. casadi/include/sleqp/pub_working_set.h +135 -0
  2115. casadi/include/sleqp/sparse/pub_mat.h +153 -0
  2116. casadi/include/sleqp/sparse/pub_vec.h +336 -0
  2117. casadi/include/sleqp.h +38 -0
  2118. casadi/include/spral.h +13 -0
  2119. casadi/include/spral_lsmr.h +57 -0
  2120. casadi/include/spral_matrix_util.h +40 -0
  2121. casadi/include/spral_random.h +26 -0
  2122. casadi/include/spral_random_matrix.h +27 -0
  2123. casadi/include/spral_rutherford_boeing.h +51 -0
  2124. casadi/include/spral_scaling.h +139 -0
  2125. casadi/include/spral_ssids.h +121 -0
  2126. casadi/include/spral_ssmfe.h +268 -0
  2127. casadi/include/superscs/cones.h +185 -0
  2128. casadi/include/superscs/constants.h +144 -0
  2129. casadi/include/superscs/cs.h +109 -0
  2130. casadi/include/superscs/ctrlc.h +77 -0
  2131. casadi/include/superscs/directions.h +125 -0
  2132. casadi/include/superscs/glbopts.h +240 -0
  2133. casadi/include/superscs/linAlg.h +437 -0
  2134. casadi/include/superscs/linSys.h +205 -0
  2135. casadi/include/superscs/linsys/amatrix.h +77 -0
  2136. casadi/include/superscs/linsys/common.h +49 -0
  2137. casadi/include/superscs/normalize.h +138 -0
  2138. casadi/include/superscs/scs.h +656 -0
  2139. casadi/include/superscs/scs_blas.h +79 -0
  2140. casadi/include/superscs/scs_parser.h +187 -0
  2141. casadi/include/superscs/unit_test_util.h +210 -0
  2142. casadi/include/superscs/util.h +354 -0
  2143. casadi/include/trlib/trlib_eigen_inverse.h +118 -0
  2144. casadi/include/trlib/trlib_krylov.h +493 -0
  2145. casadi/include/trlib/trlib_leftmost.h +181 -0
  2146. casadi/include/trlib/trlib_private.h +109 -0
  2147. casadi/include/trlib/trlib_quadratic_zero.h +57 -0
  2148. casadi/include/trlib/trlib_tri_factor.h +409 -0
  2149. casadi/include/trlib/trlib_types.h +36 -0
  2150. casadi/include/trlib.h +44 -0
  2151. casadi/include/zconf.h +545 -0
  2152. casadi/include/zip.h +528 -0
  2153. casadi/include/zipconf.h +48 -0
  2154. casadi/include/zlib.h +1938 -0
  2155. casadi/ipopt.lib +0 -0
  2156. casadi/lapack.lib +0 -0
  2157. casadi/libCbc-3.dll +0 -0
  2158. casadi/libCbc.dll.a +0 -0
  2159. casadi/libCbc.la +35 -0
  2160. casadi/libCbcSolver-3.dll +0 -0
  2161. casadi/libCbcSolver.dll.a +0 -0
  2162. casadi/libCbcSolver.la +35 -0
  2163. casadi/libCgl-1.dll +0 -0
  2164. casadi/libCgl.dll.a +0 -0
  2165. casadi/libCgl.la +35 -0
  2166. casadi/libClp-1.dll +0 -0
  2167. casadi/libClp.dll.a +0 -0
  2168. casadi/libClp.la +35 -0
  2169. casadi/libClpSolver-1.dll +0 -0
  2170. casadi/libClpSolver.dll.a +0 -0
  2171. casadi/libClpSolver.la +35 -0
  2172. casadi/libCoinUtils-3.dll +0 -0
  2173. casadi/libCoinUtils.dll.a +0 -0
  2174. casadi/libCoinUtils.la +35 -0
  2175. casadi/libOsi-1.dll +0 -0
  2176. casadi/libOsi.dll.a +0 -0
  2177. casadi/libOsi.la +35 -0
  2178. casadi/libOsiCbc-3.dll +0 -0
  2179. casadi/libOsiCbc.dll.a +0 -0
  2180. casadi/libOsiCbc.la +35 -0
  2181. casadi/libOsiClp-1.dll +0 -0
  2182. casadi/libOsiClp.dll.a +0 -0
  2183. casadi/libOsiClp.la +35 -0
  2184. casadi/libOsiCommonTests-1.dll +0 -0
  2185. casadi/libOsiCommonTests.dll.a +0 -0
  2186. casadi/libOsiCommonTests.la +35 -0
  2187. casadi/libalpaqa.dll +0 -0
  2188. casadi/libalpaqa.dll.a +0 -0
  2189. casadi/libatomic-1.dll +0 -0
  2190. casadi/libblasfeo.dll +0 -0
  2191. casadi/libblasfeo.dll.a +0 -0
  2192. casadi/libbonmin-4.dll +0 -0
  2193. casadi/libbonmin.dll.a +0 -0
  2194. casadi/libbonmin.la +35 -0
  2195. casadi/libcasadi-tp-openblas.dll +0 -0
  2196. casadi/libcasadi-tp-openblas.dll.a +0 -0
  2197. casadi/libcasadi.dll +0 -0
  2198. casadi/libcasadi.dll.a +0 -0
  2199. casadi/libcasadi.lib +0 -0
  2200. casadi/libcasadi_archiver_libzip.dll +0 -0
  2201. casadi/libcasadi_archiver_libzip.dll.a +0 -0
  2202. casadi/libcasadi_conic_cbc.dll +0 -0
  2203. casadi/libcasadi_conic_cbc.dll.a +0 -0
  2204. casadi/libcasadi_conic_clp.dll +0 -0
  2205. casadi/libcasadi_conic_clp.dll.a +0 -0
  2206. casadi/libcasadi_conic_cplex.dll +0 -0
  2207. casadi/libcasadi_conic_cplex.dll.a +0 -0
  2208. casadi/libcasadi_conic_daqp.dll +0 -0
  2209. casadi/libcasadi_conic_daqp.dll.a +0 -0
  2210. casadi/libcasadi_conic_fatrop.dll +0 -0
  2211. casadi/libcasadi_conic_fatrop.dll.a +0 -0
  2212. casadi/libcasadi_conic_gurobi.dll +0 -0
  2213. casadi/libcasadi_conic_gurobi.dll.a +0 -0
  2214. casadi/libcasadi_conic_highs.dll +0 -0
  2215. casadi/libcasadi_conic_highs.dll.a +0 -0
  2216. casadi/libcasadi_conic_hpipm.dll +0 -0
  2217. casadi/libcasadi_conic_hpipm.dll.a +0 -0
  2218. casadi/libcasadi_conic_ipqp.dll +0 -0
  2219. casadi/libcasadi_conic_ipqp.dll.a +0 -0
  2220. casadi/libcasadi_conic_nlpsol.dll +0 -0
  2221. casadi/libcasadi_conic_nlpsol.dll.a +0 -0
  2222. casadi/libcasadi_conic_osqp.dll +0 -0
  2223. casadi/libcasadi_conic_osqp.dll.a +0 -0
  2224. casadi/libcasadi_conic_proxqp.dll +0 -0
  2225. casadi/libcasadi_conic_proxqp.dll.a +0 -0
  2226. casadi/libcasadi_conic_qpoases.dll +0 -0
  2227. casadi/libcasadi_conic_qpoases.dll.a +0 -0
  2228. casadi/libcasadi_conic_qrqp.dll +0 -0
  2229. casadi/libcasadi_conic_qrqp.dll.a +0 -0
  2230. casadi/libcasadi_conic_superscs.dll +0 -0
  2231. casadi/libcasadi_conic_superscs.dll.a +0 -0
  2232. casadi/libcasadi_filesystem_ghc.dll +0 -0
  2233. casadi/libcasadi_filesystem_ghc.dll.a +0 -0
  2234. casadi/libcasadi_importer_shell.dll +0 -0
  2235. casadi/libcasadi_importer_shell.dll.a +0 -0
  2236. casadi/libcasadi_integrator_collocation.dll +0 -0
  2237. casadi/libcasadi_integrator_collocation.dll.a +0 -0
  2238. casadi/libcasadi_integrator_cvodes.dll +0 -0
  2239. casadi/libcasadi_integrator_cvodes.dll.a +0 -0
  2240. casadi/libcasadi_integrator_idas.dll +0 -0
  2241. casadi/libcasadi_integrator_idas.dll.a +0 -0
  2242. casadi/libcasadi_integrator_rk.dll +0 -0
  2243. casadi/libcasadi_integrator_rk.dll.a +0 -0
  2244. casadi/libcasadi_interpolant_bspline.dll +0 -0
  2245. casadi/libcasadi_interpolant_bspline.dll.a +0 -0
  2246. casadi/libcasadi_interpolant_linear.dll +0 -0
  2247. casadi/libcasadi_interpolant_linear.dll.a +0 -0
  2248. casadi/libcasadi_linsol_csparse.dll +0 -0
  2249. casadi/libcasadi_linsol_csparse.dll.a +0 -0
  2250. casadi/libcasadi_linsol_csparsecholesky.dll +0 -0
  2251. casadi/libcasadi_linsol_csparsecholesky.dll.a +0 -0
  2252. casadi/libcasadi_linsol_lapacklu.dll +0 -0
  2253. casadi/libcasadi_linsol_lapacklu.dll.a +0 -0
  2254. casadi/libcasadi_linsol_lapackqr.dll +0 -0
  2255. casadi/libcasadi_linsol_lapackqr.dll.a +0 -0
  2256. casadi/libcasadi_linsol_ldl.dll +0 -0
  2257. casadi/libcasadi_linsol_ldl.dll.a +0 -0
  2258. casadi/libcasadi_linsol_lsqr.dll +0 -0
  2259. casadi/libcasadi_linsol_lsqr.dll.a +0 -0
  2260. casadi/libcasadi_linsol_ma27.dll +0 -0
  2261. casadi/libcasadi_linsol_ma27.dll.a +0 -0
  2262. casadi/libcasadi_linsol_mumps.dll +0 -0
  2263. casadi/libcasadi_linsol_mumps.dll.a +0 -0
  2264. casadi/libcasadi_linsol_qr.dll +0 -0
  2265. casadi/libcasadi_linsol_qr.dll.a +0 -0
  2266. casadi/libcasadi_linsol_symbolicqr.dll +0 -0
  2267. casadi/libcasadi_linsol_symbolicqr.dll.a +0 -0
  2268. casadi/libcasadi_linsol_tridiag.dll +0 -0
  2269. casadi/libcasadi_linsol_tridiag.dll.a +0 -0
  2270. casadi/libcasadi_nlpsol_alpaqa.dll +0 -0
  2271. casadi/libcasadi_nlpsol_alpaqa.dll.a +0 -0
  2272. casadi/libcasadi_nlpsol_ampl.dll +0 -0
  2273. casadi/libcasadi_nlpsol_ampl.dll.a +0 -0
  2274. casadi/libcasadi_nlpsol_blocksqp.dll +0 -0
  2275. casadi/libcasadi_nlpsol_blocksqp.dll.a +0 -0
  2276. casadi/libcasadi_nlpsol_bonmin.dll +0 -0
  2277. casadi/libcasadi_nlpsol_bonmin.dll.a +0 -0
  2278. casadi/libcasadi_nlpsol_fatrop.dll +0 -0
  2279. casadi/libcasadi_nlpsol_fatrop.dll.a +0 -0
  2280. casadi/libcasadi_nlpsol_feasiblesqpmethod.dll +0 -0
  2281. casadi/libcasadi_nlpsol_feasiblesqpmethod.dll.a +0 -0
  2282. casadi/libcasadi_nlpsol_ipopt.dll +0 -0
  2283. casadi/libcasadi_nlpsol_ipopt.dll.a +0 -0
  2284. casadi/libcasadi_nlpsol_knitro.dll +0 -0
  2285. casadi/libcasadi_nlpsol_knitro.dll.a +0 -0
  2286. casadi/libcasadi_nlpsol_madnlp.dll +0 -0
  2287. casadi/libcasadi_nlpsol_madnlp.dll.a +0 -0
  2288. casadi/libcasadi_nlpsol_qrsqp.dll +0 -0
  2289. casadi/libcasadi_nlpsol_qrsqp.dll.a +0 -0
  2290. casadi/libcasadi_nlpsol_scpgen.dll +0 -0
  2291. casadi/libcasadi_nlpsol_scpgen.dll.a +0 -0
  2292. casadi/libcasadi_nlpsol_sleqp.dll +0 -0
  2293. casadi/libcasadi_nlpsol_sleqp.dll.a +0 -0
  2294. casadi/libcasadi_nlpsol_snopt.dll +0 -0
  2295. casadi/libcasadi_nlpsol_snopt.dll.a +0 -0
  2296. casadi/libcasadi_nlpsol_sqpmethod.dll +0 -0
  2297. casadi/libcasadi_nlpsol_sqpmethod.dll.a +0 -0
  2298. casadi/libcasadi_nlpsol_worhp.dll +0 -0
  2299. casadi/libcasadi_nlpsol_worhp.dll.a +0 -0
  2300. casadi/libcasadi_rootfinder_fast_newton.dll +0 -0
  2301. casadi/libcasadi_rootfinder_fast_newton.dll.a +0 -0
  2302. casadi/libcasadi_rootfinder_kinsol.dll +0 -0
  2303. casadi/libcasadi_rootfinder_kinsol.dll.a +0 -0
  2304. casadi/libcasadi_rootfinder_newton.dll +0 -0
  2305. casadi/libcasadi_rootfinder_newton.dll.a +0 -0
  2306. casadi/libcasadi_rootfinder_nlpsol.dll +0 -0
  2307. casadi/libcasadi_rootfinder_nlpsol.dll.a +0 -0
  2308. casadi/libcasadi_sundials_common.dll +0 -0
  2309. casadi/libcasadi_sundials_common.dll.a +0 -0
  2310. casadi/libcasadi_xmlfile_tinyxml.dll +0 -0
  2311. casadi/libcasadi_xmlfile_tinyxml.dll.a +0 -0
  2312. casadi/libcoinmetis-2.dll +0 -0
  2313. casadi/libcoinmetis.dll.a +0 -0
  2314. casadi/libcoinmetis.la +41 -0
  2315. casadi/libcoinmumps-3.dll +0 -0
  2316. casadi/libcoinmumps.dll.a +0 -0
  2317. casadi/libcoinmumps.la +41 -0
  2318. casadi/libcplex_adaptor.dll +0 -0
  2319. casadi/libdaqp.dll +0 -0
  2320. casadi/libdaqp.dll.a +0 -0
  2321. casadi/libdaqpstat.a +0 -0
  2322. casadi/libdl.dll +0 -0
  2323. casadi/libdl.dll.a +0 -0
  2324. casadi/libfatrop.dll +0 -0
  2325. casadi/libfatrop.dll.a +0 -0
  2326. casadi/libgcc_s_seh-1.dll +0 -0
  2327. casadi/libgfortran-5.dll +0 -0
  2328. casadi/libgomp-1.dll +0 -0
  2329. casadi/libgurobi_adaptor.dll +0 -0
  2330. casadi/libhighs.dll +0 -0
  2331. casadi/libhighs.dll.a +0 -0
  2332. casadi/libhpipm.dll +0 -0
  2333. casadi/libhpipm.dll.a +0 -0
  2334. casadi/libindirect.a +0 -0
  2335. casadi/libipopt-3.dll +0 -0
  2336. casadi/libipopt.dll.a +0 -0
  2337. casadi/libipopt.la +41 -0
  2338. casadi/liblinsys.a +0 -0
  2339. casadi/libmatlab_ipc.dll +0 -0
  2340. casadi/libmatlab_ipc.dll.a +0 -0
  2341. casadi/libosqp.a +0 -0
  2342. casadi/libosqp.dll +0 -0
  2343. casadi/libosqp.dll.a +0 -0
  2344. casadi/libqdldl.a +0 -0
  2345. casadi/libqdldl.dll +0 -0
  2346. casadi/libqdldl.dll.a +0 -0
  2347. casadi/libquadmath-0.dll +0 -0
  2348. casadi/libsipopt-3.dll +0 -0
  2349. casadi/libsipopt.dll.a +0 -0
  2350. casadi/libsipopt.la +41 -0
  2351. casadi/libsleqp.dll +0 -0
  2352. casadi/libsleqp.dll.a +0 -0
  2353. casadi/libspral.a +0 -0
  2354. casadi/libssp-0.dll +0 -0
  2355. casadi/libstdc++-6.dll +0 -0
  2356. casadi/libsuperscs.a +0 -0
  2357. casadi/libtrlib.dll +0 -0
  2358. casadi/libtrlib.dll.a +0 -0
  2359. casadi/libwinpthread-1.dll +0 -0
  2360. casadi/libzip.a +0 -0
  2361. casadi/libzlib.dll +0 -0
  2362. casadi/libzlib.dll.a +0 -0
  2363. casadi/libzlibstatic.a +0 -0
  2364. casadi/matlab_ipc.lib +0 -0
  2365. casadi/osqp.lib +0 -0
  2366. casadi/pkgconfig/blas.pc +11 -0
  2367. casadi/pkgconfig/bonmin.pc +12 -0
  2368. casadi/pkgconfig/casadi.pc +12 -0
  2369. casadi/pkgconfig/cbc.pc +12 -0
  2370. casadi/pkgconfig/cgl.pc +12 -0
  2371. casadi/pkgconfig/clp.pc +12 -0
  2372. casadi/pkgconfig/coinmetis.pc +13 -0
  2373. casadi/pkgconfig/coinmumps.pc +15 -0
  2374. casadi/pkgconfig/coinutils.pc +12 -0
  2375. casadi/pkgconfig/highs.pc +12 -0
  2376. casadi/pkgconfig/ipopt.pc +15 -0
  2377. casadi/pkgconfig/lapack.pc +11 -0
  2378. casadi/pkgconfig/libzip.pc +14 -0
  2379. casadi/pkgconfig/openblas.pc +11 -0
  2380. casadi/pkgconfig/osi-cbc.pc +12 -0
  2381. casadi/pkgconfig/osi-clp.pc +12 -0
  2382. casadi/pkgconfig/osi-unittests.pc +12 -0
  2383. casadi/pkgconfig/osi.pc +12 -0
  2384. casadi/pkgconfig/proxsuite.pc +22 -0
  2385. casadi/pkgconfig/sleqp.pc +10 -0
  2386. casadi/sleqp.lib +0 -0
  2387. casadi/spral_ssids.exe +0 -0
  2388. casadi/std-e414687e404555e5.dll +0 -0
  2389. casadi/tools/__init__.py +54 -0
  2390. casadi/tools/bounds.py +107 -0
  2391. casadi/tools/graph/__init__.py +35 -0
  2392. casadi/tools/graph/graph.py +747 -0
  2393. casadi/tools/in_out.py +89 -0
  2394. casadi/tools/structure3.py +1441 -0
  2395. casadi-3.7.2.dist-info/METADATA +45 -0
  2396. casadi-3.7.2.dist-info/RECORD +2398 -0
  2397. casadi-3.7.2.dist-info/WHEEL +4 -0
  2398. dummy.txt +1 -0
@@ -0,0 +1,2045 @@
1
+ // This file is part of Eigen, a lightweight C++ template library
2
+ // for linear algebra.
3
+ //
4
+ // Copyright (C) 2015 Eugene Brevdo <ebrevdo@gmail.com>
5
+ //
6
+ // This Source Code Form is subject to the terms of the Mozilla
7
+ // Public License v. 2.0. If a copy of the MPL was not distributed
8
+ // with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
9
+
10
+ #ifndef EIGEN_SPECIAL_FUNCTIONS_H
11
+ #define EIGEN_SPECIAL_FUNCTIONS_H
12
+
13
+ namespace Eigen {
14
+ namespace internal {
15
+
16
+ // Parts of this code are based on the Cephes Math Library.
17
+ //
18
+ // Cephes Math Library Release 2.8: June, 2000
19
+ // Copyright 1984, 1987, 1992, 2000 by Stephen L. Moshier
20
+ //
21
+ // Permission has been kindly provided by the original author
22
+ // to incorporate the Cephes software into the Eigen codebase:
23
+ //
24
+ // From: Stephen Moshier
25
+ // To: Eugene Brevdo
26
+ // Subject: Re: Permission to wrap several cephes functions in Eigen
27
+ //
28
+ // Hello Eugene,
29
+ //
30
+ // Thank you for writing.
31
+ //
32
+ // If your licensing is similar to BSD, the formal way that has been
33
+ // handled is simply to add a statement to the effect that you are incorporating
34
+ // the Cephes software by permission of the author.
35
+ //
36
+ // Good luck with your project,
37
+ // Steve
38
+
39
+
40
+ /****************************************************************************
41
+ * Implementation of lgamma, requires C++11/C99 *
42
+ ****************************************************************************/
43
+
44
+ template <typename Scalar>
45
+ struct lgamma_impl {
46
+ EIGEN_DEVICE_FUNC
47
+ static EIGEN_STRONG_INLINE Scalar run(const Scalar) {
48
+ EIGEN_STATIC_ASSERT((internal::is_same<Scalar, Scalar>::value == false),
49
+ THIS_TYPE_IS_NOT_SUPPORTED);
50
+ return Scalar(0);
51
+ }
52
+ };
53
+
54
+ template <typename Scalar>
55
+ struct lgamma_retval {
56
+ typedef Scalar type;
57
+ };
58
+
59
+ #if EIGEN_HAS_C99_MATH
60
+ // Since glibc 2.19
61
+ #if defined(__GLIBC__) && ((__GLIBC__>=2 && __GLIBC_MINOR__ >= 19) || __GLIBC__>2) \
62
+ && (defined(_DEFAULT_SOURCE) || defined(_BSD_SOURCE) || defined(_SVID_SOURCE))
63
+ #define EIGEN_HAS_LGAMMA_R
64
+ #endif
65
+
66
+ // Glibc versions before 2.19
67
+ #if defined(__GLIBC__) && ((__GLIBC__==2 && __GLIBC_MINOR__ < 19) || __GLIBC__<2) \
68
+ && (defined(_BSD_SOURCE) || defined(_SVID_SOURCE))
69
+ #define EIGEN_HAS_LGAMMA_R
70
+ #endif
71
+
72
+ template <>
73
+ struct lgamma_impl<float> {
74
+ EIGEN_DEVICE_FUNC
75
+ static EIGEN_STRONG_INLINE float run(float x) {
76
+ #if !defined(EIGEN_GPU_COMPILE_PHASE) && defined (EIGEN_HAS_LGAMMA_R) && !defined(__APPLE__)
77
+ int dummy;
78
+ return ::lgammaf_r(x, &dummy);
79
+ #elif defined(SYCL_DEVICE_ONLY)
80
+ return cl::sycl::lgamma(x);
81
+ #else
82
+ return ::lgammaf(x);
83
+ #endif
84
+ }
85
+ };
86
+
87
+ template <>
88
+ struct lgamma_impl<double> {
89
+ EIGEN_DEVICE_FUNC
90
+ static EIGEN_STRONG_INLINE double run(double x) {
91
+ #if !defined(EIGEN_GPU_COMPILE_PHASE) && defined(EIGEN_HAS_LGAMMA_R) && !defined(__APPLE__)
92
+ int dummy;
93
+ return ::lgamma_r(x, &dummy);
94
+ #elif defined(SYCL_DEVICE_ONLY)
95
+ return cl::sycl::lgamma(x);
96
+ #else
97
+ return ::lgamma(x);
98
+ #endif
99
+ }
100
+ };
101
+
102
+ #undef EIGEN_HAS_LGAMMA_R
103
+ #endif
104
+
105
+ /****************************************************************************
106
+ * Implementation of digamma (psi), based on Cephes *
107
+ ****************************************************************************/
108
+
109
+ template <typename Scalar>
110
+ struct digamma_retval {
111
+ typedef Scalar type;
112
+ };
113
+
114
+ /*
115
+ *
116
+ * Polynomial evaluation helper for the Psi (digamma) function.
117
+ *
118
+ * digamma_impl_maybe_poly::run(s) evaluates the asymptotic Psi expansion for
119
+ * input Scalar s, assuming s is above 10.0.
120
+ *
121
+ * If s is above a certain threshold for the given Scalar type, zero
122
+ * is returned. Otherwise the polynomial is evaluated with enough
123
+ * coefficients for results matching Scalar machine precision.
124
+ *
125
+ *
126
+ */
127
+ template <typename Scalar>
128
+ struct digamma_impl_maybe_poly {
129
+ EIGEN_DEVICE_FUNC
130
+ static EIGEN_STRONG_INLINE Scalar run(const Scalar) {
131
+ EIGEN_STATIC_ASSERT((internal::is_same<Scalar, Scalar>::value == false),
132
+ THIS_TYPE_IS_NOT_SUPPORTED);
133
+ return Scalar(0);
134
+ }
135
+ };
136
+
137
+
138
+ template <>
139
+ struct digamma_impl_maybe_poly<float> {
140
+ EIGEN_DEVICE_FUNC
141
+ static EIGEN_STRONG_INLINE float run(const float s) {
142
+ const float A[] = {
143
+ -4.16666666666666666667E-3f,
144
+ 3.96825396825396825397E-3f,
145
+ -8.33333333333333333333E-3f,
146
+ 8.33333333333333333333E-2f
147
+ };
148
+
149
+ float z;
150
+ if (s < 1.0e8f) {
151
+ z = 1.0f / (s * s);
152
+ return z * internal::ppolevl<float, 3>::run(z, A);
153
+ } else return 0.0f;
154
+ }
155
+ };
156
+
157
+ template <>
158
+ struct digamma_impl_maybe_poly<double> {
159
+ EIGEN_DEVICE_FUNC
160
+ static EIGEN_STRONG_INLINE double run(const double s) {
161
+ const double A[] = {
162
+ 8.33333333333333333333E-2,
163
+ -2.10927960927960927961E-2,
164
+ 7.57575757575757575758E-3,
165
+ -4.16666666666666666667E-3,
166
+ 3.96825396825396825397E-3,
167
+ -8.33333333333333333333E-3,
168
+ 8.33333333333333333333E-2
169
+ };
170
+
171
+ double z;
172
+ if (s < 1.0e17) {
173
+ z = 1.0 / (s * s);
174
+ return z * internal::ppolevl<double, 6>::run(z, A);
175
+ }
176
+ else return 0.0;
177
+ }
178
+ };
179
+
180
+ template <typename Scalar>
181
+ struct digamma_impl {
182
+ EIGEN_DEVICE_FUNC
183
+ static Scalar run(Scalar x) {
184
+ /*
185
+ *
186
+ * Psi (digamma) function (modified for Eigen)
187
+ *
188
+ *
189
+ * SYNOPSIS:
190
+ *
191
+ * double x, y, psi();
192
+ *
193
+ * y = psi( x );
194
+ *
195
+ *
196
+ * DESCRIPTION:
197
+ *
198
+ * d -
199
+ * psi(x) = -- ln | (x)
200
+ * dx
201
+ *
202
+ * is the logarithmic derivative of the gamma function.
203
+ * For integer x,
204
+ * n-1
205
+ * -
206
+ * psi(n) = -EUL + > 1/k.
207
+ * -
208
+ * k=1
209
+ *
210
+ * If x is negative, it is transformed to a positive argument by the
211
+ * reflection formula psi(1-x) = psi(x) + pi cot(pi x).
212
+ * For general positive x, the argument is made greater than 10
213
+ * using the recurrence psi(x+1) = psi(x) + 1/x.
214
+ * Then the following asymptotic expansion is applied:
215
+ *
216
+ * inf. B
217
+ * - 2k
218
+ * psi(x) = log(x) - 1/2x - > -------
219
+ * - 2k
220
+ * k=1 2k x
221
+ *
222
+ * where the B2k are Bernoulli numbers.
223
+ *
224
+ * ACCURACY (float):
225
+ * Relative error (except absolute when |psi| < 1):
226
+ * arithmetic domain # trials peak rms
227
+ * IEEE 0,30 30000 1.3e-15 1.4e-16
228
+ * IEEE -30,0 40000 1.5e-15 2.2e-16
229
+ *
230
+ * ACCURACY (double):
231
+ * Absolute error, relative when |psi| > 1 :
232
+ * arithmetic domain # trials peak rms
233
+ * IEEE -33,0 30000 8.2e-7 1.2e-7
234
+ * IEEE 0,33 100000 7.3e-7 7.7e-8
235
+ *
236
+ * ERROR MESSAGES:
237
+ * message condition value returned
238
+ * psi singularity x integer <=0 INFINITY
239
+ */
240
+
241
+ Scalar p, q, nz, s, w, y;
242
+ bool negative = false;
243
+
244
+ const Scalar nan = NumTraits<Scalar>::quiet_NaN();
245
+ const Scalar m_pi = Scalar(EIGEN_PI);
246
+
247
+ const Scalar zero = Scalar(0);
248
+ const Scalar one = Scalar(1);
249
+ const Scalar half = Scalar(0.5);
250
+ nz = zero;
251
+
252
+ if (x <= zero) {
253
+ negative = true;
254
+ q = x;
255
+ p = numext::floor(q);
256
+ if (p == q) {
257
+ return nan;
258
+ }
259
+ /* Remove the zeros of tan(m_pi x)
260
+ * by subtracting the nearest integer from x
261
+ */
262
+ nz = q - p;
263
+ if (nz != half) {
264
+ if (nz > half) {
265
+ p += one;
266
+ nz = q - p;
267
+ }
268
+ nz = m_pi / numext::tan(m_pi * nz);
269
+ }
270
+ else {
271
+ nz = zero;
272
+ }
273
+ x = one - x;
274
+ }
275
+
276
+ /* use the recurrence psi(x+1) = psi(x) + 1/x. */
277
+ s = x;
278
+ w = zero;
279
+ while (s < Scalar(10)) {
280
+ w += one / s;
281
+ s += one;
282
+ }
283
+
284
+ y = digamma_impl_maybe_poly<Scalar>::run(s);
285
+
286
+ y = numext::log(s) - (half / s) - y - w;
287
+
288
+ return (negative) ? y - nz : y;
289
+ }
290
+ };
291
+
292
+ /****************************************************************************
293
+ * Implementation of erf, requires C++11/C99 *
294
+ ****************************************************************************/
295
+
296
+ /** \internal \returns the error function of \a a (coeff-wise)
297
+ Doesn't do anything fancy, just a 13/8-degree rational interpolant which
298
+ is accurate up to a couple of ulp in the range [-4, 4], outside of which
299
+ fl(erf(x)) = +/-1.
300
+
301
+ This implementation works on both scalars and Ts.
302
+ */
303
+ template <typename T>
304
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE T generic_fast_erf_float(const T& a_x) {
305
+ // Clamp the inputs to the range [-4, 4] since anything outside
306
+ // this range is +/-1.0f in single-precision.
307
+ const T plus_4 = pset1<T>(4.f);
308
+ const T minus_4 = pset1<T>(-4.f);
309
+ const T x = pmax(pmin(a_x, plus_4), minus_4);
310
+ // The monomial coefficients of the numerator polynomial (odd).
311
+ const T alpha_1 = pset1<T>(-1.60960333262415e-02f);
312
+ const T alpha_3 = pset1<T>(-2.95459980854025e-03f);
313
+ const T alpha_5 = pset1<T>(-7.34990630326855e-04f);
314
+ const T alpha_7 = pset1<T>(-5.69250639462346e-05f);
315
+ const T alpha_9 = pset1<T>(-2.10102402082508e-06f);
316
+ const T alpha_11 = pset1<T>(2.77068142495902e-08f);
317
+ const T alpha_13 = pset1<T>(-2.72614225801306e-10f);
318
+
319
+ // The monomial coefficients of the denominator polynomial (even).
320
+ const T beta_0 = pset1<T>(-1.42647390514189e-02f);
321
+ const T beta_2 = pset1<T>(-7.37332916720468e-03f);
322
+ const T beta_4 = pset1<T>(-1.68282697438203e-03f);
323
+ const T beta_6 = pset1<T>(-2.13374055278905e-04f);
324
+ const T beta_8 = pset1<T>(-1.45660718464996e-05f);
325
+
326
+ // Since the polynomials are odd/even, we need x^2.
327
+ const T x2 = pmul(x, x);
328
+
329
+ // Evaluate the numerator polynomial p.
330
+ T p = pmadd(x2, alpha_13, alpha_11);
331
+ p = pmadd(x2, p, alpha_9);
332
+ p = pmadd(x2, p, alpha_7);
333
+ p = pmadd(x2, p, alpha_5);
334
+ p = pmadd(x2, p, alpha_3);
335
+ p = pmadd(x2, p, alpha_1);
336
+ p = pmul(x, p);
337
+
338
+ // Evaluate the denominator polynomial p.
339
+ T q = pmadd(x2, beta_8, beta_6);
340
+ q = pmadd(x2, q, beta_4);
341
+ q = pmadd(x2, q, beta_2);
342
+ q = pmadd(x2, q, beta_0);
343
+
344
+ // Divide the numerator by the denominator.
345
+ return pdiv(p, q);
346
+ }
347
+
348
+ template <typename T>
349
+ struct erf_impl {
350
+ EIGEN_DEVICE_FUNC
351
+ static EIGEN_STRONG_INLINE T run(const T& x) {
352
+ return generic_fast_erf_float(x);
353
+ }
354
+ };
355
+
356
+ template <typename Scalar>
357
+ struct erf_retval {
358
+ typedef Scalar type;
359
+ };
360
+
361
+ #if EIGEN_HAS_C99_MATH
362
+ template <>
363
+ struct erf_impl<float> {
364
+ EIGEN_DEVICE_FUNC
365
+ static EIGEN_STRONG_INLINE float run(float x) {
366
+ #if defined(SYCL_DEVICE_ONLY)
367
+ return cl::sycl::erf(x);
368
+ #else
369
+ return generic_fast_erf_float(x);
370
+ #endif
371
+ }
372
+ };
373
+
374
+ template <>
375
+ struct erf_impl<double> {
376
+ EIGEN_DEVICE_FUNC
377
+ static EIGEN_STRONG_INLINE double run(double x) {
378
+ #if defined(SYCL_DEVICE_ONLY)
379
+ return cl::sycl::erf(x);
380
+ #else
381
+ return ::erf(x);
382
+ #endif
383
+ }
384
+ };
385
+ #endif // EIGEN_HAS_C99_MATH
386
+
387
+ /***************************************************************************
388
+ * Implementation of erfc, requires C++11/C99 *
389
+ ****************************************************************************/
390
+
391
+ template <typename Scalar>
392
+ struct erfc_impl {
393
+ EIGEN_DEVICE_FUNC
394
+ static EIGEN_STRONG_INLINE Scalar run(const Scalar) {
395
+ EIGEN_STATIC_ASSERT((internal::is_same<Scalar, Scalar>::value == false),
396
+ THIS_TYPE_IS_NOT_SUPPORTED);
397
+ return Scalar(0);
398
+ }
399
+ };
400
+
401
+ template <typename Scalar>
402
+ struct erfc_retval {
403
+ typedef Scalar type;
404
+ };
405
+
406
+ #if EIGEN_HAS_C99_MATH
407
+ template <>
408
+ struct erfc_impl<float> {
409
+ EIGEN_DEVICE_FUNC
410
+ static EIGEN_STRONG_INLINE float run(const float x) {
411
+ #if defined(SYCL_DEVICE_ONLY)
412
+ return cl::sycl::erfc(x);
413
+ #else
414
+ return ::erfcf(x);
415
+ #endif
416
+ }
417
+ };
418
+
419
+ template <>
420
+ struct erfc_impl<double> {
421
+ EIGEN_DEVICE_FUNC
422
+ static EIGEN_STRONG_INLINE double run(const double x) {
423
+ #if defined(SYCL_DEVICE_ONLY)
424
+ return cl::sycl::erfc(x);
425
+ #else
426
+ return ::erfc(x);
427
+ #endif
428
+ }
429
+ };
430
+ #endif // EIGEN_HAS_C99_MATH
431
+
432
+
433
+ /***************************************************************************
434
+ * Implementation of ndtri. *
435
+ ****************************************************************************/
436
+
437
+ /* Inverse of Normal distribution function (modified for Eigen).
438
+ *
439
+ *
440
+ * SYNOPSIS:
441
+ *
442
+ * double x, y, ndtri();
443
+ *
444
+ * x = ndtri( y );
445
+ *
446
+ *
447
+ *
448
+ * DESCRIPTION:
449
+ *
450
+ * Returns the argument, x, for which the area under the
451
+ * Gaussian probability density function (integrated from
452
+ * minus infinity to x) is equal to y.
453
+ *
454
+ *
455
+ * For small arguments 0 < y < exp(-2), the program computes
456
+ * z = sqrt( -2.0 * log(y) ); then the approximation is
457
+ * x = z - log(z)/z - (1/z) P(1/z) / Q(1/z).
458
+ * There are two rational functions P/Q, one for 0 < y < exp(-32)
459
+ * and the other for y up to exp(-2). For larger arguments,
460
+ * w = y - 0.5, and x/sqrt(2pi) = w + w**3 R(w**2)/S(w**2)).
461
+ *
462
+ *
463
+ * ACCURACY:
464
+ *
465
+ * Relative error:
466
+ * arithmetic domain # trials peak rms
467
+ * DEC 0.125, 1 5500 9.5e-17 2.1e-17
468
+ * DEC 6e-39, 0.135 3500 5.7e-17 1.3e-17
469
+ * IEEE 0.125, 1 20000 7.2e-16 1.3e-16
470
+ * IEEE 3e-308, 0.135 50000 4.6e-16 9.8e-17
471
+ *
472
+ *
473
+ * ERROR MESSAGES:
474
+ *
475
+ * message condition value returned
476
+ * ndtri domain x <= 0 -MAXNUM
477
+ * ndtri domain x >= 1 MAXNUM
478
+ *
479
+ */
480
+ /*
481
+ Cephes Math Library Release 2.2: June, 1992
482
+ Copyright 1985, 1987, 1992 by Stephen L. Moshier
483
+ Direct inquiries to 30 Frost Street, Cambridge, MA 02140
484
+ */
485
+
486
+
487
+ // TODO: Add a cheaper approximation for float.
488
+
489
+
490
+ template<typename T>
491
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE T flipsign(
492
+ const T& should_flipsign, const T& x) {
493
+ typedef typename unpacket_traits<T>::type Scalar;
494
+ const T sign_mask = pset1<T>(Scalar(-0.0));
495
+ T sign_bit = pand<T>(should_flipsign, sign_mask);
496
+ return pxor<T>(sign_bit, x);
497
+ }
498
+
499
+ template<>
500
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE double flipsign<double>(
501
+ const double& should_flipsign, const double& x) {
502
+ return should_flipsign == 0 ? x : -x;
503
+ }
504
+
505
+ template<>
506
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE float flipsign<float>(
507
+ const float& should_flipsign, const float& x) {
508
+ return should_flipsign == 0 ? x : -x;
509
+ }
510
+
511
+ // We split this computation in to two so that in the scalar path
512
+ // only one branch is evaluated (due to our template specialization of pselect
513
+ // being an if statement.)
514
+
515
+ template <typename T, typename ScalarType>
516
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE T generic_ndtri_gt_exp_neg_two(const T& b) {
517
+ const ScalarType p0[] = {
518
+ ScalarType(-5.99633501014107895267e1),
519
+ ScalarType(9.80010754185999661536e1),
520
+ ScalarType(-5.66762857469070293439e1),
521
+ ScalarType(1.39312609387279679503e1),
522
+ ScalarType(-1.23916583867381258016e0)
523
+ };
524
+ const ScalarType q0[] = {
525
+ ScalarType(1.0),
526
+ ScalarType(1.95448858338141759834e0),
527
+ ScalarType(4.67627912898881538453e0),
528
+ ScalarType(8.63602421390890590575e1),
529
+ ScalarType(-2.25462687854119370527e2),
530
+ ScalarType(2.00260212380060660359e2),
531
+ ScalarType(-8.20372256168333339912e1),
532
+ ScalarType(1.59056225126211695515e1),
533
+ ScalarType(-1.18331621121330003142e0)
534
+ };
535
+ const T sqrt2pi = pset1<T>(ScalarType(2.50662827463100050242e0));
536
+ const T half = pset1<T>(ScalarType(0.5));
537
+ T c, c2, ndtri_gt_exp_neg_two;
538
+
539
+ c = psub(b, half);
540
+ c2 = pmul(c, c);
541
+ ndtri_gt_exp_neg_two = pmadd(c, pmul(
542
+ c2, pdiv(
543
+ internal::ppolevl<T, 4>::run(c2, p0),
544
+ internal::ppolevl<T, 8>::run(c2, q0))), c);
545
+ return pmul(ndtri_gt_exp_neg_two, sqrt2pi);
546
+ }
547
+
548
+ template <typename T, typename ScalarType>
549
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE T generic_ndtri_lt_exp_neg_two(
550
+ const T& b, const T& should_flipsign) {
551
+ /* Approximation for interval z = sqrt(-2 log a ) between 2 and 8
552
+ * i.e., a between exp(-2) = .135 and exp(-32) = 1.27e-14.
553
+ */
554
+ const ScalarType p1[] = {
555
+ ScalarType(4.05544892305962419923e0),
556
+ ScalarType(3.15251094599893866154e1),
557
+ ScalarType(5.71628192246421288162e1),
558
+ ScalarType(4.40805073893200834700e1),
559
+ ScalarType(1.46849561928858024014e1),
560
+ ScalarType(2.18663306850790267539e0),
561
+ ScalarType(-1.40256079171354495875e-1),
562
+ ScalarType(-3.50424626827848203418e-2),
563
+ ScalarType(-8.57456785154685413611e-4)
564
+ };
565
+ const ScalarType q1[] = {
566
+ ScalarType(1.0),
567
+ ScalarType(1.57799883256466749731e1),
568
+ ScalarType(4.53907635128879210584e1),
569
+ ScalarType(4.13172038254672030440e1),
570
+ ScalarType(1.50425385692907503408e1),
571
+ ScalarType(2.50464946208309415979e0),
572
+ ScalarType(-1.42182922854787788574e-1),
573
+ ScalarType(-3.80806407691578277194e-2),
574
+ ScalarType(-9.33259480895457427372e-4)
575
+ };
576
+ /* Approximation for interval z = sqrt(-2 log a ) between 8 and 64
577
+ * i.e., a between exp(-32) = 1.27e-14 and exp(-2048) = 3.67e-890.
578
+ */
579
+ const ScalarType p2[] = {
580
+ ScalarType(3.23774891776946035970e0),
581
+ ScalarType(6.91522889068984211695e0),
582
+ ScalarType(3.93881025292474443415e0),
583
+ ScalarType(1.33303460815807542389e0),
584
+ ScalarType(2.01485389549179081538e-1),
585
+ ScalarType(1.23716634817820021358e-2),
586
+ ScalarType(3.01581553508235416007e-4),
587
+ ScalarType(2.65806974686737550832e-6),
588
+ ScalarType(6.23974539184983293730e-9)
589
+ };
590
+ const ScalarType q2[] = {
591
+ ScalarType(1.0),
592
+ ScalarType(6.02427039364742014255e0),
593
+ ScalarType(3.67983563856160859403e0),
594
+ ScalarType(1.37702099489081330271e0),
595
+ ScalarType(2.16236993594496635890e-1),
596
+ ScalarType(1.34204006088543189037e-2),
597
+ ScalarType(3.28014464682127739104e-4),
598
+ ScalarType(2.89247864745380683936e-6),
599
+ ScalarType(6.79019408009981274425e-9)
600
+ };
601
+ const T eight = pset1<T>(ScalarType(8.0));
602
+ const T one = pset1<T>(ScalarType(1));
603
+ const T neg_two = pset1<T>(ScalarType(-2));
604
+ T x, x0, x1, z;
605
+
606
+ x = psqrt(pmul(neg_two, plog(b)));
607
+ x0 = psub(x, pdiv(plog(x), x));
608
+ z = pdiv(one, x);
609
+ x1 = pmul(
610
+ z, pselect(
611
+ pcmp_lt(x, eight),
612
+ pdiv(internal::ppolevl<T, 8>::run(z, p1),
613
+ internal::ppolevl<T, 8>::run(z, q1)),
614
+ pdiv(internal::ppolevl<T, 8>::run(z, p2),
615
+ internal::ppolevl<T, 8>::run(z, q2))));
616
+ return flipsign(should_flipsign, psub(x0, x1));
617
+ }
618
+
619
+ template <typename T, typename ScalarType>
620
+ EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE
621
+ T generic_ndtri(const T& a) {
622
+ const T maxnum = pset1<T>(NumTraits<ScalarType>::infinity());
623
+ const T neg_maxnum = pset1<T>(-NumTraits<ScalarType>::infinity());
624
+
625
+ const T zero = pset1<T>(ScalarType(0));
626
+ const T one = pset1<T>(ScalarType(1));
627
+ // exp(-2)
628
+ const T exp_neg_two = pset1<T>(ScalarType(0.13533528323661269189));
629
+ T b, ndtri, should_flipsign;
630
+
631
+ should_flipsign = pcmp_le(a, psub(one, exp_neg_two));
632
+ b = pselect(should_flipsign, a, psub(one, a));
633
+
634
+ ndtri = pselect(
635
+ pcmp_lt(exp_neg_two, b),
636
+ generic_ndtri_gt_exp_neg_two<T, ScalarType>(b),
637
+ generic_ndtri_lt_exp_neg_two<T, ScalarType>(b, should_flipsign));
638
+
639
+ return pselect(
640
+ pcmp_le(a, zero), neg_maxnum,
641
+ pselect(pcmp_le(one, a), maxnum, ndtri));
642
+ }
643
+
644
+ template <typename Scalar>
645
+ struct ndtri_retval {
646
+ typedef Scalar type;
647
+ };
648
+
649
+ #if !EIGEN_HAS_C99_MATH
650
+
651
+ template <typename Scalar>
652
+ struct ndtri_impl {
653
+ EIGEN_DEVICE_FUNC
654
+ static EIGEN_STRONG_INLINE Scalar run(const Scalar) {
655
+ EIGEN_STATIC_ASSERT((internal::is_same<Scalar, Scalar>::value == false),
656
+ THIS_TYPE_IS_NOT_SUPPORTED);
657
+ return Scalar(0);
658
+ }
659
+ };
660
+
661
+ # else
662
+
663
+ template <typename Scalar>
664
+ struct ndtri_impl {
665
+ EIGEN_DEVICE_FUNC
666
+ static EIGEN_STRONG_INLINE Scalar run(const Scalar x) {
667
+ return generic_ndtri<Scalar, Scalar>(x);
668
+ }
669
+ };
670
+
671
+ #endif // EIGEN_HAS_C99_MATH
672
+
673
+
674
+ /**************************************************************************************************************
675
+ * Implementation of igammac (complemented incomplete gamma integral), based on Cephes but requires C++11/C99 *
676
+ **************************************************************************************************************/
677
+
678
+ template <typename Scalar>
679
+ struct igammac_retval {
680
+ typedef Scalar type;
681
+ };
682
+
683
+ // NOTE: cephes_helper is also used to implement zeta
684
+ template <typename Scalar>
685
+ struct cephes_helper {
686
+ EIGEN_DEVICE_FUNC
687
+ static EIGEN_STRONG_INLINE Scalar machep() { assert(false && "machep not supported for this type"); return 0.0; }
688
+ EIGEN_DEVICE_FUNC
689
+ static EIGEN_STRONG_INLINE Scalar big() { assert(false && "big not supported for this type"); return 0.0; }
690
+ EIGEN_DEVICE_FUNC
691
+ static EIGEN_STRONG_INLINE Scalar biginv() { assert(false && "biginv not supported for this type"); return 0.0; }
692
+ };
693
+
694
+ template <>
695
+ struct cephes_helper<float> {
696
+ EIGEN_DEVICE_FUNC
697
+ static EIGEN_STRONG_INLINE float machep() {
698
+ return NumTraits<float>::epsilon() / 2; // 1.0 - machep == 1.0
699
+ }
700
+ EIGEN_DEVICE_FUNC
701
+ static EIGEN_STRONG_INLINE float big() {
702
+ // use epsneg (1.0 - epsneg == 1.0)
703
+ return 1.0f / (NumTraits<float>::epsilon() / 2);
704
+ }
705
+ EIGEN_DEVICE_FUNC
706
+ static EIGEN_STRONG_INLINE float biginv() {
707
+ // epsneg
708
+ return machep();
709
+ }
710
+ };
711
+
712
+ template <>
713
+ struct cephes_helper<double> {
714
+ EIGEN_DEVICE_FUNC
715
+ static EIGEN_STRONG_INLINE double machep() {
716
+ return NumTraits<double>::epsilon() / 2; // 1.0 - machep == 1.0
717
+ }
718
+ EIGEN_DEVICE_FUNC
719
+ static EIGEN_STRONG_INLINE double big() {
720
+ return 1.0 / NumTraits<double>::epsilon();
721
+ }
722
+ EIGEN_DEVICE_FUNC
723
+ static EIGEN_STRONG_INLINE double biginv() {
724
+ // inverse of eps
725
+ return NumTraits<double>::epsilon();
726
+ }
727
+ };
728
+
729
+ enum IgammaComputationMode { VALUE, DERIVATIVE, SAMPLE_DERIVATIVE };
730
+
731
+ template <typename Scalar>
732
+ EIGEN_DEVICE_FUNC
733
+ static EIGEN_STRONG_INLINE Scalar main_igamma_term(Scalar a, Scalar x) {
734
+ /* Compute x**a * exp(-x) / gamma(a) */
735
+ Scalar logax = a * numext::log(x) - x - lgamma_impl<Scalar>::run(a);
736
+ if (logax < -numext::log(NumTraits<Scalar>::highest()) ||
737
+ // Assuming x and a aren't Nan.
738
+ (numext::isnan)(logax)) {
739
+ return Scalar(0);
740
+ }
741
+ return numext::exp(logax);
742
+ }
743
+
744
+ template <typename Scalar, IgammaComputationMode mode>
745
+ EIGEN_DEVICE_FUNC
746
+ int igamma_num_iterations() {
747
+ /* Returns the maximum number of internal iterations for igamma computation.
748
+ */
749
+ if (mode == VALUE) {
750
+ return 2000;
751
+ }
752
+
753
+ if (internal::is_same<Scalar, float>::value) {
754
+ return 200;
755
+ } else if (internal::is_same<Scalar, double>::value) {
756
+ return 500;
757
+ } else {
758
+ return 2000;
759
+ }
760
+ }
761
+
762
+ template <typename Scalar, IgammaComputationMode mode>
763
+ struct igammac_cf_impl {
764
+ /* Computes igamc(a, x) or derivative (depending on the mode)
765
+ * using the continued fraction expansion of the complementary
766
+ * incomplete Gamma function.
767
+ *
768
+ * Preconditions:
769
+ * a > 0
770
+ * x >= 1
771
+ * x >= a
772
+ */
773
+ EIGEN_DEVICE_FUNC
774
+ static Scalar run(Scalar a, Scalar x) {
775
+ const Scalar zero = 0;
776
+ const Scalar one = 1;
777
+ const Scalar two = 2;
778
+ const Scalar machep = cephes_helper<Scalar>::machep();
779
+ const Scalar big = cephes_helper<Scalar>::big();
780
+ const Scalar biginv = cephes_helper<Scalar>::biginv();
781
+
782
+ if ((numext::isinf)(x)) {
783
+ return zero;
784
+ }
785
+
786
+ Scalar ax = main_igamma_term<Scalar>(a, x);
787
+ // This is independent of mode. If this value is zero,
788
+ // then the function value is zero. If the function value is zero,
789
+ // then we are in a neighborhood where the function value evalutes to zero,
790
+ // so the derivative is zero.
791
+ if (ax == zero) {
792
+ return zero;
793
+ }
794
+
795
+ // continued fraction
796
+ Scalar y = one - a;
797
+ Scalar z = x + y + one;
798
+ Scalar c = zero;
799
+ Scalar pkm2 = one;
800
+ Scalar qkm2 = x;
801
+ Scalar pkm1 = x + one;
802
+ Scalar qkm1 = z * x;
803
+ Scalar ans = pkm1 / qkm1;
804
+
805
+ Scalar dpkm2_da = zero;
806
+ Scalar dqkm2_da = zero;
807
+ Scalar dpkm1_da = zero;
808
+ Scalar dqkm1_da = -x;
809
+ Scalar dans_da = (dpkm1_da - ans * dqkm1_da) / qkm1;
810
+
811
+ for (int i = 0; i < igamma_num_iterations<Scalar, mode>(); i++) {
812
+ c += one;
813
+ y += one;
814
+ z += two;
815
+
816
+ Scalar yc = y * c;
817
+ Scalar pk = pkm1 * z - pkm2 * yc;
818
+ Scalar qk = qkm1 * z - qkm2 * yc;
819
+
820
+ Scalar dpk_da = dpkm1_da * z - pkm1 - dpkm2_da * yc + pkm2 * c;
821
+ Scalar dqk_da = dqkm1_da * z - qkm1 - dqkm2_da * yc + qkm2 * c;
822
+
823
+ if (qk != zero) {
824
+ Scalar ans_prev = ans;
825
+ ans = pk / qk;
826
+
827
+ Scalar dans_da_prev = dans_da;
828
+ dans_da = (dpk_da - ans * dqk_da) / qk;
829
+
830
+ if (mode == VALUE) {
831
+ if (numext::abs(ans_prev - ans) <= machep * numext::abs(ans)) {
832
+ break;
833
+ }
834
+ } else {
835
+ if (numext::abs(dans_da - dans_da_prev) <= machep) {
836
+ break;
837
+ }
838
+ }
839
+ }
840
+
841
+ pkm2 = pkm1;
842
+ pkm1 = pk;
843
+ qkm2 = qkm1;
844
+ qkm1 = qk;
845
+
846
+ dpkm2_da = dpkm1_da;
847
+ dpkm1_da = dpk_da;
848
+ dqkm2_da = dqkm1_da;
849
+ dqkm1_da = dqk_da;
850
+
851
+ if (numext::abs(pk) > big) {
852
+ pkm2 *= biginv;
853
+ pkm1 *= biginv;
854
+ qkm2 *= biginv;
855
+ qkm1 *= biginv;
856
+
857
+ dpkm2_da *= biginv;
858
+ dpkm1_da *= biginv;
859
+ dqkm2_da *= biginv;
860
+ dqkm1_da *= biginv;
861
+ }
862
+ }
863
+
864
+ /* Compute x**a * exp(-x) / gamma(a) */
865
+ Scalar dlogax_da = numext::log(x) - digamma_impl<Scalar>::run(a);
866
+ Scalar dax_da = ax * dlogax_da;
867
+
868
+ switch (mode) {
869
+ case VALUE:
870
+ return ans * ax;
871
+ case DERIVATIVE:
872
+ return ans * dax_da + dans_da * ax;
873
+ case SAMPLE_DERIVATIVE:
874
+ default: // this is needed to suppress clang warning
875
+ return -(dans_da + ans * dlogax_da) * x;
876
+ }
877
+ }
878
+ };
879
+
880
+ template <typename Scalar, IgammaComputationMode mode>
881
+ struct igamma_series_impl {
882
+ /* Computes igam(a, x) or its derivative (depending on the mode)
883
+ * using the series expansion of the incomplete Gamma function.
884
+ *
885
+ * Preconditions:
886
+ * x > 0
887
+ * a > 0
888
+ * !(x > 1 && x > a)
889
+ */
890
+ EIGEN_DEVICE_FUNC
891
+ static Scalar run(Scalar a, Scalar x) {
892
+ const Scalar zero = 0;
893
+ const Scalar one = 1;
894
+ const Scalar machep = cephes_helper<Scalar>::machep();
895
+
896
+ Scalar ax = main_igamma_term<Scalar>(a, x);
897
+
898
+ // This is independent of mode. If this value is zero,
899
+ // then the function value is zero. If the function value is zero,
900
+ // then we are in a neighborhood where the function value evalutes to zero,
901
+ // so the derivative is zero.
902
+ if (ax == zero) {
903
+ return zero;
904
+ }
905
+
906
+ ax /= a;
907
+
908
+ /* power series */
909
+ Scalar r = a;
910
+ Scalar c = one;
911
+ Scalar ans = one;
912
+
913
+ Scalar dc_da = zero;
914
+ Scalar dans_da = zero;
915
+
916
+ for (int i = 0; i < igamma_num_iterations<Scalar, mode>(); i++) {
917
+ r += one;
918
+ Scalar term = x / r;
919
+ Scalar dterm_da = -x / (r * r);
920
+ dc_da = term * dc_da + dterm_da * c;
921
+ dans_da += dc_da;
922
+ c *= term;
923
+ ans += c;
924
+
925
+ if (mode == VALUE) {
926
+ if (c <= machep * ans) {
927
+ break;
928
+ }
929
+ } else {
930
+ if (numext::abs(dc_da) <= machep * numext::abs(dans_da)) {
931
+ break;
932
+ }
933
+ }
934
+ }
935
+
936
+ Scalar dlogax_da = numext::log(x) - digamma_impl<Scalar>::run(a + one);
937
+ Scalar dax_da = ax * dlogax_da;
938
+
939
+ switch (mode) {
940
+ case VALUE:
941
+ return ans * ax;
942
+ case DERIVATIVE:
943
+ return ans * dax_da + dans_da * ax;
944
+ case SAMPLE_DERIVATIVE:
945
+ default: // this is needed to suppress clang warning
946
+ return -(dans_da + ans * dlogax_da) * x / a;
947
+ }
948
+ }
949
+ };
950
+
951
+ #if !EIGEN_HAS_C99_MATH
952
+
953
+ template <typename Scalar>
954
+ struct igammac_impl {
955
+ EIGEN_DEVICE_FUNC
956
+ static Scalar run(Scalar a, Scalar x) {
957
+ EIGEN_STATIC_ASSERT((internal::is_same<Scalar, Scalar>::value == false),
958
+ THIS_TYPE_IS_NOT_SUPPORTED);
959
+ return Scalar(0);
960
+ }
961
+ };
962
+
963
+ #else
964
+
965
+ template <typename Scalar>
966
+ struct igammac_impl {
967
+ EIGEN_DEVICE_FUNC
968
+ static Scalar run(Scalar a, Scalar x) {
969
+ /* igamc()
970
+ *
971
+ * Incomplete gamma integral (modified for Eigen)
972
+ *
973
+ *
974
+ *
975
+ * SYNOPSIS:
976
+ *
977
+ * double a, x, y, igamc();
978
+ *
979
+ * y = igamc( a, x );
980
+ *
981
+ * DESCRIPTION:
982
+ *
983
+ * The function is defined by
984
+ *
985
+ *
986
+ * igamc(a,x) = 1 - igam(a,x)
987
+ *
988
+ * inf.
989
+ * -
990
+ * 1 | | -t a-1
991
+ * = ----- | e t dt.
992
+ * - | |
993
+ * | (a) -
994
+ * x
995
+ *
996
+ *
997
+ * In this implementation both arguments must be positive.
998
+ * The integral is evaluated by either a power series or
999
+ * continued fraction expansion, depending on the relative
1000
+ * values of a and x.
1001
+ *
1002
+ * ACCURACY (float):
1003
+ *
1004
+ * Relative error:
1005
+ * arithmetic domain # trials peak rms
1006
+ * IEEE 0,30 30000 7.8e-6 5.9e-7
1007
+ *
1008
+ *
1009
+ * ACCURACY (double):
1010
+ *
1011
+ * Tested at random a, x.
1012
+ * a x Relative error:
1013
+ * arithmetic domain domain # trials peak rms
1014
+ * IEEE 0.5,100 0,100 200000 1.9e-14 1.7e-15
1015
+ * IEEE 0.01,0.5 0,100 200000 1.4e-13 1.6e-15
1016
+ *
1017
+ */
1018
+ /*
1019
+ Cephes Math Library Release 2.2: June, 1992
1020
+ Copyright 1985, 1987, 1992 by Stephen L. Moshier
1021
+ Direct inquiries to 30 Frost Street, Cambridge, MA 02140
1022
+ */
1023
+ const Scalar zero = 0;
1024
+ const Scalar one = 1;
1025
+ const Scalar nan = NumTraits<Scalar>::quiet_NaN();
1026
+
1027
+ if ((x < zero) || (a <= zero)) {
1028
+ // domain error
1029
+ return nan;
1030
+ }
1031
+
1032
+ if ((numext::isnan)(a) || (numext::isnan)(x)) { // propagate nans
1033
+ return nan;
1034
+ }
1035
+
1036
+ if ((x < one) || (x < a)) {
1037
+ return (one - igamma_series_impl<Scalar, VALUE>::run(a, x));
1038
+ }
1039
+
1040
+ return igammac_cf_impl<Scalar, VALUE>::run(a, x);
1041
+ }
1042
+ };
1043
+
1044
+ #endif // EIGEN_HAS_C99_MATH
1045
+
1046
+ /************************************************************************************************
1047
+ * Implementation of igamma (incomplete gamma integral), based on Cephes but requires C++11/C99 *
1048
+ ************************************************************************************************/
1049
+
1050
+ #if !EIGEN_HAS_C99_MATH
1051
+
1052
+ template <typename Scalar, IgammaComputationMode mode>
1053
+ struct igamma_generic_impl {
1054
+ EIGEN_DEVICE_FUNC
1055
+ static EIGEN_STRONG_INLINE Scalar run(Scalar a, Scalar x) {
1056
+ EIGEN_STATIC_ASSERT((internal::is_same<Scalar, Scalar>::value == false),
1057
+ THIS_TYPE_IS_NOT_SUPPORTED);
1058
+ return Scalar(0);
1059
+ }
1060
+ };
1061
+
1062
+ #else
1063
+
1064
+ template <typename Scalar, IgammaComputationMode mode>
1065
+ struct igamma_generic_impl {
1066
+ EIGEN_DEVICE_FUNC
1067
+ static Scalar run(Scalar a, Scalar x) {
1068
+ /* Depending on the mode, returns
1069
+ * - VALUE: incomplete Gamma function igamma(a, x)
1070
+ * - DERIVATIVE: derivative of incomplete Gamma function d/da igamma(a, x)
1071
+ * - SAMPLE_DERIVATIVE: implicit derivative of a Gamma random variable
1072
+ * x ~ Gamma(x | a, 1), dx/da = -1 / Gamma(x | a, 1) * d igamma(a, x) / dx
1073
+ *
1074
+ * Derivatives are implemented by forward-mode differentiation.
1075
+ */
1076
+ const Scalar zero = 0;
1077
+ const Scalar one = 1;
1078
+ const Scalar nan = NumTraits<Scalar>::quiet_NaN();
1079
+
1080
+ if (x == zero) return zero;
1081
+
1082
+ if ((x < zero) || (a <= zero)) { // domain error
1083
+ return nan;
1084
+ }
1085
+
1086
+ if ((numext::isnan)(a) || (numext::isnan)(x)) { // propagate nans
1087
+ return nan;
1088
+ }
1089
+
1090
+ if ((x > one) && (x > a)) {
1091
+ Scalar ret = igammac_cf_impl<Scalar, mode>::run(a, x);
1092
+ if (mode == VALUE) {
1093
+ return one - ret;
1094
+ } else {
1095
+ return -ret;
1096
+ }
1097
+ }
1098
+
1099
+ return igamma_series_impl<Scalar, mode>::run(a, x);
1100
+ }
1101
+ };
1102
+
1103
+ #endif // EIGEN_HAS_C99_MATH
1104
+
1105
+ template <typename Scalar>
1106
+ struct igamma_retval {
1107
+ typedef Scalar type;
1108
+ };
1109
+
1110
+ template <typename Scalar>
1111
+ struct igamma_impl : igamma_generic_impl<Scalar, VALUE> {
1112
+ /* igam()
1113
+ * Incomplete gamma integral.
1114
+ *
1115
+ * The CDF of Gamma(a, 1) random variable at the point x.
1116
+ *
1117
+ * Accuracy estimation. For each a in [10^-2, 10^-1...10^3] we sample
1118
+ * 50 Gamma random variables x ~ Gamma(x | a, 1), a total of 300 points.
1119
+ * The ground truth is computed by mpmath. Mean absolute error:
1120
+ * float: 1.26713e-05
1121
+ * double: 2.33606e-12
1122
+ *
1123
+ * Cephes documentation below.
1124
+ *
1125
+ * SYNOPSIS:
1126
+ *
1127
+ * double a, x, y, igam();
1128
+ *
1129
+ * y = igam( a, x );
1130
+ *
1131
+ * DESCRIPTION:
1132
+ *
1133
+ * The function is defined by
1134
+ *
1135
+ * x
1136
+ * -
1137
+ * 1 | | -t a-1
1138
+ * igam(a,x) = ----- | e t dt.
1139
+ * - | |
1140
+ * | (a) -
1141
+ * 0
1142
+ *
1143
+ *
1144
+ * In this implementation both arguments must be positive.
1145
+ * The integral is evaluated by either a power series or
1146
+ * continued fraction expansion, depending on the relative
1147
+ * values of a and x.
1148
+ *
1149
+ * ACCURACY (double):
1150
+ *
1151
+ * Relative error:
1152
+ * arithmetic domain # trials peak rms
1153
+ * IEEE 0,30 200000 3.6e-14 2.9e-15
1154
+ * IEEE 0,100 300000 9.9e-14 1.5e-14
1155
+ *
1156
+ *
1157
+ * ACCURACY (float):
1158
+ *
1159
+ * Relative error:
1160
+ * arithmetic domain # trials peak rms
1161
+ * IEEE 0,30 20000 7.8e-6 5.9e-7
1162
+ *
1163
+ */
1164
+ /*
1165
+ Cephes Math Library Release 2.2: June, 1992
1166
+ Copyright 1985, 1987, 1992 by Stephen L. Moshier
1167
+ Direct inquiries to 30 Frost Street, Cambridge, MA 02140
1168
+ */
1169
+
1170
+ /* left tail of incomplete gamma function:
1171
+ *
1172
+ * inf. k
1173
+ * a -x - x
1174
+ * x e > ----------
1175
+ * - -
1176
+ * k=0 | (a+k+1)
1177
+ *
1178
+ */
1179
+ };
1180
+
1181
+ template <typename Scalar>
1182
+ struct igamma_der_a_retval : igamma_retval<Scalar> {};
1183
+
1184
+ template <typename Scalar>
1185
+ struct igamma_der_a_impl : igamma_generic_impl<Scalar, DERIVATIVE> {
1186
+ /* Derivative of the incomplete Gamma function with respect to a.
1187
+ *
1188
+ * Computes d/da igamma(a, x) by forward differentiation of the igamma code.
1189
+ *
1190
+ * Accuracy estimation. For each a in [10^-2, 10^-1...10^3] we sample
1191
+ * 50 Gamma random variables x ~ Gamma(x | a, 1), a total of 300 points.
1192
+ * The ground truth is computed by mpmath. Mean absolute error:
1193
+ * float: 6.17992e-07
1194
+ * double: 4.60453e-12
1195
+ *
1196
+ * Reference:
1197
+ * R. Moore. "Algorithm AS 187: Derivatives of the incomplete gamma
1198
+ * integral". Journal of the Royal Statistical Society. 1982
1199
+ */
1200
+ };
1201
+
1202
+ template <typename Scalar>
1203
+ struct gamma_sample_der_alpha_retval : igamma_retval<Scalar> {};
1204
+
1205
+ template <typename Scalar>
1206
+ struct gamma_sample_der_alpha_impl
1207
+ : igamma_generic_impl<Scalar, SAMPLE_DERIVATIVE> {
1208
+ /* Derivative of a Gamma random variable sample with respect to alpha.
1209
+ *
1210
+ * Consider a sample of a Gamma random variable with the concentration
1211
+ * parameter alpha: sample ~ Gamma(alpha, 1). The reparameterization
1212
+ * derivative that we want to compute is dsample / dalpha =
1213
+ * d igammainv(alpha, u) / dalpha, where u = igamma(alpha, sample).
1214
+ * However, this formula is numerically unstable and expensive, so instead
1215
+ * we use implicit differentiation:
1216
+ *
1217
+ * igamma(alpha, sample) = u, where u ~ Uniform(0, 1).
1218
+ * Apply d / dalpha to both sides:
1219
+ * d igamma(alpha, sample) / dalpha
1220
+ * + d igamma(alpha, sample) / dsample * dsample/dalpha = 0
1221
+ * d igamma(alpha, sample) / dalpha
1222
+ * + Gamma(sample | alpha, 1) dsample / dalpha = 0
1223
+ * dsample/dalpha = - (d igamma(alpha, sample) / dalpha)
1224
+ * / Gamma(sample | alpha, 1)
1225
+ *
1226
+ * Here Gamma(sample | alpha, 1) is the PDF of the Gamma distribution
1227
+ * (note that the derivative of the CDF w.r.t. sample is the PDF).
1228
+ * See the reference below for more details.
1229
+ *
1230
+ * The derivative of igamma(alpha, sample) is computed by forward
1231
+ * differentiation of the igamma code. Division by the Gamma PDF is performed
1232
+ * in the same code, increasing the accuracy and speed due to cancellation
1233
+ * of some terms.
1234
+ *
1235
+ * Accuracy estimation. For each alpha in [10^-2, 10^-1...10^3] we sample
1236
+ * 50 Gamma random variables sample ~ Gamma(sample | alpha, 1), a total of 300
1237
+ * points. The ground truth is computed by mpmath. Mean absolute error:
1238
+ * float: 2.1686e-06
1239
+ * double: 1.4774e-12
1240
+ *
1241
+ * Reference:
1242
+ * M. Figurnov, S. Mohamed, A. Mnih "Implicit Reparameterization Gradients".
1243
+ * 2018
1244
+ */
1245
+ };
1246
+
1247
+ /*****************************************************************************
1248
+ * Implementation of Riemann zeta function of two arguments, based on Cephes *
1249
+ *****************************************************************************/
1250
+
1251
+ template <typename Scalar>
1252
+ struct zeta_retval {
1253
+ typedef Scalar type;
1254
+ };
1255
+
1256
+ template <typename Scalar>
1257
+ struct zeta_impl_series {
1258
+ EIGEN_DEVICE_FUNC
1259
+ static EIGEN_STRONG_INLINE Scalar run(const Scalar) {
1260
+ EIGEN_STATIC_ASSERT((internal::is_same<Scalar, Scalar>::value == false),
1261
+ THIS_TYPE_IS_NOT_SUPPORTED);
1262
+ return Scalar(0);
1263
+ }
1264
+ };
1265
+
1266
+ template <>
1267
+ struct zeta_impl_series<float> {
1268
+ EIGEN_DEVICE_FUNC
1269
+ static EIGEN_STRONG_INLINE bool run(float& a, float& b, float& s, const float x, const float machep) {
1270
+ int i = 0;
1271
+ while(i < 9)
1272
+ {
1273
+ i += 1;
1274
+ a += 1.0f;
1275
+ b = numext::pow( a, -x );
1276
+ s += b;
1277
+ if( numext::abs(b/s) < machep )
1278
+ return true;
1279
+ }
1280
+
1281
+ //Return whether we are done
1282
+ return false;
1283
+ }
1284
+ };
1285
+
1286
+ template <>
1287
+ struct zeta_impl_series<double> {
1288
+ EIGEN_DEVICE_FUNC
1289
+ static EIGEN_STRONG_INLINE bool run(double& a, double& b, double& s, const double x, const double machep) {
1290
+ int i = 0;
1291
+ while( (i < 9) || (a <= 9.0) )
1292
+ {
1293
+ i += 1;
1294
+ a += 1.0;
1295
+ b = numext::pow( a, -x );
1296
+ s += b;
1297
+ if( numext::abs(b/s) < machep )
1298
+ return true;
1299
+ }
1300
+
1301
+ //Return whether we are done
1302
+ return false;
1303
+ }
1304
+ };
1305
+
1306
+ template <typename Scalar>
1307
+ struct zeta_impl {
1308
+ EIGEN_DEVICE_FUNC
1309
+ static Scalar run(Scalar x, Scalar q) {
1310
+ /* zeta.c
1311
+ *
1312
+ * Riemann zeta function of two arguments
1313
+ *
1314
+ *
1315
+ *
1316
+ * SYNOPSIS:
1317
+ *
1318
+ * double x, q, y, zeta();
1319
+ *
1320
+ * y = zeta( x, q );
1321
+ *
1322
+ *
1323
+ *
1324
+ * DESCRIPTION:
1325
+ *
1326
+ *
1327
+ *
1328
+ * inf.
1329
+ * - -x
1330
+ * zeta(x,q) = > (k+q)
1331
+ * -
1332
+ * k=0
1333
+ *
1334
+ * where x > 1 and q is not a negative integer or zero.
1335
+ * The Euler-Maclaurin summation formula is used to obtain
1336
+ * the expansion
1337
+ *
1338
+ * n
1339
+ * - -x
1340
+ * zeta(x,q) = > (k+q)
1341
+ * -
1342
+ * k=1
1343
+ *
1344
+ * 1-x inf. B x(x+1)...(x+2j)
1345
+ * (n+q) 1 - 2j
1346
+ * + --------- - ------- + > --------------------
1347
+ * x-1 x - x+2j+1
1348
+ * 2(n+q) j=1 (2j)! (n+q)
1349
+ *
1350
+ * where the B2j are Bernoulli numbers. Note that (see zetac.c)
1351
+ * zeta(x,1) = zetac(x) + 1.
1352
+ *
1353
+ *
1354
+ *
1355
+ * ACCURACY:
1356
+ *
1357
+ * Relative error for single precision:
1358
+ * arithmetic domain # trials peak rms
1359
+ * IEEE 0,25 10000 6.9e-7 1.0e-7
1360
+ *
1361
+ * Large arguments may produce underflow in powf(), in which
1362
+ * case the results are inaccurate.
1363
+ *
1364
+ * REFERENCE:
1365
+ *
1366
+ * Gradshteyn, I. S., and I. M. Ryzhik, Tables of Integrals,
1367
+ * Series, and Products, p. 1073; Academic Press, 1980.
1368
+ *
1369
+ */
1370
+
1371
+ int i;
1372
+ Scalar p, r, a, b, k, s, t, w;
1373
+
1374
+ const Scalar A[] = {
1375
+ Scalar(12.0),
1376
+ Scalar(-720.0),
1377
+ Scalar(30240.0),
1378
+ Scalar(-1209600.0),
1379
+ Scalar(47900160.0),
1380
+ Scalar(-1.8924375803183791606e9), /*1.307674368e12/691*/
1381
+ Scalar(7.47242496e10),
1382
+ Scalar(-2.950130727918164224e12), /*1.067062284288e16/3617*/
1383
+ Scalar(1.1646782814350067249e14), /*5.109094217170944e18/43867*/
1384
+ Scalar(-4.5979787224074726105e15), /*8.028576626982912e20/174611*/
1385
+ Scalar(1.8152105401943546773e17), /*1.5511210043330985984e23/854513*/
1386
+ Scalar(-7.1661652561756670113e18) /*1.6938241367317436694528e27/236364091*/
1387
+ };
1388
+
1389
+ const Scalar maxnum = NumTraits<Scalar>::infinity();
1390
+ const Scalar zero = 0.0, half = 0.5, one = 1.0;
1391
+ const Scalar machep = cephes_helper<Scalar>::machep();
1392
+ const Scalar nan = NumTraits<Scalar>::quiet_NaN();
1393
+
1394
+ if( x == one )
1395
+ return maxnum;
1396
+
1397
+ if( x < one )
1398
+ {
1399
+ return nan;
1400
+ }
1401
+
1402
+ if( q <= zero )
1403
+ {
1404
+ if(q == numext::floor(q))
1405
+ {
1406
+ if (x == numext::floor(x) && long(x) % 2 == 0) {
1407
+ return maxnum;
1408
+ }
1409
+ else {
1410
+ return nan;
1411
+ }
1412
+ }
1413
+ p = x;
1414
+ r = numext::floor(p);
1415
+ if (p != r)
1416
+ return nan;
1417
+ }
1418
+
1419
+ /* Permit negative q but continue sum until n+q > +9 .
1420
+ * This case should be handled by a reflection formula.
1421
+ * If q<0 and x is an integer, there is a relation to
1422
+ * the polygamma function.
1423
+ */
1424
+ s = numext::pow( q, -x );
1425
+ a = q;
1426
+ b = zero;
1427
+ // Run the summation in a helper function that is specific to the floating precision
1428
+ if (zeta_impl_series<Scalar>::run(a, b, s, x, machep)) {
1429
+ return s;
1430
+ }
1431
+
1432
+ w = a;
1433
+ s += b*w/(x-one);
1434
+ s -= half * b;
1435
+ a = one;
1436
+ k = zero;
1437
+ for( i=0; i<12; i++ )
1438
+ {
1439
+ a *= x + k;
1440
+ b /= w;
1441
+ t = a*b/A[i];
1442
+ s = s + t;
1443
+ t = numext::abs(t/s);
1444
+ if( t < machep ) {
1445
+ break;
1446
+ }
1447
+ k += one;
1448
+ a *= x + k;
1449
+ b /= w;
1450
+ k += one;
1451
+ }
1452
+ return s;
1453
+ }
1454
+ };
1455
+
1456
+ /****************************************************************************
1457
+ * Implementation of polygamma function, requires C++11/C99 *
1458
+ ****************************************************************************/
1459
+
1460
+ template <typename Scalar>
1461
+ struct polygamma_retval {
1462
+ typedef Scalar type;
1463
+ };
1464
+
1465
+ #if !EIGEN_HAS_C99_MATH
1466
+
1467
+ template <typename Scalar>
1468
+ struct polygamma_impl {
1469
+ EIGEN_DEVICE_FUNC
1470
+ static EIGEN_STRONG_INLINE Scalar run(Scalar n, Scalar x) {
1471
+ EIGEN_STATIC_ASSERT((internal::is_same<Scalar, Scalar>::value == false),
1472
+ THIS_TYPE_IS_NOT_SUPPORTED);
1473
+ return Scalar(0);
1474
+ }
1475
+ };
1476
+
1477
+ #else
1478
+
1479
+ template <typename Scalar>
1480
+ struct polygamma_impl {
1481
+ EIGEN_DEVICE_FUNC
1482
+ static Scalar run(Scalar n, Scalar x) {
1483
+ Scalar zero = 0.0, one = 1.0;
1484
+ Scalar nplus = n + one;
1485
+ const Scalar nan = NumTraits<Scalar>::quiet_NaN();
1486
+
1487
+ // Check that n is a non-negative integer
1488
+ if (numext::floor(n) != n || n < zero) {
1489
+ return nan;
1490
+ }
1491
+ // Just return the digamma function for n = 0
1492
+ else if (n == zero) {
1493
+ return digamma_impl<Scalar>::run(x);
1494
+ }
1495
+ // Use the same implementation as scipy
1496
+ else {
1497
+ Scalar factorial = numext::exp(lgamma_impl<Scalar>::run(nplus));
1498
+ return numext::pow(-one, nplus) * factorial * zeta_impl<Scalar>::run(nplus, x);
1499
+ }
1500
+ }
1501
+ };
1502
+
1503
+ #endif // EIGEN_HAS_C99_MATH
1504
+
1505
+ /************************************************************************************************
1506
+ * Implementation of betainc (incomplete beta integral), based on Cephes but requires C++11/C99 *
1507
+ ************************************************************************************************/
1508
+
1509
+ template <typename Scalar>
1510
+ struct betainc_retval {
1511
+ typedef Scalar type;
1512
+ };
1513
+
1514
+ #if !EIGEN_HAS_C99_MATH
1515
+
1516
+ template <typename Scalar>
1517
+ struct betainc_impl {
1518
+ EIGEN_DEVICE_FUNC
1519
+ static EIGEN_STRONG_INLINE Scalar run(Scalar a, Scalar b, Scalar x) {
1520
+ EIGEN_STATIC_ASSERT((internal::is_same<Scalar, Scalar>::value == false),
1521
+ THIS_TYPE_IS_NOT_SUPPORTED);
1522
+ return Scalar(0);
1523
+ }
1524
+ };
1525
+
1526
+ #else
1527
+
1528
+ template <typename Scalar>
1529
+ struct betainc_impl {
1530
+ EIGEN_DEVICE_FUNC
1531
+ static EIGEN_STRONG_INLINE Scalar run(Scalar, Scalar, Scalar) {
1532
+ /* betaincf.c
1533
+ *
1534
+ * Incomplete beta integral
1535
+ *
1536
+ *
1537
+ * SYNOPSIS:
1538
+ *
1539
+ * float a, b, x, y, betaincf();
1540
+ *
1541
+ * y = betaincf( a, b, x );
1542
+ *
1543
+ *
1544
+ * DESCRIPTION:
1545
+ *
1546
+ * Returns incomplete beta integral of the arguments, evaluated
1547
+ * from zero to x. The function is defined as
1548
+ *
1549
+ * x
1550
+ * - -
1551
+ * | (a+b) | | a-1 b-1
1552
+ * ----------- | t (1-t) dt.
1553
+ * - - | |
1554
+ * | (a) | (b) -
1555
+ * 0
1556
+ *
1557
+ * The domain of definition is 0 <= x <= 1. In this
1558
+ * implementation a and b are restricted to positive values.
1559
+ * The integral from x to 1 may be obtained by the symmetry
1560
+ * relation
1561
+ *
1562
+ * 1 - betainc( a, b, x ) = betainc( b, a, 1-x ).
1563
+ *
1564
+ * The integral is evaluated by a continued fraction expansion.
1565
+ * If a < 1, the function calls itself recursively after a
1566
+ * transformation to increase a to a+1.
1567
+ *
1568
+ * ACCURACY (float):
1569
+ *
1570
+ * Tested at random points (a,b,x) with a and b in the indicated
1571
+ * interval and x between 0 and 1.
1572
+ *
1573
+ * arithmetic domain # trials peak rms
1574
+ * Relative error:
1575
+ * IEEE 0,30 10000 3.7e-5 5.1e-6
1576
+ * IEEE 0,100 10000 1.7e-4 2.5e-5
1577
+ * The useful domain for relative error is limited by underflow
1578
+ * of the single precision exponential function.
1579
+ * Absolute error:
1580
+ * IEEE 0,30 100000 2.2e-5 9.6e-7
1581
+ * IEEE 0,100 10000 6.5e-5 3.7e-6
1582
+ *
1583
+ * Larger errors may occur for extreme ratios of a and b.
1584
+ *
1585
+ * ACCURACY (double):
1586
+ * arithmetic domain # trials peak rms
1587
+ * IEEE 0,5 10000 6.9e-15 4.5e-16
1588
+ * IEEE 0,85 250000 2.2e-13 1.7e-14
1589
+ * IEEE 0,1000 30000 5.3e-12 6.3e-13
1590
+ * IEEE 0,10000 250000 9.3e-11 7.1e-12
1591
+ * IEEE 0,100000 10000 8.7e-10 4.8e-11
1592
+ * Outputs smaller than the IEEE gradual underflow threshold
1593
+ * were excluded from these statistics.
1594
+ *
1595
+ * ERROR MESSAGES:
1596
+ * message condition value returned
1597
+ * incbet domain x<0, x>1 nan
1598
+ * incbet underflow nan
1599
+ */
1600
+
1601
+ EIGEN_STATIC_ASSERT((internal::is_same<Scalar, Scalar>::value == false),
1602
+ THIS_TYPE_IS_NOT_SUPPORTED);
1603
+ return Scalar(0);
1604
+ }
1605
+ };
1606
+
1607
+ /* Continued fraction expansion #1 for incomplete beta integral (small_branch = True)
1608
+ * Continued fraction expansion #2 for incomplete beta integral (small_branch = False)
1609
+ */
1610
+ template <typename Scalar>
1611
+ struct incbeta_cfe {
1612
+ EIGEN_DEVICE_FUNC
1613
+ static EIGEN_STRONG_INLINE Scalar run(Scalar a, Scalar b, Scalar x, bool small_branch) {
1614
+ EIGEN_STATIC_ASSERT((internal::is_same<Scalar, float>::value ||
1615
+ internal::is_same<Scalar, double>::value),
1616
+ THIS_TYPE_IS_NOT_SUPPORTED);
1617
+ const Scalar big = cephes_helper<Scalar>::big();
1618
+ const Scalar machep = cephes_helper<Scalar>::machep();
1619
+ const Scalar biginv = cephes_helper<Scalar>::biginv();
1620
+
1621
+ const Scalar zero = 0;
1622
+ const Scalar one = 1;
1623
+ const Scalar two = 2;
1624
+
1625
+ Scalar xk, pk, pkm1, pkm2, qk, qkm1, qkm2;
1626
+ Scalar k1, k2, k3, k4, k5, k6, k7, k8, k26update;
1627
+ Scalar ans;
1628
+ int n;
1629
+
1630
+ const int num_iters = (internal::is_same<Scalar, float>::value) ? 100 : 300;
1631
+ const Scalar thresh =
1632
+ (internal::is_same<Scalar, float>::value) ? machep : Scalar(3) * machep;
1633
+ Scalar r = (internal::is_same<Scalar, float>::value) ? zero : one;
1634
+
1635
+ if (small_branch) {
1636
+ k1 = a;
1637
+ k2 = a + b;
1638
+ k3 = a;
1639
+ k4 = a + one;
1640
+ k5 = one;
1641
+ k6 = b - one;
1642
+ k7 = k4;
1643
+ k8 = a + two;
1644
+ k26update = one;
1645
+ } else {
1646
+ k1 = a;
1647
+ k2 = b - one;
1648
+ k3 = a;
1649
+ k4 = a + one;
1650
+ k5 = one;
1651
+ k6 = a + b;
1652
+ k7 = a + one;
1653
+ k8 = a + two;
1654
+ k26update = -one;
1655
+ x = x / (one - x);
1656
+ }
1657
+
1658
+ pkm2 = zero;
1659
+ qkm2 = one;
1660
+ pkm1 = one;
1661
+ qkm1 = one;
1662
+ ans = one;
1663
+ n = 0;
1664
+
1665
+ do {
1666
+ xk = -(x * k1 * k2) / (k3 * k4);
1667
+ pk = pkm1 + pkm2 * xk;
1668
+ qk = qkm1 + qkm2 * xk;
1669
+ pkm2 = pkm1;
1670
+ pkm1 = pk;
1671
+ qkm2 = qkm1;
1672
+ qkm1 = qk;
1673
+
1674
+ xk = (x * k5 * k6) / (k7 * k8);
1675
+ pk = pkm1 + pkm2 * xk;
1676
+ qk = qkm1 + qkm2 * xk;
1677
+ pkm2 = pkm1;
1678
+ pkm1 = pk;
1679
+ qkm2 = qkm1;
1680
+ qkm1 = qk;
1681
+
1682
+ if (qk != zero) {
1683
+ r = pk / qk;
1684
+ if (numext::abs(ans - r) < numext::abs(r) * thresh) {
1685
+ return r;
1686
+ }
1687
+ ans = r;
1688
+ }
1689
+
1690
+ k1 += one;
1691
+ k2 += k26update;
1692
+ k3 += two;
1693
+ k4 += two;
1694
+ k5 += one;
1695
+ k6 -= k26update;
1696
+ k7 += two;
1697
+ k8 += two;
1698
+
1699
+ if ((numext::abs(qk) + numext::abs(pk)) > big) {
1700
+ pkm2 *= biginv;
1701
+ pkm1 *= biginv;
1702
+ qkm2 *= biginv;
1703
+ qkm1 *= biginv;
1704
+ }
1705
+ if ((numext::abs(qk) < biginv) || (numext::abs(pk) < biginv)) {
1706
+ pkm2 *= big;
1707
+ pkm1 *= big;
1708
+ qkm2 *= big;
1709
+ qkm1 *= big;
1710
+ }
1711
+ } while (++n < num_iters);
1712
+
1713
+ return ans;
1714
+ }
1715
+ };
1716
+
1717
+ /* Helper functions depending on the Scalar type */
1718
+ template <typename Scalar>
1719
+ struct betainc_helper {};
1720
+
1721
+ template <>
1722
+ struct betainc_helper<float> {
1723
+ /* Core implementation, assumes a large (> 1.0) */
1724
+ EIGEN_DEVICE_FUNC static EIGEN_STRONG_INLINE float incbsa(float aa, float bb,
1725
+ float xx) {
1726
+ float ans, a, b, t, x, onemx;
1727
+ bool reversed_a_b = false;
1728
+
1729
+ onemx = 1.0f - xx;
1730
+
1731
+ /* see if x is greater than the mean */
1732
+ if (xx > (aa / (aa + bb))) {
1733
+ reversed_a_b = true;
1734
+ a = bb;
1735
+ b = aa;
1736
+ t = xx;
1737
+ x = onemx;
1738
+ } else {
1739
+ a = aa;
1740
+ b = bb;
1741
+ t = onemx;
1742
+ x = xx;
1743
+ }
1744
+
1745
+ /* Choose expansion for optimal convergence */
1746
+ if (b > 10.0f) {
1747
+ if (numext::abs(b * x / a) < 0.3f) {
1748
+ t = betainc_helper<float>::incbps(a, b, x);
1749
+ if (reversed_a_b) t = 1.0f - t;
1750
+ return t;
1751
+ }
1752
+ }
1753
+
1754
+ ans = x * (a + b - 2.0f) / (a - 1.0f);
1755
+ if (ans < 1.0f) {
1756
+ ans = incbeta_cfe<float>::run(a, b, x, true /* small_branch */);
1757
+ t = b * numext::log(t);
1758
+ } else {
1759
+ ans = incbeta_cfe<float>::run(a, b, x, false /* small_branch */);
1760
+ t = (b - 1.0f) * numext::log(t);
1761
+ }
1762
+
1763
+ t += a * numext::log(x) + lgamma_impl<float>::run(a + b) -
1764
+ lgamma_impl<float>::run(a) - lgamma_impl<float>::run(b);
1765
+ t += numext::log(ans / a);
1766
+ t = numext::exp(t);
1767
+
1768
+ if (reversed_a_b) t = 1.0f - t;
1769
+ return t;
1770
+ }
1771
+
1772
+ EIGEN_DEVICE_FUNC
1773
+ static EIGEN_STRONG_INLINE float incbps(float a, float b, float x) {
1774
+ float t, u, y, s;
1775
+ const float machep = cephes_helper<float>::machep();
1776
+
1777
+ y = a * numext::log(x) + (b - 1.0f) * numext::log1p(-x) - numext::log(a);
1778
+ y -= lgamma_impl<float>::run(a) + lgamma_impl<float>::run(b);
1779
+ y += lgamma_impl<float>::run(a + b);
1780
+
1781
+ t = x / (1.0f - x);
1782
+ s = 0.0f;
1783
+ u = 1.0f;
1784
+ do {
1785
+ b -= 1.0f;
1786
+ if (b == 0.0f) {
1787
+ break;
1788
+ }
1789
+ a += 1.0f;
1790
+ u *= t * b / a;
1791
+ s += u;
1792
+ } while (numext::abs(u) > machep);
1793
+
1794
+ return numext::exp(y) * (1.0f + s);
1795
+ }
1796
+ };
1797
+
1798
+ template <>
1799
+ struct betainc_impl<float> {
1800
+ EIGEN_DEVICE_FUNC
1801
+ static float run(float a, float b, float x) {
1802
+ const float nan = NumTraits<float>::quiet_NaN();
1803
+ float ans, t;
1804
+
1805
+ if (a <= 0.0f) return nan;
1806
+ if (b <= 0.0f) return nan;
1807
+ if ((x <= 0.0f) || (x >= 1.0f)) {
1808
+ if (x == 0.0f) return 0.0f;
1809
+ if (x == 1.0f) return 1.0f;
1810
+ // mtherr("betaincf", DOMAIN);
1811
+ return nan;
1812
+ }
1813
+
1814
+ /* transformation for small aa */
1815
+ if (a <= 1.0f) {
1816
+ ans = betainc_helper<float>::incbsa(a + 1.0f, b, x);
1817
+ t = a * numext::log(x) + b * numext::log1p(-x) +
1818
+ lgamma_impl<float>::run(a + b) - lgamma_impl<float>::run(a + 1.0f) -
1819
+ lgamma_impl<float>::run(b);
1820
+ return (ans + numext::exp(t));
1821
+ } else {
1822
+ return betainc_helper<float>::incbsa(a, b, x);
1823
+ }
1824
+ }
1825
+ };
1826
+
1827
+ template <>
1828
+ struct betainc_helper<double> {
1829
+ EIGEN_DEVICE_FUNC
1830
+ static EIGEN_STRONG_INLINE double incbps(double a, double b, double x) {
1831
+ const double machep = cephes_helper<double>::machep();
1832
+
1833
+ double s, t, u, v, n, t1, z, ai;
1834
+
1835
+ ai = 1.0 / a;
1836
+ u = (1.0 - b) * x;
1837
+ v = u / (a + 1.0);
1838
+ t1 = v;
1839
+ t = u;
1840
+ n = 2.0;
1841
+ s = 0.0;
1842
+ z = machep * ai;
1843
+ while (numext::abs(v) > z) {
1844
+ u = (n - b) * x / n;
1845
+ t *= u;
1846
+ v = t / (a + n);
1847
+ s += v;
1848
+ n += 1.0;
1849
+ }
1850
+ s += t1;
1851
+ s += ai;
1852
+
1853
+ u = a * numext::log(x);
1854
+ // TODO: gamma() is not directly implemented in Eigen.
1855
+ /*
1856
+ if ((a + b) < maxgam && numext::abs(u) < maxlog) {
1857
+ t = gamma(a + b) / (gamma(a) * gamma(b));
1858
+ s = s * t * pow(x, a);
1859
+ }
1860
+ */
1861
+ t = lgamma_impl<double>::run(a + b) - lgamma_impl<double>::run(a) -
1862
+ lgamma_impl<double>::run(b) + u + numext::log(s);
1863
+ return s = numext::exp(t);
1864
+ }
1865
+ };
1866
+
1867
+ template <>
1868
+ struct betainc_impl<double> {
1869
+ EIGEN_DEVICE_FUNC
1870
+ static double run(double aa, double bb, double xx) {
1871
+ const double nan = NumTraits<double>::quiet_NaN();
1872
+ const double machep = cephes_helper<double>::machep();
1873
+ // const double maxgam = 171.624376956302725;
1874
+
1875
+ double a, b, t, x, xc, w, y;
1876
+ bool reversed_a_b = false;
1877
+
1878
+ if (aa <= 0.0 || bb <= 0.0) {
1879
+ return nan; // goto domerr;
1880
+ }
1881
+
1882
+ if ((xx <= 0.0) || (xx >= 1.0)) {
1883
+ if (xx == 0.0) return (0.0);
1884
+ if (xx == 1.0) return (1.0);
1885
+ // mtherr("incbet", DOMAIN);
1886
+ return nan;
1887
+ }
1888
+
1889
+ if ((bb * xx) <= 1.0 && xx <= 0.95) {
1890
+ return betainc_helper<double>::incbps(aa, bb, xx);
1891
+ }
1892
+
1893
+ w = 1.0 - xx;
1894
+
1895
+ /* Reverse a and b if x is greater than the mean. */
1896
+ if (xx > (aa / (aa + bb))) {
1897
+ reversed_a_b = true;
1898
+ a = bb;
1899
+ b = aa;
1900
+ xc = xx;
1901
+ x = w;
1902
+ } else {
1903
+ a = aa;
1904
+ b = bb;
1905
+ xc = w;
1906
+ x = xx;
1907
+ }
1908
+
1909
+ if (reversed_a_b && (b * x) <= 1.0 && x <= 0.95) {
1910
+ t = betainc_helper<double>::incbps(a, b, x);
1911
+ if (t <= machep) {
1912
+ t = 1.0 - machep;
1913
+ } else {
1914
+ t = 1.0 - t;
1915
+ }
1916
+ return t;
1917
+ }
1918
+
1919
+ /* Choose expansion for better convergence. */
1920
+ y = x * (a + b - 2.0) - (a - 1.0);
1921
+ if (y < 0.0) {
1922
+ w = incbeta_cfe<double>::run(a, b, x, true /* small_branch */);
1923
+ } else {
1924
+ w = incbeta_cfe<double>::run(a, b, x, false /* small_branch */) / xc;
1925
+ }
1926
+
1927
+ /* Multiply w by the factor
1928
+ a b _ _ _
1929
+ x (1-x) | (a+b) / ( a | (a) | (b) ) . */
1930
+
1931
+ y = a * numext::log(x);
1932
+ t = b * numext::log(xc);
1933
+ // TODO: gamma is not directly implemented in Eigen.
1934
+ /*
1935
+ if ((a + b) < maxgam && numext::abs(y) < maxlog && numext::abs(t) < maxlog)
1936
+ {
1937
+ t = pow(xc, b);
1938
+ t *= pow(x, a);
1939
+ t /= a;
1940
+ t *= w;
1941
+ t *= gamma(a + b) / (gamma(a) * gamma(b));
1942
+ } else {
1943
+ */
1944
+ /* Resort to logarithms. */
1945
+ y += t + lgamma_impl<double>::run(a + b) - lgamma_impl<double>::run(a) -
1946
+ lgamma_impl<double>::run(b);
1947
+ y += numext::log(w / a);
1948
+ t = numext::exp(y);
1949
+
1950
+ /* } */
1951
+ // done:
1952
+
1953
+ if (reversed_a_b) {
1954
+ if (t <= machep) {
1955
+ t = 1.0 - machep;
1956
+ } else {
1957
+ t = 1.0 - t;
1958
+ }
1959
+ }
1960
+ return t;
1961
+ }
1962
+ };
1963
+
1964
+ #endif // EIGEN_HAS_C99_MATH
1965
+
1966
+ } // end namespace internal
1967
+
1968
+ namespace numext {
1969
+
1970
+ template <typename Scalar>
1971
+ EIGEN_DEVICE_FUNC inline EIGEN_MATHFUNC_RETVAL(lgamma, Scalar)
1972
+ lgamma(const Scalar& x) {
1973
+ return EIGEN_MATHFUNC_IMPL(lgamma, Scalar)::run(x);
1974
+ }
1975
+
1976
+ template <typename Scalar>
1977
+ EIGEN_DEVICE_FUNC inline EIGEN_MATHFUNC_RETVAL(digamma, Scalar)
1978
+ digamma(const Scalar& x) {
1979
+ return EIGEN_MATHFUNC_IMPL(digamma, Scalar)::run(x);
1980
+ }
1981
+
1982
+ template <typename Scalar>
1983
+ EIGEN_DEVICE_FUNC inline EIGEN_MATHFUNC_RETVAL(zeta, Scalar)
1984
+ zeta(const Scalar& x, const Scalar& q) {
1985
+ return EIGEN_MATHFUNC_IMPL(zeta, Scalar)::run(x, q);
1986
+ }
1987
+
1988
+ template <typename Scalar>
1989
+ EIGEN_DEVICE_FUNC inline EIGEN_MATHFUNC_RETVAL(polygamma, Scalar)
1990
+ polygamma(const Scalar& n, const Scalar& x) {
1991
+ return EIGEN_MATHFUNC_IMPL(polygamma, Scalar)::run(n, x);
1992
+ }
1993
+
1994
+ template <typename Scalar>
1995
+ EIGEN_DEVICE_FUNC inline EIGEN_MATHFUNC_RETVAL(erf, Scalar)
1996
+ erf(const Scalar& x) {
1997
+ return EIGEN_MATHFUNC_IMPL(erf, Scalar)::run(x);
1998
+ }
1999
+
2000
+ template <typename Scalar>
2001
+ EIGEN_DEVICE_FUNC inline EIGEN_MATHFUNC_RETVAL(erfc, Scalar)
2002
+ erfc(const Scalar& x) {
2003
+ return EIGEN_MATHFUNC_IMPL(erfc, Scalar)::run(x);
2004
+ }
2005
+
2006
+ template <typename Scalar>
2007
+ EIGEN_DEVICE_FUNC inline EIGEN_MATHFUNC_RETVAL(ndtri, Scalar)
2008
+ ndtri(const Scalar& x) {
2009
+ return EIGEN_MATHFUNC_IMPL(ndtri, Scalar)::run(x);
2010
+ }
2011
+
2012
+ template <typename Scalar>
2013
+ EIGEN_DEVICE_FUNC inline EIGEN_MATHFUNC_RETVAL(igamma, Scalar)
2014
+ igamma(const Scalar& a, const Scalar& x) {
2015
+ return EIGEN_MATHFUNC_IMPL(igamma, Scalar)::run(a, x);
2016
+ }
2017
+
2018
+ template <typename Scalar>
2019
+ EIGEN_DEVICE_FUNC inline EIGEN_MATHFUNC_RETVAL(igamma_der_a, Scalar)
2020
+ igamma_der_a(const Scalar& a, const Scalar& x) {
2021
+ return EIGEN_MATHFUNC_IMPL(igamma_der_a, Scalar)::run(a, x);
2022
+ }
2023
+
2024
+ template <typename Scalar>
2025
+ EIGEN_DEVICE_FUNC inline EIGEN_MATHFUNC_RETVAL(gamma_sample_der_alpha, Scalar)
2026
+ gamma_sample_der_alpha(const Scalar& a, const Scalar& x) {
2027
+ return EIGEN_MATHFUNC_IMPL(gamma_sample_der_alpha, Scalar)::run(a, x);
2028
+ }
2029
+
2030
+ template <typename Scalar>
2031
+ EIGEN_DEVICE_FUNC inline EIGEN_MATHFUNC_RETVAL(igammac, Scalar)
2032
+ igammac(const Scalar& a, const Scalar& x) {
2033
+ return EIGEN_MATHFUNC_IMPL(igammac, Scalar)::run(a, x);
2034
+ }
2035
+
2036
+ template <typename Scalar>
2037
+ EIGEN_DEVICE_FUNC inline EIGEN_MATHFUNC_RETVAL(betainc, Scalar)
2038
+ betainc(const Scalar& a, const Scalar& b, const Scalar& x) {
2039
+ return EIGEN_MATHFUNC_IMPL(betainc, Scalar)::run(a, b, x);
2040
+ }
2041
+
2042
+ } // end namespace numext
2043
+ } // end namespace Eigen
2044
+
2045
+ #endif // EIGEN_SPECIAL_FUNCTIONS_H