casadi 3.5.6.pre2__cp39-none-win_amd64.whl → 3.6.0__cp39-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 (1589) hide show
  1. casadi/__init__.py +2 -2
  2. casadi/_casadi.pyd +0 -0
  3. casadi/bin/libtinyxml2.dll +0 -0
  4. casadi/blasfeo.lib +0 -0
  5. casadi/casadi-cli.exe +0 -0
  6. casadi/casadi.lib +0 -0
  7. casadi/casadi.py +31192 -10129
  8. casadi/cbc.exe +0 -0
  9. casadi/clp.exe +0 -0
  10. casadi/cmake/casadi-config-version.cmake +1 -1
  11. casadi/cmake/highs/highs-config.cmake +9 -0
  12. casadi/cmake/highs/highs-targets-release.cmake +28 -0
  13. casadi/cmake/highs/highs-targets.cmake +103 -0
  14. casadi/cmake/osqp/osqp-config.cmake +1 -0
  15. casadi/cmake/osqp/osqp-targets-release.cmake +29 -0
  16. casadi/cmake/osqp/osqp-targets.cmake +101 -0
  17. casadi/cmake/proxsuite/find-external/Simde/FindSimde.cmake +39 -0
  18. casadi/cmake/proxsuite/proxsuiteConfig.cmake +177 -0
  19. casadi/cmake/proxsuite/proxsuiteConfigVersion.cmake +67 -0
  20. casadi/cmake/proxsuite/proxsuiteTargets.cmake +107 -0
  21. casadi/cmake/qdldl/qdldl-config.cmake +1 -0
  22. casadi/cmake/qdldl/qdldl-targets-release.cmake +29 -0
  23. casadi/cmake/qdldl/qdldl-targets.cmake +101 -0
  24. casadi/highs.exe +0 -0
  25. casadi/highs.lib +0 -0
  26. casadi/hpipm.lib +0 -0
  27. casadi/include/blasfeo.h +52 -0
  28. casadi/include/blasfeo_block_size.h +447 -0
  29. casadi/include/blasfeo_common.h +274 -0
  30. casadi/include/blasfeo_d_aux.h +255 -0
  31. casadi/include/blasfeo_d_aux_ext_dep.h +145 -0
  32. casadi/include/blasfeo_d_aux_ext_dep_ref.h +84 -0
  33. casadi/include/blasfeo_d_aux_old.h +75 -0
  34. casadi/include/blasfeo_d_aux_ref.h +208 -0
  35. casadi/include/blasfeo_d_aux_test.h +226 -0
  36. casadi/include/blasfeo_d_blas.h +46 -0
  37. casadi/include/blasfeo_d_blas_api.h +281 -0
  38. casadi/include/blasfeo_d_blasfeo_api.h +364 -0
  39. casadi/include/blasfeo_d_blasfeo_api_ref.h +147 -0
  40. casadi/include/blasfeo_d_blasfeo_hp_api.h +84 -0
  41. casadi/include/blasfeo_d_blasfeo_ref_api.h +283 -0
  42. casadi/include/blasfeo_d_kernel.h +1321 -0
  43. casadi/include/blasfeo_i_aux_ext_dep.h +69 -0
  44. casadi/include/blasfeo_m_aux.h +57 -0
  45. casadi/include/blasfeo_memory.h +62 -0
  46. casadi/include/blasfeo_naming.h +77 -0
  47. casadi/include/blasfeo_processor_features.h +88 -0
  48. casadi/include/blasfeo_s_aux.h +168 -0
  49. casadi/include/blasfeo_s_aux_ext_dep.h +141 -0
  50. casadi/include/blasfeo_s_aux_ext_dep_ref.h +82 -0
  51. casadi/include/blasfeo_s_aux_old.h +64 -0
  52. casadi/include/blasfeo_s_aux_ref.h +147 -0
  53. casadi/include/blasfeo_s_aux_test.h +177 -0
  54. casadi/include/blasfeo_s_blas.h +46 -0
  55. casadi/include/blasfeo_s_blas_api.h +182 -0
  56. casadi/include/blasfeo_s_blasfeo_api.h +284 -0
  57. casadi/include/blasfeo_s_blasfeo_api_ref.h +135 -0
  58. casadi/include/blasfeo_s_blasfeo_ref_api.h +252 -0
  59. casadi/include/blasfeo_s_kernel.h +692 -0
  60. casadi/include/blasfeo_stdlib.h +62 -0
  61. casadi/include/blasfeo_target.h +73 -0
  62. casadi/include/blasfeo_timing.h +114 -0
  63. casadi/include/blasfeo_v_aux_ext_dep.h +83 -0
  64. casadi/include/casadi/casadi.hpp +2 -2
  65. casadi/include/casadi/casadi.i +158 -30
  66. casadi/include/casadi/casadi_c.h +15 -15
  67. casadi/include/casadi/config.h +14 -11
  68. casadi/include/casadi/core/calculus.hpp +211 -91
  69. casadi/include/casadi/core/callback.hpp +78 -30
  70. casadi/include/casadi/core/casadi_common.hpp +16 -13
  71. casadi/include/casadi/core/casadi_enum.hpp +90 -0
  72. casadi/include/casadi/core/casadi_interrupt.hpp +5 -5
  73. casadi/include/casadi/core/casadi_limits.hpp +8 -5
  74. casadi/include/casadi/core/casadi_logger.hpp +6 -5
  75. casadi/include/casadi/core/casadi_meta.hpp +31 -16
  76. casadi/include/casadi/core/casadi_misc.hpp +59 -29
  77. casadi/include/casadi/core/casadi_types.hpp +14 -2
  78. casadi/include/casadi/core/code_generator.hpp +369 -92
  79. casadi/include/casadi/core/conic.hpp +35 -14
  80. casadi/include/casadi/core/core.hpp +2 -3
  81. casadi/include/casadi/core/dae_builder.hpp +598 -393
  82. casadi/include/casadi/core/dm.hpp +10 -2
  83. casadi/include/casadi/core/dm_fwd.hpp +2 -2
  84. casadi/include/casadi/core/dple.hpp +25 -11
  85. casadi/include/casadi/core/exception.hpp +33 -7
  86. casadi/include/casadi/core/expm.hpp +13 -7
  87. casadi/include/casadi/core/external.hpp +33 -28
  88. casadi/include/casadi/core/function.hpp +438 -174
  89. casadi/include/casadi/core/generic_expression.hpp +219 -52
  90. casadi/include/casadi/core/generic_matrix.hpp +386 -123
  91. casadi/include/casadi/core/generic_type.hpp +31 -14
  92. casadi/include/casadi/core/global_options.hpp +8 -6
  93. casadi/include/casadi/core/im.hpp +2 -2
  94. casadi/include/casadi/core/im_fwd.hpp +2 -2
  95. casadi/include/casadi/core/importer.hpp +49 -18
  96. casadi/include/casadi/core/integration_tools.hpp +37 -34
  97. casadi/include/casadi/core/integrator.hpp +126 -115
  98. casadi/include/casadi/core/interpolant.hpp +14 -11
  99. casadi/include/casadi/core/linsol.hpp +22 -8
  100. casadi/include/casadi/core/matrix_decl.hpp +280 -128
  101. casadi/include/casadi/core/matrix_fwd.hpp +2 -2
  102. casadi/include/casadi/core/mx.hpp +235 -75
  103. casadi/include/casadi/core/nlp_builder.hpp +5 -3
  104. casadi/include/casadi/core/nlp_tools.hpp +6 -4
  105. casadi/include/casadi/core/nlpsol.hpp +38 -15
  106. casadi/include/casadi/core/nonzeros.hpp +5 -2
  107. casadi/include/casadi/core/options.hpp +20 -8
  108. casadi/include/casadi/core/optistack.hpp +99 -39
  109. casadi/include/casadi/core/polynomial.hpp +5 -3
  110. casadi/include/casadi/core/printable.hpp +8 -4
  111. casadi/include/casadi/core/rootfinder.hpp +35 -14
  112. casadi/include/casadi/core/runtime/casadi_bilin.hpp +19 -1
  113. casadi/include/casadi/core/runtime/casadi_bound_consistency.hpp +19 -1
  114. casadi/include/casadi/core/runtime/casadi_cache.hpp +19 -1
  115. casadi/include/casadi/core/runtime/casadi_clear.hpp +19 -1
  116. casadi/include/casadi/core/runtime/casadi_clip_max.hpp +33 -0
  117. casadi/include/casadi/core/runtime/casadi_clip_min.hpp +33 -0
  118. casadi/include/casadi/core/runtime/casadi_convexify.hpp +20 -2
  119. casadi/include/casadi/core/runtime/casadi_copy.hpp +19 -1
  120. casadi/include/casadi/core/runtime/casadi_cvx.hpp +41 -24
  121. casadi/include/casadi/core/runtime/casadi_de_boor.hpp +19 -1
  122. casadi/include/casadi/core/runtime/casadi_dense_lsqr.hpp +247 -0
  123. casadi/include/casadi/core/runtime/casadi_densify.hpp +19 -1
  124. casadi/include/casadi/core/runtime/casadi_dot.hpp +19 -1
  125. casadi/include/casadi/core/runtime/casadi_feasiblesqpmethod.hpp +208 -0
  126. casadi/include/casadi/core/runtime/casadi_file_slurp.hpp +19 -1
  127. casadi/include/casadi/core/runtime/casadi_fill.hpp +19 -1
  128. casadi/include/casadi/core/runtime/casadi_finite_diff.hpp +19 -1
  129. casadi/include/casadi/core/runtime/casadi_flip.hpp +19 -1
  130. casadi/include/casadi/core/runtime/casadi_getu.hpp +19 -1
  131. casadi/include/casadi/core/runtime/casadi_iamax.hpp +19 -1
  132. casadi/include/casadi/core/runtime/casadi_interpn.hpp +19 -1
  133. casadi/include/casadi/core/runtime/casadi_interpn_grad.hpp +19 -1
  134. casadi/include/casadi/core/runtime/casadi_interpn_interpolate.hpp +19 -1
  135. casadi/include/casadi/core/runtime/casadi_interpn_weights.hpp +19 -1
  136. casadi/include/casadi/core/runtime/casadi_ipqp.hpp +865 -0
  137. casadi/include/casadi/core/runtime/casadi_jac.hpp +186 -0
  138. casadi/include/casadi/core/runtime/casadi_kkt.hpp +67 -0
  139. casadi/include/casadi/core/runtime/casadi_kron.hpp +19 -1
  140. casadi/include/casadi/core/runtime/casadi_ldl.hpp +19 -1
  141. casadi/include/casadi/core/runtime/casadi_logsumexp.hpp +41 -0
  142. casadi/include/casadi/core/runtime/casadi_low.hpp +19 -1
  143. casadi/include/casadi/core/runtime/casadi_lsqr.hpp +62 -3
  144. casadi/include/casadi/core/runtime/casadi_masked_norm_inf.hpp +33 -0
  145. casadi/include/casadi/core/runtime/casadi_max_viol.hpp +20 -1
  146. casadi/include/casadi/core/runtime/casadi_mmax.hpp +28 -0
  147. casadi/include/casadi/core/runtime/casadi_mmin.hpp +29 -0
  148. casadi/include/casadi/core/runtime/casadi_mtimes.hpp +19 -1
  149. casadi/include/casadi/core/runtime/casadi_mv.hpp +19 -1
  150. casadi/include/casadi/core/runtime/casadi_mv_dense.hpp +19 -1
  151. casadi/include/casadi/core/runtime/casadi_nd_boor_dual_eval.hpp +19 -1
  152. casadi/include/casadi/core/runtime/casadi_nd_boor_eval.hpp +19 -1
  153. casadi/include/casadi/core/runtime/casadi_newton.hpp +19 -1
  154. casadi/include/casadi/core/runtime/casadi_nlp.hpp +105 -12
  155. casadi/include/casadi/core/runtime/casadi_norm_1.hpp +19 -1
  156. casadi/include/casadi/core/runtime/casadi_norm_2.hpp +19 -1
  157. casadi/include/casadi/core/runtime/casadi_norm_inf.hpp +19 -1
  158. casadi/include/casadi/core/runtime/casadi_norm_inf_mul.hpp +19 -1
  159. casadi/include/casadi/core/runtime/casadi_polyval.hpp +19 -1
  160. casadi/include/casadi/core/runtime/casadi_project.hpp +19 -1
  161. casadi/include/casadi/core/runtime/casadi_qp.hpp +47 -1174
  162. casadi/include/casadi/core/runtime/casadi_qr.hpp +19 -1
  163. casadi/include/casadi/core/runtime/casadi_qrqp.hpp +1233 -0
  164. casadi/include/casadi/core/runtime/casadi_rank1.hpp +19 -1
  165. casadi/include/casadi/core/runtime/casadi_regularize.hpp +19 -1
  166. casadi/include/casadi/core/runtime/casadi_runtime.hpp +34 -3
  167. casadi/include/casadi/core/runtime/casadi_scal.hpp +19 -1
  168. casadi/include/casadi/core/runtime/casadi_sparsify.hpp +19 -1
  169. casadi/include/casadi/core/runtime/casadi_sparsity.hpp +24 -0
  170. casadi/include/casadi/core/runtime/casadi_sqpmethod.hpp +79 -21
  171. casadi/include/casadi/core/runtime/casadi_sum.hpp +31 -0
  172. casadi/include/casadi/core/runtime/casadi_sum_viol.hpp +20 -1
  173. casadi/include/casadi/core/runtime/casadi_swap.hpp +19 -1
  174. casadi/include/casadi/core/runtime/casadi_trans.hpp +19 -1
  175. casadi/include/casadi/core/runtime/casadi_tri_project.hpp +19 -1
  176. casadi/include/casadi/core/runtime/casadi_trilsolve.hpp +81 -0
  177. casadi/include/casadi/core/runtime/casadi_triusolve.hpp +81 -0
  178. casadi/include/casadi/core/runtime/casadi_vector_fmax.hpp +28 -0
  179. casadi/include/casadi/core/runtime/casadi_vector_fmin.hpp +28 -0
  180. casadi/include/casadi/core/runtime/casadi_vfmax.hpp +19 -1
  181. casadi/include/casadi/core/runtime/casadi_vfmin.hpp +19 -1
  182. casadi/include/casadi/core/runtime/shared.hpp +2 -2
  183. casadi/include/casadi/core/serializer.hpp +30 -25
  184. casadi/include/casadi/core/serializing_stream.hpp +25 -15
  185. casadi/include/casadi/core/shared_object.hpp +49 -18
  186. casadi/include/casadi/core/slice.hpp +10 -5
  187. casadi/include/casadi/core/sparsity.hpp +390 -119
  188. casadi/include/casadi/core/sparsity_interface.hpp +174 -49
  189. casadi/include/casadi/core/submatrix.hpp +8 -2
  190. casadi/include/casadi/core/sx.hpp +12 -2
  191. casadi/include/casadi/core/sx_elem.hpp +78 -27
  192. casadi/include/casadi/core/sx_fwd.hpp +3 -3
  193. casadi/include/casadi/core/timing.hpp +4 -2
  194. casadi/include/casadi/core/xml_file.hpp +18 -6
  195. casadi/include/casadi/core/xml_node.hpp +141 -71
  196. casadi/include/casadi/doc.i +35344 -71599
  197. casadi/include/casadi/doc_merged.i +20954 -58522
  198. casadi/include/casadi/mem.h +3 -2
  199. casadi/include/casadi/valgrind-python.supp +45 -0
  200. casadi/include/eigen3/Eigen/Cholesky +45 -0
  201. casadi/include/eigen3/Eigen/CholmodSupport +48 -0
  202. casadi/include/eigen3/Eigen/Core +384 -0
  203. casadi/include/eigen3/Eigen/Dense +7 -0
  204. casadi/include/eigen3/Eigen/Eigen +2 -0
  205. casadi/include/eigen3/Eigen/Eigenvalues +60 -0
  206. casadi/include/eigen3/Eigen/Geometry +59 -0
  207. casadi/include/eigen3/Eigen/Householder +29 -0
  208. casadi/include/eigen3/Eigen/IterativeLinearSolvers +48 -0
  209. casadi/include/eigen3/Eigen/Jacobi +32 -0
  210. casadi/include/eigen3/Eigen/KLUSupport +41 -0
  211. casadi/include/eigen3/Eigen/LU +47 -0
  212. casadi/include/eigen3/Eigen/MetisSupport +35 -0
  213. casadi/include/eigen3/Eigen/OrderingMethods +70 -0
  214. casadi/include/eigen3/Eigen/PaStiXSupport +49 -0
  215. casadi/include/eigen3/Eigen/PardisoSupport +35 -0
  216. casadi/include/eigen3/Eigen/QR +50 -0
  217. casadi/include/eigen3/Eigen/QtAlignedMalloc +39 -0
  218. casadi/include/eigen3/Eigen/SPQRSupport +34 -0
  219. casadi/include/eigen3/Eigen/SVD +50 -0
  220. casadi/include/eigen3/Eigen/Sparse +34 -0
  221. casadi/include/eigen3/Eigen/SparseCholesky +37 -0
  222. casadi/include/eigen3/Eigen/SparseCore +69 -0
  223. casadi/include/eigen3/Eigen/SparseLU +50 -0
  224. casadi/include/eigen3/Eigen/SparseQR +36 -0
  225. casadi/include/eigen3/Eigen/StdDeque +27 -0
  226. casadi/include/eigen3/Eigen/StdList +26 -0
  227. casadi/include/eigen3/Eigen/StdVector +27 -0
  228. casadi/include/eigen3/Eigen/SuperLUSupport +64 -0
  229. casadi/include/eigen3/Eigen/UmfPackSupport +40 -0
  230. casadi/include/eigen3/Eigen/src/Cholesky/LDLT.h +688 -0
  231. casadi/include/eigen3/Eigen/src/Cholesky/LLT.h +558 -0
  232. casadi/include/eigen3/Eigen/src/Cholesky/LLT_LAPACKE.h +99 -0
  233. casadi/include/eigen3/Eigen/src/CholmodSupport/CholmodSupport.h +682 -0
  234. casadi/include/eigen3/Eigen/src/Core/ArithmeticSequence.h +413 -0
  235. casadi/include/eigen3/Eigen/src/Core/Array.h +417 -0
  236. casadi/include/eigen3/Eigen/src/Core/ArrayBase.h +226 -0
  237. casadi/include/eigen3/Eigen/src/Core/ArrayWrapper.h +209 -0
  238. casadi/include/eigen3/Eigen/src/Core/Assign.h +90 -0
  239. casadi/include/eigen3/Eigen/src/Core/AssignEvaluator.h +1010 -0
  240. casadi/include/eigen3/Eigen/src/Core/Assign_MKL.h +178 -0
  241. casadi/include/eigen3/Eigen/src/Core/BandMatrix.h +353 -0
  242. casadi/include/eigen3/Eigen/src/Core/Block.h +448 -0
  243. casadi/include/eigen3/Eigen/src/Core/BooleanRedux.h +162 -0
  244. casadi/include/eigen3/Eigen/src/Core/CommaInitializer.h +164 -0
  245. casadi/include/eigen3/Eigen/src/Core/ConditionEstimator.h +175 -0
  246. casadi/include/eigen3/Eigen/src/Core/CoreEvaluators.h +1741 -0
  247. casadi/include/eigen3/Eigen/src/Core/CoreIterators.h +132 -0
  248. casadi/include/eigen3/Eigen/src/Core/CwiseBinaryOp.h +183 -0
  249. casadi/include/eigen3/Eigen/src/Core/CwiseNullaryOp.h +1001 -0
  250. casadi/include/eigen3/Eigen/src/Core/CwiseTernaryOp.h +197 -0
  251. casadi/include/eigen3/Eigen/src/Core/CwiseUnaryOp.h +103 -0
  252. casadi/include/eigen3/Eigen/src/Core/CwiseUnaryView.h +132 -0
  253. casadi/include/eigen3/Eigen/src/Core/DenseBase.h +701 -0
  254. casadi/include/eigen3/Eigen/src/Core/DenseCoeffsBase.h +685 -0
  255. casadi/include/eigen3/Eigen/src/Core/DenseStorage.h +652 -0
  256. casadi/include/eigen3/Eigen/src/Core/Diagonal.h +258 -0
  257. casadi/include/eigen3/Eigen/src/Core/DiagonalMatrix.h +391 -0
  258. casadi/include/eigen3/Eigen/src/Core/DiagonalProduct.h +28 -0
  259. casadi/include/eigen3/Eigen/src/Core/Dot.h +318 -0
  260. casadi/include/eigen3/Eigen/src/Core/EigenBase.h +160 -0
  261. casadi/include/eigen3/Eigen/src/Core/ForceAlignedAccess.h +150 -0
  262. casadi/include/eigen3/Eigen/src/Core/Fuzzy.h +155 -0
  263. casadi/include/eigen3/Eigen/src/Core/GeneralProduct.h +465 -0
  264. casadi/include/eigen3/Eigen/src/Core/GenericPacketMath.h +1040 -0
  265. casadi/include/eigen3/Eigen/src/Core/GlobalFunctions.h +194 -0
  266. casadi/include/eigen3/Eigen/src/Core/IO.h +258 -0
  267. casadi/include/eigen3/Eigen/src/Core/IndexedView.h +237 -0
  268. casadi/include/eigen3/Eigen/src/Core/Inverse.h +117 -0
  269. casadi/include/eigen3/Eigen/src/Core/Map.h +171 -0
  270. casadi/include/eigen3/Eigen/src/Core/MapBase.h +310 -0
  271. casadi/include/eigen3/Eigen/src/Core/MathFunctions.h +2057 -0
  272. casadi/include/eigen3/Eigen/src/Core/MathFunctionsImpl.h +200 -0
  273. casadi/include/eigen3/Eigen/src/Core/Matrix.h +565 -0
  274. casadi/include/eigen3/Eigen/src/Core/MatrixBase.h +547 -0
  275. casadi/include/eigen3/Eigen/src/Core/NestByValue.h +85 -0
  276. casadi/include/eigen3/Eigen/src/Core/NoAlias.h +109 -0
  277. casadi/include/eigen3/Eigen/src/Core/NumTraits.h +335 -0
  278. casadi/include/eigen3/Eigen/src/Core/PartialReduxEvaluator.h +232 -0
  279. casadi/include/eigen3/Eigen/src/Core/PermutationMatrix.h +605 -0
  280. casadi/include/eigen3/Eigen/src/Core/PlainObjectBase.h +1128 -0
  281. casadi/include/eigen3/Eigen/src/Core/Product.h +191 -0
  282. casadi/include/eigen3/Eigen/src/Core/ProductEvaluators.h +1179 -0
  283. casadi/include/eigen3/Eigen/src/Core/Random.h +218 -0
  284. casadi/include/eigen3/Eigen/src/Core/Redux.h +515 -0
  285. casadi/include/eigen3/Eigen/src/Core/Ref.h +381 -0
  286. casadi/include/eigen3/Eigen/src/Core/Replicate.h +142 -0
  287. casadi/include/eigen3/Eigen/src/Core/Reshaped.h +454 -0
  288. casadi/include/eigen3/Eigen/src/Core/ReturnByValue.h +119 -0
  289. casadi/include/eigen3/Eigen/src/Core/Reverse.h +217 -0
  290. casadi/include/eigen3/Eigen/src/Core/Select.h +164 -0
  291. casadi/include/eigen3/Eigen/src/Core/SelfAdjointView.h +365 -0
  292. casadi/include/eigen3/Eigen/src/Core/SelfCwiseBinaryOp.h +47 -0
  293. casadi/include/eigen3/Eigen/src/Core/Solve.h +188 -0
  294. casadi/include/eigen3/Eigen/src/Core/SolveTriangular.h +235 -0
  295. casadi/include/eigen3/Eigen/src/Core/SolverBase.h +168 -0
  296. casadi/include/eigen3/Eigen/src/Core/StableNorm.h +251 -0
  297. casadi/include/eigen3/Eigen/src/Core/StlIterators.h +463 -0
  298. casadi/include/eigen3/Eigen/src/Core/Stride.h +116 -0
  299. casadi/include/eigen3/Eigen/src/Core/Swap.h +68 -0
  300. casadi/include/eigen3/Eigen/src/Core/Transpose.h +464 -0
  301. casadi/include/eigen3/Eigen/src/Core/Transpositions.h +386 -0
  302. casadi/include/eigen3/Eigen/src/Core/TriangularMatrix.h +1001 -0
  303. casadi/include/eigen3/Eigen/src/Core/VectorBlock.h +96 -0
  304. casadi/include/eigen3/Eigen/src/Core/VectorwiseOp.h +784 -0
  305. casadi/include/eigen3/Eigen/src/Core/Visitor.h +381 -0
  306. casadi/include/eigen3/Eigen/src/Core/arch/AVX/Complex.h +372 -0
  307. casadi/include/eigen3/Eigen/src/Core/arch/AVX/MathFunctions.h +228 -0
  308. casadi/include/eigen3/Eigen/src/Core/arch/AVX/PacketMath.h +1574 -0
  309. casadi/include/eigen3/Eigen/src/Core/arch/AVX/TypeCasting.h +115 -0
  310. casadi/include/eigen3/Eigen/src/Core/arch/AVX512/Complex.h +422 -0
  311. casadi/include/eigen3/Eigen/src/Core/arch/AVX512/MathFunctions.h +362 -0
  312. casadi/include/eigen3/Eigen/src/Core/arch/AVX512/PacketMath.h +2303 -0
  313. casadi/include/eigen3/Eigen/src/Core/arch/AVX512/TypeCasting.h +89 -0
  314. casadi/include/eigen3/Eigen/src/Core/arch/AltiVec/Complex.h +417 -0
  315. casadi/include/eigen3/Eigen/src/Core/arch/AltiVec/MathFunctions.h +90 -0
  316. casadi/include/eigen3/Eigen/src/Core/arch/AltiVec/MatrixProduct.h +2937 -0
  317. casadi/include/eigen3/Eigen/src/Core/arch/AltiVec/MatrixProductCommon.h +221 -0
  318. casadi/include/eigen3/Eigen/src/Core/arch/AltiVec/MatrixProductMMA.h +629 -0
  319. casadi/include/eigen3/Eigen/src/Core/arch/AltiVec/PacketMath.h +2711 -0
  320. casadi/include/eigen3/Eigen/src/Core/arch/CUDA/Complex.h +258 -0
  321. casadi/include/eigen3/Eigen/src/Core/arch/Default/BFloat16.h +700 -0
  322. casadi/include/eigen3/Eigen/src/Core/arch/Default/ConjHelper.h +117 -0
  323. casadi/include/eigen3/Eigen/src/Core/arch/Default/GenericPacketMathFunctions.h +1649 -0
  324. casadi/include/eigen3/Eigen/src/Core/arch/Default/GenericPacketMathFunctionsFwd.h +110 -0
  325. casadi/include/eigen3/Eigen/src/Core/arch/Default/Half.h +942 -0
  326. casadi/include/eigen3/Eigen/src/Core/arch/Default/Settings.h +49 -0
  327. casadi/include/eigen3/Eigen/src/Core/arch/Default/TypeCasting.h +120 -0
  328. casadi/include/eigen3/Eigen/src/Core/arch/GPU/MathFunctions.h +103 -0
  329. casadi/include/eigen3/Eigen/src/Core/arch/GPU/PacketMath.h +1685 -0
  330. casadi/include/eigen3/Eigen/src/Core/arch/GPU/TypeCasting.h +80 -0
  331. casadi/include/eigen3/Eigen/src/Core/arch/HIP/hcc/math_constants.h +23 -0
  332. casadi/include/eigen3/Eigen/src/Core/arch/MSA/Complex.h +648 -0
  333. casadi/include/eigen3/Eigen/src/Core/arch/MSA/MathFunctions.h +387 -0
  334. casadi/include/eigen3/Eigen/src/Core/arch/MSA/PacketMath.h +1233 -0
  335. casadi/include/eigen3/Eigen/src/Core/arch/NEON/Complex.h +584 -0
  336. casadi/include/eigen3/Eigen/src/Core/arch/NEON/GeneralBlockPanelKernel.h +183 -0
  337. casadi/include/eigen3/Eigen/src/Core/arch/NEON/MathFunctions.h +75 -0
  338. casadi/include/eigen3/Eigen/src/Core/arch/NEON/PacketMath.h +4587 -0
  339. casadi/include/eigen3/Eigen/src/Core/arch/NEON/TypeCasting.h +1419 -0
  340. casadi/include/eigen3/Eigen/src/Core/arch/SSE/Complex.h +351 -0
  341. casadi/include/eigen3/Eigen/src/Core/arch/SSE/MathFunctions.h +199 -0
  342. casadi/include/eigen3/Eigen/src/Core/arch/SSE/PacketMath.h +1505 -0
  343. casadi/include/eigen3/Eigen/src/Core/arch/SSE/TypeCasting.h +142 -0
  344. casadi/include/eigen3/Eigen/src/Core/arch/SVE/MathFunctions.h +44 -0
  345. casadi/include/eigen3/Eigen/src/Core/arch/SVE/PacketMath.h +752 -0
  346. casadi/include/eigen3/Eigen/src/Core/arch/SVE/TypeCasting.h +49 -0
  347. casadi/include/eigen3/Eigen/src/Core/arch/SYCL/InteropHeaders.h +232 -0
  348. casadi/include/eigen3/Eigen/src/Core/arch/SYCL/MathFunctions.h +301 -0
  349. casadi/include/eigen3/Eigen/src/Core/arch/SYCL/PacketMath.h +670 -0
  350. casadi/include/eigen3/Eigen/src/Core/arch/SYCL/SyclMemoryModel.h +694 -0
  351. casadi/include/eigen3/Eigen/src/Core/arch/SYCL/TypeCasting.h +85 -0
  352. casadi/include/eigen3/Eigen/src/Core/arch/ZVector/Complex.h +426 -0
  353. casadi/include/eigen3/Eigen/src/Core/arch/ZVector/MathFunctions.h +233 -0
  354. casadi/include/eigen3/Eigen/src/Core/arch/ZVector/PacketMath.h +1060 -0
  355. casadi/include/eigen3/Eigen/src/Core/functors/AssignmentFunctors.h +177 -0
  356. casadi/include/eigen3/Eigen/src/Core/functors/BinaryFunctors.h +541 -0
  357. casadi/include/eigen3/Eigen/src/Core/functors/NullaryFunctors.h +189 -0
  358. casadi/include/eigen3/Eigen/src/Core/functors/StlFunctors.h +166 -0
  359. casadi/include/eigen3/Eigen/src/Core/functors/TernaryFunctors.h +25 -0
  360. casadi/include/eigen3/Eigen/src/Core/functors/UnaryFunctors.h +1131 -0
  361. casadi/include/eigen3/Eigen/src/Core/products/GeneralBlockPanelKernel.h +2645 -0
  362. casadi/include/eigen3/Eigen/src/Core/products/GeneralMatrixMatrix.h +517 -0
  363. casadi/include/eigen3/Eigen/src/Core/products/GeneralMatrixMatrixTriangular.h +317 -0
  364. casadi/include/eigen3/Eigen/src/Core/products/GeneralMatrixMatrixTriangular_BLAS.h +145 -0
  365. casadi/include/eigen3/Eigen/src/Core/products/GeneralMatrixMatrix_BLAS.h +124 -0
  366. casadi/include/eigen3/Eigen/src/Core/products/GeneralMatrixVector.h +518 -0
  367. casadi/include/eigen3/Eigen/src/Core/products/GeneralMatrixVector_BLAS.h +136 -0
  368. casadi/include/eigen3/Eigen/src/Core/products/Parallelizer.h +180 -0
  369. casadi/include/eigen3/Eigen/src/Core/products/SelfadjointMatrixMatrix.h +544 -0
  370. casadi/include/eigen3/Eigen/src/Core/products/SelfadjointMatrixMatrix_BLAS.h +295 -0
  371. casadi/include/eigen3/Eigen/src/Core/products/SelfadjointMatrixVector.h +262 -0
  372. casadi/include/eigen3/Eigen/src/Core/products/SelfadjointMatrixVector_BLAS.h +118 -0
  373. casadi/include/eigen3/Eigen/src/Core/products/SelfadjointProduct.h +133 -0
  374. casadi/include/eigen3/Eigen/src/Core/products/SelfadjointRank2Update.h +94 -0
  375. casadi/include/eigen3/Eigen/src/Core/products/TriangularMatrixMatrix.h +472 -0
  376. casadi/include/eigen3/Eigen/src/Core/products/TriangularMatrixMatrix_BLAS.h +317 -0
  377. casadi/include/eigen3/Eigen/src/Core/products/TriangularMatrixVector.h +350 -0
  378. casadi/include/eigen3/Eigen/src/Core/products/TriangularMatrixVector_BLAS.h +255 -0
  379. casadi/include/eigen3/Eigen/src/Core/products/TriangularSolverMatrix.h +337 -0
  380. casadi/include/eigen3/Eigen/src/Core/products/TriangularSolverMatrix_BLAS.h +167 -0
  381. casadi/include/eigen3/Eigen/src/Core/products/TriangularSolverVector.h +148 -0
  382. casadi/include/eigen3/Eigen/src/Core/util/BlasUtil.h +583 -0
  383. casadi/include/eigen3/Eigen/src/Core/util/ConfigureVectorization.h +512 -0
  384. casadi/include/eigen3/Eigen/src/Core/util/Constants.h +563 -0
  385. casadi/include/eigen3/Eigen/src/Core/util/DisableStupidWarnings.h +106 -0
  386. casadi/include/eigen3/Eigen/src/Core/util/ForwardDeclarations.h +322 -0
  387. casadi/include/eigen3/Eigen/src/Core/util/IndexedViewHelper.h +186 -0
  388. casadi/include/eigen3/Eigen/src/Core/util/IntegralConstant.h +272 -0
  389. casadi/include/eigen3/Eigen/src/Core/util/MKL_support.h +137 -0
  390. casadi/include/eigen3/Eigen/src/Core/util/Macros.h +1464 -0
  391. casadi/include/eigen3/Eigen/src/Core/util/Memory.h +1163 -0
  392. casadi/include/eigen3/Eigen/src/Core/util/Meta.h +812 -0
  393. casadi/include/eigen3/Eigen/src/Core/util/NonMPL2.h +3 -0
  394. casadi/include/eigen3/Eigen/src/Core/util/ReenableStupidWarnings.h +31 -0
  395. casadi/include/eigen3/Eigen/src/Core/util/ReshapedHelper.h +51 -0
  396. casadi/include/eigen3/Eigen/src/Core/util/StaticAssert.h +221 -0
  397. casadi/include/eigen3/Eigen/src/Core/util/SymbolicIndex.h +293 -0
  398. casadi/include/eigen3/Eigen/src/Core/util/XprHelper.h +856 -0
  399. casadi/include/eigen3/Eigen/src/Eigenvalues/ComplexEigenSolver.h +346 -0
  400. casadi/include/eigen3/Eigen/src/Eigenvalues/ComplexSchur.h +462 -0
  401. casadi/include/eigen3/Eigen/src/Eigenvalues/ComplexSchur_LAPACKE.h +91 -0
  402. casadi/include/eigen3/Eigen/src/Eigenvalues/EigenSolver.h +622 -0
  403. casadi/include/eigen3/Eigen/src/Eigenvalues/GeneralizedEigenSolver.h +418 -0
  404. casadi/include/eigen3/Eigen/src/Eigenvalues/GeneralizedSelfAdjointEigenSolver.h +226 -0
  405. casadi/include/eigen3/Eigen/src/Eigenvalues/HessenbergDecomposition.h +374 -0
  406. casadi/include/eigen3/Eigen/src/Eigenvalues/MatrixBaseEigenvalues.h +158 -0
  407. casadi/include/eigen3/Eigen/src/Eigenvalues/RealQZ.h +657 -0
  408. casadi/include/eigen3/Eigen/src/Eigenvalues/RealSchur.h +558 -0
  409. casadi/include/eigen3/Eigen/src/Eigenvalues/RealSchur_LAPACKE.h +77 -0
  410. casadi/include/eigen3/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h +904 -0
  411. casadi/include/eigen3/Eigen/src/Eigenvalues/SelfAdjointEigenSolver_LAPACKE.h +87 -0
  412. casadi/include/eigen3/Eigen/src/Eigenvalues/Tridiagonalization.h +561 -0
  413. casadi/include/eigen3/Eigen/src/Geometry/AlignedBox.h +486 -0
  414. casadi/include/eigen3/Eigen/src/Geometry/AngleAxis.h +247 -0
  415. casadi/include/eigen3/Eigen/src/Geometry/EulerAngles.h +114 -0
  416. casadi/include/eigen3/Eigen/src/Geometry/Homogeneous.h +501 -0
  417. casadi/include/eigen3/Eigen/src/Geometry/Hyperplane.h +282 -0
  418. casadi/include/eigen3/Eigen/src/Geometry/OrthoMethods.h +235 -0
  419. casadi/include/eigen3/Eigen/src/Geometry/ParametrizedLine.h +232 -0
  420. casadi/include/eigen3/Eigen/src/Geometry/Quaternion.h +870 -0
  421. casadi/include/eigen3/Eigen/src/Geometry/Rotation2D.h +199 -0
  422. casadi/include/eigen3/Eigen/src/Geometry/RotationBase.h +206 -0
  423. casadi/include/eigen3/Eigen/src/Geometry/Scaling.h +188 -0
  424. casadi/include/eigen3/Eigen/src/Geometry/Transform.h +1563 -0
  425. casadi/include/eigen3/Eigen/src/Geometry/Translation.h +202 -0
  426. casadi/include/eigen3/Eigen/src/Geometry/Umeyama.h +166 -0
  427. casadi/include/eigen3/Eigen/src/Geometry/arch/Geometry_SIMD.h +168 -0
  428. casadi/include/eigen3/Eigen/src/Householder/BlockHouseholder.h +110 -0
  429. casadi/include/eigen3/Eigen/src/Householder/Householder.h +176 -0
  430. casadi/include/eigen3/Eigen/src/Householder/HouseholderSequence.h +545 -0
  431. casadi/include/eigen3/Eigen/src/IterativeLinearSolvers/BasicPreconditioners.h +226 -0
  432. casadi/include/eigen3/Eigen/src/IterativeLinearSolvers/BiCGSTAB.h +212 -0
  433. casadi/include/eigen3/Eigen/src/IterativeLinearSolvers/ConjugateGradient.h +229 -0
  434. casadi/include/eigen3/Eigen/src/IterativeLinearSolvers/IncompleteCholesky.h +394 -0
  435. casadi/include/eigen3/Eigen/src/IterativeLinearSolvers/IncompleteLUT.h +453 -0
  436. casadi/include/eigen3/Eigen/src/IterativeLinearSolvers/IterativeSolverBase.h +444 -0
  437. casadi/include/eigen3/Eigen/src/IterativeLinearSolvers/LeastSquareConjugateGradient.h +198 -0
  438. casadi/include/eigen3/Eigen/src/IterativeLinearSolvers/SolveWithGuess.h +117 -0
  439. casadi/include/eigen3/Eigen/src/Jacobi/Jacobi.h +483 -0
  440. casadi/include/eigen3/Eigen/src/KLUSupport/KLUSupport.h +358 -0
  441. casadi/include/eigen3/Eigen/src/LU/Determinant.h +117 -0
  442. casadi/include/eigen3/Eigen/src/LU/FullPivLU.h +877 -0
  443. casadi/include/eigen3/Eigen/src/LU/InverseImpl.h +432 -0
  444. casadi/include/eigen3/Eigen/src/LU/PartialPivLU.h +624 -0
  445. casadi/include/eigen3/Eigen/src/LU/PartialPivLU_LAPACKE.h +83 -0
  446. casadi/include/eigen3/Eigen/src/LU/arch/InverseSize4.h +351 -0
  447. casadi/include/eigen3/Eigen/src/MetisSupport/MetisSupport.h +137 -0
  448. casadi/include/eigen3/Eigen/src/OrderingMethods/Amd.h +435 -0
  449. casadi/include/eigen3/Eigen/src/OrderingMethods/Eigen_Colamd.h +1863 -0
  450. casadi/include/eigen3/Eigen/src/OrderingMethods/Ordering.h +153 -0
  451. casadi/include/eigen3/Eigen/src/PaStiXSupport/PaStiXSupport.h +678 -0
  452. casadi/include/eigen3/Eigen/src/PardisoSupport/PardisoSupport.h +545 -0
  453. casadi/include/eigen3/Eigen/src/QR/ColPivHouseholderQR.h +674 -0
  454. casadi/include/eigen3/Eigen/src/QR/ColPivHouseholderQR_LAPACKE.h +97 -0
  455. casadi/include/eigen3/Eigen/src/QR/CompleteOrthogonalDecomposition.h +635 -0
  456. casadi/include/eigen3/Eigen/src/QR/FullPivHouseholderQR.h +713 -0
  457. casadi/include/eigen3/Eigen/src/QR/HouseholderQR.h +434 -0
  458. casadi/include/eigen3/Eigen/src/QR/HouseholderQR_LAPACKE.h +68 -0
  459. casadi/include/eigen3/Eigen/src/SPQRSupport/SuiteSparseQRSupport.h +335 -0
  460. casadi/include/eigen3/Eigen/src/SVD/BDCSVD.h +1366 -0
  461. casadi/include/eigen3/Eigen/src/SVD/JacobiSVD.h +812 -0
  462. casadi/include/eigen3/Eigen/src/SVD/JacobiSVD_LAPACKE.h +91 -0
  463. casadi/include/eigen3/Eigen/src/SVD/SVDBase.h +376 -0
  464. casadi/include/eigen3/Eigen/src/SVD/UpperBidiagonalization.h +414 -0
  465. casadi/include/eigen3/Eigen/src/SparseCholesky/SimplicialCholesky.h +697 -0
  466. casadi/include/eigen3/Eigen/src/SparseCholesky/SimplicialCholesky_impl.h +174 -0
  467. casadi/include/eigen3/Eigen/src/SparseCore/AmbiVector.h +378 -0
  468. casadi/include/eigen3/Eigen/src/SparseCore/CompressedStorage.h +274 -0
  469. casadi/include/eigen3/Eigen/src/SparseCore/ConservativeSparseSparseProduct.h +352 -0
  470. casadi/include/eigen3/Eigen/src/SparseCore/MappedSparseMatrix.h +67 -0
  471. casadi/include/eigen3/Eigen/src/SparseCore/SparseAssign.h +270 -0
  472. casadi/include/eigen3/Eigen/src/SparseCore/SparseBlock.h +571 -0
  473. casadi/include/eigen3/Eigen/src/SparseCore/SparseColEtree.h +206 -0
  474. casadi/include/eigen3/Eigen/src/SparseCore/SparseCompressedBase.h +370 -0
  475. casadi/include/eigen3/Eigen/src/SparseCore/SparseCwiseBinaryOp.h +722 -0
  476. casadi/include/eigen3/Eigen/src/SparseCore/SparseCwiseUnaryOp.h +150 -0
  477. casadi/include/eigen3/Eigen/src/SparseCore/SparseDenseProduct.h +342 -0
  478. casadi/include/eigen3/Eigen/src/SparseCore/SparseDiagonalProduct.h +138 -0
  479. casadi/include/eigen3/Eigen/src/SparseCore/SparseDot.h +98 -0
  480. casadi/include/eigen3/Eigen/src/SparseCore/SparseFuzzy.h +29 -0
  481. casadi/include/eigen3/Eigen/src/SparseCore/SparseMap.h +305 -0
  482. casadi/include/eigen3/Eigen/src/SparseCore/SparseMatrix.h +1518 -0
  483. casadi/include/eigen3/Eigen/src/SparseCore/SparseMatrixBase.h +398 -0
  484. casadi/include/eigen3/Eigen/src/SparseCore/SparsePermutation.h +178 -0
  485. casadi/include/eigen3/Eigen/src/SparseCore/SparseProduct.h +181 -0
  486. casadi/include/eigen3/Eigen/src/SparseCore/SparseRedux.h +49 -0
  487. casadi/include/eigen3/Eigen/src/SparseCore/SparseRef.h +397 -0
  488. casadi/include/eigen3/Eigen/src/SparseCore/SparseSelfAdjointView.h +659 -0
  489. casadi/include/eigen3/Eigen/src/SparseCore/SparseSolverBase.h +124 -0
  490. casadi/include/eigen3/Eigen/src/SparseCore/SparseSparseProductWithPruning.h +198 -0
  491. casadi/include/eigen3/Eigen/src/SparseCore/SparseTranspose.h +92 -0
  492. casadi/include/eigen3/Eigen/src/SparseCore/SparseTriangularView.h +189 -0
  493. casadi/include/eigen3/Eigen/src/SparseCore/SparseUtil.h +186 -0
  494. casadi/include/eigen3/Eigen/src/SparseCore/SparseVector.h +478 -0
  495. casadi/include/eigen3/Eigen/src/SparseCore/SparseView.h +254 -0
  496. casadi/include/eigen3/Eigen/src/SparseCore/TriangularSolver.h +315 -0
  497. casadi/include/eigen3/Eigen/src/SparseLU/SparseLU.h +923 -0
  498. casadi/include/eigen3/Eigen/src/SparseLU/SparseLUImpl.h +66 -0
  499. casadi/include/eigen3/Eigen/src/SparseLU/SparseLU_Memory.h +226 -0
  500. casadi/include/eigen3/Eigen/src/SparseLU/SparseLU_Structs.h +110 -0
  501. casadi/include/eigen3/Eigen/src/SparseLU/SparseLU_SupernodalMatrix.h +375 -0
  502. casadi/include/eigen3/Eigen/src/SparseLU/SparseLU_Utils.h +80 -0
  503. casadi/include/eigen3/Eigen/src/SparseLU/SparseLU_column_bmod.h +181 -0
  504. casadi/include/eigen3/Eigen/src/SparseLU/SparseLU_column_dfs.h +179 -0
  505. casadi/include/eigen3/Eigen/src/SparseLU/SparseLU_copy_to_ucol.h +107 -0
  506. casadi/include/eigen3/Eigen/src/SparseLU/SparseLU_gemm_kernel.h +280 -0
  507. casadi/include/eigen3/Eigen/src/SparseLU/SparseLU_heap_relax_snode.h +126 -0
  508. casadi/include/eigen3/Eigen/src/SparseLU/SparseLU_kernel_bmod.h +130 -0
  509. casadi/include/eigen3/Eigen/src/SparseLU/SparseLU_panel_bmod.h +223 -0
  510. casadi/include/eigen3/Eigen/src/SparseLU/SparseLU_panel_dfs.h +258 -0
  511. casadi/include/eigen3/Eigen/src/SparseLU/SparseLU_pivotL.h +137 -0
  512. casadi/include/eigen3/Eigen/src/SparseLU/SparseLU_pruneL.h +136 -0
  513. casadi/include/eigen3/Eigen/src/SparseLU/SparseLU_relax_snode.h +83 -0
  514. casadi/include/eigen3/Eigen/src/SparseQR/SparseQR.h +758 -0
  515. casadi/include/eigen3/Eigen/src/StlSupport/StdDeque.h +116 -0
  516. casadi/include/eigen3/Eigen/src/StlSupport/StdList.h +106 -0
  517. casadi/include/eigen3/Eigen/src/StlSupport/StdVector.h +131 -0
  518. casadi/include/eigen3/Eigen/src/StlSupport/details.h +84 -0
  519. casadi/include/eigen3/Eigen/src/SuperLUSupport/SuperLUSupport.h +1025 -0
  520. casadi/include/eigen3/Eigen/src/UmfPackSupport/UmfPackSupport.h +642 -0
  521. casadi/include/eigen3/Eigen/src/misc/Image.h +82 -0
  522. casadi/include/eigen3/Eigen/src/misc/Kernel.h +79 -0
  523. casadi/include/eigen3/Eigen/src/misc/RealSvd2x2.h +55 -0
  524. casadi/include/eigen3/Eigen/src/misc/blas.h +440 -0
  525. casadi/include/eigen3/Eigen/src/misc/lapack.h +152 -0
  526. casadi/include/eigen3/Eigen/src/misc/lapacke.h +16292 -0
  527. casadi/include/eigen3/Eigen/src/misc/lapacke_mangling.h +17 -0
  528. casadi/include/eigen3/Eigen/src/plugins/ArrayCwiseBinaryOps.h +358 -0
  529. casadi/include/eigen3/Eigen/src/plugins/ArrayCwiseUnaryOps.h +696 -0
  530. casadi/include/eigen3/Eigen/src/plugins/BlockMethods.h +1442 -0
  531. casadi/include/eigen3/Eigen/src/plugins/CommonCwiseBinaryOps.h +115 -0
  532. casadi/include/eigen3/Eigen/src/plugins/CommonCwiseUnaryOps.h +177 -0
  533. casadi/include/eigen3/Eigen/src/plugins/IndexedViewMethods.h +262 -0
  534. casadi/include/eigen3/Eigen/src/plugins/MatrixCwiseBinaryOps.h +152 -0
  535. casadi/include/eigen3/Eigen/src/plugins/MatrixCwiseUnaryOps.h +95 -0
  536. casadi/include/eigen3/Eigen/src/plugins/ReshapedMethods.h +149 -0
  537. casadi/include/eigen3/signature_of_eigen3_matrix_library +1 -0
  538. casadi/include/eigen3/unsupported/Eigen/AdolcForward +159 -0
  539. casadi/include/eigen3/unsupported/Eigen/AlignedVector3 +234 -0
  540. casadi/include/eigen3/unsupported/Eigen/ArpackSupport +30 -0
  541. casadi/include/eigen3/unsupported/Eigen/AutoDiff +46 -0
  542. casadi/include/eigen3/unsupported/Eigen/BVH +95 -0
  543. casadi/include/eigen3/unsupported/Eigen/CXX11/Tensor +137 -0
  544. casadi/include/eigen3/unsupported/Eigen/CXX11/TensorSymmetry +42 -0
  545. casadi/include/eigen3/unsupported/Eigen/CXX11/ThreadPool +74 -0
  546. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/Tensor.h +554 -0
  547. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorArgMax.h +329 -0
  548. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorAssign.h +247 -0
  549. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorBase.h +1176 -0
  550. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorBlock.h +1559 -0
  551. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorBroadcasting.h +1093 -0
  552. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorChipping.h +518 -0
  553. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorConcatenation.h +377 -0
  554. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContraction.h +1023 -0
  555. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionBlocking.h +73 -0
  556. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionCuda.h +6 -0
  557. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionGpu.h +1413 -0
  558. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionMapper.h +575 -0
  559. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionSycl.h +1650 -0
  560. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionThreadPool.h +1679 -0
  561. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorConversion.h +456 -0
  562. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorConvolution.h +1132 -0
  563. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorConvolutionSycl.h +544 -0
  564. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorCostModel.h +214 -0
  565. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorCustomOp.h +347 -0
  566. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDevice.h +137 -0
  567. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceCuda.h +6 -0
  568. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceDefault.h +104 -0
  569. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceGpu.h +389 -0
  570. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceSycl.h +1048 -0
  571. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceThreadPool.h +409 -0
  572. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDimensionList.h +236 -0
  573. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDimensions.h +490 -0
  574. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorEvalTo.h +236 -0
  575. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorEvaluator.h +983 -0
  576. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorExecutor.h +703 -0
  577. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorExpr.h +388 -0
  578. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorFFT.h +669 -0
  579. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorFixedSize.h +379 -0
  580. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorForcedEval.h +237 -0
  581. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorForwardDeclarations.h +191 -0
  582. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorFunctors.h +488 -0
  583. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorGenerator.h +302 -0
  584. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorGlobalFunctions.h +33 -0
  585. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorGpuHipCudaDefines.h +99 -0
  586. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorGpuHipCudaUndefines.h +44 -0
  587. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorIO.h +79 -0
  588. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorImagePatch.h +603 -0
  589. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorIndexList.h +738 -0
  590. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorInflation.h +247 -0
  591. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorInitializer.h +82 -0
  592. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorIntDiv.h +263 -0
  593. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorLayoutSwap.h +216 -0
  594. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorMacros.h +98 -0
  595. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorMap.h +327 -0
  596. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorMeta.h +311 -0
  597. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorMorphing.h +1102 -0
  598. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorPadding.h +708 -0
  599. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorPatch.h +291 -0
  600. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorRandom.h +322 -0
  601. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReduction.h +998 -0
  602. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReductionCuda.h +6 -0
  603. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReductionGpu.h +966 -0
  604. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReductionSycl.h +582 -0
  605. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorRef.h +454 -0
  606. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReverse.h +465 -0
  607. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorScan.h +528 -0
  608. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorScanSycl.h +513 -0
  609. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorShuffling.h +471 -0
  610. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorStorage.h +161 -0
  611. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorStriding.h +346 -0
  612. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorTrace.h +303 -0
  613. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorTraits.h +264 -0
  614. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorUInt128.h +249 -0
  615. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorVolumePatch.h +629 -0
  616. casadi/include/eigen3/unsupported/Eigen/CXX11/src/TensorSymmetry/DynamicSymmetry.h +293 -0
  617. casadi/include/eigen3/unsupported/Eigen/CXX11/src/TensorSymmetry/StaticSymmetry.h +236 -0
  618. casadi/include/eigen3/unsupported/Eigen/CXX11/src/TensorSymmetry/Symmetry.h +338 -0
  619. casadi/include/eigen3/unsupported/Eigen/CXX11/src/TensorSymmetry/util/TemplateGroupTheory.h +669 -0
  620. casadi/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/Barrier.h +67 -0
  621. casadi/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/EventCount.h +249 -0
  622. casadi/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/NonBlockingThreadPool.h +486 -0
  623. casadi/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/RunQueue.h +236 -0
  624. casadi/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/ThreadCancel.h +23 -0
  625. casadi/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/ThreadEnvironment.h +40 -0
  626. casadi/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/ThreadLocal.h +301 -0
  627. casadi/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/ThreadPoolInterface.h +48 -0
  628. casadi/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/ThreadYield.h +20 -0
  629. casadi/include/eigen3/unsupported/Eigen/CXX11/src/util/CXX11Meta.h +537 -0
  630. casadi/include/eigen3/unsupported/Eigen/CXX11/src/util/CXX11Workarounds.h +88 -0
  631. casadi/include/eigen3/unsupported/Eigen/CXX11/src/util/EmulateArray.h +261 -0
  632. casadi/include/eigen3/unsupported/Eigen/CXX11/src/util/MaxSizeVector.h +158 -0
  633. casadi/include/eigen3/unsupported/Eigen/EulerAngles +43 -0
  634. casadi/include/eigen3/unsupported/Eigen/FFT +419 -0
  635. casadi/include/eigen3/unsupported/Eigen/IterativeSolvers +51 -0
  636. casadi/include/eigen3/unsupported/Eigen/KroneckerProduct +36 -0
  637. casadi/include/eigen3/unsupported/Eigen/LevenbergMarquardt +49 -0
  638. casadi/include/eigen3/unsupported/Eigen/MPRealSupport +213 -0
  639. casadi/include/eigen3/unsupported/Eigen/MatrixFunctions +504 -0
  640. casadi/include/eigen3/unsupported/Eigen/MoreVectorization +24 -0
  641. casadi/include/eigen3/unsupported/Eigen/NonLinearOptimization +140 -0
  642. casadi/include/eigen3/unsupported/Eigen/NumericalDiff +56 -0
  643. casadi/include/eigen3/unsupported/Eigen/OpenGLSupport +322 -0
  644. casadi/include/eigen3/unsupported/Eigen/Polynomials +137 -0
  645. casadi/include/eigen3/unsupported/Eigen/Skyline +39 -0
  646. casadi/include/eigen3/unsupported/Eigen/SparseExtra +54 -0
  647. casadi/include/eigen3/unsupported/Eigen/SpecialFunctions +103 -0
  648. casadi/include/eigen3/unsupported/Eigen/Splines +35 -0
  649. casadi/include/eigen3/unsupported/Eigen/src/AutoDiff/AutoDiffJacobian.h +108 -0
  650. casadi/include/eigen3/unsupported/Eigen/src/AutoDiff/AutoDiffScalar.h +730 -0
  651. casadi/include/eigen3/unsupported/Eigen/src/AutoDiff/AutoDiffVector.h +220 -0
  652. casadi/include/eigen3/unsupported/Eigen/src/BVH/BVAlgorithms.h +293 -0
  653. casadi/include/eigen3/unsupported/Eigen/src/BVH/KdBVH.h +223 -0
  654. casadi/include/eigen3/unsupported/Eigen/src/Eigenvalues/ArpackSelfAdjointEigenSolver.h +790 -0
  655. casadi/include/eigen3/unsupported/Eigen/src/EulerAngles/EulerAngles.h +355 -0
  656. casadi/include/eigen3/unsupported/Eigen/src/EulerAngles/EulerSystem.h +305 -0
  657. casadi/include/eigen3/unsupported/Eigen/src/FFT/ei_fftw_impl.h +261 -0
  658. casadi/include/eigen3/unsupported/Eigen/src/FFT/ei_kissfft_impl.h +449 -0
  659. casadi/include/eigen3/unsupported/Eigen/src/IterativeSolvers/ConstrainedConjGrad.h +187 -0
  660. casadi/include/eigen3/unsupported/Eigen/src/IterativeSolvers/DGMRES.h +511 -0
  661. casadi/include/eigen3/unsupported/Eigen/src/IterativeSolvers/GMRES.h +335 -0
  662. casadi/include/eigen3/unsupported/Eigen/src/IterativeSolvers/IDRS.h +436 -0
  663. casadi/include/eigen3/unsupported/Eigen/src/IterativeSolvers/IncompleteLU.h +90 -0
  664. casadi/include/eigen3/unsupported/Eigen/src/IterativeSolvers/IterationController.h +154 -0
  665. casadi/include/eigen3/unsupported/Eigen/src/IterativeSolvers/MINRES.h +267 -0
  666. casadi/include/eigen3/unsupported/Eigen/src/IterativeSolvers/Scaling.h +193 -0
  667. casadi/include/eigen3/unsupported/Eigen/src/KroneckerProduct/KroneckerTensorProduct.h +305 -0
  668. casadi/include/eigen3/unsupported/Eigen/src/LevenbergMarquardt/LMcovar.h +84 -0
  669. casadi/include/eigen3/unsupported/Eigen/src/LevenbergMarquardt/LMonestep.h +202 -0
  670. casadi/include/eigen3/unsupported/Eigen/src/LevenbergMarquardt/LMpar.h +160 -0
  671. casadi/include/eigen3/unsupported/Eigen/src/LevenbergMarquardt/LMqrsolv.h +188 -0
  672. casadi/include/eigen3/unsupported/Eigen/src/LevenbergMarquardt/LevenbergMarquardt.h +396 -0
  673. casadi/include/eigen3/unsupported/Eigen/src/MatrixFunctions/MatrixExponential.h +441 -0
  674. casadi/include/eigen3/unsupported/Eigen/src/MatrixFunctions/MatrixFunction.h +569 -0
  675. casadi/include/eigen3/unsupported/Eigen/src/MatrixFunctions/MatrixLogarithm.h +373 -0
  676. casadi/include/eigen3/unsupported/Eigen/src/MatrixFunctions/MatrixPower.h +705 -0
  677. casadi/include/eigen3/unsupported/Eigen/src/MatrixFunctions/MatrixSquareRoot.h +368 -0
  678. casadi/include/eigen3/unsupported/Eigen/src/MatrixFunctions/StemFunction.h +117 -0
  679. casadi/include/eigen3/unsupported/Eigen/src/MoreVectorization/MathFunctions.h +95 -0
  680. casadi/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/HybridNonLinearSolver.h +601 -0
  681. casadi/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/LevenbergMarquardt.h +657 -0
  682. casadi/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/chkder.h +66 -0
  683. casadi/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/covar.h +70 -0
  684. casadi/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/dogleg.h +107 -0
  685. casadi/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/fdjac1.h +79 -0
  686. casadi/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/lmpar.h +298 -0
  687. casadi/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/qrsolv.h +91 -0
  688. casadi/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/r1mpyq.h +30 -0
  689. casadi/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/r1updt.h +99 -0
  690. casadi/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/rwupdt.h +49 -0
  691. casadi/include/eigen3/unsupported/Eigen/src/NumericalDiff/NumericalDiff.h +130 -0
  692. casadi/include/eigen3/unsupported/Eigen/src/Polynomials/Companion.h +280 -0
  693. casadi/include/eigen3/unsupported/Eigen/src/Polynomials/PolynomialSolver.h +428 -0
  694. casadi/include/eigen3/unsupported/Eigen/src/Polynomials/PolynomialUtils.h +143 -0
  695. casadi/include/eigen3/unsupported/Eigen/src/Skyline/SkylineInplaceLU.h +352 -0
  696. casadi/include/eigen3/unsupported/Eigen/src/Skyline/SkylineMatrix.h +862 -0
  697. casadi/include/eigen3/unsupported/Eigen/src/Skyline/SkylineMatrixBase.h +212 -0
  698. casadi/include/eigen3/unsupported/Eigen/src/Skyline/SkylineProduct.h +295 -0
  699. casadi/include/eigen3/unsupported/Eigen/src/Skyline/SkylineStorage.h +259 -0
  700. casadi/include/eigen3/unsupported/Eigen/src/Skyline/SkylineUtil.h +89 -0
  701. casadi/include/eigen3/unsupported/Eigen/src/SparseExtra/BlockOfDynamicSparseMatrix.h +122 -0
  702. casadi/include/eigen3/unsupported/Eigen/src/SparseExtra/BlockSparseMatrix.h +1079 -0
  703. casadi/include/eigen3/unsupported/Eigen/src/SparseExtra/DynamicSparseMatrix.h +404 -0
  704. casadi/include/eigen3/unsupported/Eigen/src/SparseExtra/MarketIO.h +282 -0
  705. casadi/include/eigen3/unsupported/Eigen/src/SparseExtra/MatrixMarketIterator.h +247 -0
  706. casadi/include/eigen3/unsupported/Eigen/src/SparseExtra/RandomSetter.h +349 -0
  707. casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsArrayAPI.h +286 -0
  708. casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsBFloat16.h +68 -0
  709. casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h +357 -0
  710. casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsHalf.h +66 -0
  711. casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h +1959 -0
  712. casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsPacketMath.h +118 -0
  713. casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/HipVectorCompatibility.h +67 -0
  714. casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsArrayAPI.h +167 -0
  715. casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsBFloat16.h +58 -0
  716. casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h +330 -0
  717. casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsHalf.h +58 -0
  718. casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h +2045 -0
  719. casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsPacketMath.h +79 -0
  720. casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/AVX/BesselFunctions.h +46 -0
  721. casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/AVX/SpecialFunctions.h +16 -0
  722. casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/AVX512/BesselFunctions.h +46 -0
  723. casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/AVX512/SpecialFunctions.h +16 -0
  724. casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/GPU/SpecialFunctions.h +369 -0
  725. casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/NEON/BesselFunctions.h +54 -0
  726. casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/NEON/SpecialFunctions.h +34 -0
  727. casadi/include/eigen3/unsupported/Eigen/src/Splines/Spline.h +507 -0
  728. casadi/include/eigen3/unsupported/Eigen/src/Splines/SplineFitting.h +431 -0
  729. casadi/include/eigen3/unsupported/Eigen/src/Splines/SplineFwd.h +93 -0
  730. casadi/include/highs/HConfig.h +23 -0
  731. casadi/include/highs/Highs.h +1270 -0
  732. casadi/include/highs/filereaderlp/builder.hpp +26 -0
  733. casadi/include/highs/filereaderlp/model.hpp +71 -0
  734. casadi/include/highs/filereaderlp/reader.hpp +10 -0
  735. casadi/include/highs/fortran/highs_fortran_api.mod +0 -0
  736. casadi/include/highs/interfaces/OsiHiGHSSolverInterface.hpp +415 -0
  737. casadi/include/highs/interfaces/highs_c_api.h +1720 -0
  738. casadi/include/highs/io/Filereader.h +49 -0
  739. casadi/include/highs/io/FilereaderEms.h +35 -0
  740. casadi/include/highs/io/FilereaderLp.h +56 -0
  741. casadi/include/highs/io/FilereaderMps.h +32 -0
  742. casadi/include/highs/io/HMPSIO.h +83 -0
  743. casadi/include/highs/io/HMpsFF.h +235 -0
  744. casadi/include/highs/io/HighsIO.h +93 -0
  745. casadi/include/highs/io/LoadOptions.h +26 -0
  746. casadi/include/highs/ipm/IpxWrapper.h +74 -0
  747. casadi/include/highs/lp_data/HConst.h +250 -0
  748. casadi/include/highs/lp_data/HStruct.h +100 -0
  749. casadi/include/highs/lp_data/HighsAnalysis.h +28 -0
  750. casadi/include/highs/lp_data/HighsDebug.h +39 -0
  751. casadi/include/highs/lp_data/HighsInfo.h +305 -0
  752. casadi/include/highs/lp_data/HighsInfoDebug.h +32 -0
  753. casadi/include/highs/lp_data/HighsLp.h +77 -0
  754. casadi/include/highs/lp_data/HighsLpSolverObject.h +47 -0
  755. casadi/include/highs/lp_data/HighsLpUtils.h +255 -0
  756. casadi/include/highs/lp_data/HighsModelUtils.h +95 -0
  757. casadi/include/highs/lp_data/HighsOptions.h +1061 -0
  758. casadi/include/highs/lp_data/HighsRanging.h +48 -0
  759. casadi/include/highs/lp_data/HighsRuntimeOptions.h +261 -0
  760. casadi/include/highs/lp_data/HighsSolution.h +137 -0
  761. casadi/include/highs/lp_data/HighsSolutionDebug.h +92 -0
  762. casadi/include/highs/lp_data/HighsSolve.h +26 -0
  763. casadi/include/highs/lp_data/HighsStatus.h +34 -0
  764. casadi/include/highs/mip/HighsCliqueTable.h +320 -0
  765. casadi/include/highs/mip/HighsConflictPool.h +114 -0
  766. casadi/include/highs/mip/HighsCutGeneration.h +98 -0
  767. casadi/include/highs/mip/HighsCutPool.h +173 -0
  768. casadi/include/highs/mip/HighsDebugSol.h +144 -0
  769. casadi/include/highs/mip/HighsDomain.h +633 -0
  770. casadi/include/highs/mip/HighsDomainChange.h +53 -0
  771. casadi/include/highs/mip/HighsDynamicRowMatrix.h +107 -0
  772. casadi/include/highs/mip/HighsGFkSolve.h +443 -0
  773. casadi/include/highs/mip/HighsImplications.h +148 -0
  774. casadi/include/highs/mip/HighsLpAggregator.h +55 -0
  775. casadi/include/highs/mip/HighsLpRelaxation.h +357 -0
  776. casadi/include/highs/mip/HighsMipSolver.h +91 -0
  777. casadi/include/highs/mip/HighsMipSolverData.h +189 -0
  778. casadi/include/highs/mip/HighsModkSeparator.h +65 -0
  779. casadi/include/highs/mip/HighsNodeQueue.h +318 -0
  780. casadi/include/highs/mip/HighsObjectiveFunction.h +76 -0
  781. casadi/include/highs/mip/HighsPathSeparator.h +44 -0
  782. casadi/include/highs/mip/HighsPrimalHeuristics.h +70 -0
  783. casadi/include/highs/mip/HighsPseudocost.h +353 -0
  784. casadi/include/highs/mip/HighsRedcostFixing.h +47 -0
  785. casadi/include/highs/mip/HighsSearch.h +245 -0
  786. casadi/include/highs/mip/HighsSeparation.h +46 -0
  787. casadi/include/highs/mip/HighsSeparator.h +58 -0
  788. casadi/include/highs/mip/HighsTableauSeparator.h +39 -0
  789. casadi/include/highs/mip/HighsTransformedLp.h +68 -0
  790. casadi/include/highs/model/HighsHessian.h +47 -0
  791. casadi/include/highs/model/HighsHessianUtils.h +47 -0
  792. casadi/include/highs/model/HighsModel.h +41 -0
  793. casadi/include/highs/parallel/HighsBinarySemaphore.h +113 -0
  794. casadi/include/highs/parallel/HighsCacheAlign.h +87 -0
  795. casadi/include/highs/parallel/HighsCombinable.h +121 -0
  796. casadi/include/highs/parallel/HighsMutex.h +128 -0
  797. casadi/include/highs/parallel/HighsParallel.h +128 -0
  798. casadi/include/highs/parallel/HighsRaceTimer.h +43 -0
  799. casadi/include/highs/parallel/HighsSchedulerConstants.h +24 -0
  800. casadi/include/highs/parallel/HighsSpinMutex.h +52 -0
  801. casadi/include/highs/parallel/HighsSplitDeque.h +583 -0
  802. casadi/include/highs/parallel/HighsTask.h +176 -0
  803. casadi/include/highs/parallel/HighsTaskExecutor.h +201 -0
  804. casadi/include/highs/presolve/HPresolve.h +349 -0
  805. casadi/include/highs/presolve/HPresolveAnalysis.h +53 -0
  806. casadi/include/highs/presolve/HighsPostsolveStack.h +846 -0
  807. casadi/include/highs/presolve/HighsSymmetry.h +285 -0
  808. casadi/include/highs/presolve/ICrash.h +120 -0
  809. casadi/include/highs/presolve/ICrashUtil.h +65 -0
  810. casadi/include/highs/presolve/ICrashX.h +28 -0
  811. casadi/include/highs/presolve/PresolveComponent.h +131 -0
  812. casadi/include/highs/qpsolver/perturbation.hpp +8 -0
  813. casadi/include/highs/qpsolver/quass.hpp +23 -0
  814. casadi/include/highs/qpsolver/scaling.hpp +8 -0
  815. casadi/include/highs/qpsolver/vector.hpp +235 -0
  816. casadi/include/highs/simplex/HApp.h +424 -0
  817. casadi/include/highs/simplex/HEkk.h +368 -0
  818. casadi/include/highs/simplex/HEkkDual.h +517 -0
  819. casadi/include/highs/simplex/HEkkDualRHS.h +139 -0
  820. casadi/include/highs/simplex/HEkkDualRow.h +206 -0
  821. casadi/include/highs/simplex/HEkkPrimal.h +192 -0
  822. casadi/include/highs/simplex/HSimplex.h +49 -0
  823. casadi/include/highs/simplex/HSimplexDebug.h +53 -0
  824. casadi/include/highs/simplex/HSimplexNla.h +186 -0
  825. casadi/include/highs/simplex/HSimplexReport.h +26 -0
  826. casadi/include/highs/simplex/HighsSimplexAnalysis.h +377 -0
  827. casadi/include/highs/simplex/SimplexConst.h +272 -0
  828. casadi/include/highs/simplex/SimplexStruct.h +258 -0
  829. casadi/include/highs/simplex/SimplexTimer.h +429 -0
  830. casadi/include/highs/test/DevKkt.h +148 -0
  831. casadi/include/highs/test/KktCh2.h +84 -0
  832. casadi/include/highs/util/FactorTimer.h +226 -0
  833. casadi/include/highs/util/HFactor.h +560 -0
  834. casadi/include/highs/util/HFactorConst.h +86 -0
  835. casadi/include/highs/util/HFactorDebug.h +60 -0
  836. casadi/include/highs/util/HSet.h +94 -0
  837. casadi/include/highs/util/HVector.h +27 -0
  838. casadi/include/highs/util/HVectorBase.h +107 -0
  839. casadi/include/highs/util/HighsCDouble.h +312 -0
  840. casadi/include/highs/util/HighsComponent.h +58 -0
  841. casadi/include/highs/util/HighsDataStack.h +88 -0
  842. casadi/include/highs/util/HighsDisjointSets.h +112 -0
  843. casadi/include/highs/util/HighsHash.h +1255 -0
  844. casadi/include/highs/util/HighsHashTree.h +1425 -0
  845. casadi/include/highs/util/HighsInt.h +41 -0
  846. casadi/include/highs/util/HighsIntegers.h +218 -0
  847. casadi/include/highs/util/HighsLinearSumBounds.h +162 -0
  848. casadi/include/highs/util/HighsMatrixPic.h +42 -0
  849. casadi/include/highs/util/HighsMatrixSlice.h +563 -0
  850. casadi/include/highs/util/HighsMatrixUtils.h +59 -0
  851. casadi/include/highs/util/HighsRandom.h +235 -0
  852. casadi/include/highs/util/HighsRbTree.h +457 -0
  853. casadi/include/highs/util/HighsSort.h +136 -0
  854. casadi/include/highs/util/HighsSparseMatrix.h +140 -0
  855. casadi/include/highs/util/HighsSparseVectorSum.h +100 -0
  856. casadi/include/highs/util/HighsSplay.h +140 -0
  857. casadi/include/highs/util/HighsTimer.h +335 -0
  858. casadi/include/highs/util/HighsUtils.h +193 -0
  859. casadi/include/highs/util/stringutil.h +41 -0
  860. casadi/include/hpipm_aux_mem.h +52 -0
  861. casadi/include/hpipm_aux_string.h +50 -0
  862. casadi/include/hpipm_common.h +76 -0
  863. casadi/include/hpipm_d_cast_qcqp.h +71 -0
  864. casadi/include/hpipm_d_cond.h +135 -0
  865. casadi/include/hpipm_d_cond_aux.h +92 -0
  866. casadi/include/hpipm_d_cond_qcqp.h +129 -0
  867. casadi/include/hpipm_d_core_qp_ipm.h +101 -0
  868. casadi/include/hpipm_d_core_qp_ipm_aux.h +68 -0
  869. casadi/include/hpipm_d_dense_qcqp.h +199 -0
  870. casadi/include/hpipm_d_dense_qcqp_dim.h +98 -0
  871. casadi/include/hpipm_d_dense_qcqp_ipm.h +193 -0
  872. casadi/include/hpipm_d_dense_qcqp_res.h +108 -0
  873. casadi/include/hpipm_d_dense_qcqp_sol.h +85 -0
  874. casadi/include/hpipm_d_dense_qcqp_utils.h +82 -0
  875. casadi/include/hpipm_d_dense_qp.h +207 -0
  876. casadi/include/hpipm_d_dense_qp_dim.h +92 -0
  877. casadi/include/hpipm_d_dense_qp_ipm.h +260 -0
  878. casadi/include/hpipm_d_dense_qp_kkt.h +72 -0
  879. casadi/include/hpipm_d_dense_qp_res.h +106 -0
  880. casadi/include/hpipm_d_dense_qp_sol.h +94 -0
  881. casadi/include/hpipm_d_dense_qp_utils.h +83 -0
  882. casadi/include/hpipm_d_ocp_qcqp.h +322 -0
  883. casadi/include/hpipm_d_ocp_qcqp_dim.h +130 -0
  884. casadi/include/hpipm_d_ocp_qcqp_ipm.h +192 -0
  885. casadi/include/hpipm_d_ocp_qcqp_red.h +118 -0
  886. casadi/include/hpipm_d_ocp_qcqp_res.h +115 -0
  887. casadi/include/hpipm_d_ocp_qcqp_sol.h +114 -0
  888. casadi/include/hpipm_d_ocp_qcqp_utils.h +81 -0
  889. casadi/include/hpipm_d_ocp_qp.h +306 -0
  890. casadi/include/hpipm_d_ocp_qp_dim.h +142 -0
  891. casadi/include/hpipm_d_ocp_qp_ipm.h +252 -0
  892. casadi/include/hpipm_d_ocp_qp_kkt.h +66 -0
  893. casadi/include/hpipm_d_ocp_qp_red.h +117 -0
  894. casadi/include/hpipm_d_ocp_qp_res.h +113 -0
  895. casadi/include/hpipm_d_ocp_qp_sol.h +128 -0
  896. casadi/include/hpipm_d_ocp_qp_utils.h +82 -0
  897. casadi/include/hpipm_d_part_cond.h +115 -0
  898. casadi/include/hpipm_d_part_cond_qcqp.h +106 -0
  899. casadi/include/hpipm_d_sim_erk.h +122 -0
  900. casadi/include/hpipm_d_sim_rk.h +71 -0
  901. casadi/include/hpipm_d_tree_ocp_qcqp.h +213 -0
  902. casadi/include/hpipm_d_tree_ocp_qcqp_dim.h +117 -0
  903. casadi/include/hpipm_d_tree_ocp_qcqp_ipm.h +191 -0
  904. casadi/include/hpipm_d_tree_ocp_qcqp_res.h +109 -0
  905. casadi/include/hpipm_d_tree_ocp_qcqp_sol.h +99 -0
  906. casadi/include/hpipm_d_tree_ocp_qcqp_utils.h +84 -0
  907. casadi/include/hpipm_d_tree_ocp_qp.h +195 -0
  908. casadi/include/hpipm_d_tree_ocp_qp_dim.h +111 -0
  909. casadi/include/hpipm_d_tree_ocp_qp_ipm.h +209 -0
  910. casadi/include/hpipm_d_tree_ocp_qp_kkt.h +52 -0
  911. casadi/include/hpipm_d_tree_ocp_qp_res.h +107 -0
  912. casadi/include/hpipm_d_tree_ocp_qp_sol.h +100 -0
  913. casadi/include/hpipm_d_tree_ocp_qp_utils.h +83 -0
  914. casadi/include/hpipm_m_dense_qp.h +68 -0
  915. casadi/include/hpipm_m_dense_qp_dim.h +68 -0
  916. casadi/include/hpipm_m_ocp_qp.h +49 -0
  917. casadi/include/hpipm_m_ocp_qp_ipm_hard.h +115 -0
  918. casadi/include/hpipm_m_ocp_qp_kkt.h +45 -0
  919. casadi/include/hpipm_s_cast_qcqp.h +72 -0
  920. casadi/include/hpipm_s_cond.h +137 -0
  921. casadi/include/hpipm_s_cond_aux.h +92 -0
  922. casadi/include/hpipm_s_cond_qcqp.h +130 -0
  923. casadi/include/hpipm_s_core_qp_ipm.h +101 -0
  924. casadi/include/hpipm_s_core_qp_ipm_aux.h +68 -0
  925. casadi/include/hpipm_s_dense_qcqp.h +200 -0
  926. casadi/include/hpipm_s_dense_qcqp_dim.h +99 -0
  927. casadi/include/hpipm_s_dense_qcqp_ipm.h +204 -0
  928. casadi/include/hpipm_s_dense_qcqp_res.h +109 -0
  929. casadi/include/hpipm_s_dense_qcqp_sol.h +86 -0
  930. casadi/include/hpipm_s_dense_qcqp_utils.h +83 -0
  931. casadi/include/hpipm_s_dense_qp.h +207 -0
  932. casadi/include/hpipm_s_dense_qp_dim.h +94 -0
  933. casadi/include/hpipm_s_dense_qp_ipm.h +260 -0
  934. casadi/include/hpipm_s_dense_qp_kkt.h +72 -0
  935. casadi/include/hpipm_s_dense_qp_res.h +107 -0
  936. casadi/include/hpipm_s_dense_qp_sol.h +94 -0
  937. casadi/include/hpipm_s_dense_qp_utils.h +84 -0
  938. casadi/include/hpipm_s_ocp_qcqp.h +322 -0
  939. casadi/include/hpipm_s_ocp_qcqp_dim.h +131 -0
  940. casadi/include/hpipm_s_ocp_qcqp_ipm.h +193 -0
  941. casadi/include/hpipm_s_ocp_qcqp_red.h +119 -0
  942. casadi/include/hpipm_s_ocp_qcqp_res.h +116 -0
  943. casadi/include/hpipm_s_ocp_qcqp_sol.h +115 -0
  944. casadi/include/hpipm_s_ocp_qcqp_utils.h +82 -0
  945. casadi/include/hpipm_s_ocp_qp.h +306 -0
  946. casadi/include/hpipm_s_ocp_qp_dim.h +141 -0
  947. casadi/include/hpipm_s_ocp_qp_ipm.h +252 -0
  948. casadi/include/hpipm_s_ocp_qp_kkt.h +66 -0
  949. casadi/include/hpipm_s_ocp_qp_red.h +118 -0
  950. casadi/include/hpipm_s_ocp_qp_res.h +115 -0
  951. casadi/include/hpipm_s_ocp_qp_sol.h +128 -0
  952. casadi/include/hpipm_s_ocp_qp_utils.h +83 -0
  953. casadi/include/hpipm_s_part_cond.h +115 -0
  954. casadi/include/hpipm_s_part_cond_qcqp.h +107 -0
  955. casadi/include/hpipm_s_sim_erk.h +121 -0
  956. casadi/include/hpipm_s_sim_rk.h +72 -0
  957. casadi/include/hpipm_s_tree_ocp_qcqp.h +213 -0
  958. casadi/include/hpipm_s_tree_ocp_qcqp_dim.h +118 -0
  959. casadi/include/hpipm_s_tree_ocp_qcqp_ipm.h +192 -0
  960. casadi/include/hpipm_s_tree_ocp_qcqp_res.h +110 -0
  961. casadi/include/hpipm_s_tree_ocp_qcqp_sol.h +97 -0
  962. casadi/include/hpipm_s_tree_ocp_qcqp_utils.h +85 -0
  963. casadi/include/hpipm_s_tree_ocp_qp.h +196 -0
  964. casadi/include/hpipm_s_tree_ocp_qp_dim.h +111 -0
  965. casadi/include/hpipm_s_tree_ocp_qp_ipm.h +208 -0
  966. casadi/include/hpipm_s_tree_ocp_qp_kkt.h +54 -0
  967. casadi/include/hpipm_s_tree_ocp_qp_res.h +108 -0
  968. casadi/include/hpipm_s_tree_ocp_qp_sol.h +98 -0
  969. casadi/include/hpipm_s_tree_ocp_qp_utils.h +84 -0
  970. casadi/include/hpipm_scenario_tree.h +70 -0
  971. casadi/include/hpipm_timing.h +67 -0
  972. casadi/include/hpipm_tree.h +76 -0
  973. casadi/include/licenses/FMI-Standard-2.0.2/LICENSE.txt +473 -0
  974. casadi/include/licenses/FMI-Standard-3.0/LICENSE.txt +464 -0
  975. casadi/include/licenses/blasfeo-external/LICENSE.txt +26 -0
  976. casadi/include/licenses/bonmin-external/Bonmin/LICENSE +87 -0
  977. casadi/include/licenses/bonmin-external/LICENSE +3 -0
  978. casadi/include/licenses/casadi/LICENSE/LICENSE.txt +165 -0
  979. casadi/include/licenses/casadi-sundials/LICENSE +64 -0
  980. casadi/include/licenses/casadi-sundials/cvodes/LICENSE +60 -0
  981. casadi/include/licenses/casadi-sundials/idas/LICENSE +59 -0
  982. casadi/include/licenses/casadi-sundials/kinsol/LICENSE +59 -0
  983. casadi/include/licenses/casadi-sundials/sundials/LICENSE +67 -0
  984. casadi/include/licenses/cbc-external/Cbc/LICENSE +239 -0
  985. casadi/include/licenses/cbc-external/LICENSE +245 -0
  986. casadi/include/licenses/cgl-external/Cgl/LICENSE +239 -0
  987. casadi/include/licenses/cgl-external/LICENSE +245 -0
  988. casadi/include/licenses/clp-external/Clp/LICENSE +239 -0
  989. casadi/include/licenses/clp-external/LICENSE +245 -0
  990. casadi/include/licenses/coinutils-external/CoinUtils/LICENSE +239 -0
  991. casadi/include/licenses/coinutils-external/LICENSE +245 -0
  992. casadi/include/licenses/highs-external/LICENSE +21 -0
  993. casadi/include/licenses/highs-external/extern/filereaderlp/LICENSE +19 -0
  994. casadi/include/licenses/hpipm-external/LICENSE.txt +26 -0
  995. casadi/include/licenses/ipopt-external/LICENSE +260 -0
  996. casadi/include/licenses/metis-external/LICENSE +87 -0
  997. casadi/include/licenses/metis-external/metis-4.0/LICENSE +18 -0
  998. casadi/include/licenses/mockups-external/LICENSE +21 -0
  999. casadi/include/licenses/mumps-external/LICENSE +87 -0
  1000. casadi/include/licenses/mumps-external/MUMPS/LICENSE +50 -0
  1001. casadi/include/licenses/openblas-external/LICENSE +29 -0
  1002. casadi/include/licenses/openblas-external/ctest/LICENSE +23 -0
  1003. casadi/include/licenses/openblas-external/lapack-netlib/LAPACKE/LICENSE +26 -0
  1004. casadi/include/licenses/openblas-external/lapack-netlib/LICENSE +48 -0
  1005. casadi/include/licenses/openblas-external/reference/LICENSE +23 -0
  1006. casadi/include/licenses/openblas-external/relapack/LICENSE +22 -0
  1007. casadi/include/licenses/openblas-external/test/LICENSE +23 -0
  1008. casadi/include/licenses/osi-external/LICENSE +245 -0
  1009. casadi/include/licenses/osi-external/Osi/LICENSE +239 -0
  1010. casadi/include/licenses/osqp-external/LICENSE +201 -0
  1011. casadi/include/licenses/osqp-external/lin_sys/direct/qdldl/amd/LICENSE +36 -0
  1012. casadi/include/licenses/osqp-external/lin_sys/direct/qdldl/qdldl_sources/LICENSE +201 -0
  1013. casadi/include/licenses/proxqp-external/LICENSE +25 -0
  1014. casadi/include/licenses/proxqp-external/bindings/python/external/pybind11/LICENSE +29 -0
  1015. casadi/include/licenses/proxqp-external/cmake-module/LICENSE +4 -0
  1016. casadi/include/licenses/proxqp-external/cmake-module/doxygen/MathJax/LICENSE +202 -0
  1017. casadi/include/licenses/proxqp-external/external/cereal/LICENSE +24 -0
  1018. casadi/include/licenses/proxqp-external/external/cereal/include/cereal/external/LICENSE +21 -0
  1019. casadi/include/licenses/proxqp-external/external/cereal/include/cereal/external/rapidjson/LICENSE +13 -0
  1020. casadi/include/licenses/proxqp-external/external/cereal/include/cereal/external/rapidjson/msinttypes/LICENSE +29 -0
  1021. casadi/include/licenses/qpOASES/LICENSE.txt +503 -0
  1022. casadi/include/licenses/superscs-external/LICENSE.txt +24 -0
  1023. casadi/include/licenses/tinyxml2-9.0.0/LICENSE.txt +18 -0
  1024. casadi/include/osqp/auxil.h +181 -0
  1025. casadi/include/osqp/constants.h +129 -0
  1026. casadi/include/osqp/cs.h +180 -0
  1027. casadi/include/osqp/ctrlc.h +56 -0
  1028. casadi/include/osqp/error.h +38 -0
  1029. casadi/include/osqp/glob_opts.h +167 -0
  1030. casadi/include/osqp/lin_alg.h +216 -0
  1031. casadi/include/osqp/lin_sys.h +54 -0
  1032. casadi/include/osqp/osqp.h +430 -0
  1033. casadi/include/osqp/osqp_configure.h +49 -0
  1034. casadi/include/osqp/polish.h +25 -0
  1035. casadi/include/osqp/proj.h +37 -0
  1036. casadi/include/osqp/scaling.h +44 -0
  1037. casadi/include/osqp/types.h +326 -0
  1038. casadi/include/osqp/util.h +222 -0
  1039. casadi/include/proxsuite/config.hpp +68 -0
  1040. casadi/include/proxsuite/deprecated.hpp +56 -0
  1041. casadi/include/proxsuite/fwd.hpp +52 -0
  1042. casadi/include/proxsuite/helpers/common.hpp +70 -0
  1043. casadi/include/proxsuite/helpers/instruction-set.hpp +275 -0
  1044. casadi/include/proxsuite/helpers/optional.hpp +46 -0
  1045. casadi/include/proxsuite/helpers/tl-optional.hpp +2472 -0
  1046. casadi/include/proxsuite/helpers/version.hpp +39 -0
  1047. casadi/include/proxsuite/linalg/dense/core.hpp +863 -0
  1048. casadi/include/proxsuite/linalg/dense/factorize.hpp +375 -0
  1049. casadi/include/proxsuite/linalg/dense/ldlt.hpp +817 -0
  1050. casadi/include/proxsuite/linalg/dense/modify.hpp +333 -0
  1051. casadi/include/proxsuite/linalg/dense/solve.hpp +38 -0
  1052. casadi/include/proxsuite/linalg/dense/update.hpp +330 -0
  1053. casadi/include/proxsuite/linalg/sparse/core.hpp +531 -0
  1054. casadi/include/proxsuite/linalg/sparse/factorize.hpp +1303 -0
  1055. casadi/include/proxsuite/linalg/sparse/rowmod.hpp +443 -0
  1056. casadi/include/proxsuite/linalg/sparse/update.hpp +348 -0
  1057. casadi/include/proxsuite/linalg/veg/internal/assert_impl.hpp +20 -0
  1058. casadi/include/proxsuite/linalg/veg/internal/collection_algo.hpp +93 -0
  1059. casadi/include/proxsuite/linalg/veg/internal/dbg.hpp +15 -0
  1060. casadi/include/proxsuite/linalg/veg/internal/delete_special_members.hpp +77 -0
  1061. casadi/include/proxsuite/linalg/veg/internal/dyn_index.hpp +292 -0
  1062. casadi/include/proxsuite/linalg/veg/internal/epilogue.hpp +31 -0
  1063. casadi/include/proxsuite/linalg/veg/internal/external/hedley.ext.hpp +2074 -0
  1064. casadi/include/proxsuite/linalg/veg/internal/external/unhedley.ext.hpp +148 -0
  1065. casadi/include/proxsuite/linalg/veg/internal/fix_index.hpp +339 -0
  1066. casadi/include/proxsuite/linalg/veg/internal/has_asan.hpp +17 -0
  1067. casadi/include/proxsuite/linalg/veg/internal/integer_seq.hpp +248 -0
  1068. casadi/include/proxsuite/linalg/veg/internal/macros.hpp +1312 -0
  1069. casadi/include/proxsuite/linalg/veg/internal/narrow.hpp +46 -0
  1070. casadi/include/proxsuite/linalg/veg/internal/preprocessor.hpp +434 -0
  1071. casadi/include/proxsuite/linalg/veg/internal/prologue.hpp +157 -0
  1072. casadi/include/proxsuite/linalg/veg/internal/std.hpp +13 -0
  1073. casadi/include/proxsuite/linalg/veg/internal/terminate.hpp +22 -0
  1074. casadi/include/proxsuite/linalg/veg/internal/typedefs.hpp +58 -0
  1075. casadi/include/proxsuite/linalg/veg/memory/address.hpp +97 -0
  1076. casadi/include/proxsuite/linalg/veg/memory/alloc.hpp +352 -0
  1077. casadi/include/proxsuite/linalg/veg/memory/dynamic_stack.hpp +504 -0
  1078. casadi/include/proxsuite/linalg/veg/memory/placement.hpp +202 -0
  1079. casadi/include/proxsuite/linalg/veg/memory/stack_alloc.hpp +239 -0
  1080. casadi/include/proxsuite/linalg/veg/ref.hpp +148 -0
  1081. casadi/include/proxsuite/linalg/veg/slice.hpp +240 -0
  1082. casadi/include/proxsuite/linalg/veg/tuple.hpp +876 -0
  1083. casadi/include/proxsuite/linalg/veg/type_traits/alloc.hpp +169 -0
  1084. casadi/include/proxsuite/linalg/veg/type_traits/assignable.hpp +53 -0
  1085. casadi/include/proxsuite/linalg/veg/type_traits/constructible.hpp +217 -0
  1086. casadi/include/proxsuite/linalg/veg/type_traits/core.hpp +298 -0
  1087. casadi/include/proxsuite/linalg/veg/type_traits/invocable.hpp +47 -0
  1088. casadi/include/proxsuite/linalg/veg/type_traits/primitives.hpp +43 -0
  1089. casadi/include/proxsuite/linalg/veg/type_traits/tags.hpp +47 -0
  1090. casadi/include/proxsuite/linalg/veg/util/assert.hpp +48 -0
  1091. casadi/include/proxsuite/linalg/veg/util/dbg.hpp +6 -0
  1092. casadi/include/proxsuite/linalg/veg/util/defer.hpp +57 -0
  1093. casadi/include/proxsuite/linalg/veg/util/dynstack_alloc.hpp +19 -0
  1094. casadi/include/proxsuite/linalg/veg/util/get.hpp +153 -0
  1095. casadi/include/proxsuite/linalg/veg/util/index.hpp +6 -0
  1096. casadi/include/proxsuite/linalg/veg/util/unreachable.hpp +41 -0
  1097. casadi/include/proxsuite/linalg/veg/vec.hpp +1034 -0
  1098. casadi/include/proxsuite/proxqp/dense/dense.hpp +10 -0
  1099. casadi/include/proxsuite/proxqp/dense/fwd.hpp +55 -0
  1100. casadi/include/proxsuite/proxqp/dense/helpers.hpp +520 -0
  1101. casadi/include/proxsuite/proxqp/dense/linesearch.hpp +517 -0
  1102. casadi/include/proxsuite/proxqp/dense/model.hpp +147 -0
  1103. casadi/include/proxsuite/proxqp/dense/preconditioner/identity.hpp +113 -0
  1104. casadi/include/proxsuite/proxqp/dense/preconditioner/ruiz.hpp +571 -0
  1105. casadi/include/proxsuite/proxqp/dense/solver.hpp +1330 -0
  1106. casadi/include/proxsuite/proxqp/dense/utils.hpp +415 -0
  1107. casadi/include/proxsuite/proxqp/dense/views.hpp +1466 -0
  1108. casadi/include/proxsuite/proxqp/dense/workspace.hpp +264 -0
  1109. casadi/include/proxsuite/proxqp/dense/wrapper.hpp +491 -0
  1110. casadi/include/proxsuite/proxqp/results.hpp +212 -0
  1111. casadi/include/proxsuite/proxqp/settings.hpp +302 -0
  1112. casadi/include/proxsuite/proxqp/sparse/fwd.hpp +58 -0
  1113. casadi/include/proxsuite/proxqp/sparse/helpers.hpp +309 -0
  1114. casadi/include/proxsuite/proxqp/sparse/model.hpp +228 -0
  1115. casadi/include/proxsuite/proxqp/sparse/preconditioner/identity.hpp +64 -0
  1116. casadi/include/proxsuite/proxqp/sparse/preconditioner/ruiz.hpp +569 -0
  1117. casadi/include/proxsuite/proxqp/sparse/solver.hpp +1441 -0
  1118. casadi/include/proxsuite/proxqp/sparse/sparse.hpp +10 -0
  1119. casadi/include/proxsuite/proxqp/sparse/utils.hpp +815 -0
  1120. casadi/include/proxsuite/proxqp/sparse/views.hpp +63 -0
  1121. casadi/include/proxsuite/proxqp/sparse/workspace.hpp +790 -0
  1122. casadi/include/proxsuite/proxqp/sparse/wrapper.hpp +772 -0
  1123. casadi/include/proxsuite/proxqp/status.hpp +46 -0
  1124. casadi/include/proxsuite/proxqp/timings.hpp +101 -0
  1125. casadi/include/proxsuite/proxqp/utils/prints.hpp +47 -0
  1126. casadi/include/proxsuite/proxqp/utils/random_qp_problems.hpp +669 -0
  1127. casadi/include/proxsuite/serialization/archive.hpp +231 -0
  1128. casadi/include/proxsuite/serialization/eigen.hpp +107 -0
  1129. casadi/include/proxsuite/serialization/model.hpp +34 -0
  1130. casadi/include/proxsuite/serialization/results.hpp +74 -0
  1131. casadi/include/proxsuite/serialization/settings.hpp +60 -0
  1132. casadi/include/proxsuite/serialization/wrapper.hpp +24 -0
  1133. casadi/include/proxsuite/warning.hpp +35 -0
  1134. casadi/include/simde/arm/neon/aba.h +208 -0
  1135. casadi/include/simde/arm/neon/abd.h +384 -0
  1136. casadi/include/simde/arm/neon/abdl.h +147 -0
  1137. casadi/include/simde/arm/neon/abs.h +408 -0
  1138. casadi/include/simde/arm/neon/add.h +681 -0
  1139. casadi/include/simde/arm/neon/addl.h +127 -0
  1140. casadi/include/simde/arm/neon/addl_high.h +127 -0
  1141. casadi/include/simde/arm/neon/addlv.h +317 -0
  1142. casadi/include/simde/arm/neon/addv.h +447 -0
  1143. casadi/include/simde/arm/neon/addw.h +222 -0
  1144. casadi/include/simde/arm/neon/addw_high.h +193 -0
  1145. casadi/include/simde/arm/neon/and.h +552 -0
  1146. casadi/include/simde/arm/neon/bic.h +472 -0
  1147. casadi/include/simde/arm/neon/bsl.h +448 -0
  1148. casadi/include/simde/arm/neon/cagt.h +168 -0
  1149. casadi/include/simde/arm/neon/ceq.h +711 -0
  1150. casadi/include/simde/arm/neon/ceqz.h +335 -0
  1151. casadi/include/simde/arm/neon/cge.h +677 -0
  1152. casadi/include/simde/arm/neon/cgez.h +378 -0
  1153. casadi/include/simde/arm/neon/cgt.h +686 -0
  1154. casadi/include/simde/arm/neon/cgtz.h +380 -0
  1155. casadi/include/simde/arm/neon/cle.h +677 -0
  1156. casadi/include/simde/arm/neon/clez.h +378 -0
  1157. casadi/include/simde/arm/neon/cls.h +148 -0
  1158. casadi/include/simde/arm/neon/clt.h +679 -0
  1159. casadi/include/simde/arm/neon/cltz.h +263 -0
  1160. casadi/include/simde/arm/neon/clz.h +423 -0
  1161. casadi/include/simde/arm/neon/cnt.h +145 -0
  1162. casadi/include/simde/arm/neon/combine.h +343 -0
  1163. casadi/include/simde/arm/neon/create.h +186 -0
  1164. casadi/include/simde/arm/neon/cvt.h +492 -0
  1165. casadi/include/simde/arm/neon/dot.h +171 -0
  1166. casadi/include/simde/arm/neon/dot_lane.h +196 -0
  1167. casadi/include/simde/arm/neon/dup_lane.h +702 -0
  1168. casadi/include/simde/arm/neon/dup_n.h +534 -0
  1169. casadi/include/simde/arm/neon/eor.h +552 -0
  1170. casadi/include/simde/arm/neon/ext.h +887 -0
  1171. casadi/include/simde/arm/neon/get_high.h +260 -0
  1172. casadi/include/simde/arm/neon/get_lane.h +499 -0
  1173. casadi/include/simde/arm/neon/get_low.h +276 -0
  1174. casadi/include/simde/arm/neon/hadd.h +287 -0
  1175. casadi/include/simde/arm/neon/hsub.h +287 -0
  1176. casadi/include/simde/arm/neon/ld1.h +399 -0
  1177. casadi/include/simde/arm/neon/ld3.h +609 -0
  1178. casadi/include/simde/arm/neon/ld4.h +448 -0
  1179. casadi/include/simde/arm/neon/max.h +614 -0
  1180. casadi/include/simde/arm/neon/maxnm.h +215 -0
  1181. casadi/include/simde/arm/neon/maxv.h +400 -0
  1182. casadi/include/simde/arm/neon/min.h +660 -0
  1183. casadi/include/simde/arm/neon/minnm.h +215 -0
  1184. casadi/include/simde/arm/neon/minv.h +424 -0
  1185. casadi/include/simde/arm/neon/mla.h +530 -0
  1186. casadi/include/simde/arm/neon/mla_n.h +333 -0
  1187. casadi/include/simde/arm/neon/mlal.h +156 -0
  1188. casadi/include/simde/arm/neon/mlal_high.h +156 -0
  1189. casadi/include/simde/arm/neon/mlal_n.h +128 -0
  1190. casadi/include/simde/arm/neon/mls.h +264 -0
  1191. casadi/include/simde/arm/neon/mlsl.h +124 -0
  1192. casadi/include/simde/arm/neon/mlsl_high.h +124 -0
  1193. casadi/include/simde/arm/neon/mlsl_n.h +96 -0
  1194. casadi/include/simde/arm/neon/movl.h +208 -0
  1195. casadi/include/simde/arm/neon/movl_high.h +126 -0
  1196. casadi/include/simde/arm/neon/movn.h +195 -0
  1197. casadi/include/simde/arm/neon/movn_high.h +125 -0
  1198. casadi/include/simde/arm/neon/mul.h +594 -0
  1199. casadi/include/simde/arm/neon/mul_lane.h +472 -0
  1200. casadi/include/simde/arm/neon/mul_n.h +383 -0
  1201. casadi/include/simde/arm/neon/mull.h +236 -0
  1202. casadi/include/simde/arm/neon/mull_high.h +125 -0
  1203. casadi/include/simde/arm/neon/mull_n.h +158 -0
  1204. casadi/include/simde/arm/neon/mvn.h +426 -0
  1205. casadi/include/simde/arm/neon/neg.h +393 -0
  1206. casadi/include/simde/arm/neon/orn.h +505 -0
  1207. casadi/include/simde/arm/neon/orr.h +552 -0
  1208. casadi/include/simde/arm/neon/padal.h +211 -0
  1209. casadi/include/simde/arm/neon/padd.h +293 -0
  1210. casadi/include/simde/arm/neon/paddl.h +239 -0
  1211. casadi/include/simde/arm/neon/pmax.h +253 -0
  1212. casadi/include/simde/arm/neon/pmin.h +260 -0
  1213. casadi/include/simde/arm/neon/qabs.h +281 -0
  1214. casadi/include/simde/arm/neon/qadd.h +553 -0
  1215. casadi/include/simde/arm/neon/qdmulh.h +125 -0
  1216. casadi/include/simde/arm/neon/qdmull.h +125 -0
  1217. casadi/include/simde/arm/neon/qmovn.h +273 -0
  1218. casadi/include/simde/arm/neon/qmovn_high.h +127 -0
  1219. casadi/include/simde/arm/neon/qmovun.h +159 -0
  1220. casadi/include/simde/arm/neon/qneg.h +301 -0
  1221. casadi/include/simde/arm/neon/qrdmulh.h +165 -0
  1222. casadi/include/simde/arm/neon/qrdmulh_n.h +136 -0
  1223. casadi/include/simde/arm/neon/qshl.h +732 -0
  1224. casadi/include/simde/arm/neon/qsub.h +549 -0
  1225. casadi/include/simde/arm/neon/qtbl.h +455 -0
  1226. casadi/include/simde/arm/neon/qtbx.h +470 -0
  1227. casadi/include/simde/arm/neon/rbit.h +165 -0
  1228. casadi/include/simde/arm/neon/reinterpret.h +3101 -0
  1229. casadi/include/simde/arm/neon/rev16.h +137 -0
  1230. casadi/include/simde/arm/neon/rev32.h +235 -0
  1231. casadi/include/simde/arm/neon/rev64.h +358 -0
  1232. casadi/include/simde/arm/neon/rhadd.h +406 -0
  1233. casadi/include/simde/arm/neon/rnd.h +143 -0
  1234. casadi/include/simde/arm/neon/rndi.h +135 -0
  1235. casadi/include/simde/arm/neon/rndm.h +143 -0
  1236. casadi/include/simde/arm/neon/rndn.h +135 -0
  1237. casadi/include/simde/arm/neon/rndp.h +143 -0
  1238. casadi/include/simde/arm/neon/rshl.h +903 -0
  1239. casadi/include/simde/arm/neon/rshr_n.h +471 -0
  1240. casadi/include/simde/arm/neon/rsra_n.h +209 -0
  1241. casadi/include/simde/arm/neon/set_lane.h +422 -0
  1242. casadi/include/simde/arm/neon/shl.h +805 -0
  1243. casadi/include/simde/arm/neon/shl_n.h +560 -0
  1244. casadi/include/simde/arm/neon/shr_n.h +612 -0
  1245. casadi/include/simde/arm/neon/sra_n.h +202 -0
  1246. casadi/include/simde/arm/neon/st1.h +353 -0
  1247. casadi/include/simde/arm/neon/st1_lane.h +363 -0
  1248. casadi/include/simde/arm/neon/st3.h +426 -0
  1249. casadi/include/simde/arm/neon/st4.h +445 -0
  1250. casadi/include/simde/arm/neon/sub.h +659 -0
  1251. casadi/include/simde/arm/neon/subl.h +127 -0
  1252. casadi/include/simde/arm/neon/subw.h +221 -0
  1253. casadi/include/simde/arm/neon/subw_high.h +222 -0
  1254. casadi/include/simde/arm/neon/tbl.h +224 -0
  1255. casadi/include/simde/arm/neon/tbx.h +247 -0
  1256. casadi/include/simde/arm/neon/trn.h +252 -0
  1257. casadi/include/simde/arm/neon/trn1.h +500 -0
  1258. casadi/include/simde/arm/neon/trn2.h +499 -0
  1259. casadi/include/simde/arm/neon/tst.h +540 -0
  1260. casadi/include/simde/arm/neon/types.h +683 -0
  1261. casadi/include/simde/arm/neon/uqadd.h +325 -0
  1262. casadi/include/simde/arm/neon/uzp.h +252 -0
  1263. casadi/include/simde/arm/neon/uzp1.h +643 -0
  1264. casadi/include/simde/arm/neon/uzp2.h +647 -0
  1265. casadi/include/simde/arm/neon/zip.h +252 -0
  1266. casadi/include/simde/arm/neon/zip1.h +625 -0
  1267. casadi/include/simde/arm/neon/zip2.h +625 -0
  1268. casadi/include/simde/arm/neon.h +166 -0
  1269. casadi/include/simde/check.h +276 -0
  1270. casadi/include/simde/debug-trap.h +85 -0
  1271. casadi/include/simde/hedley.h +1971 -0
  1272. casadi/include/simde/simde-align.h +449 -0
  1273. casadi/include/simde/simde-arch.h +532 -0
  1274. casadi/include/simde/simde-common.h +890 -0
  1275. casadi/include/simde/simde-complex.h +148 -0
  1276. casadi/include/simde/simde-constify.h +397 -0
  1277. casadi/include/simde/simde-detect-clang.h +109 -0
  1278. casadi/include/simde/simde-diagnostic.h +428 -0
  1279. casadi/include/simde/simde-features.h +522 -0
  1280. casadi/include/simde/simde-math.h +1805 -0
  1281. casadi/include/simde/x86/avx.h +6193 -0
  1282. casadi/include/simde/x86/avx2.h +5660 -0
  1283. casadi/include/simde/x86/avx512/2intersect.h +250 -0
  1284. casadi/include/simde/x86/avx512/abs.h +562 -0
  1285. casadi/include/simde/x86/avx512/add.h +641 -0
  1286. casadi/include/simde/x86/avx512/adds.h +390 -0
  1287. casadi/include/simde/x86/avx512/and.h +305 -0
  1288. casadi/include/simde/x86/avx512/andnot.h +193 -0
  1289. casadi/include/simde/x86/avx512/avg.h +258 -0
  1290. casadi/include/simde/x86/avx512/blend.h +293 -0
  1291. casadi/include/simde/x86/avx512/broadcast.h +897 -0
  1292. casadi/include/simde/x86/avx512/cast.h +324 -0
  1293. casadi/include/simde/x86/avx512/cmp.h +587 -0
  1294. casadi/include/simde/x86/avx512/cmpeq.h +179 -0
  1295. casadi/include/simde/x86/avx512/cmpge.h +104 -0
  1296. casadi/include/simde/x86/avx512/cmpgt.h +189 -0
  1297. casadi/include/simde/x86/avx512/cmple.h +103 -0
  1298. casadi/include/simde/x86/avx512/cmplt.h +123 -0
  1299. casadi/include/simde/x86/avx512/copysign.h +86 -0
  1300. casadi/include/simde/x86/avx512/cvt.h +122 -0
  1301. casadi/include/simde/x86/avx512/cvts.h +723 -0
  1302. casadi/include/simde/x86/avx512/div.h +162 -0
  1303. casadi/include/simde/x86/avx512/extract.h +198 -0
  1304. casadi/include/simde/x86/avx512/fmadd.h +136 -0
  1305. casadi/include/simde/x86/avx512/fmsub.h +108 -0
  1306. casadi/include/simde/x86/avx512/fnmadd.h +108 -0
  1307. casadi/include/simde/x86/avx512/fnmsub.h +108 -0
  1308. casadi/include/simde/x86/avx512/insert.h +193 -0
  1309. casadi/include/simde/x86/avx512/kshift.h +152 -0
  1310. casadi/include/simde/x86/avx512/load.h +67 -0
  1311. casadi/include/simde/x86/avx512/loadu.h +113 -0
  1312. casadi/include/simde/x86/avx512/lzcnt.h +209 -0
  1313. casadi/include/simde/x86/avx512/madd.h +155 -0
  1314. casadi/include/simde/x86/avx512/maddubs.h +159 -0
  1315. casadi/include/simde/x86/avx512/max.h +587 -0
  1316. casadi/include/simde/x86/avx512/min.h +587 -0
  1317. casadi/include/simde/x86/avx512/mov.h +859 -0
  1318. casadi/include/simde/x86/avx512/mov_mask.h +372 -0
  1319. casadi/include/simde/x86/avx512/movm.h +460 -0
  1320. casadi/include/simde/x86/avx512/mul.h +279 -0
  1321. casadi/include/simde/x86/avx512/mulhi.h +65 -0
  1322. casadi/include/simde/x86/avx512/mulhrs.h +65 -0
  1323. casadi/include/simde/x86/avx512/mullo.h +117 -0
  1324. casadi/include/simde/x86/avx512/negate.h +88 -0
  1325. casadi/include/simde/x86/avx512/or.h +252 -0
  1326. casadi/include/simde/x86/avx512/packs.h +122 -0
  1327. casadi/include/simde/x86/avx512/packus.h +122 -0
  1328. casadi/include/simde/x86/avx512/permutex2var.h +1645 -0
  1329. casadi/include/simde/x86/avx512/permutexvar.h +1180 -0
  1330. casadi/include/simde/x86/avx512/sad.h +77 -0
  1331. casadi/include/simde/x86/avx512/set.h +477 -0
  1332. casadi/include/simde/x86/avx512/set1.h +331 -0
  1333. casadi/include/simde/x86/avx512/set4.h +140 -0
  1334. casadi/include/simde/x86/avx512/setone.h +66 -0
  1335. casadi/include/simde/x86/avx512/setr.h +144 -0
  1336. casadi/include/simde/x86/avx512/setr4.h +140 -0
  1337. casadi/include/simde/x86/avx512/setzero.h +90 -0
  1338. casadi/include/simde/x86/avx512/shuffle.h +176 -0
  1339. casadi/include/simde/x86/avx512/sll.h +247 -0
  1340. casadi/include/simde/x86/avx512/slli.h +179 -0
  1341. casadi/include/simde/x86/avx512/sllv.h +68 -0
  1342. casadi/include/simde/x86/avx512/sqrt.h +127 -0
  1343. casadi/include/simde/x86/avx512/sra.h +81 -0
  1344. casadi/include/simde/x86/avx512/srai.h +70 -0
  1345. casadi/include/simde/x86/avx512/srav.h +67 -0
  1346. casadi/include/simde/x86/avx512/srl.h +216 -0
  1347. casadi/include/simde/x86/avx512/srli.h +180 -0
  1348. casadi/include/simde/x86/avx512/srlv.h +282 -0
  1349. casadi/include/simde/x86/avx512/store.h +93 -0
  1350. casadi/include/simde/x86/avx512/storeu.h +93 -0
  1351. casadi/include/simde/x86/avx512/sub.h +351 -0
  1352. casadi/include/simde/x86/avx512/subs.h +222 -0
  1353. casadi/include/simde/x86/avx512/test.h +193 -0
  1354. casadi/include/simde/x86/avx512/types.h +380 -0
  1355. casadi/include/simde/x86/avx512/unpackhi.h +380 -0
  1356. casadi/include/simde/x86/avx512/unpacklo.h +104 -0
  1357. casadi/include/simde/x86/avx512/xor.h +263 -0
  1358. casadi/include/simde/x86/avx512/xorsign.h +72 -0
  1359. casadi/include/simde/x86/avx512.h +108 -0
  1360. casadi/include/simde/x86/clmul.h +414 -0
  1361. casadi/include/simde/x86/fma.h +724 -0
  1362. casadi/include/simde/x86/gfni.h +802 -0
  1363. casadi/include/simde/x86/mmx.h +2399 -0
  1364. casadi/include/simde/x86/sse.h +4471 -0
  1365. casadi/include/simde/x86/sse2.h +7389 -0
  1366. casadi/include/simde/x86/sse3.h +499 -0
  1367. casadi/include/simde/x86/sse4.1.h +2216 -0
  1368. casadi/include/simde/x86/sse4.2.h +347 -0
  1369. casadi/include/simde/x86/ssse3.h +1032 -0
  1370. casadi/include/simde/x86/svml.h +12139 -0
  1371. casadi/include/simde/x86/xop.h +3644 -0
  1372. casadi/include/superscs/cones.h +185 -0
  1373. casadi/include/superscs/constants.h +144 -0
  1374. casadi/include/superscs/cs.h +109 -0
  1375. casadi/include/superscs/ctrlc.h +77 -0
  1376. casadi/include/superscs/directions.h +125 -0
  1377. casadi/include/superscs/glbopts.h +240 -0
  1378. casadi/include/superscs/linAlg.h +437 -0
  1379. casadi/include/superscs/linSys.h +205 -0
  1380. casadi/include/superscs/linsys/amatrix.h +77 -0
  1381. casadi/include/superscs/linsys/common.h +49 -0
  1382. casadi/include/superscs/normalize.h +138 -0
  1383. casadi/include/superscs/scs.h +656 -0
  1384. casadi/include/superscs/scs_blas.h +79 -0
  1385. casadi/include/superscs/scs_parser.h +187 -0
  1386. casadi/include/superscs/unit_test_util.h +210 -0
  1387. casadi/include/superscs/util.h +354 -0
  1388. casadi/include/tinyxml2.h +2380 -0
  1389. casadi/lapack.lib +0 -0
  1390. casadi/lib/cmake/tinyxml2/tinyxml2-config-version.cmake +67 -0
  1391. casadi/lib/cmake/tinyxml2/tinyxml2-config.cmake +57 -0
  1392. casadi/lib/cmake/tinyxml2/tinyxml2-shared-targets-release.cmake +19 -0
  1393. casadi/lib/cmake/tinyxml2/tinyxml2-shared-targets.cmake +95 -0
  1394. casadi/lib/libtinyxml2.dll.a +0 -0
  1395. casadi/lib/pkgconfig/tinyxml2.pc +10 -0
  1396. casadi/libCbc-3.dll +0 -0
  1397. casadi/libCbc.dll.a +0 -0
  1398. casadi/libCbc.la +1 -1
  1399. casadi/libCbcSolver-3.dll +0 -0
  1400. casadi/libCbcSolver.dll.a +0 -0
  1401. casadi/libCbcSolver.la +1 -1
  1402. casadi/libCgl-1.dll +0 -0
  1403. casadi/libCgl.dll.a +0 -0
  1404. casadi/libCgl.la +1 -1
  1405. casadi/libClp-1.dll +0 -0
  1406. casadi/libClp.dll.a +0 -0
  1407. casadi/libClp.la +1 -1
  1408. casadi/libClpSolver-1.dll +0 -0
  1409. casadi/libClpSolver.dll.a +0 -0
  1410. casadi/libClpSolver.la +1 -1
  1411. casadi/libCoinUtils-3.dll +0 -0
  1412. casadi/libCoinUtils.dll.a +0 -0
  1413. casadi/libFortranHighs.dll +0 -0
  1414. casadi/libFortranHighs.dll.a +0 -0
  1415. casadi/libOsi-1.dll +0 -0
  1416. casadi/libOsi.dll.a +0 -0
  1417. casadi/libOsiCbc-3.dll +0 -0
  1418. casadi/libOsiCbc.dll.a +0 -0
  1419. casadi/libOsiCbc.la +1 -1
  1420. casadi/libOsiClp-1.dll +0 -0
  1421. casadi/libOsiClp.dll.a +0 -0
  1422. casadi/libOsiClp.la +1 -1
  1423. casadi/libOsiCommonTests-1.dll +0 -0
  1424. casadi/libOsiCommonTests.dll.a +0 -0
  1425. casadi/libOsiHighs.dll +0 -0
  1426. casadi/libOsiHighs.dll.a +0 -0
  1427. casadi/libatomic-1.dll +0 -0
  1428. casadi/libblasfeo.dll +0 -0
  1429. casadi/libblasfeo.dll.a +0 -0
  1430. casadi/libbonmin-4.dll +0 -0
  1431. casadi/libbonmin.dll.a +0 -0
  1432. casadi/libbonmin.la +1 -1
  1433. casadi/{libopenblas.dll → libcasadi-tp-openblas.dll} +0 -0
  1434. casadi/{libopenblas.dll.a → libcasadi-tp-openblas.dll.a} +0 -0
  1435. casadi/libcasadi.dll +0 -0
  1436. casadi/libcasadi.dll.a +0 -0
  1437. casadi/libcasadi_conic_cbc.dll +0 -0
  1438. casadi/libcasadi_conic_cbc.dll.a +0 -0
  1439. casadi/libcasadi_conic_clp.dll +0 -0
  1440. casadi/libcasadi_conic_clp.dll.a +0 -0
  1441. casadi/libcasadi_conic_cplex.dll +0 -0
  1442. casadi/libcasadi_conic_cplex.dll.a +0 -0
  1443. casadi/libcasadi_conic_gurobi.dll +0 -0
  1444. casadi/libcasadi_conic_gurobi.dll.a +0 -0
  1445. casadi/libcasadi_conic_highs.dll +0 -0
  1446. casadi/libcasadi_conic_highs.dll.a +0 -0
  1447. casadi/libcasadi_conic_hpipm.dll +0 -0
  1448. casadi/libcasadi_conic_hpipm.dll.a +0 -0
  1449. casadi/libcasadi_conic_ipqp.dll +0 -0
  1450. casadi/libcasadi_conic_ipqp.dll.a +0 -0
  1451. casadi/libcasadi_conic_nlpsol.dll +0 -0
  1452. casadi/libcasadi_conic_nlpsol.dll.a +0 -0
  1453. casadi/libcasadi_conic_osqp.dll +0 -0
  1454. casadi/libcasadi_conic_osqp.dll.a +0 -0
  1455. casadi/libcasadi_conic_proxqp.dll +0 -0
  1456. casadi/libcasadi_conic_proxqp.dll.a +0 -0
  1457. casadi/libcasadi_conic_qpoases.dll +0 -0
  1458. casadi/libcasadi_conic_qpoases.dll.a +0 -0
  1459. casadi/libcasadi_conic_qrqp.dll +0 -0
  1460. casadi/libcasadi_conic_qrqp.dll.a +0 -0
  1461. casadi/libcasadi_conic_superscs.dll +0 -0
  1462. casadi/libcasadi_conic_superscs.dll.a +0 -0
  1463. casadi/libcasadi_importer_shell.dll +0 -0
  1464. casadi/libcasadi_importer_shell.dll.a +0 -0
  1465. casadi/libcasadi_integrator_collocation.dll +0 -0
  1466. casadi/libcasadi_integrator_collocation.dll.a +0 -0
  1467. casadi/libcasadi_integrator_cvodes.dll +0 -0
  1468. casadi/libcasadi_integrator_cvodes.dll.a +0 -0
  1469. casadi/libcasadi_integrator_idas.dll +0 -0
  1470. casadi/libcasadi_integrator_idas.dll.a +0 -0
  1471. casadi/libcasadi_integrator_rk.dll +0 -0
  1472. casadi/libcasadi_integrator_rk.dll.a +0 -0
  1473. casadi/libcasadi_interpolant_bspline.dll +0 -0
  1474. casadi/libcasadi_interpolant_bspline.dll.a +0 -0
  1475. casadi/libcasadi_interpolant_linear.dll +0 -0
  1476. casadi/libcasadi_interpolant_linear.dll.a +0 -0
  1477. casadi/libcasadi_linsol_csparse.dll +0 -0
  1478. casadi/libcasadi_linsol_csparse.dll.a +0 -0
  1479. casadi/libcasadi_linsol_csparsecholesky.dll +0 -0
  1480. casadi/libcasadi_linsol_csparsecholesky.dll.a +0 -0
  1481. casadi/libcasadi_linsol_lapacklu.dll +0 -0
  1482. casadi/libcasadi_linsol_lapacklu.dll.a +0 -0
  1483. casadi/libcasadi_linsol_lapackqr.dll +0 -0
  1484. casadi/libcasadi_linsol_lapackqr.dll.a +0 -0
  1485. casadi/libcasadi_linsol_ldl.dll +0 -0
  1486. casadi/libcasadi_linsol_ldl.dll.a +0 -0
  1487. casadi/libcasadi_linsol_lsqr.dll +0 -0
  1488. casadi/libcasadi_linsol_lsqr.dll.a +0 -0
  1489. casadi/libcasadi_linsol_ma27.dll +0 -0
  1490. casadi/libcasadi_linsol_ma27.dll.a +0 -0
  1491. casadi/libcasadi_linsol_mumps.dll +0 -0
  1492. casadi/libcasadi_linsol_mumps.dll.a +0 -0
  1493. casadi/libcasadi_linsol_qr.dll +0 -0
  1494. casadi/libcasadi_linsol_qr.dll.a +0 -0
  1495. casadi/libcasadi_linsol_symbolicqr.dll +0 -0
  1496. casadi/libcasadi_linsol_symbolicqr.dll.a +0 -0
  1497. casadi/libcasadi_linsol_tridiag.dll +0 -0
  1498. casadi/libcasadi_linsol_tridiag.dll.a +0 -0
  1499. casadi/libcasadi_nlpsol_ampl.dll +0 -0
  1500. casadi/libcasadi_nlpsol_ampl.dll.a +0 -0
  1501. casadi/libcasadi_nlpsol_blocksqp.dll +0 -0
  1502. casadi/libcasadi_nlpsol_blocksqp.dll.a +0 -0
  1503. casadi/libcasadi_nlpsol_bonmin.dll +0 -0
  1504. casadi/libcasadi_nlpsol_bonmin.dll.a +0 -0
  1505. casadi/libcasadi_nlpsol_feasiblesqpmethod.dll +0 -0
  1506. casadi/libcasadi_nlpsol_feasiblesqpmethod.dll.a +0 -0
  1507. casadi/libcasadi_nlpsol_ipopt.dll +0 -0
  1508. casadi/libcasadi_nlpsol_ipopt.dll.a +0 -0
  1509. casadi/libcasadi_nlpsol_knitro.dll +0 -0
  1510. casadi/libcasadi_nlpsol_knitro.dll.a +0 -0
  1511. casadi/libcasadi_nlpsol_qrsqp.dll +0 -0
  1512. casadi/libcasadi_nlpsol_qrsqp.dll.a +0 -0
  1513. casadi/libcasadi_nlpsol_scpgen.dll +0 -0
  1514. casadi/libcasadi_nlpsol_scpgen.dll.a +0 -0
  1515. casadi/libcasadi_nlpsol_snopt.dll +0 -0
  1516. casadi/libcasadi_nlpsol_snopt.dll.a +0 -0
  1517. casadi/libcasadi_nlpsol_sqpmethod.dll +0 -0
  1518. casadi/libcasadi_nlpsol_sqpmethod.dll.a +0 -0
  1519. casadi/libcasadi_nlpsol_worhp.dll +0 -0
  1520. casadi/libcasadi_nlpsol_worhp.dll.a +0 -0
  1521. casadi/libcasadi_rootfinder_fast_newton.dll +0 -0
  1522. casadi/libcasadi_rootfinder_fast_newton.dll.a +0 -0
  1523. casadi/libcasadi_rootfinder_kinsol.dll +0 -0
  1524. casadi/libcasadi_rootfinder_kinsol.dll.a +0 -0
  1525. casadi/libcasadi_rootfinder_newton.dll +0 -0
  1526. casadi/libcasadi_rootfinder_newton.dll.a +0 -0
  1527. casadi/libcasadi_rootfinder_nlpsol.dll +0 -0
  1528. casadi/libcasadi_rootfinder_nlpsol.dll.a +0 -0
  1529. casadi/libcasadi_sundials_common.dll +0 -0
  1530. casadi/libcasadi_sundials_common.dll.a +0 -0
  1531. casadi/libcasadi_xmlfile_tinyxml.dll +0 -0
  1532. casadi/libcasadi_xmlfile_tinyxml.dll.a +0 -0
  1533. casadi/libcoinmetis-2.dll +0 -0
  1534. casadi/libcoinmetis.dll.a +0 -0
  1535. casadi/libcoinmumps-3.dll +0 -0
  1536. casadi/libcoinmumps.dll.a +0 -0
  1537. casadi/libcoinmumps.la +1 -1
  1538. casadi/libcplex_adaptor.dll +0 -0
  1539. casadi/libgcc_s_seh-1.dll +0 -0
  1540. casadi/libgfortran-5.dll +0 -0
  1541. casadi/libgomp-1.dll +0 -0
  1542. casadi/libgurobi_adaptor.dll +0 -0
  1543. casadi/libhighs.dll +0 -0
  1544. casadi/libhighs.dll.a +0 -0
  1545. casadi/libhpipm.dll +0 -0
  1546. casadi/libhpipm.dll.a +0 -0
  1547. casadi/libindirect.a +0 -0
  1548. casadi/libipopt-3.dll +0 -0
  1549. casadi/libipopt.dll.a +0 -0
  1550. casadi/libipopt.la +3 -3
  1551. casadi/liblinsys.a +0 -0
  1552. casadi/libosqp.a +0 -0
  1553. casadi/libosqp.dll +0 -0
  1554. casadi/libosqp.dll.a +0 -0
  1555. casadi/libqdldl.a +0 -0
  1556. casadi/libqdldl.dll +0 -0
  1557. casadi/libqdldl.dll.a +0 -0
  1558. casadi/libquadmath-0.dll +0 -0
  1559. casadi/libsipopt-3.dll +0 -0
  1560. casadi/libsipopt.dll.a +0 -0
  1561. casadi/libsipopt.la +3 -3
  1562. casadi/libspral.a +0 -0
  1563. casadi/libssp-0.dll +0 -0
  1564. casadi/libstdc++-6.dll +0 -0
  1565. casadi/libsuperscs.a +0 -0
  1566. casadi/libtinyxml2.dll +0 -0
  1567. casadi/libwinpthread-1.dll +0 -0
  1568. casadi/osqp.lib +0 -0
  1569. casadi/pkgconfig/casadi.pc +1 -1
  1570. casadi/pkgconfig/coinmumps.pc +1 -1
  1571. casadi/pkgconfig/highs.pc +12 -0
  1572. casadi/pkgconfig/ipopt.pc +2 -2
  1573. casadi/pkgconfig/osi-highs.pc +11 -0
  1574. casadi/pkgconfig/proxsuite.pc +22 -0
  1575. casadi/spral_ssids.exe +0 -0
  1576. casadi/tools/__init__.py +2 -2
  1577. casadi/tools/bounds.py +2 -2
  1578. casadi/tools/graph/__init__.py +2 -2
  1579. casadi/tools/graph/graph.py +22 -10
  1580. casadi/tools/in_out.py +2 -2
  1581. casadi/tools/structure.py +2 -2
  1582. casadi/tools/structure3.py +2 -2
  1583. {casadi-3.5.6.pre2.dist-info → casadi-3.6.0.dist-info}/METADATA +7 -1
  1584. casadi-3.6.0.dist-info/RECORD +1609 -0
  1585. dummy.txt +1 -0
  1586. casadi/include/casadi/core/runtime/casadi_minmax.hpp +0 -20
  1587. casadi/include/casadi/core/variable.hpp +0 -147
  1588. casadi-3.5.6.pre2.dist-info/RECORD +0 -278
  1589. {casadi-3.5.6.pre2.dist-info → casadi-3.6.0.dist-info}/WHEEL +0 -0
@@ -0,0 +1,1180 @@
1
+ /* SPDX-License-Identifier: MIT
2
+ *
3
+ * Permission is hereby granted, free of charge, to any person
4
+ * obtaining a copy of this software and associated documentation
5
+ * files (the "Software"), to deal in the Software without
6
+ * restriction, including without limitation the rights to use, copy,
7
+ * modify, merge, publish, distribute, sublicense, and/or sell copies
8
+ * of the Software, and to permit persons to whom the Software is
9
+ * furnished to do so, subject to the following conditions:
10
+ *
11
+ * The above copyright notice and this permission notice shall be
12
+ * included in all copies or substantial portions of the Software.
13
+ *
14
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
18
+ * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
19
+ * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
20
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ * SOFTWARE.
22
+ *
23
+ * Copyright:
24
+ * 2020 Evan Nemerson <evan@nemerson.com>
25
+ * 2020 Christopher Moore <moore@free.fr>
26
+ */
27
+
28
+ #if !defined(SIMDE_X86_AVX512_PERMUTEXVAR_H)
29
+ #define SIMDE_X86_AVX512_PERMUTEXVAR_H
30
+
31
+ #include "types.h"
32
+ #include "and.h"
33
+ #include "andnot.h"
34
+ #include "blend.h"
35
+ #include "mov.h"
36
+ #include "or.h"
37
+ #include "set1.h"
38
+ #include "slli.h"
39
+ #include "srli.h"
40
+ #include "test.h"
41
+
42
+ HEDLEY_DIAGNOSTIC_PUSH
43
+ SIMDE_DISABLE_UNWANTED_DIAGNOSTICS
44
+ SIMDE_BEGIN_DECLS_
45
+
46
+ SIMDE_FUNCTION_ATTRIBUTES
47
+ simde__m128i
48
+ simde_mm_permutexvar_epi16 (simde__m128i idx, simde__m128i a) {
49
+ #if defined(SIMDE_X86_AVX512BW_NATIVE) && defined(SIMDE_X86_AVX512VL_NATIVE)
50
+ return _mm_permutexvar_epi16(idx, a);
51
+ #elif defined(SIMDE_X86_SSSE3_NATIVE)
52
+ simde__m128i mask16 = simde_mm_set1_epi16(0x0007);
53
+ simde__m128i shift16 = simde_mm_set1_epi16(0x0202);
54
+ simde__m128i byte_index16 = simde_mm_set1_epi16(0x0100);
55
+ simde__m128i index16 = simde_mm_and_si128(idx, mask16);
56
+ index16 = simde_mm_mullo_epi16(index16, shift16);
57
+ index16 = simde_mm_add_epi16(index16, byte_index16);
58
+ return simde_mm_shuffle_epi8(a, index16);
59
+ #else
60
+ simde__m128i_private
61
+ idx_ = simde__m128i_to_private(idx),
62
+ a_ = simde__m128i_to_private(a),
63
+ r_;
64
+
65
+ #if defined(SIMDE_ARM_NEON_A64V8_NATIVE)
66
+ uint16x8_t mask16 = vdupq_n_u16(0x0007);
67
+ uint16x8_t byte_index16 = vdupq_n_u16(0x0100);
68
+ uint16x8_t index16 = vandq_u16(idx_.neon_u16, mask16);
69
+ index16 = vmulq_n_u16(index16, 0x0202);
70
+ index16 = vaddq_u16(index16, byte_index16);
71
+ r_.neon_u8 = vqtbl1q_u8(a_.neon_u8, vreinterpretq_u8_u16(index16));
72
+ #elif defined(SIMDE_POWER_ALTIVEC_P6_NATIVE)
73
+ SIMDE_POWER_ALTIVEC_VECTOR(unsigned short) index16;
74
+ index16 = vec_and(idx_.altivec_u16, vec_splat_u16(7));
75
+ index16 = vec_mladd(index16, vec_splats(HEDLEY_STATIC_CAST(unsigned short, 0x0202)), vec_splats(HEDLEY_STATIC_CAST(unsigned short, 0x0100)));
76
+ r_.altivec_u8 = vec_perm(a_.altivec_u8, a_.altivec_u8, HEDLEY_REINTERPRET_CAST(SIMDE_POWER_ALTIVEC_VECTOR(unsigned char), index16));
77
+ #elif defined(SIMDE_WASM_SIMD128_NATIVE)
78
+ const v128_t mask16 = wasm_i16x8_splat(0x0007);
79
+ const v128_t shift16 = wasm_i16x8_splat(0x0202);
80
+ const v128_t byte_index16 = wasm_i16x8_splat(0x0100);
81
+ v128_t index16 = wasm_v128_and(idx_.wasm_v128, mask16);
82
+ index16 = wasm_i16x8_mul(index16, shift16);
83
+ index16 = wasm_i16x8_add(index16, byte_index16);
84
+ r_.wasm_v128 = wasm_v8x16_swizzle(a_.wasm_v128, index16);
85
+ #else
86
+ SIMDE_VECTORIZE
87
+ for (size_t i = 0 ; i < (sizeof(r_.i16) / sizeof(r_.i16[0])) ; i++) {
88
+ r_.i16[i] = a_.i16[idx_.i16[i] & 0x07];
89
+ }
90
+ #endif
91
+
92
+ return simde__m128i_from_private(r_);
93
+ #endif
94
+ }
95
+ #if defined(SIMDE_X86_AVX512BW_ENABLE_NATIVE_ALIASES) || defined(SIMDE_X86_AVX512VL_ENABLE_NATIVE_ALIASES)
96
+ #undef _mm_permutexvar_epi16
97
+ #define _mm_permutexvar_epi16(idx, a) simde_mm_permutexvar_epi16(idx, a)
98
+ #endif
99
+
100
+ SIMDE_FUNCTION_ATTRIBUTES
101
+ simde__m128i
102
+ simde_mm_mask_permutexvar_epi16 (simde__m128i src, simde__mmask8 k, simde__m128i idx, simde__m128i a) {
103
+ #if defined(SIMDE_X86_AVX512BW_NATIVE) && defined(SIMDE_X86_AVX512VL_NATIVE)
104
+ return _mm_mask_permutexvar_epi16(src, k, idx, a);
105
+ #else
106
+ return simde_mm_mask_mov_epi16(src, k, simde_mm_permutexvar_epi16(idx, a));
107
+ #endif
108
+ }
109
+ #if defined(SIMDE_X86_AVX512BW_ENABLE_NATIVE_ALIASES) || defined(SIMDE_X86_AVX512VL_ENABLE_NATIVE_ALIASES)
110
+ #undef _mm_mask_permutexvar_epi16
111
+ #define _mm_mask_permutexvar_epi16(src, k, idx, a) simde_mm_mask_permutexvar_epi16(src, k, idx, a)
112
+ #endif
113
+
114
+ SIMDE_FUNCTION_ATTRIBUTES
115
+ simde__m128i
116
+ simde_mm_maskz_permutexvar_epi16 (simde__mmask8 k, simde__m128i idx, simde__m128i a) {
117
+ #if defined(SIMDE_X86_AVX512BW_NATIVE) && defined(SIMDE_X86_AVX512VL_NATIVE)
118
+ return _mm_maskz_permutexvar_epi16(k, idx, a);
119
+ #else
120
+ return simde_mm_maskz_mov_epi16(k, simde_mm_permutexvar_epi16(idx, a));
121
+ #endif
122
+ }
123
+ #if defined(SIMDE_X86_AVX512BW_ENABLE_NATIVE_ALIASES) || defined(SIMDE_X86_AVX512VL_ENABLE_NATIVE_ALIASES)
124
+ #undef _mm_maskz_permutexvar_epi16
125
+ #define _mm_maskz_permutexvar_epi16(k, idx, a) simde_mm_maskz_permutexvar_epi16(k, idx, a)
126
+ #endif
127
+
128
+ SIMDE_FUNCTION_ATTRIBUTES
129
+ simde__m128i
130
+ simde_mm_permutexvar_epi8 (simde__m128i idx, simde__m128i a) {
131
+ #if defined(SIMDE_X86_AVX512VBMI_NATIVE) && defined(SIMDE_X86_AVX512VL_NATIVE)
132
+ return _mm_permutexvar_epi8(idx, a);
133
+ #elif defined(SIMDE_X86_SSSE3_NATIVE)
134
+ simde__m128i mask = simde_mm_set1_epi8(0x0F);
135
+ simde__m128i index = simde_mm_and_si128(idx, mask);
136
+ return simde_mm_shuffle_epi8(a, index);
137
+ #else
138
+ simde__m128i_private
139
+ idx_ = simde__m128i_to_private(idx),
140
+ a_ = simde__m128i_to_private(a),
141
+ r_;
142
+
143
+ #if defined(SIMDE_ARM_NEON_A64V8_NATIVE)
144
+ uint8x16_t mask = vdupq_n_u8(0x0F);
145
+ uint8x16_t index = vandq_u8(idx_.neon_u8, mask);
146
+ r_.neon_u8 = vqtbl1q_u8(a_.neon_u8, index);
147
+ #elif defined(SIMDE_POWER_ALTIVEC_P6_NATIVE)
148
+ r_.altivec_u8 = vec_perm(a_.altivec_u8, a_.altivec_u8, idx_.altivec_u8);
149
+ #elif defined(SIMDE_WASM_SIMD128_NATIVE)
150
+ const v128_t mask = wasm_i8x16_splat(0x0F);
151
+ v128_t index = wasm_v128_and(idx_.wasm_v128, mask);
152
+ r_.wasm_v128 = wasm_v8x16_swizzle(a_.wasm_v128, index);
153
+ #else
154
+ SIMDE_VECTORIZE
155
+ for (size_t i = 0 ; i < (sizeof(r_.i8) / sizeof(r_.i8[0])) ; i++) {
156
+ r_.i8[i] = a_.i8[idx_.i8[i] & 0x0F];
157
+ }
158
+ #endif
159
+
160
+ return simde__m128i_from_private(r_);
161
+ #endif
162
+ }
163
+ #if defined(SIMDE_X86_AVX512VBMI_ENABLE_NATIVE_ALIASES) || defined(SIMDE_X86_AVX512VL_ENABLE_NATIVE_ALIASES)
164
+ #undef _mm_permutexvar_epi8
165
+ #define _mm_permutexvar_epi8(idx, a) simde_mm_permutexvar_epi8(idx, a)
166
+ #endif
167
+
168
+ SIMDE_FUNCTION_ATTRIBUTES
169
+ simde__m128i
170
+ simde_mm_mask_permutexvar_epi8 (simde__m128i src, simde__mmask16 k, simde__m128i idx, simde__m128i a) {
171
+ #if defined(SIMDE_X86_AVX512VBMI_NATIVE) && defined(SIMDE_X86_AVX512VL_NATIVE)
172
+ return _mm_mask_permutexvar_epi8(src, k, idx, a);
173
+ #else
174
+ return simde_mm_mask_mov_epi8(src, k, simde_mm_permutexvar_epi8(idx, a));
175
+ #endif
176
+ }
177
+ #if defined(SIMDE_X86_AVX512VBMI_ENABLE_NATIVE_ALIASES) || defined(SIMDE_X86_AVX512VL_ENABLE_NATIVE_ALIASES)
178
+ #undef _mm_mask_permutexvar_epi8
179
+ #define _mm_mask_permutexvar_epi8(src, k, idx, a) simde_mm_mask_permutexvar_epi8(src, k, idx, a)
180
+ #endif
181
+
182
+ SIMDE_FUNCTION_ATTRIBUTES
183
+ simde__m128i
184
+ simde_mm_maskz_permutexvar_epi8 (simde__mmask16 k, simde__m128i idx, simde__m128i a) {
185
+ #if defined(SIMDE_X86_AVX512VBMI_NATIVE) && defined(SIMDE_X86_AVX512VL_NATIVE)
186
+ return _mm_maskz_permutexvar_epi8(k, idx, a);
187
+ #else
188
+ return simde_mm_maskz_mov_epi8(k, simde_mm_permutexvar_epi8(idx, a));
189
+ #endif
190
+ }
191
+ #if defined(SIMDE_X86_AVX512VBMI_ENABLE_NATIVE_ALIASES) || defined(SIMDE_X86_AVX512VL_ENABLE_NATIVE_ALIASES)
192
+ #undef _mm_maskz_permutexvar_epi8
193
+ #define _mm_maskz_permutexvar_epi8(k, idx, a) simde_mm_maskz_permutexvar_epi8(k, idx, a)
194
+ #endif
195
+
196
+ SIMDE_FUNCTION_ATTRIBUTES
197
+ simde__m256i
198
+ simde_mm256_permutexvar_epi16 (simde__m256i idx, simde__m256i a) {
199
+ #if defined(SIMDE_X86_AVX512BW_NATIVE) && defined(SIMDE_X86_AVX512VL_NATIVE)
200
+ return _mm256_permutexvar_epi16(idx, a);
201
+ #elif defined(SIMDE_X86_AVX2_NATIVE)
202
+ simde__m256i mask16 = simde_mm256_set1_epi16(0x001F);
203
+ simde__m256i shift16 = simde_mm256_set1_epi16(0x0202);
204
+ simde__m256i byte_index16 = simde_mm256_set1_epi16(0x0100);
205
+ simde__m256i index16 = simde_mm256_and_si256(idx, mask16);
206
+ index16 = simde_mm256_mullo_epi16(index16, shift16);
207
+ simde__m256i lo = simde_mm256_permute4x64_epi64(a, (1 << 6) + (0 << 4) + (1 << 2) + (0 << 0));
208
+ simde__m256i hi = simde_mm256_permute4x64_epi64(a, (3 << 6) + (2 << 4) + (3 << 2) + (2 << 0));
209
+ simde__m256i select = simde_mm256_slli_epi64(index16, 3);
210
+ index16 = simde_mm256_add_epi16(index16, byte_index16);
211
+ lo = simde_mm256_shuffle_epi8(lo, index16);
212
+ hi = simde_mm256_shuffle_epi8(hi, index16);
213
+ return simde_mm256_blendv_epi8(lo, hi, select);
214
+ #else
215
+ simde__m256i_private
216
+ idx_ = simde__m256i_to_private(idx),
217
+ a_ = simde__m256i_to_private(a),
218
+ r_;
219
+
220
+ #if defined(SIMDE_ARM_NEON_A64V8_NATIVE)
221
+ uint8x16x2_t table = { { a_.m128i_private[0].neon_u8,
222
+ a_.m128i_private[1].neon_u8 } };
223
+ uint16x8_t mask16 = vdupq_n_u16(0x000F);
224
+ uint16x8_t byte_index16 = vdupq_n_u16(0x0100);
225
+
226
+ SIMDE_VECTORIZE
227
+ for (size_t i = 0 ; i < (sizeof(r_.m128i_private) / sizeof(r_.m128i_private[0])) ; i++) {
228
+ uint16x8_t index16 = vandq_u16(idx_.m128i_private[i].neon_u16, mask16);
229
+ index16 = vmulq_n_u16(index16, 0x0202);
230
+ index16 = vaddq_u16(index16, byte_index16);
231
+ r_.m128i_private[i].neon_u8 = vqtbl2q_u8(table, vreinterpretq_u8_u16(index16));
232
+ }
233
+ #elif defined(SIMDE_POWER_ALTIVEC_P6_NATIVE)
234
+ SIMDE_POWER_ALTIVEC_VECTOR(unsigned short) index16, mask16, shift16, byte_index16;
235
+ mask16 = vec_splat_u16(0x000F);
236
+ shift16 = vec_splats(HEDLEY_STATIC_CAST(unsigned short, 0x0202));
237
+ byte_index16 = vec_splats(HEDLEY_STATIC_CAST(unsigned short, 0x0100));
238
+
239
+ SIMDE_VECTORIZE
240
+ for (size_t i = 0 ; i < (sizeof(r_.m128i_private) / sizeof(r_.m128i_private[0])) ; i++) {
241
+ index16 = vec_and(idx_.m128i_private[i].altivec_u16, mask16);
242
+ index16 = vec_mladd(index16, shift16, byte_index16);
243
+ r_.m128i_private[i].altivec_u8 = vec_perm(a_.m128i_private[0].altivec_u8,
244
+ a_.m128i_private[1].altivec_u8,
245
+ HEDLEY_REINTERPRET_CAST(SIMDE_POWER_ALTIVEC_VECTOR(unsigned char), index16));
246
+ }
247
+ #elif defined(SIMDE_WASM_SIMD128_NATIVE)
248
+ v128_t index, index16, r, t;
249
+ const v128_t mask16 = wasm_i16x8_splat(0x000F);
250
+ const v128_t shift16 = wasm_i16x8_splat(0x0202);
251
+ const v128_t byte_index16 = wasm_i16x8_splat(0x0100);
252
+ const v128_t sixteen = wasm_i8x16_splat(16);
253
+ const v128_t a0 = a_.m128i_private[0].wasm_v128;
254
+ const v128_t a1 = a_.m128i_private[1].wasm_v128;
255
+
256
+ SIMDE_VECTORIZE
257
+ for (size_t i = 0 ; i < (sizeof(r_.m128i_private) / sizeof(r_.m128i_private[0])) ; i++) {
258
+ index16 = wasm_v128_and(idx_.m128i_private[i].wasm_v128, mask16);
259
+ index16 = wasm_i16x8_mul(index16, shift16);
260
+ index = wasm_i16x8_add(index16, byte_index16);
261
+ r = wasm_v8x16_swizzle(a0, index);
262
+
263
+ index = wasm_i8x16_sub(index, sixteen);
264
+ t = wasm_v8x16_swizzle(a1, index);
265
+ r_.m128i_private[i].wasm_v128 = wasm_v128_or(r, t);
266
+ }
267
+ #else
268
+ SIMDE_VECTORIZE
269
+ for (size_t i = 0 ; i < (sizeof(r_.i16) / sizeof(r_.i16[0])) ; i++) {
270
+ r_.i16[i] = a_.i16[idx_.i16[i] & 0x0F];
271
+ }
272
+ #endif
273
+
274
+ return simde__m256i_from_private(r_);
275
+ #endif
276
+ }
277
+ #if defined(SIMDE_X86_AVX512BW_ENABLE_NATIVE_ALIASES) || defined(SIMDE_X86_AVX512VL_ENABLE_NATIVE_ALIASES)
278
+ #undef _mm256_permutexvar_epi16
279
+ #define _mm256_permutexvar_epi16(idx, a) simde_mm256_permutexvar_epi16(idx, a)
280
+ #endif
281
+
282
+ SIMDE_FUNCTION_ATTRIBUTES
283
+ simde__m256i
284
+ simde_mm256_mask_permutexvar_epi16 (simde__m256i src, simde__mmask16 k, simde__m256i idx, simde__m256i a) {
285
+ #if defined(SIMDE_X86_AVX512BW_NATIVE) && defined(SIMDE_X86_AVX512VL_NATIVE)
286
+ return _mm256_mask_permutexvar_epi16(src, k, idx, a);
287
+ #else
288
+ return simde_mm256_mask_mov_epi16(src, k, simde_mm256_permutexvar_epi16(idx, a));
289
+ #endif
290
+ }
291
+ #if defined(SIMDE_X86_AVX512BW_ENABLE_NATIVE_ALIASES) || defined(SIMDE_X86_AVX512VL_ENABLE_NATIVE_ALIASES)
292
+ #undef _mm256_mask_permutexvar_epi16
293
+ #define _mm256_mask_permutexvar_epi16(src, k, idx, a) simde_mm256_mask_permutexvar_epi16(src, k, idx, a)
294
+ #endif
295
+
296
+ SIMDE_FUNCTION_ATTRIBUTES
297
+ simde__m256i
298
+ simde_mm256_maskz_permutexvar_epi16 (simde__mmask16 k, simde__m256i idx, simde__m256i a) {
299
+ #if defined(SIMDE_X86_AVX512BW_NATIVE) && defined(SIMDE_X86_AVX512VL_NATIVE)
300
+ return _mm256_maskz_permutexvar_epi16(k, idx, a);
301
+ #else
302
+ return simde_mm256_maskz_mov_epi16(k, simde_mm256_permutexvar_epi16(idx, a));
303
+ #endif
304
+ }
305
+ #if defined(SIMDE_X86_AVX512BW_ENABLE_NATIVE_ALIASES) || defined(SIMDE_X86_AVX512VL_ENABLE_NATIVE_ALIASES)
306
+ #undef _mm256_maskz_permutexvar_epi16
307
+ #define _mm256_maskz_permutexvar_epi16(k, idx, a) simde_mm256_maskz_permutexvar_epi16(k, idx, a)
308
+ #endif
309
+
310
+ SIMDE_FUNCTION_ATTRIBUTES
311
+ simde__m256i
312
+ simde_mm256_permutexvar_epi32 (simde__m256i idx, simde__m256i a) {
313
+ #if defined(SIMDE_X86_AVX512F_NATIVE) && defined(SIMDE_X86_AVX512VL_NATIVE)
314
+ return _mm256_permutexvar_epi32(idx, a);
315
+ #elif defined(SIMDE_X86_AVX2_NATIVE)
316
+ return simde_mm256_permutevar8x32_epi32(a, idx);
317
+ #else
318
+ simde__m256i_private
319
+ idx_ = simde__m256i_to_private(idx),
320
+ a_ = simde__m256i_to_private(a),
321
+ r_;
322
+
323
+ #if defined(SIMDE_ARM_NEON_A64V8_NATIVE)
324
+ uint8x16x2_t table = { { a_.m128i_private[0].neon_u8,
325
+ a_.m128i_private[1].neon_u8 } };
326
+ uint32x4_t mask32 = vdupq_n_u32(0x00000007);
327
+ uint32x4_t byte_index32 = vdupq_n_u32(0x03020100);
328
+
329
+ SIMDE_VECTORIZE
330
+ for (size_t i = 0 ; i < (sizeof(r_.m128i_private) / sizeof(r_.m128i_private[0])) ; i++) {
331
+ uint32x4_t index32 = vandq_u32(idx_.m128i_private[i].neon_u32, mask32);
332
+ index32 = vmulq_n_u32(index32, 0x04040404);
333
+ index32 = vaddq_u32(index32, byte_index32);
334
+ r_.m128i_private[i].neon_u8 = vqtbl2q_u8(table, vreinterpretq_u8_u32(index32));
335
+ }
336
+ #else
337
+ #if !defined(__INTEL_COMPILER)
338
+ SIMDE_VECTORIZE
339
+ #endif
340
+ for (size_t i = 0 ; i < (sizeof(r_.i32) / sizeof(r_.i32[0])) ; i++) {
341
+ r_.i32[i] = a_.i32[idx_.i32[i] & 0x07];
342
+ }
343
+ #endif
344
+
345
+ return simde__m256i_from_private(r_);
346
+ #endif
347
+ }
348
+ #if defined(SIMDE_X86_AVX512F_ENABLE_NATIVE_ALIASES) || defined(SIMDE_X86_AVX512VL_ENABLE_NATIVE_ALIASES)
349
+ #undef _mm256_permutexvar_epi32
350
+ #define _mm256_permutexvar_epi32(idx, a) simde_mm256_permutexvar_epi32(idx, a)
351
+ #endif
352
+
353
+ SIMDE_FUNCTION_ATTRIBUTES
354
+ simde__m256i
355
+ simde_mm256_mask_permutexvar_epi32 (simde__m256i src, simde__mmask8 k, simde__m256i idx, simde__m256i a) {
356
+ #if defined(SIMDE_X86_AVX512F_NATIVE) && defined(SIMDE_X86_AVX512VL_NATIVE)
357
+ return _mm256_mask_permutexvar_epi32(src, k, idx, a);
358
+ #else
359
+ return simde_mm256_mask_mov_epi32(src, k, simde_mm256_permutexvar_epi32(idx, a));
360
+ #endif
361
+ }
362
+ #if defined(SIMDE_X86_AVX512F_ENABLE_NATIVE_ALIASES) || defined(SIMDE_X86_AVX512VL_ENABLE_NATIVE_ALIASES)
363
+ #undef _mm256_mask_permutexvar_epi32
364
+ #define _mm256_mask_permutexvar_epi32(src, k, idx, a) simde_mm256_mask_permutexvar_epi32(src, k, idx, a)
365
+ #endif
366
+
367
+ SIMDE_FUNCTION_ATTRIBUTES
368
+ simde__m256i
369
+ simde_mm256_maskz_permutexvar_epi32 (simde__mmask8 k, simde__m256i idx, simde__m256i a) {
370
+ #if defined(SIMDE_X86_AVX512F_NATIVE) && defined(SIMDE_X86_AVX512VL_NATIVE)
371
+ return _mm256_maskz_permutexvar_epi32(k, idx, a);
372
+ #else
373
+ return simde_mm256_maskz_mov_epi32(k, simde_mm256_permutexvar_epi32(idx, a));
374
+ #endif
375
+ }
376
+ #if defined(SIMDE_X86_AVX512F_ENABLE_NATIVE_ALIASES) || defined(SIMDE_X86_AVX512VL_ENABLE_NATIVE_ALIASES)
377
+ #undef _mm256_maskz_permutexvar_epi32
378
+ #define _mm256_maskz_permutexvar_epi32(k, idx, a) simde_mm256_maskz_permutexvar_epi32(k, idx, a)
379
+ #endif
380
+
381
+ SIMDE_FUNCTION_ATTRIBUTES
382
+ simde__m256i
383
+ simde_mm256_permutexvar_epi64 (simde__m256i idx, simde__m256i a) {
384
+ #if defined(SIMDE_X86_AVX512F_NATIVE) && defined(SIMDE_X86_AVX512VL_NATIVE)
385
+ return _mm256_permutexvar_epi64(idx, a);
386
+ #else
387
+ simde__m256i_private
388
+ idx_ = simde__m256i_to_private(idx),
389
+ a_ = simde__m256i_to_private(a),
390
+ r_;
391
+
392
+ #if !defined(__INTEL_COMPILER)
393
+ SIMDE_VECTORIZE
394
+ #endif
395
+ for (size_t i = 0 ; i < (sizeof(r_.i64) / sizeof(r_.i64[0])) ; i++) {
396
+ r_.i64[i] = a_.i64[idx_.i64[i] & 3];
397
+ }
398
+
399
+ return simde__m256i_from_private(r_);
400
+ #endif
401
+ }
402
+ #if defined(SIMDE_X86_AVX512F_ENABLE_NATIVE_ALIASES) || defined(SIMDE_X86_AVX512VL_ENABLE_NATIVE_ALIASES)
403
+ #undef _mm256_permutexvar_epi64
404
+ #define _mm256_permutexvar_epi64(idx, a) simde_mm256_permutexvar_epi64(idx, a)
405
+ #endif
406
+
407
+ SIMDE_FUNCTION_ATTRIBUTES
408
+ simde__m256i
409
+ simde_mm256_mask_permutexvar_epi64 (simde__m256i src, simde__mmask8 k, simde__m256i idx, simde__m256i a) {
410
+ #if defined(SIMDE_X86_AVX512F_NATIVE) && defined(SIMDE_X86_AVX512VL_NATIVE)
411
+ return _mm256_mask_permutexvar_epi64(src, k, idx, a);
412
+ #else
413
+ return simde_mm256_mask_mov_epi64(src, k, simde_mm256_permutexvar_epi64(idx, a));
414
+ #endif
415
+ }
416
+ #if defined(SIMDE_X86_AVX512F_ENABLE_NATIVE_ALIASES) || defined(SIMDE_X86_AVX512VL_ENABLE_NATIVE_ALIASES)
417
+ #undef _mm256_mask_permutexvar_epi64
418
+ #define _mm256_mask_permutexvar_epi64(src, k, idx, a) simde_mm256_mask_permutexvar_epi64(src, k, idx, a)
419
+ #endif
420
+
421
+ SIMDE_FUNCTION_ATTRIBUTES
422
+ simde__m256i
423
+ simde_mm256_maskz_permutexvar_epi64 (simde__mmask8 k, simde__m256i idx, simde__m256i a) {
424
+ #if defined(SIMDE_X86_AVX512F_NATIVE) && defined(SIMDE_X86_AVX512VL_NATIVE)
425
+ return _mm256_maskz_permutexvar_epi64(k, idx, a);
426
+ #else
427
+ return simde_mm256_maskz_mov_epi64(k, simde_mm256_permutexvar_epi64(idx, a));
428
+ #endif
429
+ }
430
+ #if defined(SIMDE_X86_AVX512F_ENABLE_NATIVE_ALIASES) || defined(SIMDE_X86_AVX512VL_ENABLE_NATIVE_ALIASES)
431
+ #undef _mm256_maskz_permutexvar_epi64
432
+ #define _mm256_maskz_permutexvar_epi64(k, idx, a) simde_mm256_maskz_permutexvar_epi64(k, idx, a)
433
+ #endif
434
+
435
+ SIMDE_FUNCTION_ATTRIBUTES
436
+ simde__m256i
437
+ simde_mm256_permutexvar_epi8 (simde__m256i idx, simde__m256i a) {
438
+ #if defined(SIMDE_X86_AVX512VBMI_NATIVE) && defined(SIMDE_X86_AVX512VL_NATIVE)
439
+ return _mm256_permutexvar_epi8(idx, a);
440
+ #elif defined(SIMDE_X86_AVX2_NATIVE)
441
+ simde__m256i mask = simde_mm256_set1_epi8(0x0F);
442
+ simde__m256i lo = simde_mm256_permute4x64_epi64(a, (1 << 6) + (0 << 4) + (1 << 2) + (0 << 0));
443
+ simde__m256i hi = simde_mm256_permute4x64_epi64(a, (3 << 6) + (2 << 4) + (3 << 2) + (2 << 0));
444
+ simde__m256i index = simde_mm256_and_si256(idx, mask);
445
+ simde__m256i select = simde_mm256_slli_epi64(idx, 3);
446
+ lo = simde_mm256_shuffle_epi8(lo, index);
447
+ hi = simde_mm256_shuffle_epi8(hi, index);
448
+ return simde_mm256_blendv_epi8(lo, hi, select);
449
+ #else
450
+ simde__m256i_private
451
+ idx_ = simde__m256i_to_private(idx),
452
+ a_ = simde__m256i_to_private(a),
453
+ r_;
454
+
455
+ #if defined(SIMDE_ARM_NEON_A64V8_NATIVE)
456
+ uint8x16x2_t table = { { a_.m128i_private[0].neon_u8,
457
+ a_.m128i_private[1].neon_u8 } };
458
+ uint8x16_t mask = vdupq_n_u8(0x1F);
459
+
460
+ SIMDE_VECTORIZE
461
+ for (size_t i = 0 ; i < (sizeof(r_.m128i_private) / sizeof(r_.m128i_private[0])) ; i++) {
462
+ r_.m128i_private[i].neon_u8 = vqtbl2q_u8(table, vandq_u8(idx_.m128i_private[i].neon_u8, mask));
463
+ }
464
+ #elif defined(SIMDE_POWER_ALTIVEC_P6_NATIVE)
465
+ SIMDE_VECTORIZE
466
+ for (size_t i = 0 ; i < (sizeof(r_.m128i_private) / sizeof(r_.m128i_private[0])) ; i++) {
467
+ r_.m128i_private[i].altivec_u8 = vec_perm(a_.m128i_private[0].altivec_u8, a_.m128i_private[1].altivec_u8, idx_.m128i_private[i].altivec_u8);
468
+ }
469
+ #elif defined(SIMDE_WASM_SIMD128_NATIVE)
470
+ v128_t index, r, t;
471
+ const v128_t mask = wasm_i8x16_splat(0x1F);
472
+ const v128_t sixteen = wasm_i8x16_splat(16);
473
+ const v128_t a0 = a_.m128i_private[0].wasm_v128;
474
+ const v128_t a1 = a_.m128i_private[1].wasm_v128;
475
+
476
+ SIMDE_VECTORIZE
477
+ for (size_t i = 0 ; i < (sizeof(r_.m128i_private) / sizeof(r_.m128i_private[0])) ; i++) {
478
+ index = wasm_v128_and(idx_.m128i_private[i].wasm_v128, mask);
479
+ r = wasm_v8x16_swizzle(a0, index);
480
+ index = wasm_i8x16_sub(index, sixteen);
481
+ t = wasm_v8x16_swizzle(a1, index);
482
+ r_.m128i_private[i].wasm_v128 = wasm_v128_or(r, t);
483
+ }
484
+ #else
485
+ SIMDE_VECTORIZE
486
+ for (size_t i = 0 ; i < (sizeof(r_.i8) / sizeof(r_.i8[0])) ; i++) {
487
+ r_.i8[i] = a_.i8[idx_.i8[i] & 0x1F];
488
+ }
489
+ #endif
490
+
491
+ return simde__m256i_from_private(r_);
492
+ #endif
493
+ }
494
+ #if defined(SIMDE_X86_AVX512VBMI_ENABLE_NATIVE_ALIASES) || defined(SIMDE_X86_AVX512VL_ENABLE_NATIVE_ALIASES)
495
+ #undef _mm256_permutexvar_epi8
496
+ #define _mm256_permutexvar_epi8(idx, a) simde_mm256_permutexvar_epi8(idx, a)
497
+ #endif
498
+
499
+ SIMDE_FUNCTION_ATTRIBUTES
500
+ simde__m256i
501
+ simde_mm256_mask_permutexvar_epi8 (simde__m256i src, simde__mmask32 k, simde__m256i idx, simde__m256i a) {
502
+ #if defined(SIMDE_X86_AVX512VBMI_NATIVE) && defined(SIMDE_X86_AVX512VL_NATIVE)
503
+ return _mm256_mask_permutexvar_epi8(src, k, idx, a);
504
+ #else
505
+ return simde_mm256_mask_mov_epi8(src, k, simde_mm256_permutexvar_epi8(idx, a));
506
+ #endif
507
+ }
508
+ #if defined(SIMDE_X86_AVX512VBMI_ENABLE_NATIVE_ALIASES) || defined(SIMDE_X86_AVX512VL_ENABLE_NATIVE_ALIASES)
509
+ #undef _mm256_mask_permutexvar_epi8
510
+ #define _mm256_mask_permutexvar_epi8(src, k, idx, a) simde_mm256_mask_permutexvar_epi8(src, k, idx, a)
511
+ #endif
512
+
513
+ SIMDE_FUNCTION_ATTRIBUTES
514
+ simde__m256i
515
+ simde_mm256_maskz_permutexvar_epi8 (simde__mmask32 k, simde__m256i idx, simde__m256i a) {
516
+ #if defined(SIMDE_X86_AVX512VBMI_NATIVE) && defined(SIMDE_X86_AVX512VL_NATIVE)
517
+ return _mm256_maskz_permutexvar_epi8(k, idx, a);
518
+ #else
519
+ return simde_mm256_maskz_mov_epi8(k, simde_mm256_permutexvar_epi8(idx, a));
520
+ #endif
521
+ }
522
+ #if defined(SIMDE_X86_AVX512VBMI_ENABLE_NATIVE_ALIASES) || defined(SIMDE_X86_AVX512VL_ENABLE_NATIVE_ALIASES)
523
+ #undef _mm256_maskz_permutexvar_epi8
524
+ #define _mm256_maskz_permutexvar_epi8(k, idx, a) simde_mm256_maskz_permutexvar_epi8(k, idx, a)
525
+ #endif
526
+
527
+ SIMDE_FUNCTION_ATTRIBUTES
528
+ simde__m256d
529
+ simde_mm256_permutexvar_pd (simde__m256i idx, simde__m256d a) {
530
+ #if defined(SIMDE_X86_AVX512F_NATIVE) && defined(SIMDE_X86_AVX512VL_NATIVE)
531
+ return _mm256_permutexvar_pd(idx, a);
532
+ #else
533
+ return simde_mm256_castsi256_pd(simde_mm256_permutexvar_epi64(idx, simde_mm256_castpd_si256(a)));
534
+ #endif
535
+ }
536
+ #if defined(SIMDE_X86_AVX512F_ENABLE_NATIVE_ALIASES) || defined(SIMDE_X86_AVX512VL_ENABLE_NATIVE_ALIASES)
537
+ #undef _mm256_permutexvar_pd
538
+ #define _mm256_permutexvar_pd(idx, a) simde_mm256_permutexvar_pd(idx, a)
539
+ #endif
540
+
541
+ SIMDE_FUNCTION_ATTRIBUTES
542
+ simde__m256d
543
+ simde_mm256_mask_permutexvar_pd (simde__m256d src, simde__mmask8 k, simde__m256i idx, simde__m256d a) {
544
+ #if defined(SIMDE_X86_AVX512F_NATIVE) && defined(SIMDE_X86_AVX512VL_NATIVE)
545
+ return _mm256_mask_permutexvar_pd(src, k, idx, a);
546
+ #else
547
+ return simde_mm256_mask_mov_pd(src, k, simde_mm256_permutexvar_pd(idx, a));
548
+ #endif
549
+ }
550
+ #if defined(SIMDE_X86_AVX512F_ENABLE_NATIVE_ALIASES) || defined(SIMDE_X86_AVX512VL_ENABLE_NATIVE_ALIASES)
551
+ #undef _mm256_mask_permutexvar_pd
552
+ #define _mm256_mask_permutexvar_pd(src, k, idx, a) simde_mm256_mask_permutexvar_pd(src, k, idx, a)
553
+ #endif
554
+
555
+ SIMDE_FUNCTION_ATTRIBUTES
556
+ simde__m256d
557
+ simde_mm256_maskz_permutexvar_pd (simde__mmask8 k, simde__m256i idx, simde__m256d a) {
558
+ #if defined(SIMDE_X86_AVX512F_NATIVE) && defined(SIMDE_X86_AVX512VL_NATIVE)
559
+ return _mm256_maskz_permutexvar_pd(k, idx, a);
560
+ #else
561
+ return simde_mm256_maskz_mov_pd(k, simde_mm256_permutexvar_pd(idx, a));
562
+ #endif
563
+ }
564
+ #if defined(SIMDE_X86_AVX512F_ENABLE_NATIVE_ALIASES) || defined(SIMDE_X86_AVX512VL_ENABLE_NATIVE_ALIASES)
565
+ #undef _mm256_maskz_permutexvar_pd
566
+ #define _mm256_maskz_permutexvar_pd(k, idx, a) simde_mm256_maskz_permutexvar_pd(k, idx, a)
567
+ #endif
568
+
569
+ SIMDE_FUNCTION_ATTRIBUTES
570
+ simde__m256
571
+ simde_mm256_permutexvar_ps (simde__m256i idx, simde__m256 a) {
572
+ #if defined(SIMDE_X86_AVX512F_NATIVE) && defined(SIMDE_X86_AVX512VL_NATIVE)
573
+ return _mm256_permutexvar_ps(idx, a);
574
+ #elif defined(SIMDE_X86_AVX2_NATIVE)
575
+ return simde_mm256_permutevar8x32_ps(a, idx);
576
+ #else
577
+ return simde_mm256_castsi256_ps(simde_mm256_permutexvar_epi32(idx, simde_mm256_castps_si256(a)));
578
+ #endif
579
+ }
580
+ #if defined(SIMDE_X86_AVX512F_ENABLE_NATIVE_ALIASES) || defined(SIMDE_X86_AVX512VL_ENABLE_NATIVE_ALIASES)
581
+ #undef _mm256_permutexvar_ps
582
+ #define _mm256_permutexvar_ps(idx, a) simde_mm256_permutexvar_ps(idx, a)
583
+ #endif
584
+
585
+ SIMDE_FUNCTION_ATTRIBUTES
586
+ simde__m256
587
+ simde_mm256_mask_permutexvar_ps (simde__m256 src, simde__mmask8 k, simde__m256i idx, simde__m256 a) {
588
+ #if defined(SIMDE_X86_AVX512F_NATIVE) && defined(SIMDE_X86_AVX512VL_NATIVE)
589
+ return _mm256_mask_permutexvar_ps(src, k, idx, a);
590
+ #else
591
+ return simde_mm256_mask_mov_ps(src, k, simde_mm256_permutexvar_ps(idx, a));
592
+ #endif
593
+ }
594
+ #if defined(SIMDE_X86_AVX512F_ENABLE_NATIVE_ALIASES) || defined(SIMDE_X86_AVX512VL_ENABLE_NATIVE_ALIASES)
595
+ #undef _mm256_mask_permutexvar_ps
596
+ #define _mm256_mask_permutexvar_ps(src, k, idx, a) simde_mm256_mask_permutexvar_ps(src, k, idx, a)
597
+ #endif
598
+
599
+ SIMDE_FUNCTION_ATTRIBUTES
600
+ simde__m256
601
+ simde_mm256_maskz_permutexvar_ps (simde__mmask8 k, simde__m256i idx, simde__m256 a) {
602
+ #if defined(SIMDE_X86_AVX512F_NATIVE) && defined(SIMDE_X86_AVX512VL_NATIVE)
603
+ return _mm256_maskz_permutexvar_ps(k, idx, a);
604
+ #else
605
+ return simde_mm256_maskz_mov_ps(k, simde_mm256_permutexvar_ps(idx, a));
606
+ #endif
607
+ }
608
+ #if defined(SIMDE_X86_AVX512F_ENABLE_NATIVE_ALIASES) || defined(SIMDE_X86_AVX512VL_ENABLE_NATIVE_ALIASES)
609
+ #undef _mm256_maskz_permutexvar_ps
610
+ #define _mm256_maskz_permutexvar_ps(k, idx, a) simde_mm256_maskz_permutexvar_ps(k, idx, a)
611
+ #endif
612
+
613
+ SIMDE_FUNCTION_ATTRIBUTES
614
+ simde__m512i
615
+ simde_mm512_permutexvar_epi16 (simde__m512i idx, simde__m512i a) {
616
+ #if defined(SIMDE_X86_AVX512BW_NATIVE)
617
+ return _mm512_permutexvar_epi16(idx, a);
618
+ #else
619
+ simde__m512i_private
620
+ idx_ = simde__m512i_to_private(idx),
621
+ a_ = simde__m512i_to_private(a),
622
+ r_;
623
+
624
+ #if defined(SIMDE_X86_AVX2_NATIVE)
625
+ simde__m256i t0, t1, index, select, a01, a23;
626
+ simde__m256i mask = simde_mm256_set1_epi16(0x001F);
627
+ simde__m256i shift = simde_mm256_set1_epi16(0x0202);
628
+ simde__m256i byte_index = simde_mm256_set1_epi16(0x0100);
629
+ simde__m256i a0 = simde_mm256_broadcastsi128_si256(a_.m128i[0]);
630
+ simde__m256i a1 = simde_mm256_broadcastsi128_si256(a_.m128i[1]);
631
+ simde__m256i a2 = simde_mm256_broadcastsi128_si256(a_.m128i[2]);
632
+ simde__m256i a3 = simde_mm256_broadcastsi128_si256(a_.m128i[3]);
633
+
634
+ SIMDE_VECTORIZE
635
+ for (size_t i = 0 ; i < (sizeof(r_.m256i_private) / sizeof(r_.m256i_private[0])) ; i++) {
636
+ index = idx_.m256i[i];
637
+ index = simde_mm256_and_si256(index, mask);
638
+ index = simde_mm256_mullo_epi16(index, shift);
639
+ index = simde_mm256_add_epi16(index, byte_index);
640
+ t0 = simde_mm256_shuffle_epi8(a0, index);
641
+ t1 = simde_mm256_shuffle_epi8(a1, index);
642
+ select = simde_mm256_slli_epi64(index, 3);
643
+ a01 = simde_mm256_blendv_epi8(t0, t1, select);
644
+ t0 = simde_mm256_shuffle_epi8(a2, index);
645
+ t1 = simde_mm256_shuffle_epi8(a3, index);
646
+ a23 = simde_mm256_blendv_epi8(t0, t1, select);
647
+ select = simde_mm256_slli_epi64(index, 2);
648
+ r_.m256i[i] = simde_mm256_blendv_epi8(a01, a23, select);
649
+ }
650
+ #elif defined(SIMDE_ARM_NEON_A64V8_NATIVE)
651
+ uint8x16x4_t table = { { a_.m128i_private[0].neon_u8,
652
+ a_.m128i_private[1].neon_u8,
653
+ a_.m128i_private[2].neon_u8,
654
+ a_.m128i_private[3].neon_u8 } };
655
+ uint16x8_t mask16 = vdupq_n_u16(0x001F);
656
+ uint16x8_t byte_index16 = vdupq_n_u16(0x0100);
657
+
658
+ SIMDE_VECTORIZE
659
+ for (size_t i = 0 ; i < (sizeof(r_.m128i_private) / sizeof(r_.m128i_private[0])) ; i++) {
660
+ uint16x8_t index16 = vandq_u16(idx_.m128i_private[i].neon_u16, mask16);
661
+ index16 = vmulq_n_u16(index16, 0x0202);
662
+ index16 = vaddq_u16(index16, byte_index16);
663
+ r_.m128i_private[i].neon_u8 = vqtbl4q_u8(table, vreinterpretq_u8_u16(index16));
664
+ }
665
+ #elif defined(SIMDE_POWER_ALTIVEC_P6_NATIVE)
666
+ SIMDE_POWER_ALTIVEC_VECTOR(unsigned short) index16, mask16, shift16, byte_index16;
667
+ SIMDE_POWER_ALTIVEC_VECTOR(unsigned char) index, test, r01, r23;
668
+ mask16 = vec_splats(HEDLEY_STATIC_CAST(unsigned short, 0x001F));
669
+ shift16 = vec_splats(HEDLEY_STATIC_CAST(unsigned short, 0x0202));
670
+ byte_index16 = vec_splats(HEDLEY_STATIC_CAST(unsigned short, 0x0100));
671
+ test = vec_splats(HEDLEY_STATIC_CAST(unsigned char, 0x20));
672
+
673
+ SIMDE_VECTORIZE
674
+ for (size_t i = 0 ; i < (sizeof(r_.m128i_private) / sizeof(r_.m128i_private[0])) ; i++) {
675
+ index16 = vec_and(idx_.m128i_private[i].altivec_u16, mask16);
676
+ index16 = vec_mladd(index16, shift16, byte_index16);
677
+ index = HEDLEY_REINTERPRET_CAST(SIMDE_POWER_ALTIVEC_VECTOR(unsigned char), index16);
678
+ r01 = vec_perm(a_.m128i_private[0].altivec_u8, a_.m128i_private[1].altivec_u8, index);
679
+ r23 = vec_perm(a_.m128i_private[2].altivec_u8, a_.m128i_private[3].altivec_u8, index);
680
+ r_.m128i_private[i].altivec_u8 = vec_sel(r01, r23, vec_cmpeq(vec_and(index, test), test));
681
+ }
682
+ #elif defined(SIMDE_WASM_SIMD128_NATIVE)
683
+ v128_t index, r, t;
684
+ const v128_t mask = wasm_i16x8_splat(0x001F);
685
+ const v128_t shift = wasm_i16x8_splat(0x0202);
686
+ const v128_t byte_index = wasm_i16x8_splat(0x0100);
687
+ const v128_t sixteen = wasm_i8x16_splat(16);
688
+ const v128_t a0 = a_.m128i_private[0].wasm_v128;
689
+ const v128_t a1 = a_.m128i_private[1].wasm_v128;
690
+ const v128_t a2 = a_.m128i_private[2].wasm_v128;
691
+ const v128_t a3 = a_.m128i_private[3].wasm_v128;
692
+
693
+ SIMDE_VECTORIZE
694
+ for (size_t i = 0 ; i < (sizeof(r_.m128i_private) / sizeof(r_.m128i_private[0])) ; i++) {
695
+ index = wasm_v128_and(idx_.m128i_private[i].wasm_v128, mask);
696
+ index = wasm_i16x8_mul(index, shift);
697
+ index = wasm_i16x8_add(index, byte_index);
698
+ r = wasm_v8x16_swizzle(a0, index);
699
+
700
+ index = wasm_i8x16_sub(index, sixteen);
701
+ t = wasm_v8x16_swizzle(a1, index);
702
+ r = wasm_v128_or(r, t);
703
+
704
+ index = wasm_i8x16_sub(index, sixteen);
705
+ t = wasm_v8x16_swizzle(a2, index);
706
+ r = wasm_v128_or(r, t);
707
+
708
+ index = wasm_i8x16_sub(index, sixteen);
709
+ t = wasm_v8x16_swizzle(a3, index);
710
+ r_.m128i_private[i].wasm_v128 = wasm_v128_or(r, t);
711
+ }
712
+ #else
713
+ SIMDE_VECTORIZE
714
+ for (size_t i = 0 ; i < (sizeof(r_.i16) / sizeof(r_.i16[0])) ; i++) {
715
+ r_.i16[i] = a_.i16[idx_.i16[i] & 0x1F];
716
+ }
717
+ #endif
718
+
719
+ return simde__m512i_from_private(r_);
720
+ #endif
721
+ }
722
+ #if defined(SIMDE_X86_AVX512BW_ENABLE_NATIVE_ALIASES)
723
+ #undef _mm512_permutexvar_epi16
724
+ #define _mm512_permutexvar_epi16(idx, a) simde_mm512_permutexvar_epi16(idx, a)
725
+ #endif
726
+
727
+ SIMDE_FUNCTION_ATTRIBUTES
728
+ simde__m512i
729
+ simde_mm512_mask_permutexvar_epi16 (simde__m512i src, simde__mmask32 k, simde__m512i idx, simde__m512i a) {
730
+ #if defined(SIMDE_X86_AVX512BW_NATIVE)
731
+ return _mm512_mask_permutexvar_epi16(src, k, idx, a);
732
+ #else
733
+ return simde_mm512_mask_mov_epi16(src, k, simde_mm512_permutexvar_epi16(idx, a));
734
+ #endif
735
+ }
736
+ #if defined(SIMDE_X86_AVX512BW_ENABLE_NATIVE_ALIASES)
737
+ #undef _mm512_mask_permutexvar_epi16
738
+ #define _mm512_mask_permutexvar_epi16(src, k, idx, a) simde_mm512_mask_permutexvar_epi16(src, k, idx, a)
739
+ #endif
740
+
741
+ SIMDE_FUNCTION_ATTRIBUTES
742
+ simde__m512i
743
+ simde_mm512_maskz_permutexvar_epi16 (simde__mmask32 k, simde__m512i idx, simde__m512i a) {
744
+ #if defined(SIMDE_X86_AVX512BW_NATIVE)
745
+ return _mm512_maskz_permutexvar_epi16(k, idx, a);
746
+ #else
747
+ return simde_mm512_maskz_mov_epi16(k, simde_mm512_permutexvar_epi16(idx, a));
748
+ #endif
749
+ }
750
+ #if defined(SIMDE_X86_AVX512BW_ENABLE_NATIVE_ALIASES)
751
+ #undef _mm512_maskz_permutexvar_epi16
752
+ #define _mm512_maskz_permutexvar_epi16(k, idx, a) simde_mm512_maskz_permutexvar_epi16(k, idx, a)
753
+ #endif
754
+
755
+ SIMDE_FUNCTION_ATTRIBUTES
756
+ simde__m512i
757
+ simde_mm512_permutexvar_epi32 (simde__m512i idx, simde__m512i a) {
758
+ #if defined(SIMDE_X86_AVX512F_NATIVE)
759
+ return _mm512_permutexvar_epi32(idx, a);
760
+ #else
761
+ simde__m512i_private
762
+ idx_ = simde__m512i_to_private(idx),
763
+ a_ = simde__m512i_to_private(a),
764
+ r_;
765
+
766
+ #if defined(SIMDE_X86_AVX2_NATIVE)
767
+ simde__m256i index, r0, r1, select;
768
+ SIMDE_VECTORIZE
769
+ for (size_t i = 0 ; i < (sizeof(r_.m256i_private) / sizeof(r_.m256i_private[0])) ; i++) {
770
+ index = idx_.m256i[i];
771
+ r0 = simde_mm256_permutevar8x32_epi32(a_.m256i[0], index);
772
+ r1 = simde_mm256_permutevar8x32_epi32(a_.m256i[1], index);
773
+ select = simde_mm256_slli_epi32(index, 28);
774
+ r_.m256i[i] = simde_mm256_castps_si256(simde_mm256_blendv_ps(simde_mm256_castsi256_ps(r0),
775
+ simde_mm256_castsi256_ps(r1),
776
+ simde_mm256_castsi256_ps(select)));
777
+ }
778
+ #elif defined(SIMDE_ARM_NEON_A64V8_NATIVE)
779
+ uint8x16x4_t table = { { a_.m128i_private[0].neon_u8,
780
+ a_.m128i_private[1].neon_u8,
781
+ a_.m128i_private[2].neon_u8,
782
+ a_.m128i_private[3].neon_u8 } };
783
+ uint32x4_t mask32 = vdupq_n_u32(0x0000000F);
784
+ uint32x4_t byte_index32 = vdupq_n_u32(0x03020100);
785
+
786
+ SIMDE_VECTORIZE
787
+ for (size_t i = 0 ; i < (sizeof(r_.m128i_private) / sizeof(r_.m128i_private[0])) ; i++) {
788
+ uint32x4_t index32 = vandq_u32(idx_.m128i_private[i].neon_u32, mask32);
789
+ index32 = vmulq_n_u32(index32, 0x04040404);
790
+ index32 = vaddq_u32(index32, byte_index32);
791
+ r_.m128i_private[i].neon_u8 = vqtbl4q_u8(table, vreinterpretq_u8_u32(index32));
792
+ }
793
+ #elif defined(SIMDE_POWER_ALTIVEC_P6_NATIVE)
794
+ SIMDE_POWER_ALTIVEC_VECTOR(unsigned int) index32, mask32, byte_index32, temp32, sixteen;
795
+ SIMDE_POWER_ALTIVEC_VECTOR(unsigned short) zero, shift;
796
+ SIMDE_POWER_ALTIVEC_VECTOR(unsigned char) index, test, r01, r23;
797
+ mask32 = vec_splats(HEDLEY_STATIC_CAST(unsigned int, 0x0000000F));
798
+ byte_index32 = vec_splats(HEDLEY_STATIC_CAST(unsigned int, 0x03020100));
799
+ zero = vec_splat_u16(0);
800
+ shift = vec_splats(HEDLEY_STATIC_CAST(unsigned short, 0x0404));
801
+ sixteen = vec_splats(HEDLEY_STATIC_CAST(unsigned int, 16));
802
+ test = vec_splats(HEDLEY_STATIC_CAST(unsigned char, 0x20));
803
+
804
+ SIMDE_VECTORIZE
805
+ for (size_t i = 0 ; i < (sizeof(r_.m128i_private) / sizeof(r_.m128i_private[0])) ; i++) {
806
+ index32 = vec_and(idx_.m128i_private[i].altivec_u32, mask32);
807
+
808
+ /* Multiply index32 by 0x04040404; unfortunately vec_mul isn't available so (mis)use 16-bit vec_mladd */
809
+ temp32 = vec_sl(index32, sixteen);
810
+ index32 = vec_add(index32, temp32);
811
+ index32 = HEDLEY_REINTERPRET_CAST(SIMDE_POWER_ALTIVEC_VECTOR(unsigned int),
812
+ vec_mladd(HEDLEY_REINTERPRET_CAST(SIMDE_POWER_ALTIVEC_VECTOR(unsigned short), index32),
813
+ shift,
814
+ zero));
815
+
816
+ index32 = vec_add(index32, byte_index32);
817
+ index = HEDLEY_REINTERPRET_CAST(SIMDE_POWER_ALTIVEC_VECTOR(unsigned char), index32);
818
+ r01 = vec_perm(a_.m128i_private[0].altivec_u8, a_.m128i_private[1].altivec_u8, index);
819
+ r23 = vec_perm(a_.m128i_private[2].altivec_u8, a_.m128i_private[3].altivec_u8, index);
820
+ r_.m128i_private[i].altivec_u8 = vec_sel(r01, r23, vec_cmpeq(vec_and(index, test), test));
821
+ }
822
+ #elif defined(SIMDE_WASM_SIMD128_NATIVE)
823
+ v128_t index, r, t;
824
+ const v128_t mask = wasm_i32x4_splat(0x0000000F);
825
+ const v128_t shift = wasm_i32x4_splat(0x04040404);
826
+ const v128_t byte_index = wasm_i32x4_splat(0x03020100);
827
+ const v128_t sixteen = wasm_i8x16_splat(16);
828
+ const v128_t a0 = a_.m128i_private[0].wasm_v128;
829
+ const v128_t a1 = a_.m128i_private[1].wasm_v128;
830
+ const v128_t a2 = a_.m128i_private[2].wasm_v128;
831
+ const v128_t a3 = a_.m128i_private[3].wasm_v128;
832
+
833
+ SIMDE_VECTORIZE
834
+ for (size_t i = 0 ; i < (sizeof(r_.m128i_private) / sizeof(r_.m128i_private[0])) ; i++) {
835
+ index = wasm_v128_and(idx_.m128i_private[i].wasm_v128, mask);
836
+ index = wasm_i32x4_mul(index, shift);
837
+ index = wasm_i32x4_add(index, byte_index);
838
+ r = wasm_v8x16_swizzle(a0, index);
839
+
840
+ index = wasm_i8x16_sub(index, sixteen);
841
+ t = wasm_v8x16_swizzle(a1, index);
842
+ r = wasm_v128_or(r, t);
843
+
844
+ index = wasm_i8x16_sub(index, sixteen);
845
+ t = wasm_v8x16_swizzle(a2, index);
846
+ r = wasm_v128_or(r, t);
847
+
848
+ index = wasm_i8x16_sub(index, sixteen);
849
+ t = wasm_v8x16_swizzle(a3, index);
850
+ r_.m128i_private[i].wasm_v128 = wasm_v128_or(r, t);
851
+ }
852
+ #else
853
+ #if !defined(__INTEL_COMPILER)
854
+ SIMDE_VECTORIZE
855
+ #endif
856
+ for (size_t i = 0 ; i < (sizeof(r_.i32) / sizeof(r_.i32[0])) ; i++) {
857
+ r_.i32[i] = a_.i32[idx_.i32[i] & 0x0F];
858
+ }
859
+ #endif
860
+
861
+ return simde__m512i_from_private(r_);
862
+ #endif
863
+ }
864
+ #if defined(SIMDE_X86_AVX512F_ENABLE_NATIVE_ALIASES)
865
+ #undef _mm512_permutexvar_epi32
866
+ #define _mm512_permutexvar_epi32(idx, a) simde_mm512_permutexvar_epi32(idx, a)
867
+ #endif
868
+
869
+ SIMDE_FUNCTION_ATTRIBUTES
870
+ simde__m512i
871
+ simde_mm512_mask_permutexvar_epi32 (simde__m512i src, simde__mmask16 k, simde__m512i idx, simde__m512i a) {
872
+ #if defined(SIMDE_X86_AVX512F_NATIVE)
873
+ return _mm512_mask_permutexvar_epi32(src, k, idx, a);
874
+ #else
875
+ return simde_mm512_mask_mov_epi32(src, k, simde_mm512_permutexvar_epi32(idx, a));
876
+ #endif
877
+ }
878
+ #if defined(SIMDE_X86_AVX512F_ENABLE_NATIVE_ALIASES)
879
+ #undef _mm512_mask_permutexvar_epi32
880
+ #define _mm512_mask_permutexvar_epi32(src, k, idx, a) simde_mm512_mask_permutexvar_epi32(src, k, idx, a)
881
+ #endif
882
+
883
+ SIMDE_FUNCTION_ATTRIBUTES
884
+ simde__m512i
885
+ simde_mm512_maskz_permutexvar_epi32 (simde__mmask16 k, simde__m512i idx, simde__m512i a) {
886
+ #if defined(SIMDE_X86_AVX512F_NATIVE)
887
+ return _mm512_maskz_permutexvar_epi32(k, idx, a);
888
+ #else
889
+ return simde_mm512_maskz_mov_epi32(k, simde_mm512_permutexvar_epi32(idx, a));
890
+ #endif
891
+ }
892
+ #if defined(SIMDE_X86_AVX512F_ENABLE_NATIVE_ALIASES)
893
+ #undef _mm512_maskz_permutexvar_epi32
894
+ #define _mm512_maskz_permutexvar_epi32(k, idx, a) simde_mm512_maskz_permutexvar_epi32(k, idx, a)
895
+ #endif
896
+
897
+ SIMDE_FUNCTION_ATTRIBUTES
898
+ simde__m512i
899
+ simde_mm512_permutexvar_epi64 (simde__m512i idx, simde__m512i a) {
900
+ #if defined(SIMDE_X86_AVX512F_NATIVE)
901
+ return _mm512_permutexvar_epi64(idx, a);
902
+ #else
903
+ simde__m512i_private
904
+ idx_ = simde__m512i_to_private(idx),
905
+ a_ = simde__m512i_to_private(a),
906
+ r_;
907
+
908
+ #if !defined(__INTEL_COMPILER)
909
+ SIMDE_VECTORIZE
910
+ #endif
911
+ for (size_t i = 0 ; i < (sizeof(r_.i64) / sizeof(r_.i64[0])) ; i++) {
912
+ r_.i64[i] = a_.i64[idx_.i64[i] & 7];
913
+ }
914
+
915
+ return simde__m512i_from_private(r_);
916
+ #endif
917
+ }
918
+ #if defined(SIMDE_X86_AVX512F_ENABLE_NATIVE_ALIASES)
919
+ #undef _mm512_permutexvar_epi64
920
+ #define _mm512_permutexvar_epi64(idx, a) simde_mm512_permutexvar_epi64(idx, a)
921
+ #endif
922
+
923
+ SIMDE_FUNCTION_ATTRIBUTES
924
+ simde__m512i
925
+ simde_mm512_mask_permutexvar_epi64 (simde__m512i src, simde__mmask8 k, simde__m512i idx, simde__m512i a) {
926
+ #if defined(SIMDE_X86_AVX512F_NATIVE)
927
+ return _mm512_mask_permutexvar_epi64(src, k, idx, a);
928
+ #else
929
+ return simde_mm512_mask_mov_epi64(src, k, simde_mm512_permutexvar_epi64(idx, a));
930
+ #endif
931
+ }
932
+ #if defined(SIMDE_X86_AVX512F_ENABLE_NATIVE_ALIASES)
933
+ #undef _mm512_mask_permutexvar_epi64
934
+ #define _mm512_mask_permutexvar_epi64(src, k, idx, a) simde_mm512_mask_permutexvar_epi64(src, k, idx, a)
935
+ #endif
936
+
937
+ SIMDE_FUNCTION_ATTRIBUTES
938
+ simde__m512i
939
+ simde_mm512_maskz_permutexvar_epi64 (simde__mmask8 k, simde__m512i idx, simde__m512i a) {
940
+ #if defined(SIMDE_X86_AVX512F_NATIVE)
941
+ return _mm512_maskz_permutexvar_epi64(k, idx, a);
942
+ #else
943
+ return simde_mm512_maskz_mov_epi64(k, simde_mm512_permutexvar_epi64(idx, a));
944
+ #endif
945
+ }
946
+ #if defined(SIMDE_X86_AVX512F_ENABLE_NATIVE_ALIASES)
947
+ #undef _mm512_maskz_permutexvar_epi64
948
+ #define _mm512_maskz_permutexvar_epi64(k, idx, a) simde_mm512_maskz_permutexvar_epi64(k, idx, a)
949
+ #endif
950
+
951
+ SIMDE_FUNCTION_ATTRIBUTES
952
+ simde__m512i
953
+ simde_mm512_permutexvar_epi8 (simde__m512i idx, simde__m512i a) {
954
+ #if defined(SIMDE_X86_AVX512VBMI_NATIVE)
955
+ return _mm512_permutexvar_epi8(idx, a);
956
+ #elif defined(SIMDE_X86_AVX512BW_NATIVE) && defined(SIMDE_X86_AVX512VL_NATIVE)
957
+ simde__m512i hilo, hi, lo, hi2, lo2, idx2;
958
+ simde__m512i ones = simde_mm512_set1_epi8(1);
959
+ simde__m512i low_bytes = simde_mm512_set1_epi16(0x00FF);
960
+
961
+ idx2 = simde_mm512_srli_epi16(idx, 1);
962
+ hilo = simde_mm512_permutexvar_epi16(idx2, a);
963
+ simde__mmask64 mask = simde_mm512_test_epi8_mask(idx, ones);
964
+ lo = simde_mm512_and_si512(hilo, low_bytes);
965
+ hi = simde_mm512_srli_epi16(hilo, 8);
966
+
967
+ idx2 = simde_mm512_srli_epi16(idx, 9);
968
+ hilo = simde_mm512_permutexvar_epi16(idx2, a);
969
+ lo2 = simde_mm512_slli_epi16(hilo, 8);
970
+ hi2 = simde_mm512_andnot_si512(low_bytes, hilo);
971
+
972
+ lo = simde_mm512_or_si512(lo, lo2);
973
+ hi = simde_mm512_or_si512(hi, hi2);
974
+
975
+ return simde_mm512_mask_blend_epi8(mask, lo, hi);
976
+ #else
977
+ simde__m512i_private
978
+ idx_ = simde__m512i_to_private(idx),
979
+ a_ = simde__m512i_to_private(a),
980
+ r_;
981
+
982
+ #if defined(SIMDE_X86_AVX2_NATIVE)
983
+ simde__m256i t0, t1, index, select, a01, a23;
984
+ simde__m256i mask = simde_mm256_set1_epi8(0x3F);
985
+ simde__m256i a0 = simde_mm256_broadcastsi128_si256(a_.m128i[0]);
986
+ simde__m256i a1 = simde_mm256_broadcastsi128_si256(a_.m128i[1]);
987
+ simde__m256i a2 = simde_mm256_broadcastsi128_si256(a_.m128i[2]);
988
+ simde__m256i a3 = simde_mm256_broadcastsi128_si256(a_.m128i[3]);
989
+
990
+ SIMDE_VECTORIZE
991
+ for (size_t i = 0 ; i < (sizeof(r_.m256i_private) / sizeof(r_.m256i_private[0])) ; i++) {
992
+ index = idx_.m256i[i];
993
+ index = simde_mm256_and_si256(index, mask);
994
+ select = simde_mm256_slli_epi64(index, 3);
995
+ t0 = simde_mm256_shuffle_epi8(a0, index);
996
+ t1 = simde_mm256_shuffle_epi8(a1, index);
997
+ a01 = simde_mm256_blendv_epi8(t0, t1, select);
998
+ t0 = simde_mm256_shuffle_epi8(a2, index);
999
+ t1 = simde_mm256_shuffle_epi8(a3, index);
1000
+ a23 = simde_mm256_blendv_epi8(t0, t1, select);
1001
+ select = simde_mm256_slli_epi64(index, 2);
1002
+ r_.m256i[i] = simde_mm256_blendv_epi8(a01, a23, select);
1003
+ }
1004
+ #elif defined(SIMDE_ARM_NEON_A64V8_NATIVE)
1005
+ uint8x16x4_t table = { { a_.m128i_private[0].neon_u8,
1006
+ a_.m128i_private[1].neon_u8,
1007
+ a_.m128i_private[2].neon_u8,
1008
+ a_.m128i_private[3].neon_u8 } };
1009
+ uint8x16_t mask = vdupq_n_u8(0x3F);
1010
+
1011
+ SIMDE_VECTORIZE
1012
+ for (size_t i = 0 ; i < (sizeof(r_.m128i_private) / sizeof(r_.m128i_private[0])) ; i++) {
1013
+ r_.m128i_private[i].neon_u8 = vqtbl4q_u8(table, vandq_u8(idx_.m128i_private[i].neon_u8, mask));
1014
+ }
1015
+ #elif defined(SIMDE_POWER_ALTIVEC_P6_NATIVE)
1016
+ SIMDE_POWER_ALTIVEC_VECTOR(unsigned char) test, r01, r23;
1017
+ test = vec_splats(HEDLEY_STATIC_CAST(unsigned char, 0x20));
1018
+ SIMDE_VECTORIZE
1019
+ for (size_t i = 0 ; i < (sizeof(r_.m128i_private) / sizeof(r_.m128i_private[0])) ; i++) {
1020
+ r01 = vec_perm(a_.m128i_private[0].altivec_u8, a_.m128i_private[1].altivec_u8, idx_.m128i_private[i].altivec_u8);
1021
+ r23 = vec_perm(a_.m128i_private[2].altivec_u8, a_.m128i_private[3].altivec_u8, idx_.m128i_private[i].altivec_u8);
1022
+ r_.m128i_private[i].altivec_u8 = vec_sel(r01, r23, vec_cmpeq(vec_and(idx_.m128i_private[i].altivec_u8, test), test));
1023
+ }
1024
+ #elif defined(SIMDE_WASM_SIMD128_NATIVE)
1025
+ v128_t index, r, t;
1026
+ const v128_t mask = wasm_i8x16_splat(0x3F);
1027
+ const v128_t sixteen = wasm_i8x16_splat(16);
1028
+ const v128_t a0 = a_.m128i_private[0].wasm_v128;
1029
+ const v128_t a1 = a_.m128i_private[1].wasm_v128;
1030
+ const v128_t a2 = a_.m128i_private[2].wasm_v128;
1031
+ const v128_t a3 = a_.m128i_private[3].wasm_v128;
1032
+
1033
+ SIMDE_VECTORIZE
1034
+ for (size_t i = 0 ; i < (sizeof(r_.m128i_private) / sizeof(r_.m128i_private[0])) ; i++) {
1035
+ index = wasm_v128_and(idx_.m128i_private[i].wasm_v128, mask);
1036
+ r = wasm_v8x16_swizzle(a0, index);
1037
+
1038
+ index = wasm_i8x16_sub(index, sixteen);
1039
+ t = wasm_v8x16_swizzle(a1, index);
1040
+ r = wasm_v128_or(r, t);
1041
+
1042
+ index = wasm_i8x16_sub(index, sixteen);
1043
+ t = wasm_v8x16_swizzle(a2, index);
1044
+ r = wasm_v128_or(r, t);
1045
+
1046
+ index = wasm_i8x16_sub(index, sixteen);
1047
+ t = wasm_v8x16_swizzle(a3, index);
1048
+ r_.m128i_private[i].wasm_v128 = wasm_v128_or(r, t);
1049
+ }
1050
+ #else
1051
+ SIMDE_VECTORIZE
1052
+ for (size_t i = 0 ; i < (sizeof(r_.i8) / sizeof(r_.i8[0])) ; i++) {
1053
+ r_.i8[i] = a_.i8[idx_.i8[i] & 0x3F];
1054
+ }
1055
+ #endif
1056
+
1057
+ return simde__m512i_from_private(r_);
1058
+ #endif
1059
+ }
1060
+ #if defined(SIMDE_X86_AVX512VBMI_ENABLE_NATIVE_ALIASES)
1061
+ #undef _mm512_permutexvar_epi8
1062
+ #define _mm512_permutexvar_epi8(idx, a) simde_mm512_permutexvar_epi8(idx, a)
1063
+ #endif
1064
+
1065
+ SIMDE_FUNCTION_ATTRIBUTES
1066
+ simde__m512i
1067
+ simde_mm512_mask_permutexvar_epi8 (simde__m512i src, simde__mmask64 k, simde__m512i idx, simde__m512i a) {
1068
+ #if defined(SIMDE_X86_AVX512VBMI_NATIVE)
1069
+ return _mm512_mask_permutexvar_epi8(src, k, idx, a);
1070
+ #else
1071
+ return simde_mm512_mask_mov_epi8(src, k, simde_mm512_permutexvar_epi8(idx, a));
1072
+ #endif
1073
+ }
1074
+ #if defined(SIMDE_X86_AVX512VBMI_ENABLE_NATIVE_ALIASES)
1075
+ #undef _mm512_mask_permutexvar_epi8
1076
+ #define _mm512_mask_permutexvar_epi8(src, k, idx, a) simde_mm512_mask_permutexvar_epi8(src, k, idx, a)
1077
+ #endif
1078
+
1079
+ SIMDE_FUNCTION_ATTRIBUTES
1080
+ simde__m512i
1081
+ simde_mm512_maskz_permutexvar_epi8 (simde__mmask64 k, simde__m512i idx, simde__m512i a) {
1082
+ #if defined(SIMDE_X86_AVX512VBMI_NATIVE)
1083
+ return _mm512_maskz_permutexvar_epi8(k, idx, a);
1084
+ #else
1085
+ return simde_mm512_maskz_mov_epi8(k, simde_mm512_permutexvar_epi8(idx, a));
1086
+ #endif
1087
+ }
1088
+ #if defined(SIMDE_X86_AVX512VBMI_ENABLE_NATIVE_ALIASES)
1089
+ #undef _mm512_maskz_permutexvar_epi8
1090
+ #define _mm512_maskz_permutexvar_epi8(k, idx, a) simde_mm512_maskz_permutexvar_epi8(k, idx, a)
1091
+ #endif
1092
+
1093
+ SIMDE_FUNCTION_ATTRIBUTES
1094
+ simde__m512d
1095
+ simde_mm512_permutexvar_pd (simde__m512i idx, simde__m512d a) {
1096
+ #if defined(SIMDE_X86_AVX512F_NATIVE)
1097
+ return _mm512_permutexvar_pd(idx, a);
1098
+ #else
1099
+ return simde_mm512_castsi512_pd(simde_mm512_permutexvar_epi64(idx, simde_mm512_castpd_si512(a)));
1100
+ #endif
1101
+ }
1102
+ #if defined(SIMDE_X86_AVX512F_ENABLE_NATIVE_ALIASES)
1103
+ #undef _mm512_permutexvar_pd
1104
+ #define _mm512_permutexvar_pd(idx, a) simde_mm512_permutexvar_pd(idx, a)
1105
+ #endif
1106
+
1107
+ SIMDE_FUNCTION_ATTRIBUTES
1108
+ simde__m512d
1109
+ simde_mm512_mask_permutexvar_pd (simde__m512d src, simde__mmask8 k, simde__m512i idx, simde__m512d a) {
1110
+ #if defined(SIMDE_X86_AVX512F_NATIVE)
1111
+ return _mm512_mask_permutexvar_pd(src, k, idx, a);
1112
+ #else
1113
+ return simde_mm512_mask_mov_pd(src, k, simde_mm512_permutexvar_pd(idx, a));
1114
+ #endif
1115
+ }
1116
+ #if defined(SIMDE_X86_AVX512F_ENABLE_NATIVE_ALIASES)
1117
+ #undef _mm512_mask_permutexvar_pd
1118
+ #define _mm512_mask_permutexvar_pd(src, k, idx, a) simde_mm512_mask_permutexvar_pd(src, k, idx, a)
1119
+ #endif
1120
+
1121
+ SIMDE_FUNCTION_ATTRIBUTES
1122
+ simde__m512d
1123
+ simde_mm512_maskz_permutexvar_pd (simde__mmask8 k, simde__m512i idx, simde__m512d a) {
1124
+ #if defined(SIMDE_X86_AVX512F_NATIVE)
1125
+ return _mm512_maskz_permutexvar_pd(k, idx, a);
1126
+ #else
1127
+ return simde_mm512_maskz_mov_pd(k, simde_mm512_permutexvar_pd(idx, a));
1128
+ #endif
1129
+ }
1130
+ #if defined(SIMDE_X86_AVX512F_ENABLE_NATIVE_ALIASES)
1131
+ #undef _mm512_maskz_permutexvar_pd
1132
+ #define _mm512_maskz_permutexvar_pd(k, idx, a) simde_mm512_maskz_permutexvar_pd(k, idx, a)
1133
+ #endif
1134
+
1135
+ SIMDE_FUNCTION_ATTRIBUTES
1136
+ simde__m512
1137
+ simde_mm512_permutexvar_ps (simde__m512i idx, simde__m512 a) {
1138
+ #if defined(SIMDE_X86_AVX512F_NATIVE)
1139
+ return _mm512_permutexvar_ps(idx, a);
1140
+ #else
1141
+ return simde_mm512_castsi512_ps(simde_mm512_permutexvar_epi32(idx, simde_mm512_castps_si512(a)));
1142
+ #endif
1143
+ }
1144
+ #if defined(SIMDE_X86_AVX512F_ENABLE_NATIVE_ALIASES)
1145
+ #undef _mm512_permutexvar_ps
1146
+ #define _mm512_permutexvar_ps(idx, a) simde_mm512_permutexvar_ps(idx, a)
1147
+ #endif
1148
+
1149
+ SIMDE_FUNCTION_ATTRIBUTES
1150
+ simde__m512
1151
+ simde_mm512_mask_permutexvar_ps (simde__m512 src, simde__mmask16 k, simde__m512i idx, simde__m512 a) {
1152
+ #if defined(SIMDE_X86_AVX512F_NATIVE)
1153
+ return _mm512_mask_permutexvar_ps(src, k, idx, a);
1154
+ #else
1155
+ return simde_mm512_mask_mov_ps(src, k, simde_mm512_permutexvar_ps(idx, a));
1156
+ #endif
1157
+ }
1158
+ #if defined(SIMDE_X86_AVX512F_ENABLE_NATIVE_ALIASES)
1159
+ #undef _mm512_mask_permutexvar_ps
1160
+ #define _mm512_mask_permutexvar_ps(src, k, idx, a) simde_mm512_mask_permutexvar_ps(src, k, idx, a)
1161
+ #endif
1162
+
1163
+ SIMDE_FUNCTION_ATTRIBUTES
1164
+ simde__m512
1165
+ simde_mm512_maskz_permutexvar_ps (simde__mmask16 k, simde__m512i idx, simde__m512 a) {
1166
+ #if defined(SIMDE_X86_AVX512F_NATIVE)
1167
+ return _mm512_maskz_permutexvar_ps(k, idx, a);
1168
+ #else
1169
+ return simde_mm512_maskz_mov_ps(k, simde_mm512_permutexvar_ps(idx, a));
1170
+ #endif
1171
+ }
1172
+ #if defined(SIMDE_X86_AVX512F_ENABLE_NATIVE_ALIASES)
1173
+ #undef _mm512_maskz_permutexvar_ps
1174
+ #define _mm512_maskz_permutexvar_ps(k, idx, a) simde_mm512_maskz_permutexvar_ps(k, idx, a)
1175
+ #endif
1176
+
1177
+ SIMDE_END_DECLS_
1178
+ HEDLEY_DIAGNOSTIC_POP
1179
+
1180
+ #endif /* !defined(SIMDE_X86_AVX512_PERMUTEXVAR_H) */