casadi 3.6.4__cp312-none-manylinux2014_x86_64.whl → 3.6.5__cp312-none-manylinux2014_x86_64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1788) hide show
  1. casadi/_casadi.so +0 -0
  2. casadi/casadi.py +328 -250
  3. casadi/clp +0 -0
  4. casadi/cmake/casadi-config-version.cmake +1 -1
  5. casadi/include/casadi/casadi.i +30 -15
  6. casadi/include/casadi/config.h +5 -5
  7. casadi/include/casadi/core/code_generator.hpp +29 -1
  8. casadi/include/casadi/core/core.hpp +1 -0
  9. casadi/include/casadi/core/generic_expression.hpp +1 -1
  10. casadi/include/casadi/core/generic_type.hpp +25 -1
  11. casadi/include/casadi/core/matrix_decl.hpp +15 -0
  12. casadi/include/casadi/core/runtime/casadi_nlp.hpp +131 -6
  13. casadi/include/casadi/core/runtime/casadi_sqpmethod.hpp +11 -1
  14. casadi/include/casadi/core/sparsity.hpp +5 -3
  15. casadi/include/casadi/core/tools.hpp +67 -0
  16. casadi/include/casadi/doc.i +1166 -816
  17. casadi/include/casadi/doc_merged.i +834 -569
  18. casadi/include/highs/HConfig.h +1 -1
  19. casadi/lib64/libtinyxml2.a +0 -0
  20. casadi/libCbcSolver.so +0 -0
  21. casadi/libCbcSolver.so.3 +0 -0
  22. casadi/libCbcSolver.so.3.10.11 +0 -0
  23. casadi/libClpSolver.so +0 -0
  24. casadi/libClpSolver.so.1 +0 -0
  25. casadi/libClpSolver.so.1.14.9 +0 -0
  26. casadi/libbonmin.so +0 -0
  27. casadi/libbonmin.so.4 +0 -0
  28. casadi/libbonmin.so.4.8.9 +0 -0
  29. casadi/libcasadi.so +0 -0
  30. casadi/libcasadi.so.3.7 +0 -0
  31. casadi/libcasadi_nlpsol_alpaqa.so +0 -0
  32. casadi/libcasadi_nlpsol_alpaqa.so.3.7 +0 -0
  33. casadi/libcasadi_nlpsol_ampl.so +0 -0
  34. casadi/libcasadi_nlpsol_ampl.so.3.7 +0 -0
  35. casadi/libcasadi_nlpsol_blocksqp.so +0 -0
  36. casadi/libcasadi_nlpsol_blocksqp.so.3.7 +0 -0
  37. casadi/libcasadi_nlpsol_bonmin.so +0 -0
  38. casadi/libcasadi_nlpsol_bonmin.so.3.7 +0 -0
  39. casadi/libcasadi_nlpsol_feasiblesqpmethod.so +0 -0
  40. casadi/libcasadi_nlpsol_feasiblesqpmethod.so.3.7 +0 -0
  41. casadi/libcasadi_nlpsol_ipopt.so +0 -0
  42. casadi/libcasadi_nlpsol_ipopt.so.3.7 +0 -0
  43. casadi/libcasadi_nlpsol_knitro.so +0 -0
  44. casadi/libcasadi_nlpsol_knitro.so.3.7 +0 -0
  45. casadi/libcasadi_nlpsol_qrsqp.so +0 -0
  46. casadi/libcasadi_nlpsol_qrsqp.so.3.7 +0 -0
  47. casadi/libcasadi_nlpsol_scpgen.so +0 -0
  48. casadi/libcasadi_nlpsol_scpgen.so.3.7 +0 -0
  49. casadi/libcasadi_nlpsol_sleqp.so +0 -0
  50. casadi/libcasadi_nlpsol_sleqp.so.3.7 +0 -0
  51. casadi/libcasadi_nlpsol_snopt.so +0 -0
  52. casadi/libcasadi_nlpsol_snopt.so.3.7 +0 -0
  53. casadi/libcasadi_nlpsol_sqpmethod.so +0 -0
  54. casadi/libcasadi_nlpsol_sqpmethod.so.3.7 +0 -0
  55. casadi/libcasadi_nlpsol_worhp.so +0 -0
  56. casadi/libcasadi_nlpsol_worhp.so.3.7 +0 -0
  57. casadi/libcasadi_rootfinder_fast_newton.so +0 -0
  58. casadi/libcasadi_rootfinder_fast_newton.so.3.7 +0 -0
  59. casadi/libhighs.so +0 -0
  60. casadi/libhighs.so.1.6 +0 -0
  61. casadi/libhighs.so.1.6.0 +0 -0
  62. casadi/libindirect.a +0 -0
  63. casadi/liblinsys.a +0 -0
  64. casadi/libosqp.a +0 -0
  65. casadi/libqdldl.a +0 -0
  66. casadi/libspral.a +0 -0
  67. casadi/libsuperscs.a +0 -0
  68. casadi/pkgconfig/casadi.pc +1 -1
  69. {casadi-3.6.4.dist-info → casadi-3.6.5.dist-info}/METADATA +11 -3
  70. casadi-3.6.5.dist-info/RECORD +2175 -0
  71. casadi/include/include/eigen3/Eigen/Cholesky +0 -45
  72. casadi/include/include/eigen3/Eigen/CholmodSupport +0 -48
  73. casadi/include/include/eigen3/Eigen/Core +0 -384
  74. casadi/include/include/eigen3/Eigen/Dense +0 -7
  75. casadi/include/include/eigen3/Eigen/Eigen +0 -2
  76. casadi/include/include/eigen3/Eigen/Eigenvalues +0 -60
  77. casadi/include/include/eigen3/Eigen/Geometry +0 -59
  78. casadi/include/include/eigen3/Eigen/Householder +0 -29
  79. casadi/include/include/eigen3/Eigen/IterativeLinearSolvers +0 -48
  80. casadi/include/include/eigen3/Eigen/Jacobi +0 -32
  81. casadi/include/include/eigen3/Eigen/KLUSupport +0 -41
  82. casadi/include/include/eigen3/Eigen/LU +0 -47
  83. casadi/include/include/eigen3/Eigen/MetisSupport +0 -35
  84. casadi/include/include/eigen3/Eigen/OrderingMethods +0 -70
  85. casadi/include/include/eigen3/Eigen/PaStiXSupport +0 -49
  86. casadi/include/include/eigen3/Eigen/PardisoSupport +0 -35
  87. casadi/include/include/eigen3/Eigen/QR +0 -50
  88. casadi/include/include/eigen3/Eigen/QtAlignedMalloc +0 -39
  89. casadi/include/include/eigen3/Eigen/SPQRSupport +0 -34
  90. casadi/include/include/eigen3/Eigen/SVD +0 -50
  91. casadi/include/include/eigen3/Eigen/Sparse +0 -34
  92. casadi/include/include/eigen3/Eigen/SparseCholesky +0 -37
  93. casadi/include/include/eigen3/Eigen/SparseCore +0 -69
  94. casadi/include/include/eigen3/Eigen/SparseLU +0 -50
  95. casadi/include/include/eigen3/Eigen/SparseQR +0 -36
  96. casadi/include/include/eigen3/Eigen/StdDeque +0 -27
  97. casadi/include/include/eigen3/Eigen/StdList +0 -26
  98. casadi/include/include/eigen3/Eigen/StdVector +0 -27
  99. casadi/include/include/eigen3/Eigen/SuperLUSupport +0 -64
  100. casadi/include/include/eigen3/Eigen/UmfPackSupport +0 -40
  101. casadi/include/include/eigen3/Eigen/src/Cholesky/LDLT.h +0 -688
  102. casadi/include/include/eigen3/Eigen/src/Cholesky/LLT.h +0 -558
  103. casadi/include/include/eigen3/Eigen/src/Cholesky/LLT_LAPACKE.h +0 -99
  104. casadi/include/include/eigen3/Eigen/src/CholmodSupport/CholmodSupport.h +0 -682
  105. casadi/include/include/eigen3/Eigen/src/Core/ArithmeticSequence.h +0 -413
  106. casadi/include/include/eigen3/Eigen/src/Core/Array.h +0 -417
  107. casadi/include/include/eigen3/Eigen/src/Core/ArrayBase.h +0 -226
  108. casadi/include/include/eigen3/Eigen/src/Core/ArrayWrapper.h +0 -209
  109. casadi/include/include/eigen3/Eigen/src/Core/Assign.h +0 -90
  110. casadi/include/include/eigen3/Eigen/src/Core/AssignEvaluator.h +0 -1010
  111. casadi/include/include/eigen3/Eigen/src/Core/Assign_MKL.h +0 -178
  112. casadi/include/include/eigen3/Eigen/src/Core/BandMatrix.h +0 -353
  113. casadi/include/include/eigen3/Eigen/src/Core/Block.h +0 -448
  114. casadi/include/include/eigen3/Eigen/src/Core/BooleanRedux.h +0 -162
  115. casadi/include/include/eigen3/Eigen/src/Core/CommaInitializer.h +0 -164
  116. casadi/include/include/eigen3/Eigen/src/Core/ConditionEstimator.h +0 -175
  117. casadi/include/include/eigen3/Eigen/src/Core/CoreEvaluators.h +0 -1741
  118. casadi/include/include/eigen3/Eigen/src/Core/CoreIterators.h +0 -132
  119. casadi/include/include/eigen3/Eigen/src/Core/CwiseBinaryOp.h +0 -183
  120. casadi/include/include/eigen3/Eigen/src/Core/CwiseNullaryOp.h +0 -1001
  121. casadi/include/include/eigen3/Eigen/src/Core/CwiseTernaryOp.h +0 -197
  122. casadi/include/include/eigen3/Eigen/src/Core/CwiseUnaryOp.h +0 -103
  123. casadi/include/include/eigen3/Eigen/src/Core/CwiseUnaryView.h +0 -132
  124. casadi/include/include/eigen3/Eigen/src/Core/DenseBase.h +0 -701
  125. casadi/include/include/eigen3/Eigen/src/Core/DenseCoeffsBase.h +0 -685
  126. casadi/include/include/eigen3/Eigen/src/Core/DenseStorage.h +0 -652
  127. casadi/include/include/eigen3/Eigen/src/Core/Diagonal.h +0 -258
  128. casadi/include/include/eigen3/Eigen/src/Core/DiagonalMatrix.h +0 -391
  129. casadi/include/include/eigen3/Eigen/src/Core/DiagonalProduct.h +0 -28
  130. casadi/include/include/eigen3/Eigen/src/Core/Dot.h +0 -318
  131. casadi/include/include/eigen3/Eigen/src/Core/EigenBase.h +0 -160
  132. casadi/include/include/eigen3/Eigen/src/Core/ForceAlignedAccess.h +0 -150
  133. casadi/include/include/eigen3/Eigen/src/Core/Fuzzy.h +0 -155
  134. casadi/include/include/eigen3/Eigen/src/Core/GeneralProduct.h +0 -465
  135. casadi/include/include/eigen3/Eigen/src/Core/GenericPacketMath.h +0 -1040
  136. casadi/include/include/eigen3/Eigen/src/Core/GlobalFunctions.h +0 -194
  137. casadi/include/include/eigen3/Eigen/src/Core/IO.h +0 -258
  138. casadi/include/include/eigen3/Eigen/src/Core/IndexedView.h +0 -237
  139. casadi/include/include/eigen3/Eigen/src/Core/Inverse.h +0 -117
  140. casadi/include/include/eigen3/Eigen/src/Core/Map.h +0 -171
  141. casadi/include/include/eigen3/Eigen/src/Core/MapBase.h +0 -310
  142. casadi/include/include/eigen3/Eigen/src/Core/MathFunctions.h +0 -2057
  143. casadi/include/include/eigen3/Eigen/src/Core/MathFunctionsImpl.h +0 -200
  144. casadi/include/include/eigen3/Eigen/src/Core/Matrix.h +0 -565
  145. casadi/include/include/eigen3/Eigen/src/Core/MatrixBase.h +0 -547
  146. casadi/include/include/eigen3/Eigen/src/Core/NestByValue.h +0 -85
  147. casadi/include/include/eigen3/Eigen/src/Core/NoAlias.h +0 -109
  148. casadi/include/include/eigen3/Eigen/src/Core/NumTraits.h +0 -335
  149. casadi/include/include/eigen3/Eigen/src/Core/PartialReduxEvaluator.h +0 -232
  150. casadi/include/include/eigen3/Eigen/src/Core/PermutationMatrix.h +0 -605
  151. casadi/include/include/eigen3/Eigen/src/Core/PlainObjectBase.h +0 -1128
  152. casadi/include/include/eigen3/Eigen/src/Core/Product.h +0 -191
  153. casadi/include/include/eigen3/Eigen/src/Core/ProductEvaluators.h +0 -1179
  154. casadi/include/include/eigen3/Eigen/src/Core/Random.h +0 -218
  155. casadi/include/include/eigen3/Eigen/src/Core/Redux.h +0 -515
  156. casadi/include/include/eigen3/Eigen/src/Core/Ref.h +0 -381
  157. casadi/include/include/eigen3/Eigen/src/Core/Replicate.h +0 -142
  158. casadi/include/include/eigen3/Eigen/src/Core/Reshaped.h +0 -454
  159. casadi/include/include/eigen3/Eigen/src/Core/ReturnByValue.h +0 -119
  160. casadi/include/include/eigen3/Eigen/src/Core/Reverse.h +0 -217
  161. casadi/include/include/eigen3/Eigen/src/Core/Select.h +0 -164
  162. casadi/include/include/eigen3/Eigen/src/Core/SelfAdjointView.h +0 -365
  163. casadi/include/include/eigen3/Eigen/src/Core/SelfCwiseBinaryOp.h +0 -47
  164. casadi/include/include/eigen3/Eigen/src/Core/Solve.h +0 -188
  165. casadi/include/include/eigen3/Eigen/src/Core/SolveTriangular.h +0 -235
  166. casadi/include/include/eigen3/Eigen/src/Core/SolverBase.h +0 -168
  167. casadi/include/include/eigen3/Eigen/src/Core/StableNorm.h +0 -251
  168. casadi/include/include/eigen3/Eigen/src/Core/StlIterators.h +0 -463
  169. casadi/include/include/eigen3/Eigen/src/Core/Stride.h +0 -116
  170. casadi/include/include/eigen3/Eigen/src/Core/Swap.h +0 -68
  171. casadi/include/include/eigen3/Eigen/src/Core/Transpose.h +0 -464
  172. casadi/include/include/eigen3/Eigen/src/Core/Transpositions.h +0 -386
  173. casadi/include/include/eigen3/Eigen/src/Core/TriangularMatrix.h +0 -1001
  174. casadi/include/include/eigen3/Eigen/src/Core/VectorBlock.h +0 -96
  175. casadi/include/include/eigen3/Eigen/src/Core/VectorwiseOp.h +0 -784
  176. casadi/include/include/eigen3/Eigen/src/Core/Visitor.h +0 -381
  177. casadi/include/include/eigen3/Eigen/src/Core/arch/AVX/Complex.h +0 -372
  178. casadi/include/include/eigen3/Eigen/src/Core/arch/AVX/MathFunctions.h +0 -228
  179. casadi/include/include/eigen3/Eigen/src/Core/arch/AVX/PacketMath.h +0 -1574
  180. casadi/include/include/eigen3/Eigen/src/Core/arch/AVX/TypeCasting.h +0 -115
  181. casadi/include/include/eigen3/Eigen/src/Core/arch/AVX512/Complex.h +0 -422
  182. casadi/include/include/eigen3/Eigen/src/Core/arch/AVX512/MathFunctions.h +0 -362
  183. casadi/include/include/eigen3/Eigen/src/Core/arch/AVX512/PacketMath.h +0 -2303
  184. casadi/include/include/eigen3/Eigen/src/Core/arch/AVX512/TypeCasting.h +0 -89
  185. casadi/include/include/eigen3/Eigen/src/Core/arch/AltiVec/Complex.h +0 -417
  186. casadi/include/include/eigen3/Eigen/src/Core/arch/AltiVec/MathFunctions.h +0 -90
  187. casadi/include/include/eigen3/Eigen/src/Core/arch/AltiVec/MatrixProduct.h +0 -2937
  188. casadi/include/include/eigen3/Eigen/src/Core/arch/AltiVec/MatrixProductCommon.h +0 -221
  189. casadi/include/include/eigen3/Eigen/src/Core/arch/AltiVec/MatrixProductMMA.h +0 -629
  190. casadi/include/include/eigen3/Eigen/src/Core/arch/AltiVec/PacketMath.h +0 -2711
  191. casadi/include/include/eigen3/Eigen/src/Core/arch/CUDA/Complex.h +0 -258
  192. casadi/include/include/eigen3/Eigen/src/Core/arch/Default/BFloat16.h +0 -700
  193. casadi/include/include/eigen3/Eigen/src/Core/arch/Default/ConjHelper.h +0 -117
  194. casadi/include/include/eigen3/Eigen/src/Core/arch/Default/GenericPacketMathFunctions.h +0 -1649
  195. casadi/include/include/eigen3/Eigen/src/Core/arch/Default/GenericPacketMathFunctionsFwd.h +0 -110
  196. casadi/include/include/eigen3/Eigen/src/Core/arch/Default/Half.h +0 -942
  197. casadi/include/include/eigen3/Eigen/src/Core/arch/Default/Settings.h +0 -49
  198. casadi/include/include/eigen3/Eigen/src/Core/arch/Default/TypeCasting.h +0 -120
  199. casadi/include/include/eigen3/Eigen/src/Core/arch/GPU/MathFunctions.h +0 -103
  200. casadi/include/include/eigen3/Eigen/src/Core/arch/GPU/PacketMath.h +0 -1685
  201. casadi/include/include/eigen3/Eigen/src/Core/arch/GPU/TypeCasting.h +0 -80
  202. casadi/include/include/eigen3/Eigen/src/Core/arch/HIP/hcc/math_constants.h +0 -23
  203. casadi/include/include/eigen3/Eigen/src/Core/arch/MSA/Complex.h +0 -648
  204. casadi/include/include/eigen3/Eigen/src/Core/arch/MSA/MathFunctions.h +0 -387
  205. casadi/include/include/eigen3/Eigen/src/Core/arch/MSA/PacketMath.h +0 -1233
  206. casadi/include/include/eigen3/Eigen/src/Core/arch/NEON/Complex.h +0 -584
  207. casadi/include/include/eigen3/Eigen/src/Core/arch/NEON/GeneralBlockPanelKernel.h +0 -183
  208. casadi/include/include/eigen3/Eigen/src/Core/arch/NEON/MathFunctions.h +0 -75
  209. casadi/include/include/eigen3/Eigen/src/Core/arch/NEON/PacketMath.h +0 -4587
  210. casadi/include/include/eigen3/Eigen/src/Core/arch/NEON/TypeCasting.h +0 -1419
  211. casadi/include/include/eigen3/Eigen/src/Core/arch/SSE/Complex.h +0 -351
  212. casadi/include/include/eigen3/Eigen/src/Core/arch/SSE/MathFunctions.h +0 -199
  213. casadi/include/include/eigen3/Eigen/src/Core/arch/SSE/PacketMath.h +0 -1505
  214. casadi/include/include/eigen3/Eigen/src/Core/arch/SSE/TypeCasting.h +0 -142
  215. casadi/include/include/eigen3/Eigen/src/Core/arch/SVE/MathFunctions.h +0 -44
  216. casadi/include/include/eigen3/Eigen/src/Core/arch/SVE/PacketMath.h +0 -752
  217. casadi/include/include/eigen3/Eigen/src/Core/arch/SVE/TypeCasting.h +0 -49
  218. casadi/include/include/eigen3/Eigen/src/Core/arch/SYCL/InteropHeaders.h +0 -232
  219. casadi/include/include/eigen3/Eigen/src/Core/arch/SYCL/MathFunctions.h +0 -301
  220. casadi/include/include/eigen3/Eigen/src/Core/arch/SYCL/PacketMath.h +0 -670
  221. casadi/include/include/eigen3/Eigen/src/Core/arch/SYCL/SyclMemoryModel.h +0 -694
  222. casadi/include/include/eigen3/Eigen/src/Core/arch/SYCL/TypeCasting.h +0 -85
  223. casadi/include/include/eigen3/Eigen/src/Core/arch/ZVector/Complex.h +0 -426
  224. casadi/include/include/eigen3/Eigen/src/Core/arch/ZVector/MathFunctions.h +0 -233
  225. casadi/include/include/eigen3/Eigen/src/Core/arch/ZVector/PacketMath.h +0 -1060
  226. casadi/include/include/eigen3/Eigen/src/Core/functors/AssignmentFunctors.h +0 -177
  227. casadi/include/include/eigen3/Eigen/src/Core/functors/BinaryFunctors.h +0 -541
  228. casadi/include/include/eigen3/Eigen/src/Core/functors/NullaryFunctors.h +0 -189
  229. casadi/include/include/eigen3/Eigen/src/Core/functors/StlFunctors.h +0 -166
  230. casadi/include/include/eigen3/Eigen/src/Core/functors/TernaryFunctors.h +0 -25
  231. casadi/include/include/eigen3/Eigen/src/Core/functors/UnaryFunctors.h +0 -1131
  232. casadi/include/include/eigen3/Eigen/src/Core/products/GeneralBlockPanelKernel.h +0 -2645
  233. casadi/include/include/eigen3/Eigen/src/Core/products/GeneralMatrixMatrix.h +0 -517
  234. casadi/include/include/eigen3/Eigen/src/Core/products/GeneralMatrixMatrixTriangular.h +0 -317
  235. casadi/include/include/eigen3/Eigen/src/Core/products/GeneralMatrixMatrixTriangular_BLAS.h +0 -145
  236. casadi/include/include/eigen3/Eigen/src/Core/products/GeneralMatrixMatrix_BLAS.h +0 -124
  237. casadi/include/include/eigen3/Eigen/src/Core/products/GeneralMatrixVector.h +0 -518
  238. casadi/include/include/eigen3/Eigen/src/Core/products/GeneralMatrixVector_BLAS.h +0 -136
  239. casadi/include/include/eigen3/Eigen/src/Core/products/Parallelizer.h +0 -180
  240. casadi/include/include/eigen3/Eigen/src/Core/products/SelfadjointMatrixMatrix.h +0 -544
  241. casadi/include/include/eigen3/Eigen/src/Core/products/SelfadjointMatrixMatrix_BLAS.h +0 -295
  242. casadi/include/include/eigen3/Eigen/src/Core/products/SelfadjointMatrixVector.h +0 -262
  243. casadi/include/include/eigen3/Eigen/src/Core/products/SelfadjointMatrixVector_BLAS.h +0 -118
  244. casadi/include/include/eigen3/Eigen/src/Core/products/SelfadjointProduct.h +0 -133
  245. casadi/include/include/eigen3/Eigen/src/Core/products/SelfadjointRank2Update.h +0 -94
  246. casadi/include/include/eigen3/Eigen/src/Core/products/TriangularMatrixMatrix.h +0 -472
  247. casadi/include/include/eigen3/Eigen/src/Core/products/TriangularMatrixMatrix_BLAS.h +0 -317
  248. casadi/include/include/eigen3/Eigen/src/Core/products/TriangularMatrixVector.h +0 -350
  249. casadi/include/include/eigen3/Eigen/src/Core/products/TriangularMatrixVector_BLAS.h +0 -255
  250. casadi/include/include/eigen3/Eigen/src/Core/products/TriangularSolverMatrix.h +0 -337
  251. casadi/include/include/eigen3/Eigen/src/Core/products/TriangularSolverMatrix_BLAS.h +0 -167
  252. casadi/include/include/eigen3/Eigen/src/Core/products/TriangularSolverVector.h +0 -148
  253. casadi/include/include/eigen3/Eigen/src/Core/util/BlasUtil.h +0 -583
  254. casadi/include/include/eigen3/Eigen/src/Core/util/ConfigureVectorization.h +0 -512
  255. casadi/include/include/eigen3/Eigen/src/Core/util/Constants.h +0 -563
  256. casadi/include/include/eigen3/Eigen/src/Core/util/DisableStupidWarnings.h +0 -106
  257. casadi/include/include/eigen3/Eigen/src/Core/util/ForwardDeclarations.h +0 -322
  258. casadi/include/include/eigen3/Eigen/src/Core/util/IndexedViewHelper.h +0 -186
  259. casadi/include/include/eigen3/Eigen/src/Core/util/IntegralConstant.h +0 -272
  260. casadi/include/include/eigen3/Eigen/src/Core/util/MKL_support.h +0 -137
  261. casadi/include/include/eigen3/Eigen/src/Core/util/Macros.h +0 -1464
  262. casadi/include/include/eigen3/Eigen/src/Core/util/Memory.h +0 -1163
  263. casadi/include/include/eigen3/Eigen/src/Core/util/Meta.h +0 -812
  264. casadi/include/include/eigen3/Eigen/src/Core/util/NonMPL2.h +0 -3
  265. casadi/include/include/eigen3/Eigen/src/Core/util/ReenableStupidWarnings.h +0 -31
  266. casadi/include/include/eigen3/Eigen/src/Core/util/ReshapedHelper.h +0 -51
  267. casadi/include/include/eigen3/Eigen/src/Core/util/StaticAssert.h +0 -221
  268. casadi/include/include/eigen3/Eigen/src/Core/util/SymbolicIndex.h +0 -293
  269. casadi/include/include/eigen3/Eigen/src/Core/util/XprHelper.h +0 -856
  270. casadi/include/include/eigen3/Eigen/src/Eigenvalues/ComplexEigenSolver.h +0 -346
  271. casadi/include/include/eigen3/Eigen/src/Eigenvalues/ComplexSchur.h +0 -462
  272. casadi/include/include/eigen3/Eigen/src/Eigenvalues/ComplexSchur_LAPACKE.h +0 -91
  273. casadi/include/include/eigen3/Eigen/src/Eigenvalues/EigenSolver.h +0 -622
  274. casadi/include/include/eigen3/Eigen/src/Eigenvalues/GeneralizedEigenSolver.h +0 -418
  275. casadi/include/include/eigen3/Eigen/src/Eigenvalues/GeneralizedSelfAdjointEigenSolver.h +0 -226
  276. casadi/include/include/eigen3/Eigen/src/Eigenvalues/HessenbergDecomposition.h +0 -374
  277. casadi/include/include/eigen3/Eigen/src/Eigenvalues/MatrixBaseEigenvalues.h +0 -158
  278. casadi/include/include/eigen3/Eigen/src/Eigenvalues/RealQZ.h +0 -657
  279. casadi/include/include/eigen3/Eigen/src/Eigenvalues/RealSchur.h +0 -558
  280. casadi/include/include/eigen3/Eigen/src/Eigenvalues/RealSchur_LAPACKE.h +0 -77
  281. casadi/include/include/eigen3/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h +0 -904
  282. casadi/include/include/eigen3/Eigen/src/Eigenvalues/SelfAdjointEigenSolver_LAPACKE.h +0 -87
  283. casadi/include/include/eigen3/Eigen/src/Eigenvalues/Tridiagonalization.h +0 -561
  284. casadi/include/include/eigen3/Eigen/src/Geometry/AlignedBox.h +0 -486
  285. casadi/include/include/eigen3/Eigen/src/Geometry/AngleAxis.h +0 -247
  286. casadi/include/include/eigen3/Eigen/src/Geometry/EulerAngles.h +0 -114
  287. casadi/include/include/eigen3/Eigen/src/Geometry/Homogeneous.h +0 -501
  288. casadi/include/include/eigen3/Eigen/src/Geometry/Hyperplane.h +0 -282
  289. casadi/include/include/eigen3/Eigen/src/Geometry/OrthoMethods.h +0 -235
  290. casadi/include/include/eigen3/Eigen/src/Geometry/ParametrizedLine.h +0 -232
  291. casadi/include/include/eigen3/Eigen/src/Geometry/Quaternion.h +0 -870
  292. casadi/include/include/eigen3/Eigen/src/Geometry/Rotation2D.h +0 -199
  293. casadi/include/include/eigen3/Eigen/src/Geometry/RotationBase.h +0 -206
  294. casadi/include/include/eigen3/Eigen/src/Geometry/Scaling.h +0 -188
  295. casadi/include/include/eigen3/Eigen/src/Geometry/Transform.h +0 -1563
  296. casadi/include/include/eigen3/Eigen/src/Geometry/Translation.h +0 -202
  297. casadi/include/include/eigen3/Eigen/src/Geometry/Umeyama.h +0 -166
  298. casadi/include/include/eigen3/Eigen/src/Geometry/arch/Geometry_SIMD.h +0 -168
  299. casadi/include/include/eigen3/Eigen/src/Householder/BlockHouseholder.h +0 -110
  300. casadi/include/include/eigen3/Eigen/src/Householder/Householder.h +0 -176
  301. casadi/include/include/eigen3/Eigen/src/Householder/HouseholderSequence.h +0 -545
  302. casadi/include/include/eigen3/Eigen/src/IterativeLinearSolvers/BasicPreconditioners.h +0 -226
  303. casadi/include/include/eigen3/Eigen/src/IterativeLinearSolvers/BiCGSTAB.h +0 -212
  304. casadi/include/include/eigen3/Eigen/src/IterativeLinearSolvers/ConjugateGradient.h +0 -229
  305. casadi/include/include/eigen3/Eigen/src/IterativeLinearSolvers/IncompleteCholesky.h +0 -394
  306. casadi/include/include/eigen3/Eigen/src/IterativeLinearSolvers/IncompleteLUT.h +0 -453
  307. casadi/include/include/eigen3/Eigen/src/IterativeLinearSolvers/IterativeSolverBase.h +0 -444
  308. casadi/include/include/eigen3/Eigen/src/IterativeLinearSolvers/LeastSquareConjugateGradient.h +0 -198
  309. casadi/include/include/eigen3/Eigen/src/IterativeLinearSolvers/SolveWithGuess.h +0 -117
  310. casadi/include/include/eigen3/Eigen/src/Jacobi/Jacobi.h +0 -483
  311. casadi/include/include/eigen3/Eigen/src/KLUSupport/KLUSupport.h +0 -358
  312. casadi/include/include/eigen3/Eigen/src/LU/Determinant.h +0 -117
  313. casadi/include/include/eigen3/Eigen/src/LU/FullPivLU.h +0 -877
  314. casadi/include/include/eigen3/Eigen/src/LU/InverseImpl.h +0 -432
  315. casadi/include/include/eigen3/Eigen/src/LU/PartialPivLU.h +0 -624
  316. casadi/include/include/eigen3/Eigen/src/LU/PartialPivLU_LAPACKE.h +0 -83
  317. casadi/include/include/eigen3/Eigen/src/LU/arch/InverseSize4.h +0 -351
  318. casadi/include/include/eigen3/Eigen/src/MetisSupport/MetisSupport.h +0 -137
  319. casadi/include/include/eigen3/Eigen/src/OrderingMethods/Amd.h +0 -435
  320. casadi/include/include/eigen3/Eigen/src/OrderingMethods/Eigen_Colamd.h +0 -1863
  321. casadi/include/include/eigen3/Eigen/src/OrderingMethods/Ordering.h +0 -153
  322. casadi/include/include/eigen3/Eigen/src/PaStiXSupport/PaStiXSupport.h +0 -678
  323. casadi/include/include/eigen3/Eigen/src/PardisoSupport/PardisoSupport.h +0 -545
  324. casadi/include/include/eigen3/Eigen/src/QR/ColPivHouseholderQR.h +0 -674
  325. casadi/include/include/eigen3/Eigen/src/QR/ColPivHouseholderQR_LAPACKE.h +0 -97
  326. casadi/include/include/eigen3/Eigen/src/QR/CompleteOrthogonalDecomposition.h +0 -635
  327. casadi/include/include/eigen3/Eigen/src/QR/FullPivHouseholderQR.h +0 -713
  328. casadi/include/include/eigen3/Eigen/src/QR/HouseholderQR.h +0 -434
  329. casadi/include/include/eigen3/Eigen/src/QR/HouseholderQR_LAPACKE.h +0 -68
  330. casadi/include/include/eigen3/Eigen/src/SPQRSupport/SuiteSparseQRSupport.h +0 -335
  331. casadi/include/include/eigen3/Eigen/src/SVD/BDCSVD.h +0 -1366
  332. casadi/include/include/eigen3/Eigen/src/SVD/JacobiSVD.h +0 -812
  333. casadi/include/include/eigen3/Eigen/src/SVD/JacobiSVD_LAPACKE.h +0 -91
  334. casadi/include/include/eigen3/Eigen/src/SVD/SVDBase.h +0 -376
  335. casadi/include/include/eigen3/Eigen/src/SVD/UpperBidiagonalization.h +0 -414
  336. casadi/include/include/eigen3/Eigen/src/SparseCholesky/SimplicialCholesky.h +0 -697
  337. casadi/include/include/eigen3/Eigen/src/SparseCholesky/SimplicialCholesky_impl.h +0 -174
  338. casadi/include/include/eigen3/Eigen/src/SparseCore/AmbiVector.h +0 -378
  339. casadi/include/include/eigen3/Eigen/src/SparseCore/CompressedStorage.h +0 -274
  340. casadi/include/include/eigen3/Eigen/src/SparseCore/ConservativeSparseSparseProduct.h +0 -352
  341. casadi/include/include/eigen3/Eigen/src/SparseCore/MappedSparseMatrix.h +0 -67
  342. casadi/include/include/eigen3/Eigen/src/SparseCore/SparseAssign.h +0 -270
  343. casadi/include/include/eigen3/Eigen/src/SparseCore/SparseBlock.h +0 -571
  344. casadi/include/include/eigen3/Eigen/src/SparseCore/SparseColEtree.h +0 -206
  345. casadi/include/include/eigen3/Eigen/src/SparseCore/SparseCompressedBase.h +0 -370
  346. casadi/include/include/eigen3/Eigen/src/SparseCore/SparseCwiseBinaryOp.h +0 -722
  347. casadi/include/include/eigen3/Eigen/src/SparseCore/SparseCwiseUnaryOp.h +0 -150
  348. casadi/include/include/eigen3/Eigen/src/SparseCore/SparseDenseProduct.h +0 -342
  349. casadi/include/include/eigen3/Eigen/src/SparseCore/SparseDiagonalProduct.h +0 -138
  350. casadi/include/include/eigen3/Eigen/src/SparseCore/SparseDot.h +0 -98
  351. casadi/include/include/eigen3/Eigen/src/SparseCore/SparseFuzzy.h +0 -29
  352. casadi/include/include/eigen3/Eigen/src/SparseCore/SparseMap.h +0 -305
  353. casadi/include/include/eigen3/Eigen/src/SparseCore/SparseMatrix.h +0 -1518
  354. casadi/include/include/eigen3/Eigen/src/SparseCore/SparseMatrixBase.h +0 -398
  355. casadi/include/include/eigen3/Eigen/src/SparseCore/SparsePermutation.h +0 -178
  356. casadi/include/include/eigen3/Eigen/src/SparseCore/SparseProduct.h +0 -181
  357. casadi/include/include/eigen3/Eigen/src/SparseCore/SparseRedux.h +0 -49
  358. casadi/include/include/eigen3/Eigen/src/SparseCore/SparseRef.h +0 -397
  359. casadi/include/include/eigen3/Eigen/src/SparseCore/SparseSelfAdjointView.h +0 -659
  360. casadi/include/include/eigen3/Eigen/src/SparseCore/SparseSolverBase.h +0 -124
  361. casadi/include/include/eigen3/Eigen/src/SparseCore/SparseSparseProductWithPruning.h +0 -198
  362. casadi/include/include/eigen3/Eigen/src/SparseCore/SparseTranspose.h +0 -92
  363. casadi/include/include/eigen3/Eigen/src/SparseCore/SparseTriangularView.h +0 -189
  364. casadi/include/include/eigen3/Eigen/src/SparseCore/SparseUtil.h +0 -186
  365. casadi/include/include/eigen3/Eigen/src/SparseCore/SparseVector.h +0 -478
  366. casadi/include/include/eigen3/Eigen/src/SparseCore/SparseView.h +0 -254
  367. casadi/include/include/eigen3/Eigen/src/SparseCore/TriangularSolver.h +0 -315
  368. casadi/include/include/eigen3/Eigen/src/SparseLU/SparseLU.h +0 -923
  369. casadi/include/include/eigen3/Eigen/src/SparseLU/SparseLUImpl.h +0 -66
  370. casadi/include/include/eigen3/Eigen/src/SparseLU/SparseLU_Memory.h +0 -226
  371. casadi/include/include/eigen3/Eigen/src/SparseLU/SparseLU_Structs.h +0 -110
  372. casadi/include/include/eigen3/Eigen/src/SparseLU/SparseLU_SupernodalMatrix.h +0 -375
  373. casadi/include/include/eigen3/Eigen/src/SparseLU/SparseLU_Utils.h +0 -80
  374. casadi/include/include/eigen3/Eigen/src/SparseLU/SparseLU_column_bmod.h +0 -181
  375. casadi/include/include/eigen3/Eigen/src/SparseLU/SparseLU_column_dfs.h +0 -179
  376. casadi/include/include/eigen3/Eigen/src/SparseLU/SparseLU_copy_to_ucol.h +0 -107
  377. casadi/include/include/eigen3/Eigen/src/SparseLU/SparseLU_gemm_kernel.h +0 -280
  378. casadi/include/include/eigen3/Eigen/src/SparseLU/SparseLU_heap_relax_snode.h +0 -126
  379. casadi/include/include/eigen3/Eigen/src/SparseLU/SparseLU_kernel_bmod.h +0 -130
  380. casadi/include/include/eigen3/Eigen/src/SparseLU/SparseLU_panel_bmod.h +0 -223
  381. casadi/include/include/eigen3/Eigen/src/SparseLU/SparseLU_panel_dfs.h +0 -258
  382. casadi/include/include/eigen3/Eigen/src/SparseLU/SparseLU_pivotL.h +0 -137
  383. casadi/include/include/eigen3/Eigen/src/SparseLU/SparseLU_pruneL.h +0 -136
  384. casadi/include/include/eigen3/Eigen/src/SparseLU/SparseLU_relax_snode.h +0 -83
  385. casadi/include/include/eigen3/Eigen/src/SparseQR/SparseQR.h +0 -758
  386. casadi/include/include/eigen3/Eigen/src/StlSupport/StdDeque.h +0 -116
  387. casadi/include/include/eigen3/Eigen/src/StlSupport/StdList.h +0 -106
  388. casadi/include/include/eigen3/Eigen/src/StlSupport/StdVector.h +0 -131
  389. casadi/include/include/eigen3/Eigen/src/StlSupport/details.h +0 -84
  390. casadi/include/include/eigen3/Eigen/src/SuperLUSupport/SuperLUSupport.h +0 -1025
  391. casadi/include/include/eigen3/Eigen/src/UmfPackSupport/UmfPackSupport.h +0 -642
  392. casadi/include/include/eigen3/Eigen/src/misc/Image.h +0 -82
  393. casadi/include/include/eigen3/Eigen/src/misc/Kernel.h +0 -79
  394. casadi/include/include/eigen3/Eigen/src/misc/RealSvd2x2.h +0 -55
  395. casadi/include/include/eigen3/Eigen/src/misc/blas.h +0 -440
  396. casadi/include/include/eigen3/Eigen/src/misc/lapack.h +0 -152
  397. casadi/include/include/eigen3/Eigen/src/misc/lapacke.h +0 -16292
  398. casadi/include/include/eigen3/Eigen/src/plugins/ArrayCwiseBinaryOps.h +0 -358
  399. casadi/include/include/eigen3/Eigen/src/plugins/ArrayCwiseUnaryOps.h +0 -696
  400. casadi/include/include/eigen3/Eigen/src/plugins/BlockMethods.h +0 -1442
  401. casadi/include/include/eigen3/Eigen/src/plugins/CommonCwiseBinaryOps.h +0 -115
  402. casadi/include/include/eigen3/Eigen/src/plugins/CommonCwiseUnaryOps.h +0 -177
  403. casadi/include/include/eigen3/Eigen/src/plugins/IndexedViewMethods.h +0 -262
  404. casadi/include/include/eigen3/Eigen/src/plugins/MatrixCwiseBinaryOps.h +0 -152
  405. casadi/include/include/eigen3/Eigen/src/plugins/MatrixCwiseUnaryOps.h +0 -95
  406. casadi/include/include/eigen3/Eigen/src/plugins/ReshapedMethods.h +0 -149
  407. casadi/include/include/eigen3/signature_of_eigen3_matrix_library +0 -1
  408. casadi/include/include/eigen3/unsupported/Eigen/AdolcForward +0 -159
  409. casadi/include/include/eigen3/unsupported/Eigen/AlignedVector3 +0 -234
  410. casadi/include/include/eigen3/unsupported/Eigen/ArpackSupport +0 -30
  411. casadi/include/include/eigen3/unsupported/Eigen/AutoDiff +0 -46
  412. casadi/include/include/eigen3/unsupported/Eigen/BVH +0 -95
  413. casadi/include/include/eigen3/unsupported/Eigen/CXX11/Tensor +0 -137
  414. casadi/include/include/eigen3/unsupported/Eigen/CXX11/TensorSymmetry +0 -42
  415. casadi/include/include/eigen3/unsupported/Eigen/CXX11/ThreadPool +0 -74
  416. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/Tensor.h +0 -554
  417. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorArgMax.h +0 -329
  418. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorAssign.h +0 -247
  419. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorBase.h +0 -1176
  420. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorBlock.h +0 -1559
  421. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorBroadcasting.h +0 -1093
  422. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorChipping.h +0 -518
  423. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorConcatenation.h +0 -377
  424. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContraction.h +0 -1023
  425. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionBlocking.h +0 -73
  426. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionCuda.h +0 -6
  427. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionGpu.h +0 -1413
  428. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionMapper.h +0 -575
  429. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionSycl.h +0 -1650
  430. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionThreadPool.h +0 -1679
  431. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorConversion.h +0 -456
  432. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorConvolution.h +0 -1132
  433. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorConvolutionSycl.h +0 -544
  434. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorCostModel.h +0 -214
  435. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorCustomOp.h +0 -347
  436. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDevice.h +0 -137
  437. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceCuda.h +0 -6
  438. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceDefault.h +0 -104
  439. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceGpu.h +0 -389
  440. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceSycl.h +0 -1048
  441. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceThreadPool.h +0 -409
  442. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDimensionList.h +0 -236
  443. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDimensions.h +0 -490
  444. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorEvalTo.h +0 -236
  445. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorEvaluator.h +0 -983
  446. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorExecutor.h +0 -703
  447. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorExpr.h +0 -388
  448. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorFFT.h +0 -669
  449. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorFixedSize.h +0 -379
  450. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorForcedEval.h +0 -237
  451. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorForwardDeclarations.h +0 -191
  452. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorFunctors.h +0 -488
  453. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorGenerator.h +0 -302
  454. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorGlobalFunctions.h +0 -33
  455. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorGpuHipCudaDefines.h +0 -99
  456. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorGpuHipCudaUndefines.h +0 -44
  457. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorIO.h +0 -79
  458. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorImagePatch.h +0 -603
  459. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorIndexList.h +0 -738
  460. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorInflation.h +0 -247
  461. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorInitializer.h +0 -82
  462. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorIntDiv.h +0 -263
  463. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorLayoutSwap.h +0 -216
  464. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorMacros.h +0 -98
  465. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorMap.h +0 -327
  466. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorMeta.h +0 -311
  467. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorMorphing.h +0 -1102
  468. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorPadding.h +0 -708
  469. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorPatch.h +0 -291
  470. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorRandom.h +0 -322
  471. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReduction.h +0 -998
  472. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReductionCuda.h +0 -6
  473. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReductionGpu.h +0 -966
  474. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReductionSycl.h +0 -582
  475. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorRef.h +0 -454
  476. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReverse.h +0 -465
  477. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorScan.h +0 -528
  478. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorScanSycl.h +0 -513
  479. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorShuffling.h +0 -471
  480. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorStorage.h +0 -161
  481. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorStriding.h +0 -346
  482. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorTrace.h +0 -303
  483. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorTraits.h +0 -264
  484. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorUInt128.h +0 -249
  485. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorVolumePatch.h +0 -629
  486. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/TensorSymmetry/DynamicSymmetry.h +0 -293
  487. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/TensorSymmetry/StaticSymmetry.h +0 -236
  488. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/TensorSymmetry/Symmetry.h +0 -338
  489. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/TensorSymmetry/util/TemplateGroupTheory.h +0 -669
  490. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/Barrier.h +0 -67
  491. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/EventCount.h +0 -249
  492. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/NonBlockingThreadPool.h +0 -486
  493. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/RunQueue.h +0 -236
  494. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/ThreadCancel.h +0 -23
  495. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/ThreadEnvironment.h +0 -40
  496. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/ThreadLocal.h +0 -301
  497. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/ThreadPoolInterface.h +0 -48
  498. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/ThreadYield.h +0 -20
  499. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/util/CXX11Meta.h +0 -537
  500. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/util/CXX11Workarounds.h +0 -88
  501. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/util/EmulateArray.h +0 -261
  502. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/util/MaxSizeVector.h +0 -158
  503. casadi/include/include/eigen3/unsupported/Eigen/EulerAngles +0 -43
  504. casadi/include/include/eigen3/unsupported/Eigen/FFT +0 -419
  505. casadi/include/include/eigen3/unsupported/Eigen/IterativeSolvers +0 -51
  506. casadi/include/include/eigen3/unsupported/Eigen/KroneckerProduct +0 -36
  507. casadi/include/include/eigen3/unsupported/Eigen/LevenbergMarquardt +0 -49
  508. casadi/include/include/eigen3/unsupported/Eigen/MPRealSupport +0 -213
  509. casadi/include/include/eigen3/unsupported/Eigen/MatrixFunctions +0 -504
  510. casadi/include/include/eigen3/unsupported/Eigen/MoreVectorization +0 -24
  511. casadi/include/include/eigen3/unsupported/Eigen/NonLinearOptimization +0 -140
  512. casadi/include/include/eigen3/unsupported/Eigen/NumericalDiff +0 -56
  513. casadi/include/include/eigen3/unsupported/Eigen/OpenGLSupport +0 -322
  514. casadi/include/include/eigen3/unsupported/Eigen/Polynomials +0 -137
  515. casadi/include/include/eigen3/unsupported/Eigen/Skyline +0 -39
  516. casadi/include/include/eigen3/unsupported/Eigen/SparseExtra +0 -54
  517. casadi/include/include/eigen3/unsupported/Eigen/SpecialFunctions +0 -103
  518. casadi/include/include/eigen3/unsupported/Eigen/Splines +0 -35
  519. casadi/include/include/eigen3/unsupported/Eigen/src/AutoDiff/AutoDiffJacobian.h +0 -108
  520. casadi/include/include/eigen3/unsupported/Eigen/src/AutoDiff/AutoDiffScalar.h +0 -730
  521. casadi/include/include/eigen3/unsupported/Eigen/src/AutoDiff/AutoDiffVector.h +0 -220
  522. casadi/include/include/eigen3/unsupported/Eigen/src/BVH/BVAlgorithms.h +0 -293
  523. casadi/include/include/eigen3/unsupported/Eigen/src/BVH/KdBVH.h +0 -223
  524. casadi/include/include/eigen3/unsupported/Eigen/src/Eigenvalues/ArpackSelfAdjointEigenSolver.h +0 -790
  525. casadi/include/include/eigen3/unsupported/Eigen/src/EulerAngles/EulerAngles.h +0 -355
  526. casadi/include/include/eigen3/unsupported/Eigen/src/EulerAngles/EulerSystem.h +0 -305
  527. casadi/include/include/eigen3/unsupported/Eigen/src/FFT/ei_fftw_impl.h +0 -261
  528. casadi/include/include/eigen3/unsupported/Eigen/src/FFT/ei_kissfft_impl.h +0 -449
  529. casadi/include/include/eigen3/unsupported/Eigen/src/IterativeSolvers/ConstrainedConjGrad.h +0 -187
  530. casadi/include/include/eigen3/unsupported/Eigen/src/IterativeSolvers/DGMRES.h +0 -511
  531. casadi/include/include/eigen3/unsupported/Eigen/src/IterativeSolvers/GMRES.h +0 -335
  532. casadi/include/include/eigen3/unsupported/Eigen/src/IterativeSolvers/IDRS.h +0 -436
  533. casadi/include/include/eigen3/unsupported/Eigen/src/IterativeSolvers/IncompleteLU.h +0 -90
  534. casadi/include/include/eigen3/unsupported/Eigen/src/IterativeSolvers/IterationController.h +0 -154
  535. casadi/include/include/eigen3/unsupported/Eigen/src/IterativeSolvers/MINRES.h +0 -267
  536. casadi/include/include/eigen3/unsupported/Eigen/src/IterativeSolvers/Scaling.h +0 -193
  537. casadi/include/include/eigen3/unsupported/Eigen/src/KroneckerProduct/KroneckerTensorProduct.h +0 -305
  538. casadi/include/include/eigen3/unsupported/Eigen/src/LevenbergMarquardt/LMcovar.h +0 -84
  539. casadi/include/include/eigen3/unsupported/Eigen/src/LevenbergMarquardt/LMonestep.h +0 -202
  540. casadi/include/include/eigen3/unsupported/Eigen/src/LevenbergMarquardt/LMpar.h +0 -160
  541. casadi/include/include/eigen3/unsupported/Eigen/src/LevenbergMarquardt/LMqrsolv.h +0 -188
  542. casadi/include/include/eigen3/unsupported/Eigen/src/LevenbergMarquardt/LevenbergMarquardt.h +0 -396
  543. casadi/include/include/eigen3/unsupported/Eigen/src/MatrixFunctions/MatrixExponential.h +0 -441
  544. casadi/include/include/eigen3/unsupported/Eigen/src/MatrixFunctions/MatrixFunction.h +0 -569
  545. casadi/include/include/eigen3/unsupported/Eigen/src/MatrixFunctions/MatrixLogarithm.h +0 -373
  546. casadi/include/include/eigen3/unsupported/Eigen/src/MatrixFunctions/MatrixPower.h +0 -705
  547. casadi/include/include/eigen3/unsupported/Eigen/src/MatrixFunctions/MatrixSquareRoot.h +0 -368
  548. casadi/include/include/eigen3/unsupported/Eigen/src/MatrixFunctions/StemFunction.h +0 -117
  549. casadi/include/include/eigen3/unsupported/Eigen/src/MoreVectorization/MathFunctions.h +0 -95
  550. casadi/include/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/HybridNonLinearSolver.h +0 -601
  551. casadi/include/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/LevenbergMarquardt.h +0 -657
  552. casadi/include/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/chkder.h +0 -66
  553. casadi/include/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/covar.h +0 -70
  554. casadi/include/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/dogleg.h +0 -107
  555. casadi/include/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/fdjac1.h +0 -79
  556. casadi/include/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/lmpar.h +0 -298
  557. casadi/include/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/qrsolv.h +0 -91
  558. casadi/include/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/r1mpyq.h +0 -30
  559. casadi/include/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/r1updt.h +0 -99
  560. casadi/include/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/rwupdt.h +0 -49
  561. casadi/include/include/eigen3/unsupported/Eigen/src/NumericalDiff/NumericalDiff.h +0 -130
  562. casadi/include/include/eigen3/unsupported/Eigen/src/Polynomials/Companion.h +0 -280
  563. casadi/include/include/eigen3/unsupported/Eigen/src/Polynomials/PolynomialSolver.h +0 -428
  564. casadi/include/include/eigen3/unsupported/Eigen/src/Polynomials/PolynomialUtils.h +0 -143
  565. casadi/include/include/eigen3/unsupported/Eigen/src/Skyline/SkylineInplaceLU.h +0 -352
  566. casadi/include/include/eigen3/unsupported/Eigen/src/Skyline/SkylineMatrix.h +0 -862
  567. casadi/include/include/eigen3/unsupported/Eigen/src/Skyline/SkylineMatrixBase.h +0 -212
  568. casadi/include/include/eigen3/unsupported/Eigen/src/Skyline/SkylineProduct.h +0 -295
  569. casadi/include/include/eigen3/unsupported/Eigen/src/Skyline/SkylineStorage.h +0 -259
  570. casadi/include/include/eigen3/unsupported/Eigen/src/Skyline/SkylineUtil.h +0 -89
  571. casadi/include/include/eigen3/unsupported/Eigen/src/SparseExtra/BlockOfDynamicSparseMatrix.h +0 -122
  572. casadi/include/include/eigen3/unsupported/Eigen/src/SparseExtra/BlockSparseMatrix.h +0 -1079
  573. casadi/include/include/eigen3/unsupported/Eigen/src/SparseExtra/DynamicSparseMatrix.h +0 -404
  574. casadi/include/include/eigen3/unsupported/Eigen/src/SparseExtra/MarketIO.h +0 -282
  575. casadi/include/include/eigen3/unsupported/Eigen/src/SparseExtra/MatrixMarketIterator.h +0 -247
  576. casadi/include/include/eigen3/unsupported/Eigen/src/SparseExtra/RandomSetter.h +0 -349
  577. casadi/include/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsArrayAPI.h +0 -286
  578. casadi/include/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsBFloat16.h +0 -68
  579. casadi/include/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h +0 -357
  580. casadi/include/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsHalf.h +0 -66
  581. casadi/include/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h +0 -1959
  582. casadi/include/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsPacketMath.h +0 -118
  583. casadi/include/include/eigen3/unsupported/Eigen/src/SpecialFunctions/HipVectorCompatibility.h +0 -67
  584. casadi/include/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsArrayAPI.h +0 -167
  585. casadi/include/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsBFloat16.h +0 -58
  586. casadi/include/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h +0 -330
  587. casadi/include/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsHalf.h +0 -58
  588. casadi/include/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h +0 -2045
  589. casadi/include/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsPacketMath.h +0 -79
  590. casadi/include/include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/AVX/BesselFunctions.h +0 -46
  591. casadi/include/include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/AVX/SpecialFunctions.h +0 -16
  592. casadi/include/include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/AVX512/BesselFunctions.h +0 -46
  593. casadi/include/include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/AVX512/SpecialFunctions.h +0 -16
  594. casadi/include/include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/GPU/SpecialFunctions.h +0 -369
  595. casadi/include/include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/NEON/BesselFunctions.h +0 -54
  596. casadi/include/include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/NEON/SpecialFunctions.h +0 -34
  597. casadi/include/include/eigen3/unsupported/Eigen/src/Splines/Spline.h +0 -507
  598. casadi/include/include/eigen3/unsupported/Eigen/src/Splines/SplineFitting.h +0 -431
  599. casadi/include/include/eigen3/unsupported/Eigen/src/Splines/SplineFwd.h +0 -93
  600. casadi/include/include/highs/HConfig.h +0 -20
  601. casadi/include/include/highs/Highs.h +0 -1459
  602. casadi/include/include/highs/filereaderlp/builder.hpp +0 -25
  603. casadi/include/include/highs/filereaderlp/model.hpp +0 -68
  604. casadi/include/include/highs/filereaderlp/reader.hpp +0 -10
  605. casadi/include/include/highs/fortran/highs_fortran_api.mod +0 -0
  606. casadi/include/include/highs/interfaces/highs_c_api.h +0 -2107
  607. casadi/include/include/highs/io/Filereader.h +0 -47
  608. casadi/include/include/highs/io/FilereaderEms.h +0 -33
  609. casadi/include/include/highs/io/FilereaderLp.h +0 -54
  610. casadi/include/include/highs/io/FilereaderMps.h +0 -30
  611. casadi/include/include/highs/io/HMPSIO.h +0 -81
  612. casadi/include/include/highs/io/HMpsFF.h +0 -233
  613. casadi/include/include/highs/io/HighsIO.h +0 -99
  614. casadi/include/include/highs/io/LoadOptions.h +0 -27
  615. casadi/include/include/highs/ipm/IpxWrapper.h +0 -73
  616. casadi/include/include/highs/lp_data/HConst.h +0 -295
  617. casadi/include/include/highs/lp_data/HStruct.h +0 -124
  618. casadi/include/include/highs/lp_data/HighsAnalysis.h +0 -26
  619. casadi/include/include/highs/lp_data/HighsCallback.h +0 -33
  620. casadi/include/include/highs/lp_data/HighsCallbackStruct.h +0 -36
  621. casadi/include/include/highs/lp_data/HighsDebug.h +0 -37
  622. casadi/include/include/highs/lp_data/HighsInfo.h +0 -304
  623. casadi/include/include/highs/lp_data/HighsInfoDebug.h +0 -30
  624. casadi/include/include/highs/lp_data/HighsLp.h +0 -85
  625. casadi/include/include/highs/lp_data/HighsLpSolverObject.h +0 -48
  626. casadi/include/include/highs/lp_data/HighsLpUtils.h +0 -266
  627. casadi/include/include/highs/lp_data/HighsModelUtils.h +0 -109
  628. casadi/include/include/highs/lp_data/HighsOptions.h +0 -1130
  629. casadi/include/include/highs/lp_data/HighsRanging.h +0 -46
  630. casadi/include/include/highs/lp_data/HighsRuntimeOptions.h +0 -276
  631. casadi/include/include/highs/lp_data/HighsSolution.h +0 -137
  632. casadi/include/include/highs/lp_data/HighsSolutionDebug.h +0 -90
  633. casadi/include/include/highs/lp_data/HighsSolve.h +0 -24
  634. casadi/include/include/highs/lp_data/HighsStatus.h +0 -32
  635. casadi/include/include/highs/mip/HighsCliqueTable.h +0 -318
  636. casadi/include/include/highs/mip/HighsConflictPool.h +0 -112
  637. casadi/include/include/highs/mip/HighsCutGeneration.h +0 -96
  638. casadi/include/include/highs/mip/HighsCutPool.h +0 -171
  639. casadi/include/include/highs/mip/HighsDebugSol.h +0 -142
  640. casadi/include/include/highs/mip/HighsDomain.h +0 -633
  641. casadi/include/include/highs/mip/HighsDomainChange.h +0 -51
  642. casadi/include/include/highs/mip/HighsDynamicRowMatrix.h +0 -105
  643. casadi/include/include/highs/mip/HighsGFkSolve.h +0 -441
  644. casadi/include/include/highs/mip/HighsImplications.h +0 -146
  645. casadi/include/include/highs/mip/HighsLpAggregator.h +0 -53
  646. casadi/include/include/highs/mip/HighsLpRelaxation.h +0 -355
  647. casadi/include/include/highs/mip/HighsMipSolver.h +0 -103
  648. casadi/include/include/highs/mip/HighsMipSolverData.h +0 -193
  649. casadi/include/include/highs/mip/HighsModkSeparator.h +0 -63
  650. casadi/include/include/highs/mip/HighsNodeQueue.h +0 -312
  651. casadi/include/include/highs/mip/HighsObjectiveFunction.h +0 -74
  652. casadi/include/include/highs/mip/HighsPathSeparator.h +0 -42
  653. casadi/include/include/highs/mip/HighsPrimalHeuristics.h +0 -68
  654. casadi/include/include/highs/mip/HighsPseudocost.h +0 -351
  655. casadi/include/include/highs/mip/HighsRedcostFixing.h +0 -45
  656. casadi/include/include/highs/mip/HighsSearch.h +0 -243
  657. casadi/include/include/highs/mip/HighsSeparation.h +0 -44
  658. casadi/include/include/highs/mip/HighsSeparator.h +0 -56
  659. casadi/include/include/highs/mip/HighsTableauSeparator.h +0 -37
  660. casadi/include/include/highs/mip/HighsTransformedLp.h +0 -66
  661. casadi/include/include/highs/model/HighsHessian.h +0 -49
  662. casadi/include/include/highs/model/HighsHessianUtils.h +0 -47
  663. casadi/include/include/highs/model/HighsModel.h +0 -43
  664. casadi/include/include/highs/parallel/HighsBinarySemaphore.h +0 -113
  665. casadi/include/include/highs/parallel/HighsCacheAlign.h +0 -87
  666. casadi/include/include/highs/parallel/HighsCombinable.h +0 -121
  667. casadi/include/include/highs/parallel/HighsMutex.h +0 -128
  668. casadi/include/include/highs/parallel/HighsParallel.h +0 -128
  669. casadi/include/include/highs/parallel/HighsRaceTimer.h +0 -43
  670. casadi/include/include/highs/parallel/HighsSchedulerConstants.h +0 -24
  671. casadi/include/include/highs/parallel/HighsSpinMutex.h +0 -53
  672. casadi/include/include/highs/parallel/HighsSplitDeque.h +0 -583
  673. casadi/include/include/highs/parallel/HighsTask.h +0 -176
  674. casadi/include/include/highs/parallel/HighsTaskExecutor.h +0 -209
  675. casadi/include/include/highs/presolve/HPresolve.h +0 -352
  676. casadi/include/include/highs/presolve/HPresolveAnalysis.h +0 -54
  677. casadi/include/include/highs/presolve/HighsPostsolveStack.h +0 -883
  678. casadi/include/include/highs/presolve/HighsSymmetry.h +0 -283
  679. casadi/include/include/highs/presolve/ICrash.h +0 -121
  680. casadi/include/include/highs/presolve/ICrashUtil.h +0 -65
  681. casadi/include/include/highs/presolve/ICrashX.h +0 -26
  682. casadi/include/include/highs/presolve/PresolveComponent.h +0 -93
  683. casadi/include/include/highs/qpsolver/a_asm.hpp +0 -56
  684. casadi/include/include/highs/qpsolver/a_quass.hpp +0 -12
  685. casadi/include/include/highs/qpsolver/perturbation.hpp +0 -8
  686. casadi/include/include/highs/qpsolver/quass.hpp +0 -20
  687. casadi/include/include/highs/qpsolver/scaling.hpp +0 -8
  688. casadi/include/include/highs/qpsolver/vector.hpp +0 -235
  689. casadi/include/include/highs/simplex/HApp.h +0 -422
  690. casadi/include/include/highs/simplex/HEkk.h +0 -369
  691. casadi/include/include/highs/simplex/HEkkDual.h +0 -515
  692. casadi/include/include/highs/simplex/HEkkDualRHS.h +0 -138
  693. casadi/include/include/highs/simplex/HEkkDualRow.h +0 -204
  694. casadi/include/include/highs/simplex/HEkkPrimal.h +0 -190
  695. casadi/include/include/highs/simplex/HSimplex.h +0 -47
  696. casadi/include/include/highs/simplex/HSimplexDebug.h +0 -51
  697. casadi/include/include/highs/simplex/HSimplexNla.h +0 -184
  698. casadi/include/include/highs/simplex/HSimplexReport.h +0 -24
  699. casadi/include/include/highs/simplex/HighsSimplexAnalysis.h +0 -375
  700. casadi/include/include/highs/simplex/SimplexConst.h +0 -274
  701. casadi/include/include/highs/simplex/SimplexStruct.h +0 -264
  702. casadi/include/include/highs/simplex/SimplexTimer.h +0 -427
  703. casadi/include/include/highs/test/DevKkt.h +0 -146
  704. casadi/include/include/highs/test/KktCh2.h +0 -82
  705. casadi/include/include/highs/util/FactorTimer.h +0 -224
  706. casadi/include/include/highs/util/HFactor.h +0 -558
  707. casadi/include/include/highs/util/HFactorConst.h +0 -84
  708. casadi/include/include/highs/util/HFactorDebug.h +0 -58
  709. casadi/include/include/highs/util/HSet.h +0 -92
  710. casadi/include/include/highs/util/HVector.h +0 -25
  711. casadi/include/include/highs/util/HVectorBase.h +0 -105
  712. casadi/include/include/highs/util/HighsCDouble.h +0 -310
  713. casadi/include/include/highs/util/HighsComponent.h +0 -56
  714. casadi/include/include/highs/util/HighsDataStack.h +0 -86
  715. casadi/include/include/highs/util/HighsDisjointSets.h +0 -110
  716. casadi/include/include/highs/util/HighsHash.h +0 -1270
  717. casadi/include/include/highs/util/HighsHashTree.h +0 -1443
  718. casadi/include/include/highs/util/HighsInt.h +0 -39
  719. casadi/include/include/highs/util/HighsIntegers.h +0 -216
  720. casadi/include/include/highs/util/HighsLinearSumBounds.h +0 -160
  721. casadi/include/include/highs/util/HighsMatrixPic.h +0 -40
  722. casadi/include/include/highs/util/HighsMatrixSlice.h +0 -561
  723. casadi/include/include/highs/util/HighsMatrixUtils.h +0 -57
  724. casadi/include/include/highs/util/HighsRandom.h +0 -233
  725. casadi/include/include/highs/util/HighsRbTree.h +0 -455
  726. casadi/include/include/highs/util/HighsSort.h +0 -134
  727. casadi/include/include/highs/util/HighsSparseMatrix.h +0 -144
  728. casadi/include/include/highs/util/HighsSparseVectorSum.h +0 -98
  729. casadi/include/include/highs/util/HighsSplay.h +0 -138
  730. casadi/include/include/highs/util/HighsTimer.h +0 -334
  731. casadi/include/include/highs/util/HighsUtils.h +0 -203
  732. casadi/include/include/highs/util/stringutil.h +0 -39
  733. casadi/include/include/highs_export.h +0 -42
  734. casadi/include/include/openblas/openblas/lapacke_mangling.h +0 -17
  735. casadi/include/include/osqp/auxil.h +0 -181
  736. casadi/include/include/osqp/constants.h +0 -129
  737. casadi/include/include/osqp/cs.h +0 -180
  738. casadi/include/include/osqp/ctrlc.h +0 -56
  739. casadi/include/include/osqp/error.h +0 -38
  740. casadi/include/include/osqp/glob_opts.h +0 -167
  741. casadi/include/include/osqp/lin_alg.h +0 -216
  742. casadi/include/include/osqp/lin_sys.h +0 -54
  743. casadi/include/include/osqp/osqp.h +0 -430
  744. casadi/include/include/osqp/osqp_configure.h +0 -49
  745. casadi/include/include/osqp/polish.h +0 -25
  746. casadi/include/include/osqp/proj.h +0 -37
  747. casadi/include/include/osqp/scaling.h +0 -44
  748. casadi/include/include/osqp/types.h +0 -326
  749. casadi/include/include/osqp/util.h +0 -222
  750. casadi/include/include/proxsuite/config.hpp +0 -68
  751. casadi/include/include/proxsuite/deprecated.hpp +0 -56
  752. casadi/include/include/proxsuite/fwd.hpp +0 -52
  753. casadi/include/include/proxsuite/helpers/common.hpp +0 -70
  754. casadi/include/include/proxsuite/helpers/instruction-set.hpp +0 -275
  755. casadi/include/include/proxsuite/helpers/optional.hpp +0 -46
  756. casadi/include/include/proxsuite/helpers/tl-optional.hpp +0 -2472
  757. casadi/include/include/proxsuite/helpers/version.hpp +0 -39
  758. casadi/include/include/proxsuite/linalg/dense/core.hpp +0 -863
  759. casadi/include/include/proxsuite/linalg/dense/factorize.hpp +0 -375
  760. casadi/include/include/proxsuite/linalg/dense/ldlt.hpp +0 -817
  761. casadi/include/include/proxsuite/linalg/dense/modify.hpp +0 -333
  762. casadi/include/include/proxsuite/linalg/dense/solve.hpp +0 -38
  763. casadi/include/include/proxsuite/linalg/dense/update.hpp +0 -330
  764. casadi/include/include/proxsuite/linalg/sparse/core.hpp +0 -531
  765. casadi/include/include/proxsuite/linalg/sparse/factorize.hpp +0 -1303
  766. casadi/include/include/proxsuite/linalg/sparse/rowmod.hpp +0 -443
  767. casadi/include/include/proxsuite/linalg/sparse/update.hpp +0 -348
  768. casadi/include/include/proxsuite/linalg/veg/internal/assert_impl.hpp +0 -20
  769. casadi/include/include/proxsuite/linalg/veg/internal/collection_algo.hpp +0 -93
  770. casadi/include/include/proxsuite/linalg/veg/internal/dbg.hpp +0 -15
  771. casadi/include/include/proxsuite/linalg/veg/internal/delete_special_members.hpp +0 -77
  772. casadi/include/include/proxsuite/linalg/veg/internal/dyn_index.hpp +0 -292
  773. casadi/include/include/proxsuite/linalg/veg/internal/epilogue.hpp +0 -31
  774. casadi/include/include/proxsuite/linalg/veg/internal/external/hedley.ext.hpp +0 -2074
  775. casadi/include/include/proxsuite/linalg/veg/internal/external/unhedley.ext.hpp +0 -148
  776. casadi/include/include/proxsuite/linalg/veg/internal/fix_index.hpp +0 -339
  777. casadi/include/include/proxsuite/linalg/veg/internal/has_asan.hpp +0 -17
  778. casadi/include/include/proxsuite/linalg/veg/internal/integer_seq.hpp +0 -248
  779. casadi/include/include/proxsuite/linalg/veg/internal/macros.hpp +0 -1312
  780. casadi/include/include/proxsuite/linalg/veg/internal/narrow.hpp +0 -46
  781. casadi/include/include/proxsuite/linalg/veg/internal/preprocessor.hpp +0 -434
  782. casadi/include/include/proxsuite/linalg/veg/internal/prologue.hpp +0 -157
  783. casadi/include/include/proxsuite/linalg/veg/internal/std.hpp +0 -13
  784. casadi/include/include/proxsuite/linalg/veg/internal/terminate.hpp +0 -22
  785. casadi/include/include/proxsuite/linalg/veg/internal/typedefs.hpp +0 -58
  786. casadi/include/include/proxsuite/linalg/veg/memory/address.hpp +0 -97
  787. casadi/include/include/proxsuite/linalg/veg/memory/alloc.hpp +0 -352
  788. casadi/include/include/proxsuite/linalg/veg/memory/dynamic_stack.hpp +0 -504
  789. casadi/include/include/proxsuite/linalg/veg/memory/placement.hpp +0 -202
  790. casadi/include/include/proxsuite/linalg/veg/memory/stack_alloc.hpp +0 -239
  791. casadi/include/include/proxsuite/linalg/veg/ref.hpp +0 -148
  792. casadi/include/include/proxsuite/linalg/veg/slice.hpp +0 -240
  793. casadi/include/include/proxsuite/linalg/veg/tuple.hpp +0 -876
  794. casadi/include/include/proxsuite/linalg/veg/type_traits/alloc.hpp +0 -169
  795. casadi/include/include/proxsuite/linalg/veg/type_traits/assignable.hpp +0 -53
  796. casadi/include/include/proxsuite/linalg/veg/type_traits/constructible.hpp +0 -217
  797. casadi/include/include/proxsuite/linalg/veg/type_traits/core.hpp +0 -298
  798. casadi/include/include/proxsuite/linalg/veg/type_traits/invocable.hpp +0 -47
  799. casadi/include/include/proxsuite/linalg/veg/type_traits/primitives.hpp +0 -43
  800. casadi/include/include/proxsuite/linalg/veg/type_traits/tags.hpp +0 -47
  801. casadi/include/include/proxsuite/linalg/veg/util/assert.hpp +0 -48
  802. casadi/include/include/proxsuite/linalg/veg/util/dbg.hpp +0 -6
  803. casadi/include/include/proxsuite/linalg/veg/util/defer.hpp +0 -57
  804. casadi/include/include/proxsuite/linalg/veg/util/dynstack_alloc.hpp +0 -19
  805. casadi/include/include/proxsuite/linalg/veg/util/get.hpp +0 -153
  806. casadi/include/include/proxsuite/linalg/veg/util/index.hpp +0 -6
  807. casadi/include/include/proxsuite/linalg/veg/util/unreachable.hpp +0 -41
  808. casadi/include/include/proxsuite/linalg/veg/vec.hpp +0 -1034
  809. casadi/include/include/proxsuite/proxqp/dense/dense.hpp +0 -10
  810. casadi/include/include/proxsuite/proxqp/dense/fwd.hpp +0 -55
  811. casadi/include/include/proxsuite/proxqp/dense/helpers.hpp +0 -520
  812. casadi/include/include/proxsuite/proxqp/dense/linesearch.hpp +0 -517
  813. casadi/include/include/proxsuite/proxqp/dense/model.hpp +0 -147
  814. casadi/include/include/proxsuite/proxqp/dense/preconditioner/identity.hpp +0 -113
  815. casadi/include/include/proxsuite/proxqp/dense/preconditioner/ruiz.hpp +0 -571
  816. casadi/include/include/proxsuite/proxqp/dense/solver.hpp +0 -1330
  817. casadi/include/include/proxsuite/proxqp/dense/utils.hpp +0 -415
  818. casadi/include/include/proxsuite/proxqp/dense/views.hpp +0 -1466
  819. casadi/include/include/proxsuite/proxqp/dense/workspace.hpp +0 -264
  820. casadi/include/include/proxsuite/proxqp/dense/wrapper.hpp +0 -491
  821. casadi/include/include/proxsuite/proxqp/results.hpp +0 -212
  822. casadi/include/include/proxsuite/proxqp/settings.hpp +0 -302
  823. casadi/include/include/proxsuite/proxqp/sparse/fwd.hpp +0 -58
  824. casadi/include/include/proxsuite/proxqp/sparse/helpers.hpp +0 -309
  825. casadi/include/include/proxsuite/proxqp/sparse/model.hpp +0 -228
  826. casadi/include/include/proxsuite/proxqp/sparse/preconditioner/identity.hpp +0 -64
  827. casadi/include/include/proxsuite/proxqp/sparse/preconditioner/ruiz.hpp +0 -569
  828. casadi/include/include/proxsuite/proxqp/sparse/solver.hpp +0 -1441
  829. casadi/include/include/proxsuite/proxqp/sparse/sparse.hpp +0 -10
  830. casadi/include/include/proxsuite/proxqp/sparse/utils.hpp +0 -815
  831. casadi/include/include/proxsuite/proxqp/sparse/views.hpp +0 -63
  832. casadi/include/include/proxsuite/proxqp/sparse/workspace.hpp +0 -790
  833. casadi/include/include/proxsuite/proxqp/sparse/wrapper.hpp +0 -772
  834. casadi/include/include/proxsuite/proxqp/status.hpp +0 -46
  835. casadi/include/include/proxsuite/proxqp/timings.hpp +0 -101
  836. casadi/include/include/proxsuite/proxqp/utils/prints.hpp +0 -47
  837. casadi/include/include/proxsuite/proxqp/utils/random_qp_problems.hpp +0 -669
  838. casadi/include/include/proxsuite/serialization/archive.hpp +0 -231
  839. casadi/include/include/proxsuite/serialization/eigen.hpp +0 -107
  840. casadi/include/include/proxsuite/serialization/model.hpp +0 -34
  841. casadi/include/include/proxsuite/serialization/results.hpp +0 -74
  842. casadi/include/include/proxsuite/serialization/settings.hpp +0 -60
  843. casadi/include/include/proxsuite/serialization/wrapper.hpp +0 -24
  844. casadi/include/include/proxsuite/warning.hpp +0 -35
  845. casadi/include/include/simde/arm/neon/aba.h +0 -208
  846. casadi/include/include/simde/arm/neon/abd.h +0 -384
  847. casadi/include/include/simde/arm/neon/abdl.h +0 -147
  848. casadi/include/include/simde/arm/neon/abs.h +0 -408
  849. casadi/include/include/simde/arm/neon/add.h +0 -681
  850. casadi/include/include/simde/arm/neon/addl.h +0 -127
  851. casadi/include/include/simde/arm/neon/addl_high.h +0 -127
  852. casadi/include/include/simde/arm/neon/addlv.h +0 -317
  853. casadi/include/include/simde/arm/neon/addv.h +0 -447
  854. casadi/include/include/simde/arm/neon/addw.h +0 -222
  855. casadi/include/include/simde/arm/neon/addw_high.h +0 -193
  856. casadi/include/include/simde/arm/neon/and.h +0 -552
  857. casadi/include/include/simde/arm/neon/bic.h +0 -472
  858. casadi/include/include/simde/arm/neon/bsl.h +0 -448
  859. casadi/include/include/simde/arm/neon/cagt.h +0 -168
  860. casadi/include/include/simde/arm/neon/ceq.h +0 -711
  861. casadi/include/include/simde/arm/neon/ceqz.h +0 -335
  862. casadi/include/include/simde/arm/neon/cge.h +0 -677
  863. casadi/include/include/simde/arm/neon/cgez.h +0 -378
  864. casadi/include/include/simde/arm/neon/cgt.h +0 -686
  865. casadi/include/include/simde/arm/neon/cgtz.h +0 -380
  866. casadi/include/include/simde/arm/neon/cle.h +0 -677
  867. casadi/include/include/simde/arm/neon/clez.h +0 -378
  868. casadi/include/include/simde/arm/neon/cls.h +0 -148
  869. casadi/include/include/simde/arm/neon/clt.h +0 -679
  870. casadi/include/include/simde/arm/neon/cltz.h +0 -263
  871. casadi/include/include/simde/arm/neon/clz.h +0 -423
  872. casadi/include/include/simde/arm/neon/cnt.h +0 -145
  873. casadi/include/include/simde/arm/neon/combine.h +0 -343
  874. casadi/include/include/simde/arm/neon/create.h +0 -186
  875. casadi/include/include/simde/arm/neon/cvt.h +0 -492
  876. casadi/include/include/simde/arm/neon/dot.h +0 -171
  877. casadi/include/include/simde/arm/neon/dot_lane.h +0 -196
  878. casadi/include/include/simde/arm/neon/dup_lane.h +0 -702
  879. casadi/include/include/simde/arm/neon/dup_n.h +0 -534
  880. casadi/include/include/simde/arm/neon/eor.h +0 -552
  881. casadi/include/include/simde/arm/neon/ext.h +0 -887
  882. casadi/include/include/simde/arm/neon/get_high.h +0 -260
  883. casadi/include/include/simde/arm/neon/get_lane.h +0 -499
  884. casadi/include/include/simde/arm/neon/get_low.h +0 -276
  885. casadi/include/include/simde/arm/neon/hadd.h +0 -287
  886. casadi/include/include/simde/arm/neon/hsub.h +0 -287
  887. casadi/include/include/simde/arm/neon/ld1.h +0 -399
  888. casadi/include/include/simde/arm/neon/ld3.h +0 -609
  889. casadi/include/include/simde/arm/neon/ld4.h +0 -448
  890. casadi/include/include/simde/arm/neon/max.h +0 -614
  891. casadi/include/include/simde/arm/neon/maxnm.h +0 -215
  892. casadi/include/include/simde/arm/neon/maxv.h +0 -400
  893. casadi/include/include/simde/arm/neon/min.h +0 -660
  894. casadi/include/include/simde/arm/neon/minnm.h +0 -215
  895. casadi/include/include/simde/arm/neon/minv.h +0 -424
  896. casadi/include/include/simde/arm/neon/mla.h +0 -530
  897. casadi/include/include/simde/arm/neon/mla_n.h +0 -333
  898. casadi/include/include/simde/arm/neon/mlal.h +0 -156
  899. casadi/include/include/simde/arm/neon/mlal_high.h +0 -156
  900. casadi/include/include/simde/arm/neon/mlal_n.h +0 -128
  901. casadi/include/include/simde/arm/neon/mls.h +0 -264
  902. casadi/include/include/simde/arm/neon/mlsl.h +0 -124
  903. casadi/include/include/simde/arm/neon/mlsl_high.h +0 -124
  904. casadi/include/include/simde/arm/neon/mlsl_n.h +0 -96
  905. casadi/include/include/simde/arm/neon/movl.h +0 -208
  906. casadi/include/include/simde/arm/neon/movl_high.h +0 -126
  907. casadi/include/include/simde/arm/neon/movn.h +0 -195
  908. casadi/include/include/simde/arm/neon/movn_high.h +0 -125
  909. casadi/include/include/simde/arm/neon/mul.h +0 -594
  910. casadi/include/include/simde/arm/neon/mul_lane.h +0 -472
  911. casadi/include/include/simde/arm/neon/mul_n.h +0 -383
  912. casadi/include/include/simde/arm/neon/mull.h +0 -236
  913. casadi/include/include/simde/arm/neon/mull_high.h +0 -125
  914. casadi/include/include/simde/arm/neon/mull_n.h +0 -158
  915. casadi/include/include/simde/arm/neon/mvn.h +0 -426
  916. casadi/include/include/simde/arm/neon/neg.h +0 -393
  917. casadi/include/include/simde/arm/neon/orn.h +0 -505
  918. casadi/include/include/simde/arm/neon/orr.h +0 -552
  919. casadi/include/include/simde/arm/neon/padal.h +0 -211
  920. casadi/include/include/simde/arm/neon/padd.h +0 -293
  921. casadi/include/include/simde/arm/neon/paddl.h +0 -239
  922. casadi/include/include/simde/arm/neon/pmax.h +0 -253
  923. casadi/include/include/simde/arm/neon/pmin.h +0 -260
  924. casadi/include/include/simde/arm/neon/qabs.h +0 -281
  925. casadi/include/include/simde/arm/neon/qadd.h +0 -553
  926. casadi/include/include/simde/arm/neon/qdmulh.h +0 -125
  927. casadi/include/include/simde/arm/neon/qdmull.h +0 -125
  928. casadi/include/include/simde/arm/neon/qmovn.h +0 -273
  929. casadi/include/include/simde/arm/neon/qmovn_high.h +0 -127
  930. casadi/include/include/simde/arm/neon/qmovun.h +0 -159
  931. casadi/include/include/simde/arm/neon/qneg.h +0 -301
  932. casadi/include/include/simde/arm/neon/qrdmulh.h +0 -165
  933. casadi/include/include/simde/arm/neon/qrdmulh_n.h +0 -136
  934. casadi/include/include/simde/arm/neon/qshl.h +0 -732
  935. casadi/include/include/simde/arm/neon/qsub.h +0 -549
  936. casadi/include/include/simde/arm/neon/qtbl.h +0 -455
  937. casadi/include/include/simde/arm/neon/qtbx.h +0 -470
  938. casadi/include/include/simde/arm/neon/rbit.h +0 -165
  939. casadi/include/include/simde/arm/neon/reinterpret.h +0 -3101
  940. casadi/include/include/simde/arm/neon/rev16.h +0 -137
  941. casadi/include/include/simde/arm/neon/rev32.h +0 -235
  942. casadi/include/include/simde/arm/neon/rev64.h +0 -358
  943. casadi/include/include/simde/arm/neon/rhadd.h +0 -406
  944. casadi/include/include/simde/arm/neon/rnd.h +0 -143
  945. casadi/include/include/simde/arm/neon/rndi.h +0 -135
  946. casadi/include/include/simde/arm/neon/rndm.h +0 -143
  947. casadi/include/include/simde/arm/neon/rndn.h +0 -135
  948. casadi/include/include/simde/arm/neon/rndp.h +0 -143
  949. casadi/include/include/simde/arm/neon/rshl.h +0 -903
  950. casadi/include/include/simde/arm/neon/rshr_n.h +0 -471
  951. casadi/include/include/simde/arm/neon/rsra_n.h +0 -209
  952. casadi/include/include/simde/arm/neon/set_lane.h +0 -422
  953. casadi/include/include/simde/arm/neon/shl.h +0 -805
  954. casadi/include/include/simde/arm/neon/shl_n.h +0 -560
  955. casadi/include/include/simde/arm/neon/shr_n.h +0 -612
  956. casadi/include/include/simde/arm/neon/sra_n.h +0 -202
  957. casadi/include/include/simde/arm/neon/st1.h +0 -353
  958. casadi/include/include/simde/arm/neon/st1_lane.h +0 -363
  959. casadi/include/include/simde/arm/neon/st3.h +0 -426
  960. casadi/include/include/simde/arm/neon/st4.h +0 -445
  961. casadi/include/include/simde/arm/neon/sub.h +0 -659
  962. casadi/include/include/simde/arm/neon/subl.h +0 -127
  963. casadi/include/include/simde/arm/neon/subw.h +0 -221
  964. casadi/include/include/simde/arm/neon/subw_high.h +0 -222
  965. casadi/include/include/simde/arm/neon/tbl.h +0 -224
  966. casadi/include/include/simde/arm/neon/tbx.h +0 -247
  967. casadi/include/include/simde/arm/neon/trn.h +0 -252
  968. casadi/include/include/simde/arm/neon/trn1.h +0 -500
  969. casadi/include/include/simde/arm/neon/trn2.h +0 -499
  970. casadi/include/include/simde/arm/neon/tst.h +0 -540
  971. casadi/include/include/simde/arm/neon/types.h +0 -683
  972. casadi/include/include/simde/arm/neon/uqadd.h +0 -325
  973. casadi/include/include/simde/arm/neon/uzp.h +0 -252
  974. casadi/include/include/simde/arm/neon/uzp1.h +0 -643
  975. casadi/include/include/simde/arm/neon/uzp2.h +0 -647
  976. casadi/include/include/simde/arm/neon/zip.h +0 -252
  977. casadi/include/include/simde/arm/neon/zip1.h +0 -625
  978. casadi/include/include/simde/arm/neon/zip2.h +0 -625
  979. casadi/include/include/simde/arm/neon.h +0 -166
  980. casadi/include/include/simde/check.h +0 -276
  981. casadi/include/include/simde/debug-trap.h +0 -85
  982. casadi/include/include/simde/hedley.h +0 -1971
  983. casadi/include/include/simde/simde-align.h +0 -449
  984. casadi/include/include/simde/simde-arch.h +0 -532
  985. casadi/include/include/simde/simde-common.h +0 -890
  986. casadi/include/include/simde/simde-complex.h +0 -148
  987. casadi/include/include/simde/simde-constify.h +0 -397
  988. casadi/include/include/simde/simde-detect-clang.h +0 -109
  989. casadi/include/include/simde/simde-diagnostic.h +0 -428
  990. casadi/include/include/simde/simde-features.h +0 -522
  991. casadi/include/include/simde/simde-math.h +0 -1805
  992. casadi/include/include/simde/x86/avx.h +0 -6193
  993. casadi/include/include/simde/x86/avx2.h +0 -5660
  994. casadi/include/include/simde/x86/avx512/2intersect.h +0 -250
  995. casadi/include/include/simde/x86/avx512/abs.h +0 -562
  996. casadi/include/include/simde/x86/avx512/add.h +0 -641
  997. casadi/include/include/simde/x86/avx512/adds.h +0 -390
  998. casadi/include/include/simde/x86/avx512/and.h +0 -305
  999. casadi/include/include/simde/x86/avx512/andnot.h +0 -193
  1000. casadi/include/include/simde/x86/avx512/avg.h +0 -258
  1001. casadi/include/include/simde/x86/avx512/blend.h +0 -293
  1002. casadi/include/include/simde/x86/avx512/broadcast.h +0 -897
  1003. casadi/include/include/simde/x86/avx512/cast.h +0 -324
  1004. casadi/include/include/simde/x86/avx512/cmp.h +0 -587
  1005. casadi/include/include/simde/x86/avx512/cmpeq.h +0 -179
  1006. casadi/include/include/simde/x86/avx512/cmpge.h +0 -104
  1007. casadi/include/include/simde/x86/avx512/cmpgt.h +0 -189
  1008. casadi/include/include/simde/x86/avx512/cmple.h +0 -103
  1009. casadi/include/include/simde/x86/avx512/cmplt.h +0 -123
  1010. casadi/include/include/simde/x86/avx512/copysign.h +0 -86
  1011. casadi/include/include/simde/x86/avx512/cvt.h +0 -122
  1012. casadi/include/include/simde/x86/avx512/cvts.h +0 -723
  1013. casadi/include/include/simde/x86/avx512/div.h +0 -162
  1014. casadi/include/include/simde/x86/avx512/extract.h +0 -198
  1015. casadi/include/include/simde/x86/avx512/fmadd.h +0 -136
  1016. casadi/include/include/simde/x86/avx512/fmsub.h +0 -108
  1017. casadi/include/include/simde/x86/avx512/fnmadd.h +0 -108
  1018. casadi/include/include/simde/x86/avx512/fnmsub.h +0 -108
  1019. casadi/include/include/simde/x86/avx512/insert.h +0 -193
  1020. casadi/include/include/simde/x86/avx512/kshift.h +0 -152
  1021. casadi/include/include/simde/x86/avx512/load.h +0 -67
  1022. casadi/include/include/simde/x86/avx512/loadu.h +0 -113
  1023. casadi/include/include/simde/x86/avx512/lzcnt.h +0 -209
  1024. casadi/include/include/simde/x86/avx512/madd.h +0 -155
  1025. casadi/include/include/simde/x86/avx512/maddubs.h +0 -159
  1026. casadi/include/include/simde/x86/avx512/max.h +0 -587
  1027. casadi/include/include/simde/x86/avx512/min.h +0 -587
  1028. casadi/include/include/simde/x86/avx512/mov.h +0 -859
  1029. casadi/include/include/simde/x86/avx512/mov_mask.h +0 -372
  1030. casadi/include/include/simde/x86/avx512/movm.h +0 -460
  1031. casadi/include/include/simde/x86/avx512/mul.h +0 -279
  1032. casadi/include/include/simde/x86/avx512/mulhi.h +0 -65
  1033. casadi/include/include/simde/x86/avx512/mulhrs.h +0 -65
  1034. casadi/include/include/simde/x86/avx512/mullo.h +0 -117
  1035. casadi/include/include/simde/x86/avx512/negate.h +0 -88
  1036. casadi/include/include/simde/x86/avx512/or.h +0 -252
  1037. casadi/include/include/simde/x86/avx512/packs.h +0 -122
  1038. casadi/include/include/simde/x86/avx512/packus.h +0 -122
  1039. casadi/include/include/simde/x86/avx512/permutex2var.h +0 -1645
  1040. casadi/include/include/simde/x86/avx512/permutexvar.h +0 -1180
  1041. casadi/include/include/simde/x86/avx512/sad.h +0 -77
  1042. casadi/include/include/simde/x86/avx512/set.h +0 -477
  1043. casadi/include/include/simde/x86/avx512/set1.h +0 -331
  1044. casadi/include/include/simde/x86/avx512/set4.h +0 -140
  1045. casadi/include/include/simde/x86/avx512/setone.h +0 -66
  1046. casadi/include/include/simde/x86/avx512/setr.h +0 -144
  1047. casadi/include/include/simde/x86/avx512/setr4.h +0 -140
  1048. casadi/include/include/simde/x86/avx512/setzero.h +0 -90
  1049. casadi/include/include/simde/x86/avx512/shuffle.h +0 -176
  1050. casadi/include/include/simde/x86/avx512/sll.h +0 -247
  1051. casadi/include/include/simde/x86/avx512/slli.h +0 -179
  1052. casadi/include/include/simde/x86/avx512/sllv.h +0 -68
  1053. casadi/include/include/simde/x86/avx512/sqrt.h +0 -127
  1054. casadi/include/include/simde/x86/avx512/sra.h +0 -81
  1055. casadi/include/include/simde/x86/avx512/srai.h +0 -70
  1056. casadi/include/include/simde/x86/avx512/srav.h +0 -67
  1057. casadi/include/include/simde/x86/avx512/srl.h +0 -216
  1058. casadi/include/include/simde/x86/avx512/srli.h +0 -180
  1059. casadi/include/include/simde/x86/avx512/srlv.h +0 -282
  1060. casadi/include/include/simde/x86/avx512/store.h +0 -93
  1061. casadi/include/include/simde/x86/avx512/storeu.h +0 -93
  1062. casadi/include/include/simde/x86/avx512/sub.h +0 -351
  1063. casadi/include/include/simde/x86/avx512/subs.h +0 -222
  1064. casadi/include/include/simde/x86/avx512/test.h +0 -193
  1065. casadi/include/include/simde/x86/avx512/types.h +0 -380
  1066. casadi/include/include/simde/x86/avx512/unpackhi.h +0 -380
  1067. casadi/include/include/simde/x86/avx512/unpacklo.h +0 -104
  1068. casadi/include/include/simde/x86/avx512/xor.h +0 -263
  1069. casadi/include/include/simde/x86/avx512/xorsign.h +0 -72
  1070. casadi/include/include/simde/x86/avx512.h +0 -108
  1071. casadi/include/include/simde/x86/clmul.h +0 -414
  1072. casadi/include/include/simde/x86/fma.h +0 -724
  1073. casadi/include/include/simde/x86/gfni.h +0 -802
  1074. casadi/include/include/simde/x86/mmx.h +0 -2399
  1075. casadi/include/include/simde/x86/sse.h +0 -4471
  1076. casadi/include/include/simde/x86/sse2.h +0 -7389
  1077. casadi/include/include/simde/x86/sse3.h +0 -499
  1078. casadi/include/include/simde/x86/sse4.1.h +0 -2216
  1079. casadi/include/include/simde/x86/sse4.2.h +0 -347
  1080. casadi/include/include/simde/x86/ssse3.h +0 -1032
  1081. casadi/include/include/simde/x86/svml.h +0 -12139
  1082. casadi/include/include/simde/x86/xop.h +0 -3644
  1083. casadi/include/include/superscs/cones.h +0 -185
  1084. casadi/include/include/superscs/constants.h +0 -144
  1085. casadi/include/include/superscs/cs.h +0 -109
  1086. casadi/include/include/superscs/ctrlc.h +0 -77
  1087. casadi/include/include/superscs/directions.h +0 -125
  1088. casadi/include/include/superscs/glbopts.h +0 -240
  1089. casadi/include/include/superscs/linAlg.h +0 -437
  1090. casadi/include/include/superscs/linSys.h +0 -205
  1091. casadi/include/include/superscs/linsys/amatrix.h +0 -77
  1092. casadi/include/include/superscs/linsys/common.h +0 -49
  1093. casadi/include/include/superscs/normalize.h +0 -138
  1094. casadi/include/include/superscs/scs.h +0 -656
  1095. casadi/include/include/superscs/scs_blas.h +0 -79
  1096. casadi/include/include/superscs/scs_parser.h +0 -187
  1097. casadi/include/include/superscs/unit_test_util.h +0 -210
  1098. casadi/include/include/superscs/util.h +0 -354
  1099. casadi/include/include/trlib/trlib_eigen_inverse.h +0 -118
  1100. casadi/include/include/trlib/trlib_krylov.h +0 -493
  1101. casadi/include/include/trlib/trlib_leftmost.h +0 -181
  1102. casadi/include/include/trlib/trlib_private.h +0 -109
  1103. casadi/include/include/trlib/trlib_quadratic_zero.h +0 -57
  1104. casadi/include/include/trlib/trlib_tri_factor.h +0 -409
  1105. casadi/include/include/trlib/trlib_types.h +0 -36
  1106. casadi-3.6.4.dist-info/RECORD +0 -3209
  1107. /casadi/include/{include/alpaqa → alpaqa}/accelerators/anderson.hpp +0 -0
  1108. /casadi/include/{include/alpaqa → alpaqa}/accelerators/internal/anderson-helpers.hpp +0 -0
  1109. /casadi/include/{include/alpaqa → alpaqa}/accelerators/internal/limited-memory-qr.hpp +0 -0
  1110. /casadi/include/{include/alpaqa → alpaqa}/accelerators/lbfgs.hpp +0 -0
  1111. /casadi/include/{include/alpaqa → alpaqa}/accelerators/steihaugcg.hpp +0 -0
  1112. /casadi/include/{include/alpaqa → alpaqa}/alpaqa.hpp +0 -0
  1113. /casadi/include/{include/alpaqa → alpaqa}/casadi/CasADiControlProblem.hpp +0 -0
  1114. /casadi/include/{include/alpaqa → alpaqa}/casadi/CasADiFunctionWrapper.hpp +0 -0
  1115. /casadi/include/{include/alpaqa → alpaqa}/casadi/CasADiProblem.hpp +0 -0
  1116. /casadi/include/{include/alpaqa → alpaqa}/casadi-loader-export.hpp +0 -0
  1117. /casadi/include/{include/alpaqa → alpaqa}/casadi-ocp-loader-export.hpp +0 -0
  1118. /casadi/include/{include/alpaqa → alpaqa}/config/config.hpp +0 -0
  1119. /casadi/include/{include/alpaqa → alpaqa}/dl/dl-problem.h +0 -0
  1120. /casadi/include/{include/alpaqa → alpaqa}/dl/dl-problem.hpp +0 -0
  1121. /casadi/include/{include/alpaqa → alpaqa}/export.h +0 -0
  1122. /casadi/include/{include/alpaqa → alpaqa}/export.hpp +0 -0
  1123. /casadi/include/{include/alpaqa → alpaqa}/implementation/accelerators/lbfgs.tpp +0 -0
  1124. /casadi/include/{include/alpaqa → alpaqa}/implementation/casadi/CasADiControlProblem.tpp +0 -0
  1125. /casadi/include/{include/alpaqa → alpaqa}/implementation/casadi/CasADiLoader-util.hpp +0 -0
  1126. /casadi/include/{include/alpaqa → alpaqa}/implementation/casadi/CasADiProblem.tpp +0 -0
  1127. /casadi/include/{include/alpaqa → alpaqa}/implementation/inner/directions/panoc/structured-lbfgs.tpp +0 -0
  1128. /casadi/include/{include/alpaqa → alpaqa}/implementation/inner/panoc-helpers.tpp +0 -0
  1129. /casadi/include/{include/alpaqa → alpaqa}/implementation/inner/panoc-ocp.tpp +0 -0
  1130. /casadi/include/{include/alpaqa → alpaqa}/implementation/inner/panoc.tpp +0 -0
  1131. /casadi/include/{include/alpaqa → alpaqa}/implementation/inner/pantr.tpp +0 -0
  1132. /casadi/include/{include/alpaqa → alpaqa}/implementation/inner/zerofpr.tpp +0 -0
  1133. /casadi/include/{include/alpaqa → alpaqa}/implementation/outer/alm.tpp +0 -0
  1134. /casadi/include/{include/alpaqa → alpaqa}/implementation/outer/internal/alm-helpers.tpp +0 -0
  1135. /casadi/include/{include/alpaqa → alpaqa}/implementation/params/params.tpp +0 -0
  1136. /casadi/include/{include/alpaqa → alpaqa}/implementation/problem/ocproblem.tpp +0 -0
  1137. /casadi/include/{include/alpaqa → alpaqa}/implementation/problem/type-erased-problem.tpp +0 -0
  1138. /casadi/include/{include/alpaqa → alpaqa}/implementation/util/io/csv.tpp +0 -0
  1139. /casadi/include/{include/alpaqa → alpaqa}/implementation/util/print.tpp +0 -0
  1140. /casadi/include/{include/alpaqa → alpaqa}/inner/directions/panoc/anderson.hpp +0 -0
  1141. /casadi/include/{include/alpaqa → alpaqa}/inner/directions/panoc/lbfgs.hpp +0 -0
  1142. /casadi/include/{include/alpaqa → alpaqa}/inner/directions/panoc/structured-lbfgs.hpp +0 -0
  1143. /casadi/include/{include/alpaqa → alpaqa}/inner/directions/panoc/structured-newton.hpp +0 -0
  1144. /casadi/include/{include/alpaqa → alpaqa}/inner/directions/panoc-direction-update.hpp +0 -0
  1145. /casadi/include/{include/alpaqa → alpaqa}/inner/directions/panoc-ocp/lqr.hpp +0 -0
  1146. /casadi/include/{include/alpaqa → alpaqa}/inner/directions/panoc-ocp/ocp-vars.hpp +0 -0
  1147. /casadi/include/{include/alpaqa → alpaqa}/inner/directions/pantr/newton-tr.hpp +0 -0
  1148. /casadi/include/{include/alpaqa → alpaqa}/inner/directions/pantr/pantr-direction.hpp +0 -0
  1149. /casadi/include/{include/alpaqa → alpaqa}/inner/inner-solve-options.hpp +0 -0
  1150. /casadi/include/{include/alpaqa → alpaqa}/inner/internal/lipschitz.hpp +0 -0
  1151. /casadi/include/{include/alpaqa → alpaqa}/inner/internal/panoc-helpers.hpp +0 -0
  1152. /casadi/include/{include/alpaqa → alpaqa}/inner/internal/panoc-stop-crit.hpp +0 -0
  1153. /casadi/include/{include/alpaqa → alpaqa}/inner/internal/solverstatus.hpp +0 -0
  1154. /casadi/include/{include/alpaqa → alpaqa}/inner/panoc-ocp.hpp +0 -0
  1155. /casadi/include/{include/alpaqa → alpaqa}/inner/panoc.hpp +0 -0
  1156. /casadi/include/{include/alpaqa → alpaqa}/inner/pantr.hpp +0 -0
  1157. /casadi/include/{include/alpaqa → alpaqa}/inner/zerofpr.hpp +0 -0
  1158. /casadi/include/{include/alpaqa → alpaqa}/ipopt/ipopt-adapter.hpp +0 -0
  1159. /casadi/include/{include/alpaqa → alpaqa}/ipopt/ipopt-enums.hpp +0 -0
  1160. /casadi/include/{include/alpaqa → alpaqa}/lbfgsb/lbfgsb-adapter.hpp +0 -0
  1161. /casadi/include/{include/alpaqa → alpaqa}/newton-tr-pantr-alm.hpp +0 -0
  1162. /casadi/include/{include/alpaqa → alpaqa}/outer/alm.hpp +0 -0
  1163. /casadi/include/{include/alpaqa → alpaqa}/outer/internal/alm-helpers.hpp +0 -0
  1164. /casadi/include/{include/alpaqa → alpaqa}/panoc-alm.hpp +0 -0
  1165. /casadi/include/{include/alpaqa → alpaqa}/panoc-anderson-alm.hpp +0 -0
  1166. /casadi/include/{include/alpaqa → alpaqa}/params/params.hpp +0 -0
  1167. /casadi/include/{include/alpaqa → alpaqa}/problem/box-constr-problem.hpp +0 -0
  1168. /casadi/include/{include/alpaqa → alpaqa}/problem/box.hpp +0 -0
  1169. /casadi/include/{include/alpaqa → alpaqa}/problem/functional-problem.hpp +0 -0
  1170. /casadi/include/{include/alpaqa → alpaqa}/problem/kkt-error.hpp +0 -0
  1171. /casadi/include/{include/alpaqa → alpaqa}/problem/ocproblem-counters.hpp +0 -0
  1172. /casadi/include/{include/alpaqa → alpaqa}/problem/ocproblem.hpp +0 -0
  1173. /casadi/include/{include/alpaqa → alpaqa}/problem/problem-counters.hpp +0 -0
  1174. /casadi/include/{include/alpaqa → alpaqa}/problem/problem-with-counters.hpp +0 -0
  1175. /casadi/include/{include/alpaqa → alpaqa}/problem/type-erased-problem.hpp +0 -0
  1176. /casadi/include/{include/alpaqa → alpaqa}/problem/unconstr-problem.hpp +0 -0
  1177. /casadi/include/{include/alpaqa → alpaqa}/structured-panoc-alm.hpp +0 -0
  1178. /casadi/include/{include/alpaqa → alpaqa}/structured-zerofpr-alm.hpp +0 -0
  1179. /casadi/include/{include/alpaqa → alpaqa}/util/alloc-check.hpp +0 -0
  1180. /casadi/include/{include/alpaqa → alpaqa}/util/atomic-stop-signal.hpp +0 -0
  1181. /casadi/include/{include/alpaqa → alpaqa}/util/check-dim.hpp +0 -0
  1182. /casadi/include/{include/alpaqa → alpaqa}/util/copyable_unique_ptr.hpp +0 -0
  1183. /casadi/include/{include/alpaqa → alpaqa}/util/demangled-typename.hpp +0 -0
  1184. /casadi/include/{include/alpaqa → alpaqa}/util/enumerate.hpp +0 -0
  1185. /casadi/include/{include/alpaqa → alpaqa}/util/float.hpp +0 -0
  1186. /casadi/include/{include/alpaqa → alpaqa}/util/index-set.hpp +0 -0
  1187. /casadi/include/{include/alpaqa → alpaqa}/util/io/csv.hpp +0 -0
  1188. /casadi/include/{include/alpaqa → alpaqa}/util/iter-adapter.hpp +0 -0
  1189. /casadi/include/{include/alpaqa → alpaqa}/util/max-history.hpp +0 -0
  1190. /casadi/include/{include/alpaqa → alpaqa}/util/noop-delete.hpp +0 -0
  1191. /casadi/include/{include/alpaqa → alpaqa}/util/not-implemented.hpp +0 -0
  1192. /casadi/include/{include/alpaqa → alpaqa}/util/print.hpp +0 -0
  1193. /casadi/include/{include/alpaqa → alpaqa}/util/quadmath/quadmath-print.hpp +0 -0
  1194. /casadi/include/{include/alpaqa → alpaqa}/util/quadmath/quadmath.hpp +0 -0
  1195. /casadi/include/{include/alpaqa → alpaqa}/util/required-method.hpp +0 -0
  1196. /casadi/include/{include/alpaqa → alpaqa}/util/ringbuffer.hpp +0 -0
  1197. /casadi/include/{include/alpaqa → alpaqa}/util/set-intersection.hpp +0 -0
  1198. /casadi/include/{include/alpaqa → alpaqa}/util/sparse-ops.hpp +0 -0
  1199. /casadi/include/{include/alpaqa → alpaqa}/util/timed.hpp +0 -0
  1200. /casadi/include/{include/alpaqa → alpaqa}/util/type-erasure.hpp +0 -0
  1201. /casadi/include/{include/alpaqa → alpaqa}/util/type-traits.hpp +0 -0
  1202. /casadi/include/{include/alpaqa → alpaqa}/zerofpr-alm.hpp +0 -0
  1203. /casadi/include/{include/alpaqa → alpaqa}/zerofpr-anderson-alm.hpp +0 -0
  1204. /casadi/include/{include/alpaqa-version.h → alpaqa-version.h} +0 -0
  1205. /casadi/include/{include/blasfeo.h → blasfeo.h} +0 -0
  1206. /casadi/include/{include/blasfeo_block_size.h → blasfeo_block_size.h} +0 -0
  1207. /casadi/include/{include/blasfeo_common.h → blasfeo_common.h} +0 -0
  1208. /casadi/include/{include/blasfeo_d_aux.h → blasfeo_d_aux.h} +0 -0
  1209. /casadi/include/{include/blasfeo_d_aux_ext_dep.h → blasfeo_d_aux_ext_dep.h} +0 -0
  1210. /casadi/include/{include/blasfeo_d_aux_ext_dep_ref.h → blasfeo_d_aux_ext_dep_ref.h} +0 -0
  1211. /casadi/include/{include/blasfeo_d_aux_old.h → blasfeo_d_aux_old.h} +0 -0
  1212. /casadi/include/{include/blasfeo_d_aux_ref.h → blasfeo_d_aux_ref.h} +0 -0
  1213. /casadi/include/{include/blasfeo_d_aux_test.h → blasfeo_d_aux_test.h} +0 -0
  1214. /casadi/include/{include/blasfeo_d_blas.h → blasfeo_d_blas.h} +0 -0
  1215. /casadi/include/{include/blasfeo_d_blas_api.h → blasfeo_d_blas_api.h} +0 -0
  1216. /casadi/include/{include/blasfeo_d_blasfeo_api.h → blasfeo_d_blasfeo_api.h} +0 -0
  1217. /casadi/include/{include/blasfeo_d_blasfeo_api_ref.h → blasfeo_d_blasfeo_api_ref.h} +0 -0
  1218. /casadi/include/{include/blasfeo_d_blasfeo_hp_api.h → blasfeo_d_blasfeo_hp_api.h} +0 -0
  1219. /casadi/include/{include/blasfeo_d_blasfeo_ref_api.h → blasfeo_d_blasfeo_ref_api.h} +0 -0
  1220. /casadi/include/{include/blasfeo_d_kernel.h → blasfeo_d_kernel.h} +0 -0
  1221. /casadi/include/{include/blasfeo_i_aux_ext_dep.h → blasfeo_i_aux_ext_dep.h} +0 -0
  1222. /casadi/include/{include/blasfeo_m_aux.h → blasfeo_m_aux.h} +0 -0
  1223. /casadi/include/{include/blasfeo_memory.h → blasfeo_memory.h} +0 -0
  1224. /casadi/include/{include/blasfeo_naming.h → blasfeo_naming.h} +0 -0
  1225. /casadi/include/{include/blasfeo_processor_features.h → blasfeo_processor_features.h} +0 -0
  1226. /casadi/include/{include/blasfeo_s_aux.h → blasfeo_s_aux.h} +0 -0
  1227. /casadi/include/{include/blasfeo_s_aux_ext_dep.h → blasfeo_s_aux_ext_dep.h} +0 -0
  1228. /casadi/include/{include/blasfeo_s_aux_ext_dep_ref.h → blasfeo_s_aux_ext_dep_ref.h} +0 -0
  1229. /casadi/include/{include/blasfeo_s_aux_old.h → blasfeo_s_aux_old.h} +0 -0
  1230. /casadi/include/{include/blasfeo_s_aux_ref.h → blasfeo_s_aux_ref.h} +0 -0
  1231. /casadi/include/{include/blasfeo_s_aux_test.h → blasfeo_s_aux_test.h} +0 -0
  1232. /casadi/include/{include/blasfeo_s_blas.h → blasfeo_s_blas.h} +0 -0
  1233. /casadi/include/{include/blasfeo_s_blas_api.h → blasfeo_s_blas_api.h} +0 -0
  1234. /casadi/include/{include/blasfeo_s_blasfeo_api.h → blasfeo_s_blasfeo_api.h} +0 -0
  1235. /casadi/include/{include/blasfeo_s_blasfeo_api_ref.h → blasfeo_s_blasfeo_api_ref.h} +0 -0
  1236. /casadi/include/{include/blasfeo_s_blasfeo_ref_api.h → blasfeo_s_blasfeo_ref_api.h} +0 -0
  1237. /casadi/include/{include/blasfeo_s_kernel.h → blasfeo_s_kernel.h} +0 -0
  1238. /casadi/include/{include/blasfeo_stdlib.h → blasfeo_stdlib.h} +0 -0
  1239. /casadi/include/{include/blasfeo_target.h → blasfeo_target.h} +0 -0
  1240. /casadi/include/{include/blasfeo_timing.h → blasfeo_timing.h} +0 -0
  1241. /casadi/include/{include/blasfeo_v_aux_ext_dep.h → blasfeo_v_aux_ext_dep.h} +0 -0
  1242. /casadi/include/{include/coin → coin}/BonArraysHelpers.hpp +0 -0
  1243. /casadi/include/{include/coin → coin}/BonAuxInfos.hpp +0 -0
  1244. /casadi/include/{include/coin → coin}/BonBabInfos.hpp +0 -0
  1245. /casadi/include/{include/coin → coin}/BonBabSetupBase.hpp +0 -0
  1246. /casadi/include/{include/coin → coin}/BonBonminSetup.hpp +0 -0
  1247. /casadi/include/{include/coin → coin}/BonBranchingTQP.hpp +0 -0
  1248. /casadi/include/{include/coin → coin}/BonCbc.hpp +0 -0
  1249. /casadi/include/{include/coin → coin}/BonCbcLpStrategy.hpp +0 -0
  1250. /casadi/include/{include/coin → coin}/BonCbcNlpStrategy.hpp +0 -0
  1251. /casadi/include/{include/coin → coin}/BonCbcNode.hpp +0 -0
  1252. /casadi/include/{include/coin → coin}/BonChooseVariable.hpp +0 -0
  1253. /casadi/include/{include/coin → coin}/BonCurvBranchingSolver.hpp +0 -0
  1254. /casadi/include/{include/coin → coin}/BonCutStrengthener.hpp +0 -0
  1255. /casadi/include/{include/coin → coin}/BonDiver.hpp +0 -0
  1256. /casadi/include/{include/coin → coin}/BonDummyHeuristic.hpp +0 -0
  1257. /casadi/include/{include/coin → coin}/BonDummyPump.hpp +0 -0
  1258. /casadi/include/{include/coin → coin}/BonEcpCuts.hpp +0 -0
  1259. /casadi/include/{include/coin → coin}/BonExitCodes.hpp +0 -0
  1260. /casadi/include/{include/coin → coin}/BonFixAndSolveHeuristic.hpp +0 -0
  1261. /casadi/include/{include/coin → coin}/BonGuessHeuristic.hpp +0 -0
  1262. /casadi/include/{include/coin → coin}/BonHeuristicDive.hpp +0 -0
  1263. /casadi/include/{include/coin → coin}/BonHeuristicDiveFractional.hpp +0 -0
  1264. /casadi/include/{include/coin → coin}/BonHeuristicDiveMIP.hpp +0 -0
  1265. /casadi/include/{include/coin → coin}/BonHeuristicDiveMIPFractional.hpp +0 -0
  1266. /casadi/include/{include/coin → coin}/BonHeuristicDiveMIPVectorLength.hpp +0 -0
  1267. /casadi/include/{include/coin → coin}/BonHeuristicDiveVectorLength.hpp +0 -0
  1268. /casadi/include/{include/coin → coin}/BonHeuristicFPump.hpp +0 -0
  1269. /casadi/include/{include/coin → coin}/BonHeuristicLocalBranching.hpp +0 -0
  1270. /casadi/include/{include/coin → coin}/BonHeuristicRINS.hpp +0 -0
  1271. /casadi/include/{include/coin → coin}/BonIpoptInteriorWarmStarter.hpp +0 -0
  1272. /casadi/include/{include/coin → coin}/BonIpoptSolver.hpp +0 -0
  1273. /casadi/include/{include/coin → coin}/BonIpoptWarmStart.hpp +0 -0
  1274. /casadi/include/{include/coin → coin}/BonLinearCutsGenerator.hpp +0 -0
  1275. /casadi/include/{include/coin → coin}/BonLocalSolverBasedHeuristic.hpp +0 -0
  1276. /casadi/include/{include/coin → coin}/BonLpBranchingSolver.hpp +0 -0
  1277. /casadi/include/{include/coin → coin}/BonMilpRounding.hpp +0 -0
  1278. /casadi/include/{include/coin → coin}/BonOACutGenerator2.hpp +0 -0
  1279. /casadi/include/{include/coin → coin}/BonOAMessages.hpp +0 -0
  1280. /casadi/include/{include/coin → coin}/BonOaDecBase.hpp +0 -0
  1281. /casadi/include/{include/coin → coin}/BonOaFeasChecker.hpp +0 -0
  1282. /casadi/include/{include/coin → coin}/BonOaNlpOptim.hpp +0 -0
  1283. /casadi/include/{include/coin → coin}/BonOsiTMINLPInterface.hpp +0 -0
  1284. /casadi/include/{include/coin → coin}/BonOuterApprox.hpp +0 -0
  1285. /casadi/include/{include/coin → coin}/BonPseudoCosts.hpp +0 -0
  1286. /casadi/include/{include/coin → coin}/BonPumpForMinlp.hpp +0 -0
  1287. /casadi/include/{include/coin → coin}/BonQuadCut.hpp +0 -0
  1288. /casadi/include/{include/coin → coin}/BonQuadRow.hpp +0 -0
  1289. /casadi/include/{include/coin → coin}/BonRegisteredOptions.hpp +0 -0
  1290. /casadi/include/{include/coin → coin}/BonStrongBranchingSolver.hpp +0 -0
  1291. /casadi/include/{include/coin → coin}/BonSubMipSolver.hpp +0 -0
  1292. /casadi/include/{include/coin → coin}/BonTMINLP.hpp +0 -0
  1293. /casadi/include/{include/coin → coin}/BonTMINLP2OsiLP.hpp +0 -0
  1294. /casadi/include/{include/coin → coin}/BonTMINLP2Quad.hpp +0 -0
  1295. /casadi/include/{include/coin → coin}/BonTMINLP2TNLP.hpp +0 -0
  1296. /casadi/include/{include/coin → coin}/BonTMINLPLinObj.hpp +0 -0
  1297. /casadi/include/{include/coin → coin}/BonTMatrix.hpp +0 -0
  1298. /casadi/include/{include/coin → coin}/BonTNLP2FPNLP.hpp +0 -0
  1299. /casadi/include/{include/coin → coin}/BonTNLPSolver.hpp +0 -0
  1300. /casadi/include/{include/coin → coin}/BonTypes.hpp +0 -0
  1301. /casadi/include/{include/coin → coin}/BonminConfig.h +0 -0
  1302. /casadi/include/{include/coin → coin}/CbcBranchActual.hpp +0 -0
  1303. /casadi/include/{include/coin → coin}/CbcBranchAllDifferent.hpp +0 -0
  1304. /casadi/include/{include/coin → coin}/CbcBranchBase.hpp +0 -0
  1305. /casadi/include/{include/coin → coin}/CbcBranchCut.hpp +0 -0
  1306. /casadi/include/{include/coin → coin}/CbcBranchDecision.hpp +0 -0
  1307. /casadi/include/{include/coin → coin}/CbcBranchDefaultDecision.hpp +0 -0
  1308. /casadi/include/{include/coin → coin}/CbcBranchDynamic.hpp +0 -0
  1309. /casadi/include/{include/coin → coin}/CbcBranchLotsize.hpp +0 -0
  1310. /casadi/include/{include/coin → coin}/CbcBranchToFixLots.hpp +0 -0
  1311. /casadi/include/{include/coin → coin}/CbcBranchingObject.hpp +0 -0
  1312. /casadi/include/{include/coin → coin}/CbcClique.hpp +0 -0
  1313. /casadi/include/{include/coin → coin}/CbcCompare.hpp +0 -0
  1314. /casadi/include/{include/coin → coin}/CbcCompareActual.hpp +0 -0
  1315. /casadi/include/{include/coin → coin}/CbcCompareBase.hpp +0 -0
  1316. /casadi/include/{include/coin → coin}/CbcCompareDefault.hpp +0 -0
  1317. /casadi/include/{include/coin → coin}/CbcCompareDepth.hpp +0 -0
  1318. /casadi/include/{include/coin → coin}/CbcCompareEstimate.hpp +0 -0
  1319. /casadi/include/{include/coin → coin}/CbcCompareObjective.hpp +0 -0
  1320. /casadi/include/{include/coin → coin}/CbcConfig.h +0 -0
  1321. /casadi/include/{include/coin → coin}/CbcConsequence.hpp +0 -0
  1322. /casadi/include/{include/coin → coin}/CbcCountRowCut.hpp +0 -0
  1323. /casadi/include/{include/coin → coin}/CbcCutGenerator.hpp +0 -0
  1324. /casadi/include/{include/coin → coin}/CbcCutModifier.hpp +0 -0
  1325. /casadi/include/{include/coin → coin}/CbcCutSubsetModifier.hpp +0 -0
  1326. /casadi/include/{include/coin → coin}/CbcDummyBranchingObject.hpp +0 -0
  1327. /casadi/include/{include/coin → coin}/CbcEventHandler.hpp +0 -0
  1328. /casadi/include/{include/coin → coin}/CbcFathom.hpp +0 -0
  1329. /casadi/include/{include/coin → coin}/CbcFathomDynamicProgramming.hpp +0 -0
  1330. /casadi/include/{include/coin → coin}/CbcFeasibilityBase.hpp +0 -0
  1331. /casadi/include/{include/coin → coin}/CbcFixVariable.hpp +0 -0
  1332. /casadi/include/{include/coin → coin}/CbcFollowOn.hpp +0 -0
  1333. /casadi/include/{include/coin → coin}/CbcFullNodeInfo.hpp +0 -0
  1334. /casadi/include/{include/coin → coin}/CbcGeneral.hpp +0 -0
  1335. /casadi/include/{include/coin → coin}/CbcGeneralDepth.hpp +0 -0
  1336. /casadi/include/{include/coin → coin}/CbcHeuristic.hpp +0 -0
  1337. /casadi/include/{include/coin → coin}/CbcHeuristicDINS.hpp +0 -0
  1338. /casadi/include/{include/coin → coin}/CbcHeuristicDW.hpp +0 -0
  1339. /casadi/include/{include/coin → coin}/CbcHeuristicDive.hpp +0 -0
  1340. /casadi/include/{include/coin → coin}/CbcHeuristicDiveCoefficient.hpp +0 -0
  1341. /casadi/include/{include/coin → coin}/CbcHeuristicDiveFractional.hpp +0 -0
  1342. /casadi/include/{include/coin → coin}/CbcHeuristicDiveGuided.hpp +0 -0
  1343. /casadi/include/{include/coin → coin}/CbcHeuristicDiveLineSearch.hpp +0 -0
  1344. /casadi/include/{include/coin → coin}/CbcHeuristicDivePseudoCost.hpp +0 -0
  1345. /casadi/include/{include/coin → coin}/CbcHeuristicDiveVectorLength.hpp +0 -0
  1346. /casadi/include/{include/coin → coin}/CbcHeuristicFPump.hpp +0 -0
  1347. /casadi/include/{include/coin → coin}/CbcHeuristicGreedy.hpp +0 -0
  1348. /casadi/include/{include/coin → coin}/CbcHeuristicLocal.hpp +0 -0
  1349. /casadi/include/{include/coin → coin}/CbcHeuristicPivotAndFix.hpp +0 -0
  1350. /casadi/include/{include/coin → coin}/CbcHeuristicRENS.hpp +0 -0
  1351. /casadi/include/{include/coin → coin}/CbcHeuristicRINS.hpp +0 -0
  1352. /casadi/include/{include/coin → coin}/CbcHeuristicRandRound.hpp +0 -0
  1353. /casadi/include/{include/coin → coin}/CbcHeuristicVND.hpp +0 -0
  1354. /casadi/include/{include/coin → coin}/CbcLinked.hpp +0 -0
  1355. /casadi/include/{include/coin → coin}/CbcMessage.hpp +0 -0
  1356. /casadi/include/{include/coin → coin}/CbcMipStartIO.hpp +0 -0
  1357. /casadi/include/{include/coin → coin}/CbcModel.hpp +0 -0
  1358. /casadi/include/{include/coin → coin}/CbcNWay.hpp +0 -0
  1359. /casadi/include/{include/coin → coin}/CbcNode.hpp +0 -0
  1360. /casadi/include/{include/coin → coin}/CbcNodeInfo.hpp +0 -0
  1361. /casadi/include/{include/coin → coin}/CbcObject.hpp +0 -0
  1362. /casadi/include/{include/coin → coin}/CbcObjectUpdateData.hpp +0 -0
  1363. /casadi/include/{include/coin → coin}/CbcOrClpParam.cpp +0 -0
  1364. /casadi/include/{include/coin → coin}/CbcOrClpParam.hpp +0 -0
  1365. /casadi/include/{include/coin → coin}/CbcParam.hpp +0 -0
  1366. /casadi/include/{include/coin → coin}/CbcPartialNodeInfo.hpp +0 -0
  1367. /casadi/include/{include/coin → coin}/CbcSOS.hpp +0 -0
  1368. /casadi/include/{include/coin → coin}/CbcSimpleInteger.hpp +0 -0
  1369. /casadi/include/{include/coin → coin}/CbcSimpleIntegerDynamicPseudoCost.hpp +0 -0
  1370. /casadi/include/{include/coin → coin}/CbcSimpleIntegerPseudoCost.hpp +0 -0
  1371. /casadi/include/{include/coin → coin}/CbcSolver.hpp +0 -0
  1372. /casadi/include/{include/coin → coin}/CbcStrategy.hpp +0 -0
  1373. /casadi/include/{include/coin → coin}/CbcSubProblem.hpp +0 -0
  1374. /casadi/include/{include/coin → coin}/CbcTree.hpp +0 -0
  1375. /casadi/include/{include/coin → coin}/CbcTreeLocal.hpp +0 -0
  1376. /casadi/include/{include/coin → coin}/Cbc_C_Interface.h +0 -0
  1377. /casadi/include/{include/coin → coin}/Cgl012cut.hpp +0 -0
  1378. /casadi/include/{include/coin → coin}/CglAllDifferent.hpp +0 -0
  1379. /casadi/include/{include/coin → coin}/CglClique.hpp +0 -0
  1380. /casadi/include/{include/coin → coin}/CglConfig.h +0 -0
  1381. /casadi/include/{include/coin → coin}/CglCutGenerator.hpp +0 -0
  1382. /casadi/include/{include/coin → coin}/CglDuplicateRow.hpp +0 -0
  1383. /casadi/include/{include/coin → coin}/CglFlowCover.hpp +0 -0
  1384. /casadi/include/{include/coin → coin}/CglGMI.hpp +0 -0
  1385. /casadi/include/{include/coin → coin}/CglGMIParam.hpp +0 -0
  1386. /casadi/include/{include/coin → coin}/CglGomory.hpp +0 -0
  1387. /casadi/include/{include/coin → coin}/CglKnapsackCover.hpp +0 -0
  1388. /casadi/include/{include/coin → coin}/CglLandP.hpp +0 -0
  1389. /casadi/include/{include/coin → coin}/CglLandPValidator.hpp +0 -0
  1390. /casadi/include/{include/coin → coin}/CglLiftAndProject.hpp +0 -0
  1391. /casadi/include/{include/coin → coin}/CglMessage.hpp +0 -0
  1392. /casadi/include/{include/coin → coin}/CglMixedIntegerRounding.hpp +0 -0
  1393. /casadi/include/{include/coin → coin}/CglMixedIntegerRounding2.hpp +0 -0
  1394. /casadi/include/{include/coin → coin}/CglOddHole.hpp +0 -0
  1395. /casadi/include/{include/coin → coin}/CglParam.hpp +0 -0
  1396. /casadi/include/{include/coin → coin}/CglPreProcess.hpp +0 -0
  1397. /casadi/include/{include/coin → coin}/CglProbing.hpp +0 -0
  1398. /casadi/include/{include/coin → coin}/CglRedSplit.hpp +0 -0
  1399. /casadi/include/{include/coin → coin}/CglRedSplit2.hpp +0 -0
  1400. /casadi/include/{include/coin → coin}/CglRedSplit2Param.hpp +0 -0
  1401. /casadi/include/{include/coin → coin}/CglRedSplitParam.hpp +0 -0
  1402. /casadi/include/{include/coin → coin}/CglResidualCapacity.hpp +0 -0
  1403. /casadi/include/{include/coin → coin}/CglSimpleRounding.hpp +0 -0
  1404. /casadi/include/{include/coin → coin}/CglStored.hpp +0 -0
  1405. /casadi/include/{include/coin → coin}/CglTreeInfo.hpp +0 -0
  1406. /casadi/include/{include/coin → coin}/CglTwomir.hpp +0 -0
  1407. /casadi/include/{include/coin → coin}/CglZeroHalf.hpp +0 -0
  1408. /casadi/include/{include/coin → coin}/ClpAmplObjective.hpp +0 -0
  1409. /casadi/include/{include/coin → coin}/ClpCholeskyBase.hpp +0 -0
  1410. /casadi/include/{include/coin → coin}/ClpCholeskyDense.hpp +0 -0
  1411. /casadi/include/{include/coin → coin}/ClpCholeskyMumps.hpp +0 -0
  1412. /casadi/include/{include/coin → coin}/ClpCholeskyPardiso.hpp +0 -0
  1413. /casadi/include/{include/coin → coin}/ClpConfig.h +0 -0
  1414. /casadi/include/{include/coin → coin}/ClpConstraint.hpp +0 -0
  1415. /casadi/include/{include/coin → coin}/ClpConstraintAmpl.hpp +0 -0
  1416. /casadi/include/{include/coin → coin}/ClpConstraintLinear.hpp +0 -0
  1417. /casadi/include/{include/coin → coin}/ClpConstraintQuadratic.hpp +0 -0
  1418. /casadi/include/{include/coin → coin}/ClpDualRowDantzig.hpp +0 -0
  1419. /casadi/include/{include/coin → coin}/ClpDualRowPivot.hpp +0 -0
  1420. /casadi/include/{include/coin → coin}/ClpDualRowSteepest.hpp +0 -0
  1421. /casadi/include/{include/coin → coin}/ClpDummyMatrix.hpp +0 -0
  1422. /casadi/include/{include/coin → coin}/ClpDynamicExampleMatrix.hpp +0 -0
  1423. /casadi/include/{include/coin → coin}/ClpDynamicMatrix.hpp +0 -0
  1424. /casadi/include/{include/coin → coin}/ClpEventHandler.hpp +0 -0
  1425. /casadi/include/{include/coin → coin}/ClpFactorization.hpp +0 -0
  1426. /casadi/include/{include/coin → coin}/ClpGubDynamicMatrix.hpp +0 -0
  1427. /casadi/include/{include/coin → coin}/ClpGubMatrix.hpp +0 -0
  1428. /casadi/include/{include/coin → coin}/ClpInterior.hpp +0 -0
  1429. /casadi/include/{include/coin → coin}/ClpLinearObjective.hpp +0 -0
  1430. /casadi/include/{include/coin → coin}/ClpMatrixBase.hpp +0 -0
  1431. /casadi/include/{include/coin → coin}/ClpMessage.hpp +0 -0
  1432. /casadi/include/{include/coin → coin}/ClpModel.hpp +0 -0
  1433. /casadi/include/{include/coin → coin}/ClpNetworkMatrix.hpp +0 -0
  1434. /casadi/include/{include/coin → coin}/ClpNode.hpp +0 -0
  1435. /casadi/include/{include/coin → coin}/ClpNonLinearCost.hpp +0 -0
  1436. /casadi/include/{include/coin → coin}/ClpObjective.hpp +0 -0
  1437. /casadi/include/{include/coin → coin}/ClpPEDualRowDantzig.hpp +0 -0
  1438. /casadi/include/{include/coin → coin}/ClpPEDualRowSteepest.hpp +0 -0
  1439. /casadi/include/{include/coin → coin}/ClpPEPrimalColumnDantzig.hpp +0 -0
  1440. /casadi/include/{include/coin → coin}/ClpPEPrimalColumnSteepest.hpp +0 -0
  1441. /casadi/include/{include/coin → coin}/ClpPESimplex.hpp +0 -0
  1442. /casadi/include/{include/coin → coin}/ClpPackedMatrix.hpp +0 -0
  1443. /casadi/include/{include/coin → coin}/ClpParameters.hpp +0 -0
  1444. /casadi/include/{include/coin → coin}/ClpPdcoBase.hpp +0 -0
  1445. /casadi/include/{include/coin → coin}/ClpPlusMinusOneMatrix.hpp +0 -0
  1446. /casadi/include/{include/coin → coin}/ClpPresolve.hpp +0 -0
  1447. /casadi/include/{include/coin → coin}/ClpPrimalColumnDantzig.hpp +0 -0
  1448. /casadi/include/{include/coin → coin}/ClpPrimalColumnPivot.hpp +0 -0
  1449. /casadi/include/{include/coin → coin}/ClpPrimalColumnSteepest.hpp +0 -0
  1450. /casadi/include/{include/coin → coin}/ClpQuadraticObjective.hpp +0 -0
  1451. /casadi/include/{include/coin → coin}/ClpSimplex.hpp +0 -0
  1452. /casadi/include/{include/coin → coin}/ClpSimplexDual.hpp +0 -0
  1453. /casadi/include/{include/coin → coin}/ClpSimplexNonlinear.hpp +0 -0
  1454. /casadi/include/{include/coin → coin}/ClpSimplexOther.hpp +0 -0
  1455. /casadi/include/{include/coin → coin}/ClpSimplexPrimal.hpp +0 -0
  1456. /casadi/include/{include/coin → coin}/ClpSolve.hpp +0 -0
  1457. /casadi/include/{include/coin → coin}/Clp_C_Interface.h +0 -0
  1458. /casadi/include/{include/coin → coin}/CoinAlloc.hpp +0 -0
  1459. /casadi/include/{include/coin → coin}/CoinBuild.hpp +0 -0
  1460. /casadi/include/{include/coin → coin}/CoinDenseFactorization.hpp +0 -0
  1461. /casadi/include/{include/coin → coin}/CoinDenseVector.hpp +0 -0
  1462. /casadi/include/{include/coin → coin}/CoinDistance.hpp +0 -0
  1463. /casadi/include/{include/coin → coin}/CoinError.hpp +0 -0
  1464. /casadi/include/{include/coin → coin}/CoinFactorization.hpp +0 -0
  1465. /casadi/include/{include/coin → coin}/CoinFileIO.hpp +0 -0
  1466. /casadi/include/{include/coin → coin}/CoinFinite.hpp +0 -0
  1467. /casadi/include/{include/coin → coin}/CoinFloatEqual.hpp +0 -0
  1468. /casadi/include/{include/coin → coin}/CoinHelperFunctions.hpp +0 -0
  1469. /casadi/include/{include/coin → coin}/CoinIndexedVector.hpp +0 -0
  1470. /casadi/include/{include/coin → coin}/CoinLpIO.hpp +0 -0
  1471. /casadi/include/{include/coin → coin}/CoinMessage.hpp +0 -0
  1472. /casadi/include/{include/coin → coin}/CoinMessageHandler.hpp +0 -0
  1473. /casadi/include/{include/coin → coin}/CoinModel.hpp +0 -0
  1474. /casadi/include/{include/coin → coin}/CoinModelUseful.hpp +0 -0
  1475. /casadi/include/{include/coin → coin}/CoinMpsIO.hpp +0 -0
  1476. /casadi/include/{include/coin → coin}/CoinOslFactorization.hpp +0 -0
  1477. /casadi/include/{include/coin → coin}/CoinPackedMatrix.hpp +0 -0
  1478. /casadi/include/{include/coin → coin}/CoinPackedVector.hpp +0 -0
  1479. /casadi/include/{include/coin → coin}/CoinPackedVectorBase.hpp +0 -0
  1480. /casadi/include/{include/coin → coin}/CoinParam.hpp +0 -0
  1481. /casadi/include/{include/coin → coin}/CoinPragma.hpp +0 -0
  1482. /casadi/include/{include/coin → coin}/CoinPresolveDoubleton.hpp +0 -0
  1483. /casadi/include/{include/coin → coin}/CoinPresolveDual.hpp +0 -0
  1484. /casadi/include/{include/coin → coin}/CoinPresolveDupcol.hpp +0 -0
  1485. /casadi/include/{include/coin → coin}/CoinPresolveEmpty.hpp +0 -0
  1486. /casadi/include/{include/coin → coin}/CoinPresolveFixed.hpp +0 -0
  1487. /casadi/include/{include/coin → coin}/CoinPresolveForcing.hpp +0 -0
  1488. /casadi/include/{include/coin → coin}/CoinPresolveImpliedFree.hpp +0 -0
  1489. /casadi/include/{include/coin → coin}/CoinPresolveIsolated.hpp +0 -0
  1490. /casadi/include/{include/coin → coin}/CoinPresolveMatrix.hpp +0 -0
  1491. /casadi/include/{include/coin → coin}/CoinPresolveMonitor.hpp +0 -0
  1492. /casadi/include/{include/coin → coin}/CoinPresolvePsdebug.hpp +0 -0
  1493. /casadi/include/{include/coin → coin}/CoinPresolveSingleton.hpp +0 -0
  1494. /casadi/include/{include/coin → coin}/CoinPresolveSubst.hpp +0 -0
  1495. /casadi/include/{include/coin → coin}/CoinPresolveTighten.hpp +0 -0
  1496. /casadi/include/{include/coin → coin}/CoinPresolveTripleton.hpp +0 -0
  1497. /casadi/include/{include/coin → coin}/CoinPresolveUseless.hpp +0 -0
  1498. /casadi/include/{include/coin → coin}/CoinPresolveZeros.hpp +0 -0
  1499. /casadi/include/{include/coin → coin}/CoinRational.hpp +0 -0
  1500. /casadi/include/{include/coin → coin}/CoinSearchTree.hpp +0 -0
  1501. /casadi/include/{include/coin → coin}/CoinShallowPackedVector.hpp +0 -0
  1502. /casadi/include/{include/coin → coin}/CoinSignal.hpp +0 -0
  1503. /casadi/include/{include/coin → coin}/CoinSimpFactorization.hpp +0 -0
  1504. /casadi/include/{include/coin → coin}/CoinSmartPtr.hpp +0 -0
  1505. /casadi/include/{include/coin → coin}/CoinSnapshot.hpp +0 -0
  1506. /casadi/include/{include/coin → coin}/CoinSort.hpp +0 -0
  1507. /casadi/include/{include/coin → coin}/CoinStructuredModel.hpp +0 -0
  1508. /casadi/include/{include/coin → coin}/CoinTime.hpp +0 -0
  1509. /casadi/include/{include/coin → coin}/CoinTypes.hpp +0 -0
  1510. /casadi/include/{include/coin → coin}/CoinUtility.hpp +0 -0
  1511. /casadi/include/{include/coin → coin}/CoinUtilsConfig.h +0 -0
  1512. /casadi/include/{include/coin → coin}/CoinWarmStart.hpp +0 -0
  1513. /casadi/include/{include/coin → coin}/CoinWarmStartBasis.hpp +0 -0
  1514. /casadi/include/{include/coin → coin}/CoinWarmStartDual.hpp +0 -0
  1515. /casadi/include/{include/coin → coin}/CoinWarmStartPrimalDual.hpp +0 -0
  1516. /casadi/include/{include/coin → coin}/CoinWarmStartVector.hpp +0 -0
  1517. /casadi/include/{include/coin → coin}/Coin_C_defines.h +0 -0
  1518. /casadi/include/{include/coin → coin}/Idiot.hpp +0 -0
  1519. /casadi/include/{include/coin → coin}/OsiAuxInfo.hpp +0 -0
  1520. /casadi/include/{include/coin → coin}/OsiBranchingObject.hpp +0 -0
  1521. /casadi/include/{include/coin → coin}/OsiCbcSolverInterface.hpp +0 -0
  1522. /casadi/include/{include/coin → coin}/OsiChooseVariable.hpp +0 -0
  1523. /casadi/include/{include/coin → coin}/OsiClpSolverInterface.hpp +0 -0
  1524. /casadi/include/{include/coin → coin}/OsiColCut.hpp +0 -0
  1525. /casadi/include/{include/coin → coin}/OsiCollections.hpp +0 -0
  1526. /casadi/include/{include/coin → coin}/OsiConfig.h +0 -0
  1527. /casadi/include/{include/coin → coin}/OsiCut.hpp +0 -0
  1528. /casadi/include/{include/coin → coin}/OsiCuts.hpp +0 -0
  1529. /casadi/include/{include/coin → coin}/OsiPresolve.hpp +0 -0
  1530. /casadi/include/{include/coin → coin}/OsiRowCut.hpp +0 -0
  1531. /casadi/include/{include/coin → coin}/OsiRowCutDebugger.hpp +0 -0
  1532. /casadi/include/{include/coin → coin}/OsiSolverBranch.hpp +0 -0
  1533. /casadi/include/{include/coin → coin}/OsiSolverInterface.hpp +0 -0
  1534. /casadi/include/{include/coin → coin}/OsiSolverParameters.hpp +0 -0
  1535. /casadi/include/{include/coin → coin}/OsiUnitTests.hpp +0 -0
  1536. /casadi/include/{include/coin-or → coin-or}/IpAlgBuilder.hpp +0 -0
  1537. /casadi/include/{include/coin-or → coin-or}/IpAlgStrategy.hpp +0 -0
  1538. /casadi/include/{include/coin-or → coin-or}/IpAlgTypes.hpp +0 -0
  1539. /casadi/include/{include/coin-or → coin-or}/IpAugSystemSolver.hpp +0 -0
  1540. /casadi/include/{include/coin-or → coin-or}/IpBlas.hpp +0 -0
  1541. /casadi/include/{include/coin-or → coin-or}/IpCachedResults.hpp +0 -0
  1542. /casadi/include/{include/coin-or → coin-or}/IpCompoundMatrix.hpp +0 -0
  1543. /casadi/include/{include/coin-or → coin-or}/IpCompoundSymMatrix.hpp +0 -0
  1544. /casadi/include/{include/coin-or → coin-or}/IpCompoundVector.hpp +0 -0
  1545. /casadi/include/{include/coin-or → coin-or}/IpConvCheck.hpp +0 -0
  1546. /casadi/include/{include/coin-or → coin-or}/IpDebug.hpp +0 -0
  1547. /casadi/include/{include/coin-or → coin-or}/IpDenseVector.hpp +0 -0
  1548. /casadi/include/{include/coin-or → coin-or}/IpDiagMatrix.hpp +0 -0
  1549. /casadi/include/{include/coin-or → coin-or}/IpEqMultCalculator.hpp +0 -0
  1550. /casadi/include/{include/coin-or → coin-or}/IpException.hpp +0 -0
  1551. /casadi/include/{include/coin-or → coin-or}/IpExpansionMatrix.hpp +0 -0
  1552. /casadi/include/{include/coin-or → coin-or}/IpGenTMatrix.hpp +0 -0
  1553. /casadi/include/{include/coin-or → coin-or}/IpHessianUpdater.hpp +0 -0
  1554. /casadi/include/{include/coin-or → coin-or}/IpIdentityMatrix.hpp +0 -0
  1555. /casadi/include/{include/coin-or → coin-or}/IpIpoptAlg.hpp +0 -0
  1556. /casadi/include/{include/coin-or → coin-or}/IpIpoptApplication.hpp +0 -0
  1557. /casadi/include/{include/coin-or → coin-or}/IpIpoptCalculatedQuantities.hpp +0 -0
  1558. /casadi/include/{include/coin-or → coin-or}/IpIpoptData.hpp +0 -0
  1559. /casadi/include/{include/coin-or → coin-or}/IpIpoptNLP.hpp +0 -0
  1560. /casadi/include/{include/coin-or → coin-or}/IpIterateInitializer.hpp +0 -0
  1561. /casadi/include/{include/coin-or → coin-or}/IpIteratesVector.hpp +0 -0
  1562. /casadi/include/{include/coin-or → coin-or}/IpIterationOutput.hpp +0 -0
  1563. /casadi/include/{include/coin-or → coin-or}/IpJournalist.hpp +0 -0
  1564. /casadi/include/{include/coin-or → coin-or}/IpLapack.hpp +0 -0
  1565. /casadi/include/{include/coin-or → coin-or}/IpLibraryLoader.hpp +0 -0
  1566. /casadi/include/{include/coin-or → coin-or}/IpLineSearch.hpp +0 -0
  1567. /casadi/include/{include/coin-or → coin-or}/IpLinearSolvers.h +0 -0
  1568. /casadi/include/{include/coin-or → coin-or}/IpMatrix.hpp +0 -0
  1569. /casadi/include/{include/coin-or → coin-or}/IpMuUpdate.hpp +0 -0
  1570. /casadi/include/{include/coin-or → coin-or}/IpNLP.hpp +0 -0
  1571. /casadi/include/{include/coin-or → coin-or}/IpNLPScaling.hpp +0 -0
  1572. /casadi/include/{include/coin-or → coin-or}/IpObserver.hpp +0 -0
  1573. /casadi/include/{include/coin-or → coin-or}/IpOptionsList.hpp +0 -0
  1574. /casadi/include/{include/coin-or → coin-or}/IpOrigIpoptNLP.hpp +0 -0
  1575. /casadi/include/{include/coin-or → coin-or}/IpPDSystemSolver.hpp +0 -0
  1576. /casadi/include/{include/coin-or → coin-or}/IpReferenced.hpp +0 -0
  1577. /casadi/include/{include/coin-or → coin-or}/IpRegOptions.hpp +0 -0
  1578. /casadi/include/{include/coin-or → coin-or}/IpReturnCodes.h +0 -0
  1579. /casadi/include/{include/coin-or → coin-or}/IpReturnCodes.hpp +0 -0
  1580. /casadi/include/{include/coin-or → coin-or}/IpReturnCodes.inc +0 -0
  1581. /casadi/include/{include/coin-or → coin-or}/IpReturnCodes_inc.h +0 -0
  1582. /casadi/include/{include/coin-or → coin-or}/IpScaledMatrix.hpp +0 -0
  1583. /casadi/include/{include/coin-or → coin-or}/IpSearchDirCalculator.hpp +0 -0
  1584. /casadi/include/{include/coin-or → coin-or}/IpSmartPtr.hpp +0 -0
  1585. /casadi/include/{include/coin-or → coin-or}/IpSolveStatistics.hpp +0 -0
  1586. /casadi/include/{include/coin-or → coin-or}/IpSparseSymLinearSolverInterface.hpp +0 -0
  1587. /casadi/include/{include/coin-or → coin-or}/IpStdAugSystemSolver.cpp +0 -0
  1588. /casadi/include/{include/coin-or → coin-or}/IpStdCInterface.h +0 -0
  1589. /casadi/include/{include/coin-or → coin-or}/IpSumSymMatrix.hpp +0 -0
  1590. /casadi/include/{include/coin-or → coin-or}/IpSymLinearSolver.hpp +0 -0
  1591. /casadi/include/{include/coin-or → coin-or}/IpSymMatrix.hpp +0 -0
  1592. /casadi/include/{include/coin-or → coin-or}/IpSymScaledMatrix.hpp +0 -0
  1593. /casadi/include/{include/coin-or → coin-or}/IpSymTMatrix.hpp +0 -0
  1594. /casadi/include/{include/coin-or → coin-or}/IpTNLP.hpp +0 -0
  1595. /casadi/include/{include/coin-or → coin-or}/IpTNLPAdapter.hpp +0 -0
  1596. /casadi/include/{include/coin-or → coin-or}/IpTNLPReducer.hpp +0 -0
  1597. /casadi/include/{include/coin-or → coin-or}/IpTaggedObject.hpp +0 -0
  1598. /casadi/include/{include/coin-or → coin-or}/IpTimedTask.hpp +0 -0
  1599. /casadi/include/{include/coin-or → coin-or}/IpTimingStatistics.hpp +0 -0
  1600. /casadi/include/{include/coin-or → coin-or}/IpTripletHelper.hpp +0 -0
  1601. /casadi/include/{include/coin-or → coin-or}/IpTypes.h +0 -0
  1602. /casadi/include/{include/coin-or → coin-or}/IpTypes.hpp +0 -0
  1603. /casadi/include/{include/coin-or → coin-or}/IpUtils.hpp +0 -0
  1604. /casadi/include/{include/coin-or → coin-or}/IpVector.hpp +0 -0
  1605. /casadi/include/{include/coin-or → coin-or}/IpZeroSymMatrix.hpp +0 -0
  1606. /casadi/include/{include/coin-or → coin-or}/IpoptConfig.h +0 -0
  1607. /casadi/include/{include/coin-or → coin-or}/SensAlgorithm.hpp +0 -0
  1608. /casadi/include/{include/coin-or → coin-or}/SensApplication.hpp +0 -0
  1609. /casadi/include/{include/coin-or → coin-or}/SensBacksolver.hpp +0 -0
  1610. /casadi/include/{include/coin-or → coin-or}/SensMeasurement.hpp +0 -0
  1611. /casadi/include/{include/coin-or → coin-or}/SensPCalculator.hpp +0 -0
  1612. /casadi/include/{include/coin-or → coin-or}/SensRegOp.hpp +0 -0
  1613. /casadi/include/{include/coin-or → coin-or}/SensSchurData.hpp +0 -0
  1614. /casadi/include/{include/coin-or → coin-or}/SensSchurDriver.hpp +0 -0
  1615. /casadi/include/{include/coin-or → coin-or}/SensSimpleBacksolver.hpp +0 -0
  1616. /casadi/include/{include/coin-or → coin-or}/SensStepCalc.hpp +0 -0
  1617. /casadi/include/{include/coin-or → coin-or}/SensUtils.hpp +0 -0
  1618. /casadi/include/{include/coin-or → coin-or}/metis/defs.h +0 -0
  1619. /casadi/include/{include/coin-or → coin-or}/metis/macros.h +0 -0
  1620. /casadi/include/{include/coin-or → coin-or}/metis/metis.h +0 -0
  1621. /casadi/include/{include/coin-or → coin-or}/metis/proto.h +0 -0
  1622. /casadi/include/{include/coin-or → coin-or}/metis/rename.h +0 -0
  1623. /casadi/include/{include/coin-or → coin-or}/metis/struct.h +0 -0
  1624. /casadi/include/{include/coin-or → coin-or}/mumps/dmumps_c.h +0 -0
  1625. /casadi/include/{include/coin-or → coin-or}/mumps/mumps_c_types.h +0 -0
  1626. /casadi/include/{include/coin-or → coin-or}/mumps/mumps_compat.h +0 -0
  1627. /casadi/include/{include/coin-or → coin-or}/mumps/mumps_int_def.h +0 -0
  1628. /casadi/include/{include/coin-or → coin-or}/mumps/mumps_mpi.h +0 -0
  1629. /casadi/include/{include/d_blas.h → d_blas.h} +0 -0
  1630. /casadi/include/{include/d_blas_64.h → d_blas_64.h} +0 -0
  1631. /casadi/include/{include/hpipm_aux_mem.h → hpipm_aux_mem.h} +0 -0
  1632. /casadi/include/{include/hpipm_aux_string.h → hpipm_aux_string.h} +0 -0
  1633. /casadi/include/{include/hpipm_common.h → hpipm_common.h} +0 -0
  1634. /casadi/include/{include/hpipm_d_cast_qcqp.h → hpipm_d_cast_qcqp.h} +0 -0
  1635. /casadi/include/{include/hpipm_d_cond.h → hpipm_d_cond.h} +0 -0
  1636. /casadi/include/{include/hpipm_d_cond_aux.h → hpipm_d_cond_aux.h} +0 -0
  1637. /casadi/include/{include/hpipm_d_cond_qcqp.h → hpipm_d_cond_qcqp.h} +0 -0
  1638. /casadi/include/{include/hpipm_d_core_qp_ipm.h → hpipm_d_core_qp_ipm.h} +0 -0
  1639. /casadi/include/{include/hpipm_d_core_qp_ipm_aux.h → hpipm_d_core_qp_ipm_aux.h} +0 -0
  1640. /casadi/include/{include/hpipm_d_dense_qcqp.h → hpipm_d_dense_qcqp.h} +0 -0
  1641. /casadi/include/{include/hpipm_d_dense_qcqp_dim.h → hpipm_d_dense_qcqp_dim.h} +0 -0
  1642. /casadi/include/{include/hpipm_d_dense_qcqp_ipm.h → hpipm_d_dense_qcqp_ipm.h} +0 -0
  1643. /casadi/include/{include/hpipm_d_dense_qcqp_res.h → hpipm_d_dense_qcqp_res.h} +0 -0
  1644. /casadi/include/{include/hpipm_d_dense_qcqp_sol.h → hpipm_d_dense_qcqp_sol.h} +0 -0
  1645. /casadi/include/{include/hpipm_d_dense_qcqp_utils.h → hpipm_d_dense_qcqp_utils.h} +0 -0
  1646. /casadi/include/{include/hpipm_d_dense_qp.h → hpipm_d_dense_qp.h} +0 -0
  1647. /casadi/include/{include/hpipm_d_dense_qp_dim.h → hpipm_d_dense_qp_dim.h} +0 -0
  1648. /casadi/include/{include/hpipm_d_dense_qp_ipm.h → hpipm_d_dense_qp_ipm.h} +0 -0
  1649. /casadi/include/{include/hpipm_d_dense_qp_kkt.h → hpipm_d_dense_qp_kkt.h} +0 -0
  1650. /casadi/include/{include/hpipm_d_dense_qp_res.h → hpipm_d_dense_qp_res.h} +0 -0
  1651. /casadi/include/{include/hpipm_d_dense_qp_sol.h → hpipm_d_dense_qp_sol.h} +0 -0
  1652. /casadi/include/{include/hpipm_d_dense_qp_utils.h → hpipm_d_dense_qp_utils.h} +0 -0
  1653. /casadi/include/{include/hpipm_d_ocp_qcqp.h → hpipm_d_ocp_qcqp.h} +0 -0
  1654. /casadi/include/{include/hpipm_d_ocp_qcqp_dim.h → hpipm_d_ocp_qcqp_dim.h} +0 -0
  1655. /casadi/include/{include/hpipm_d_ocp_qcqp_ipm.h → hpipm_d_ocp_qcqp_ipm.h} +0 -0
  1656. /casadi/include/{include/hpipm_d_ocp_qcqp_red.h → hpipm_d_ocp_qcqp_red.h} +0 -0
  1657. /casadi/include/{include/hpipm_d_ocp_qcqp_res.h → hpipm_d_ocp_qcqp_res.h} +0 -0
  1658. /casadi/include/{include/hpipm_d_ocp_qcqp_sol.h → hpipm_d_ocp_qcqp_sol.h} +0 -0
  1659. /casadi/include/{include/hpipm_d_ocp_qcqp_utils.h → hpipm_d_ocp_qcqp_utils.h} +0 -0
  1660. /casadi/include/{include/hpipm_d_ocp_qp.h → hpipm_d_ocp_qp.h} +0 -0
  1661. /casadi/include/{include/hpipm_d_ocp_qp_dim.h → hpipm_d_ocp_qp_dim.h} +0 -0
  1662. /casadi/include/{include/hpipm_d_ocp_qp_ipm.h → hpipm_d_ocp_qp_ipm.h} +0 -0
  1663. /casadi/include/{include/hpipm_d_ocp_qp_kkt.h → hpipm_d_ocp_qp_kkt.h} +0 -0
  1664. /casadi/include/{include/hpipm_d_ocp_qp_red.h → hpipm_d_ocp_qp_red.h} +0 -0
  1665. /casadi/include/{include/hpipm_d_ocp_qp_res.h → hpipm_d_ocp_qp_res.h} +0 -0
  1666. /casadi/include/{include/hpipm_d_ocp_qp_sol.h → hpipm_d_ocp_qp_sol.h} +0 -0
  1667. /casadi/include/{include/hpipm_d_ocp_qp_utils.h → hpipm_d_ocp_qp_utils.h} +0 -0
  1668. /casadi/include/{include/hpipm_d_part_cond.h → hpipm_d_part_cond.h} +0 -0
  1669. /casadi/include/{include/hpipm_d_part_cond_qcqp.h → hpipm_d_part_cond_qcqp.h} +0 -0
  1670. /casadi/include/{include/hpipm_d_sim_erk.h → hpipm_d_sim_erk.h} +0 -0
  1671. /casadi/include/{include/hpipm_d_sim_rk.h → hpipm_d_sim_rk.h} +0 -0
  1672. /casadi/include/{include/hpipm_d_tree_ocp_qcqp.h → hpipm_d_tree_ocp_qcqp.h} +0 -0
  1673. /casadi/include/{include/hpipm_d_tree_ocp_qcqp_dim.h → hpipm_d_tree_ocp_qcqp_dim.h} +0 -0
  1674. /casadi/include/{include/hpipm_d_tree_ocp_qcqp_ipm.h → hpipm_d_tree_ocp_qcqp_ipm.h} +0 -0
  1675. /casadi/include/{include/hpipm_d_tree_ocp_qcqp_res.h → hpipm_d_tree_ocp_qcqp_res.h} +0 -0
  1676. /casadi/include/{include/hpipm_d_tree_ocp_qcqp_sol.h → hpipm_d_tree_ocp_qcqp_sol.h} +0 -0
  1677. /casadi/include/{include/hpipm_d_tree_ocp_qcqp_utils.h → hpipm_d_tree_ocp_qcqp_utils.h} +0 -0
  1678. /casadi/include/{include/hpipm_d_tree_ocp_qp.h → hpipm_d_tree_ocp_qp.h} +0 -0
  1679. /casadi/include/{include/hpipm_d_tree_ocp_qp_dim.h → hpipm_d_tree_ocp_qp_dim.h} +0 -0
  1680. /casadi/include/{include/hpipm_d_tree_ocp_qp_ipm.h → hpipm_d_tree_ocp_qp_ipm.h} +0 -0
  1681. /casadi/include/{include/hpipm_d_tree_ocp_qp_kkt.h → hpipm_d_tree_ocp_qp_kkt.h} +0 -0
  1682. /casadi/include/{include/hpipm_d_tree_ocp_qp_res.h → hpipm_d_tree_ocp_qp_res.h} +0 -0
  1683. /casadi/include/{include/hpipm_d_tree_ocp_qp_sol.h → hpipm_d_tree_ocp_qp_sol.h} +0 -0
  1684. /casadi/include/{include/hpipm_d_tree_ocp_qp_utils.h → hpipm_d_tree_ocp_qp_utils.h} +0 -0
  1685. /casadi/include/{include/hpipm_m_dense_qp.h → hpipm_m_dense_qp.h} +0 -0
  1686. /casadi/include/{include/hpipm_m_dense_qp_dim.h → hpipm_m_dense_qp_dim.h} +0 -0
  1687. /casadi/include/{include/hpipm_m_ocp_qp.h → hpipm_m_ocp_qp.h} +0 -0
  1688. /casadi/include/{include/hpipm_m_ocp_qp_ipm_hard.h → hpipm_m_ocp_qp_ipm_hard.h} +0 -0
  1689. /casadi/include/{include/hpipm_m_ocp_qp_kkt.h → hpipm_m_ocp_qp_kkt.h} +0 -0
  1690. /casadi/include/{include/hpipm_s_cast_qcqp.h → hpipm_s_cast_qcqp.h} +0 -0
  1691. /casadi/include/{include/hpipm_s_cond.h → hpipm_s_cond.h} +0 -0
  1692. /casadi/include/{include/hpipm_s_cond_aux.h → hpipm_s_cond_aux.h} +0 -0
  1693. /casadi/include/{include/hpipm_s_cond_qcqp.h → hpipm_s_cond_qcqp.h} +0 -0
  1694. /casadi/include/{include/hpipm_s_core_qp_ipm.h → hpipm_s_core_qp_ipm.h} +0 -0
  1695. /casadi/include/{include/hpipm_s_core_qp_ipm_aux.h → hpipm_s_core_qp_ipm_aux.h} +0 -0
  1696. /casadi/include/{include/hpipm_s_dense_qcqp.h → hpipm_s_dense_qcqp.h} +0 -0
  1697. /casadi/include/{include/hpipm_s_dense_qcqp_dim.h → hpipm_s_dense_qcqp_dim.h} +0 -0
  1698. /casadi/include/{include/hpipm_s_dense_qcqp_ipm.h → hpipm_s_dense_qcqp_ipm.h} +0 -0
  1699. /casadi/include/{include/hpipm_s_dense_qcqp_res.h → hpipm_s_dense_qcqp_res.h} +0 -0
  1700. /casadi/include/{include/hpipm_s_dense_qcqp_sol.h → hpipm_s_dense_qcqp_sol.h} +0 -0
  1701. /casadi/include/{include/hpipm_s_dense_qcqp_utils.h → hpipm_s_dense_qcqp_utils.h} +0 -0
  1702. /casadi/include/{include/hpipm_s_dense_qp.h → hpipm_s_dense_qp.h} +0 -0
  1703. /casadi/include/{include/hpipm_s_dense_qp_dim.h → hpipm_s_dense_qp_dim.h} +0 -0
  1704. /casadi/include/{include/hpipm_s_dense_qp_ipm.h → hpipm_s_dense_qp_ipm.h} +0 -0
  1705. /casadi/include/{include/hpipm_s_dense_qp_kkt.h → hpipm_s_dense_qp_kkt.h} +0 -0
  1706. /casadi/include/{include/hpipm_s_dense_qp_res.h → hpipm_s_dense_qp_res.h} +0 -0
  1707. /casadi/include/{include/hpipm_s_dense_qp_sol.h → hpipm_s_dense_qp_sol.h} +0 -0
  1708. /casadi/include/{include/hpipm_s_dense_qp_utils.h → hpipm_s_dense_qp_utils.h} +0 -0
  1709. /casadi/include/{include/hpipm_s_ocp_qcqp.h → hpipm_s_ocp_qcqp.h} +0 -0
  1710. /casadi/include/{include/hpipm_s_ocp_qcqp_dim.h → hpipm_s_ocp_qcqp_dim.h} +0 -0
  1711. /casadi/include/{include/hpipm_s_ocp_qcqp_ipm.h → hpipm_s_ocp_qcqp_ipm.h} +0 -0
  1712. /casadi/include/{include/hpipm_s_ocp_qcqp_red.h → hpipm_s_ocp_qcqp_red.h} +0 -0
  1713. /casadi/include/{include/hpipm_s_ocp_qcqp_res.h → hpipm_s_ocp_qcqp_res.h} +0 -0
  1714. /casadi/include/{include/hpipm_s_ocp_qcqp_sol.h → hpipm_s_ocp_qcqp_sol.h} +0 -0
  1715. /casadi/include/{include/hpipm_s_ocp_qcqp_utils.h → hpipm_s_ocp_qcqp_utils.h} +0 -0
  1716. /casadi/include/{include/hpipm_s_ocp_qp.h → hpipm_s_ocp_qp.h} +0 -0
  1717. /casadi/include/{include/hpipm_s_ocp_qp_dim.h → hpipm_s_ocp_qp_dim.h} +0 -0
  1718. /casadi/include/{include/hpipm_s_ocp_qp_ipm.h → hpipm_s_ocp_qp_ipm.h} +0 -0
  1719. /casadi/include/{include/hpipm_s_ocp_qp_kkt.h → hpipm_s_ocp_qp_kkt.h} +0 -0
  1720. /casadi/include/{include/hpipm_s_ocp_qp_red.h → hpipm_s_ocp_qp_red.h} +0 -0
  1721. /casadi/include/{include/hpipm_s_ocp_qp_res.h → hpipm_s_ocp_qp_res.h} +0 -0
  1722. /casadi/include/{include/hpipm_s_ocp_qp_sol.h → hpipm_s_ocp_qp_sol.h} +0 -0
  1723. /casadi/include/{include/hpipm_s_ocp_qp_utils.h → hpipm_s_ocp_qp_utils.h} +0 -0
  1724. /casadi/include/{include/hpipm_s_part_cond.h → hpipm_s_part_cond.h} +0 -0
  1725. /casadi/include/{include/hpipm_s_part_cond_qcqp.h → hpipm_s_part_cond_qcqp.h} +0 -0
  1726. /casadi/include/{include/hpipm_s_sim_erk.h → hpipm_s_sim_erk.h} +0 -0
  1727. /casadi/include/{include/hpipm_s_sim_rk.h → hpipm_s_sim_rk.h} +0 -0
  1728. /casadi/include/{include/hpipm_s_tree_ocp_qcqp.h → hpipm_s_tree_ocp_qcqp.h} +0 -0
  1729. /casadi/include/{include/hpipm_s_tree_ocp_qcqp_dim.h → hpipm_s_tree_ocp_qcqp_dim.h} +0 -0
  1730. /casadi/include/{include/hpipm_s_tree_ocp_qcqp_ipm.h → hpipm_s_tree_ocp_qcqp_ipm.h} +0 -0
  1731. /casadi/include/{include/hpipm_s_tree_ocp_qcqp_res.h → hpipm_s_tree_ocp_qcqp_res.h} +0 -0
  1732. /casadi/include/{include/hpipm_s_tree_ocp_qcqp_sol.h → hpipm_s_tree_ocp_qcqp_sol.h} +0 -0
  1733. /casadi/include/{include/hpipm_s_tree_ocp_qcqp_utils.h → hpipm_s_tree_ocp_qcqp_utils.h} +0 -0
  1734. /casadi/include/{include/hpipm_s_tree_ocp_qp.h → hpipm_s_tree_ocp_qp.h} +0 -0
  1735. /casadi/include/{include/hpipm_s_tree_ocp_qp_dim.h → hpipm_s_tree_ocp_qp_dim.h} +0 -0
  1736. /casadi/include/{include/hpipm_s_tree_ocp_qp_ipm.h → hpipm_s_tree_ocp_qp_ipm.h} +0 -0
  1737. /casadi/include/{include/hpipm_s_tree_ocp_qp_kkt.h → hpipm_s_tree_ocp_qp_kkt.h} +0 -0
  1738. /casadi/include/{include/hpipm_s_tree_ocp_qp_res.h → hpipm_s_tree_ocp_qp_res.h} +0 -0
  1739. /casadi/include/{include/hpipm_s_tree_ocp_qp_sol.h → hpipm_s_tree_ocp_qp_sol.h} +0 -0
  1740. /casadi/include/{include/hpipm_s_tree_ocp_qp_utils.h → hpipm_s_tree_ocp_qp_utils.h} +0 -0
  1741. /casadi/include/{include/hpipm_scenario_tree.h → hpipm_scenario_tree.h} +0 -0
  1742. /casadi/include/{include/hpipm_timing.h → hpipm_timing.h} +0 -0
  1743. /casadi/include/{include/hpipm_tree.h → hpipm_tree.h} +0 -0
  1744. /casadi/include/{include/openblas → openblas}/cblas.h +0 -0
  1745. /casadi/include/{include/openblas → openblas}/f77blas.h +0 -0
  1746. /casadi/include/{include/openblas → openblas}/lapack.h +0 -0
  1747. /casadi/include/{include/openblas → openblas}/lapacke.h +0 -0
  1748. /casadi/include/{include/openblas → openblas}/lapacke_config.h +0 -0
  1749. /casadi/include/{include/openblas → openblas}/lapacke_example_aux.h +0 -0
  1750. /casadi/include/{include/eigen3/Eigen/src/misc → openblas}/lapacke_mangling.h +0 -0
  1751. /casadi/include/{include/openblas → openblas}/lapacke_utils.h +0 -0
  1752. /casadi/include/{include → openblas}/openblas/lapacke_mangling.h +0 -0
  1753. /casadi/include/{include/openblas → openblas}/openblas_config.h +0 -0
  1754. /casadi/include/{include/qdldl → qdldl}/qdldl.h +0 -0
  1755. /casadi/include/{include/qdldl → qdldl}/qdldl_types.h +0 -0
  1756. /casadi/include/{include/s_blas.h → s_blas.h} +0 -0
  1757. /casadi/include/{include/s_blas_64.h → s_blas_64.h} +0 -0
  1758. /casadi/include/{include/sleqp → sleqp}/defs.h +0 -0
  1759. /casadi/include/{include/sleqp → sleqp}/export.h +0 -0
  1760. /casadi/include/{include/sleqp → sleqp}/pub_cmp.h +0 -0
  1761. /casadi/include/{include/sleqp → sleqp}/pub_dyn.h +0 -0
  1762. /casadi/include/{include/sleqp → sleqp}/pub_error.h +0 -0
  1763. /casadi/include/{include/sleqp → sleqp}/pub_func.h +0 -0
  1764. /casadi/include/{include/sleqp → sleqp}/pub_hess_struct.h +0 -0
  1765. /casadi/include/{include/sleqp → sleqp}/pub_iterate.h +0 -0
  1766. /casadi/include/{include/sleqp → sleqp}/pub_log.h +0 -0
  1767. /casadi/include/{include/sleqp → sleqp}/pub_lsq.h +0 -0
  1768. /casadi/include/{include/sleqp → sleqp}/pub_mem.h +0 -0
  1769. /casadi/include/{include/sleqp → sleqp}/pub_problem.h +0 -0
  1770. /casadi/include/{include/sleqp → sleqp}/pub_scale.h +0 -0
  1771. /casadi/include/{include/sleqp → sleqp}/pub_settings.h +0 -0
  1772. /casadi/include/{include/sleqp → sleqp}/pub_solver.h +0 -0
  1773. /casadi/include/{include/sleqp → sleqp}/pub_types.h +0 -0
  1774. /casadi/include/{include/sleqp → sleqp}/pub_working_set.h +0 -0
  1775. /casadi/include/{include/sleqp → sleqp}/sparse/pub_mat.h +0 -0
  1776. /casadi/include/{include/sleqp → sleqp}/sparse/pub_vec.h +0 -0
  1777. /casadi/include/{include/sleqp.h → sleqp.h} +0 -0
  1778. /casadi/include/{include/spral.h → spral.h} +0 -0
  1779. /casadi/include/{include/spral_lsmr.h → spral_lsmr.h} +0 -0
  1780. /casadi/include/{include/spral_matrix_util.h → spral_matrix_util.h} +0 -0
  1781. /casadi/include/{include/spral_random.h → spral_random.h} +0 -0
  1782. /casadi/include/{include/spral_random_matrix.h → spral_random_matrix.h} +0 -0
  1783. /casadi/include/{include/spral_rutherford_boeing.h → spral_rutherford_boeing.h} +0 -0
  1784. /casadi/include/{include/spral_scaling.h → spral_scaling.h} +0 -0
  1785. /casadi/include/{include/spral_ssids.h → spral_ssids.h} +0 -0
  1786. /casadi/include/{include/spral_ssmfe.h → spral_ssmfe.h} +0 -0
  1787. /casadi/include/{include/trlib.h → trlib.h} +0 -0
  1788. {casadi-3.6.4.dist-info → casadi-3.6.5.dist-info}/WHEEL +0 -0
@@ -1,1574 +0,0 @@
1
- // This file is part of Eigen, a lightweight C++ template library
2
- // for linear algebra.
3
- //
4
- // Copyright (C) 2014 Benoit Steiner (benoit.steiner.goog@gmail.com)
5
- //
6
- // This Source Code Form is subject to the terms of the Mozilla
7
- // Public License v. 2.0. If a copy of the MPL was not distributed
8
- // with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
9
-
10
- #ifndef EIGEN_PACKET_MATH_AVX_H
11
- #define EIGEN_PACKET_MATH_AVX_H
12
-
13
- namespace Eigen {
14
-
15
- namespace internal {
16
-
17
- #ifndef EIGEN_CACHEFRIENDLY_PRODUCT_THRESHOLD
18
- #define EIGEN_CACHEFRIENDLY_PRODUCT_THRESHOLD 8
19
- #endif
20
-
21
- #if !defined(EIGEN_VECTORIZE_AVX512) && !defined(EIGEN_ARCH_DEFAULT_NUMBER_OF_REGISTERS)
22
- #define EIGEN_ARCH_DEFAULT_NUMBER_OF_REGISTERS 16
23
- #endif
24
-
25
- #ifdef EIGEN_VECTORIZE_FMA
26
- #ifndef EIGEN_HAS_SINGLE_INSTRUCTION_MADD
27
- #define EIGEN_HAS_SINGLE_INSTRUCTION_MADD
28
- #endif
29
- #endif
30
-
31
- typedef __m256 Packet8f;
32
- typedef __m256i Packet8i;
33
- typedef __m256d Packet4d;
34
- typedef eigen_packet_wrapper<__m128i, 2> Packet8h;
35
- typedef eigen_packet_wrapper<__m128i, 3> Packet8bf;
36
-
37
- template<> struct is_arithmetic<__m256> { enum { value = true }; };
38
- template<> struct is_arithmetic<__m256i> { enum { value = true }; };
39
- template<> struct is_arithmetic<__m256d> { enum { value = true }; };
40
- template<> struct is_arithmetic<Packet8h> { enum { value = true }; };
41
- template<> struct is_arithmetic<Packet8bf> { enum { value = true }; };
42
-
43
- #define _EIGEN_DECLARE_CONST_Packet8f(NAME,X) \
44
- const Packet8f p8f_##NAME = pset1<Packet8f>(X)
45
-
46
- #define _EIGEN_DECLARE_CONST_Packet4d(NAME,X) \
47
- const Packet4d p4d_##NAME = pset1<Packet4d>(X)
48
-
49
- #define _EIGEN_DECLARE_CONST_Packet8f_FROM_INT(NAME,X) \
50
- const Packet8f p8f_##NAME = _mm256_castsi256_ps(pset1<Packet8i>(X))
51
-
52
- #define _EIGEN_DECLARE_CONST_Packet8i(NAME,X) \
53
- const Packet8i p8i_##NAME = pset1<Packet8i>(X)
54
-
55
- // Use the packet_traits defined in AVX512/PacketMath.h instead if we're going
56
- // to leverage AVX512 instructions.
57
- #ifndef EIGEN_VECTORIZE_AVX512
58
- template<> struct packet_traits<float> : default_packet_traits
59
- {
60
- typedef Packet8f type;
61
- typedef Packet4f half;
62
- enum {
63
- Vectorizable = 1,
64
- AlignedOnScalar = 1,
65
- size = 8,
66
- HasHalfPacket = 1,
67
-
68
- HasCmp = 1,
69
- HasDiv = 1,
70
- HasSin = EIGEN_FAST_MATH,
71
- HasCos = EIGEN_FAST_MATH,
72
- HasLog = 1,
73
- HasLog1p = 1,
74
- HasExpm1 = 1,
75
- HasExp = 1,
76
- HasNdtri = 1,
77
- HasBessel = 1,
78
- HasSqrt = 1,
79
- HasRsqrt = 1,
80
- HasTanh = EIGEN_FAST_MATH,
81
- HasErf = EIGEN_FAST_MATH,
82
- HasBlend = 1,
83
- HasRound = 1,
84
- HasFloor = 1,
85
- HasCeil = 1,
86
- HasRint = 1
87
- };
88
- };
89
- template<> struct packet_traits<double> : default_packet_traits
90
- {
91
- typedef Packet4d type;
92
- typedef Packet2d half;
93
- enum {
94
- Vectorizable = 1,
95
- AlignedOnScalar = 1,
96
- size=4,
97
- HasHalfPacket = 1,
98
-
99
- HasCmp = 1,
100
- HasDiv = 1,
101
- HasLog = 1,
102
- HasExp = 1,
103
- HasSqrt = 1,
104
- HasRsqrt = 1,
105
- HasBlend = 1,
106
- HasRound = 1,
107
- HasFloor = 1,
108
- HasCeil = 1,
109
- HasRint = 1
110
- };
111
- };
112
-
113
- template <>
114
- struct packet_traits<Eigen::half> : default_packet_traits {
115
- typedef Packet8h type;
116
- // There is no half-size packet for Packet8h.
117
- typedef Packet8h half;
118
- enum {
119
- Vectorizable = 1,
120
- AlignedOnScalar = 1,
121
- size = 8,
122
- HasHalfPacket = 0,
123
-
124
- HasCmp = 1,
125
- HasAdd = 1,
126
- HasSub = 1,
127
- HasMul = 1,
128
- HasDiv = 1,
129
- HasSin = EIGEN_FAST_MATH,
130
- HasCos = EIGEN_FAST_MATH,
131
- HasNegate = 1,
132
- HasAbs = 1,
133
- HasAbs2 = 0,
134
- HasMin = 1,
135
- HasMax = 1,
136
- HasConj = 1,
137
- HasSetLinear = 0,
138
- HasLog = 1,
139
- HasLog1p = 1,
140
- HasExpm1 = 1,
141
- HasExp = 1,
142
- HasSqrt = 1,
143
- HasRsqrt = 1,
144
- HasTanh = EIGEN_FAST_MATH,
145
- HasErf = EIGEN_FAST_MATH,
146
- HasBlend = 0,
147
- HasRound = 1,
148
- HasFloor = 1,
149
- HasCeil = 1,
150
- HasRint = 1,
151
- HasBessel = 1,
152
- HasNdtri = 1
153
- };
154
- };
155
-
156
- template <>
157
- struct packet_traits<bfloat16> : default_packet_traits {
158
- typedef Packet8bf type;
159
- // There is no half-size packet for current Packet8bf.
160
- // TODO: support as SSE path.
161
- typedef Packet8bf half;
162
- enum {
163
- Vectorizable = 1,
164
- AlignedOnScalar = 1,
165
- size = 8,
166
- HasHalfPacket = 0,
167
-
168
- HasCmp = 1,
169
- HasAdd = 1,
170
- HasSub = 1,
171
- HasMul = 1,
172
- HasDiv = 1,
173
- HasSin = EIGEN_FAST_MATH,
174
- HasCos = EIGEN_FAST_MATH,
175
- HasNegate = 1,
176
- HasAbs = 1,
177
- HasAbs2 = 0,
178
- HasMin = 1,
179
- HasMax = 1,
180
- HasConj = 1,
181
- HasSetLinear = 0,
182
- HasLog = 1,
183
- HasLog1p = 1,
184
- HasExpm1 = 1,
185
- HasExp = 1,
186
- HasSqrt = 1,
187
- HasRsqrt = 1,
188
- HasTanh = EIGEN_FAST_MATH,
189
- HasErf = EIGEN_FAST_MATH,
190
- HasBlend = 0,
191
- HasRound = 1,
192
- HasFloor = 1,
193
- HasCeil = 1,
194
- HasRint = 1,
195
- HasBessel = 1,
196
- HasNdtri = 1
197
- };
198
- };
199
- #endif
200
-
201
- template<> struct scalar_div_cost<float,true> { enum { value = 14 }; };
202
- template<> struct scalar_div_cost<double,true> { enum { value = 16 }; };
203
-
204
- /* Proper support for integers is only provided by AVX2. In the meantime, we'll
205
- use SSE instructions and packets to deal with integers.
206
- template<> struct packet_traits<int> : default_packet_traits
207
- {
208
- typedef Packet8i type;
209
- enum {
210
- Vectorizable = 1,
211
- AlignedOnScalar = 1,
212
- size=8
213
- };
214
- };
215
- */
216
-
217
- template<> struct unpacket_traits<Packet8f> {
218
- typedef float type;
219
- typedef Packet4f half;
220
- typedef Packet8i integer_packet;
221
- typedef uint8_t mask_t;
222
- enum {size=8, alignment=Aligned32, vectorizable=true, masked_load_available=true, masked_store_available=true};
223
- };
224
- template<> struct unpacket_traits<Packet4d> {
225
- typedef double type;
226
- typedef Packet2d half;
227
- enum {size=4, alignment=Aligned32, vectorizable=true, masked_load_available=false, masked_store_available=false};
228
- };
229
- template<> struct unpacket_traits<Packet8i> { typedef int type; typedef Packet4i half; enum {size=8, alignment=Aligned32, vectorizable=false, masked_load_available=false, masked_store_available=false}; };
230
- template<> struct unpacket_traits<Packet8bf> { typedef bfloat16 type; typedef Packet8bf half; enum {size=8, alignment=Aligned16, vectorizable=true, masked_load_available=false, masked_store_available=false}; };
231
-
232
- // Helper function for bit packing snippet of low precision comparison.
233
- // It packs the flags from 16x16 to 8x16.
234
- EIGEN_STRONG_INLINE __m128i Pack16To8(Packet8f rf) {
235
- return _mm_packs_epi32(_mm256_extractf128_si256(_mm256_castps_si256(rf), 0),
236
- _mm256_extractf128_si256(_mm256_castps_si256(rf), 1));
237
- }
238
-
239
-
240
- template<> EIGEN_STRONG_INLINE Packet8f pset1<Packet8f>(const float& from) { return _mm256_set1_ps(from); }
241
- template<> EIGEN_STRONG_INLINE Packet4d pset1<Packet4d>(const double& from) { return _mm256_set1_pd(from); }
242
- template<> EIGEN_STRONG_INLINE Packet8i pset1<Packet8i>(const int& from) { return _mm256_set1_epi32(from); }
243
-
244
- template<> EIGEN_STRONG_INLINE Packet8f pset1frombits<Packet8f>(unsigned int from) { return _mm256_castsi256_ps(pset1<Packet8i>(from)); }
245
- template<> EIGEN_STRONG_INLINE Packet4d pset1frombits<Packet4d>(uint64_t from) { return _mm256_castsi256_pd(_mm256_set1_epi64x(from)); }
246
-
247
- template<> EIGEN_STRONG_INLINE Packet8f pzero(const Packet8f& /*a*/) { return _mm256_setzero_ps(); }
248
- template<> EIGEN_STRONG_INLINE Packet4d pzero(const Packet4d& /*a*/) { return _mm256_setzero_pd(); }
249
- template<> EIGEN_STRONG_INLINE Packet8i pzero(const Packet8i& /*a*/) { return _mm256_setzero_si256(); }
250
-
251
-
252
- template<> EIGEN_STRONG_INLINE Packet8f peven_mask(const Packet8f& /*a*/) { return _mm256_castsi256_ps(_mm256_set_epi32(0, -1, 0, -1, 0, -1, 0, -1)); }
253
- template<> EIGEN_STRONG_INLINE Packet8i peven_mask(const Packet8i& /*a*/) { return _mm256_set_epi32(0, -1, 0, -1, 0, -1, 0, -1); }
254
- template<> EIGEN_STRONG_INLINE Packet4d peven_mask(const Packet4d& /*a*/) { return _mm256_castsi256_pd(_mm256_set_epi32(0, 0, -1, -1, 0, 0, -1, -1)); }
255
-
256
- template<> EIGEN_STRONG_INLINE Packet8f pload1<Packet8f>(const float* from) { return _mm256_broadcast_ss(from); }
257
- template<> EIGEN_STRONG_INLINE Packet4d pload1<Packet4d>(const double* from) { return _mm256_broadcast_sd(from); }
258
-
259
- template<> EIGEN_STRONG_INLINE Packet8f plset<Packet8f>(const float& a) { return _mm256_add_ps(_mm256_set1_ps(a), _mm256_set_ps(7.0,6.0,5.0,4.0,3.0,2.0,1.0,0.0)); }
260
- template<> EIGEN_STRONG_INLINE Packet4d plset<Packet4d>(const double& a) { return _mm256_add_pd(_mm256_set1_pd(a), _mm256_set_pd(3.0,2.0,1.0,0.0)); }
261
-
262
- template<> EIGEN_STRONG_INLINE Packet8f padd<Packet8f>(const Packet8f& a, const Packet8f& b) { return _mm256_add_ps(a,b); }
263
- template<> EIGEN_STRONG_INLINE Packet4d padd<Packet4d>(const Packet4d& a, const Packet4d& b) { return _mm256_add_pd(a,b); }
264
- template<> EIGEN_STRONG_INLINE Packet8i padd<Packet8i>(const Packet8i& a, const Packet8i& b) {
265
- #ifdef EIGEN_VECTORIZE_AVX2
266
- return _mm256_add_epi32(a,b);
267
- #else
268
- __m128i lo = _mm_add_epi32(_mm256_extractf128_si256(a, 0), _mm256_extractf128_si256(b, 0));
269
- __m128i hi = _mm_add_epi32(_mm256_extractf128_si256(a, 1), _mm256_extractf128_si256(b, 1));
270
- return _mm256_insertf128_si256(_mm256_castsi128_si256(lo), (hi), 1);
271
- #endif
272
- }
273
-
274
- template<> EIGEN_STRONG_INLINE Packet8f psub<Packet8f>(const Packet8f& a, const Packet8f& b) { return _mm256_sub_ps(a,b); }
275
- template<> EIGEN_STRONG_INLINE Packet4d psub<Packet4d>(const Packet4d& a, const Packet4d& b) { return _mm256_sub_pd(a,b); }
276
- template<> EIGEN_STRONG_INLINE Packet8i psub<Packet8i>(const Packet8i& a, const Packet8i& b) {
277
- #ifdef EIGEN_VECTORIZE_AVX2
278
- return _mm256_sub_epi32(a,b);
279
- #else
280
- __m128i lo = _mm_sub_epi32(_mm256_extractf128_si256(a, 0), _mm256_extractf128_si256(b, 0));
281
- __m128i hi = _mm_sub_epi32(_mm256_extractf128_si256(a, 1), _mm256_extractf128_si256(b, 1));
282
- return _mm256_insertf128_si256(_mm256_castsi128_si256(lo), (hi), 1);
283
- #endif
284
- }
285
-
286
- template<> EIGEN_STRONG_INLINE Packet8f pnegate(const Packet8f& a)
287
- {
288
- return _mm256_sub_ps(_mm256_set1_ps(0.0),a);
289
- }
290
- template<> EIGEN_STRONG_INLINE Packet4d pnegate(const Packet4d& a)
291
- {
292
- return _mm256_sub_pd(_mm256_set1_pd(0.0),a);
293
- }
294
-
295
- template<> EIGEN_STRONG_INLINE Packet8f pconj(const Packet8f& a) { return a; }
296
- template<> EIGEN_STRONG_INLINE Packet4d pconj(const Packet4d& a) { return a; }
297
- template<> EIGEN_STRONG_INLINE Packet8i pconj(const Packet8i& a) { return a; }
298
-
299
- template<> EIGEN_STRONG_INLINE Packet8f pmul<Packet8f>(const Packet8f& a, const Packet8f& b) { return _mm256_mul_ps(a,b); }
300
- template<> EIGEN_STRONG_INLINE Packet4d pmul<Packet4d>(const Packet4d& a, const Packet4d& b) { return _mm256_mul_pd(a,b); }
301
- template<> EIGEN_STRONG_INLINE Packet8i pmul<Packet8i>(const Packet8i& a, const Packet8i& b) {
302
- #ifdef EIGEN_VECTORIZE_AVX2
303
- return _mm256_mullo_epi32(a,b);
304
- #else
305
- const __m128i lo = _mm_mullo_epi32(_mm256_extractf128_si256(a, 0), _mm256_extractf128_si256(b, 0));
306
- const __m128i hi = _mm_mullo_epi32(_mm256_extractf128_si256(a, 1), _mm256_extractf128_si256(b, 1));
307
- return _mm256_insertf128_si256(_mm256_castsi128_si256(lo), (hi), 1);
308
- #endif
309
- }
310
-
311
- template<> EIGEN_STRONG_INLINE Packet8f pdiv<Packet8f>(const Packet8f& a, const Packet8f& b) { return _mm256_div_ps(a,b); }
312
- template<> EIGEN_STRONG_INLINE Packet4d pdiv<Packet4d>(const Packet4d& a, const Packet4d& b) { return _mm256_div_pd(a,b); }
313
- template<> EIGEN_STRONG_INLINE Packet8i pdiv<Packet8i>(const Packet8i& /*a*/, const Packet8i& /*b*/)
314
- { eigen_assert(false && "packet integer division are not supported by AVX");
315
- return pset1<Packet8i>(0);
316
- }
317
-
318
- #ifdef EIGEN_VECTORIZE_FMA
319
- template<> EIGEN_STRONG_INLINE Packet8f pmadd(const Packet8f& a, const Packet8f& b, const Packet8f& c) {
320
- #if ( (EIGEN_COMP_GNUC_STRICT && EIGEN_COMP_GNUC<80) || (EIGEN_COMP_CLANG) )
321
- // Clang stupidly generates a vfmadd213ps instruction plus some vmovaps on registers,
322
- // and even register spilling with clang>=6.0 (bug 1637).
323
- // Gcc stupidly generates a vfmadd132ps instruction.
324
- // So let's enforce it to generate a vfmadd231ps instruction since the most common use
325
- // case is to accumulate the result of the product.
326
- Packet8f res = c;
327
- __asm__("vfmadd231ps %[a], %[b], %[c]" : [c] "+x" (res) : [a] "x" (a), [b] "x" (b));
328
- return res;
329
- #else
330
- return _mm256_fmadd_ps(a,b,c);
331
- #endif
332
- }
333
- template<> EIGEN_STRONG_INLINE Packet4d pmadd(const Packet4d& a, const Packet4d& b, const Packet4d& c) {
334
- #if ( (EIGEN_COMP_GNUC_STRICT && EIGEN_COMP_GNUC<80) || (EIGEN_COMP_CLANG) )
335
- // see above
336
- Packet4d res = c;
337
- __asm__("vfmadd231pd %[a], %[b], %[c]" : [c] "+x" (res) : [a] "x" (a), [b] "x" (b));
338
- return res;
339
- #else
340
- return _mm256_fmadd_pd(a,b,c);
341
- #endif
342
- }
343
- #endif
344
-
345
- template<> EIGEN_STRONG_INLINE Packet8f pcmp_le(const Packet8f& a, const Packet8f& b) { return _mm256_cmp_ps(a,b,_CMP_LE_OQ); }
346
- template<> EIGEN_STRONG_INLINE Packet8f pcmp_lt(const Packet8f& a, const Packet8f& b) { return _mm256_cmp_ps(a,b,_CMP_LT_OQ); }
347
- template<> EIGEN_STRONG_INLINE Packet8f pcmp_lt_or_nan(const Packet8f& a, const Packet8f& b) { return _mm256_cmp_ps(a, b, _CMP_NGE_UQ); }
348
- template<> EIGEN_STRONG_INLINE Packet8f pcmp_eq(const Packet8f& a, const Packet8f& b) { return _mm256_cmp_ps(a,b,_CMP_EQ_OQ); }
349
-
350
- template<> EIGEN_STRONG_INLINE Packet4d pcmp_le(const Packet4d& a, const Packet4d& b) { return _mm256_cmp_pd(a,b,_CMP_LE_OQ); }
351
- template<> EIGEN_STRONG_INLINE Packet4d pcmp_lt(const Packet4d& a, const Packet4d& b) { return _mm256_cmp_pd(a,b,_CMP_LT_OQ); }
352
- template<> EIGEN_STRONG_INLINE Packet4d pcmp_lt_or_nan(const Packet4d& a, const Packet4d& b) { return _mm256_cmp_pd(a, b, _CMP_NGE_UQ); }
353
- template<> EIGEN_STRONG_INLINE Packet4d pcmp_eq(const Packet4d& a, const Packet4d& b) { return _mm256_cmp_pd(a,b,_CMP_EQ_OQ); }
354
-
355
-
356
- template<> EIGEN_STRONG_INLINE Packet8i pcmp_eq(const Packet8i& a, const Packet8i& b) {
357
- #ifdef EIGEN_VECTORIZE_AVX2
358
- return _mm256_cmpeq_epi32(a,b);
359
- #else
360
- __m128i lo = _mm_cmpeq_epi32(_mm256_extractf128_si256(a, 0), _mm256_extractf128_si256(b, 0));
361
- __m128i hi = _mm_cmpeq_epi32(_mm256_extractf128_si256(a, 1), _mm256_extractf128_si256(b, 1));
362
- return _mm256_insertf128_si256(_mm256_castsi128_si256(lo), (hi), 1);
363
- #endif
364
- }
365
-
366
- template<> EIGEN_STRONG_INLINE Packet8f pmin<Packet8f>(const Packet8f& a, const Packet8f& b) {
367
- #if EIGEN_COMP_GNUC && EIGEN_COMP_GNUC < 63
368
- // There appears to be a bug in GCC, by which the optimizer may flip
369
- // the argument order in calls to _mm_min_ps/_mm_max_ps, so we have to
370
- // resort to inline ASM here. This is supposed to be fixed in gcc6.3,
371
- // see also: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72867
372
- Packet8f res;
373
- asm("vminps %[a], %[b], %[res]" : [res] "=x" (res) : [a] "x" (a), [b] "x" (b));
374
- return res;
375
- #else
376
- // Arguments are swapped to match NaN propagation behavior of std::min.
377
- return _mm256_min_ps(b,a);
378
- #endif
379
- }
380
- template<> EIGEN_STRONG_INLINE Packet4d pmin<Packet4d>(const Packet4d& a, const Packet4d& b) {
381
- #if EIGEN_COMP_GNUC && EIGEN_COMP_GNUC < 63
382
- // See pmin above
383
- Packet4d res;
384
- asm("vminpd %[a], %[b], %[res]" : [res] "=x" (res) : [a] "x" (a), [b] "x" (b));
385
- return res;
386
- #else
387
- // Arguments are swapped to match NaN propagation behavior of std::min.
388
- return _mm256_min_pd(b,a);
389
- #endif
390
- }
391
-
392
- template<> EIGEN_STRONG_INLINE Packet8f pmax<Packet8f>(const Packet8f& a, const Packet8f& b) {
393
- #if EIGEN_COMP_GNUC && EIGEN_COMP_GNUC < 63
394
- // See pmin above
395
- Packet8f res;
396
- asm("vmaxps %[a], %[b], %[res]" : [res] "=x" (res) : [a] "x" (a), [b] "x" (b));
397
- return res;
398
- #else
399
- // Arguments are swapped to match NaN propagation behavior of std::max.
400
- return _mm256_max_ps(b,a);
401
- #endif
402
- }
403
- template<> EIGEN_STRONG_INLINE Packet4d pmax<Packet4d>(const Packet4d& a, const Packet4d& b) {
404
- #if EIGEN_COMP_GNUC && EIGEN_COMP_GNUC < 63
405
- // See pmin above
406
- Packet4d res;
407
- asm("vmaxpd %[a], %[b], %[res]" : [res] "=x" (res) : [a] "x" (a), [b] "x" (b));
408
- return res;
409
- #else
410
- // Arguments are swapped to match NaN propagation behavior of std::max.
411
- return _mm256_max_pd(b,a);
412
- #endif
413
- }
414
-
415
- // Add specializations for min/max with prescribed NaN progation.
416
- template<>
417
- EIGEN_STRONG_INLINE Packet8f pmin<PropagateNumbers, Packet8f>(const Packet8f& a, const Packet8f& b) {
418
- return pminmax_propagate_numbers(a, b, pmin<Packet8f>);
419
- }
420
- template<>
421
- EIGEN_STRONG_INLINE Packet4d pmin<PropagateNumbers, Packet4d>(const Packet4d& a, const Packet4d& b) {
422
- return pminmax_propagate_numbers(a, b, pmin<Packet4d>);
423
- }
424
- template<>
425
- EIGEN_STRONG_INLINE Packet8f pmax<PropagateNumbers, Packet8f>(const Packet8f& a, const Packet8f& b) {
426
- return pminmax_propagate_numbers(a, b, pmax<Packet8f>);
427
- }
428
- template<>
429
- EIGEN_STRONG_INLINE Packet4d pmax<PropagateNumbers, Packet4d>(const Packet4d& a, const Packet4d& b) {
430
- return pminmax_propagate_numbers(a, b, pmax<Packet4d>);
431
- }
432
- template<>
433
- EIGEN_STRONG_INLINE Packet8f pmin<PropagateNaN, Packet8f>(const Packet8f& a, const Packet8f& b) {
434
- return pminmax_propagate_nan(a, b, pmin<Packet8f>);
435
- }
436
- template<>
437
- EIGEN_STRONG_INLINE Packet4d pmin<PropagateNaN, Packet4d>(const Packet4d& a, const Packet4d& b) {
438
- return pminmax_propagate_nan(a, b, pmin<Packet4d>);
439
- }
440
- template<>
441
- EIGEN_STRONG_INLINE Packet8f pmax<PropagateNaN, Packet8f>(const Packet8f& a, const Packet8f& b) {
442
- return pminmax_propagate_nan(a, b, pmax<Packet8f>);
443
- }
444
- template<>
445
- EIGEN_STRONG_INLINE Packet4d pmax<PropagateNaN, Packet4d>(const Packet4d& a, const Packet4d& b) {
446
- return pminmax_propagate_nan(a, b, pmax<Packet4d>);
447
- }
448
-
449
- template<> EIGEN_STRONG_INLINE Packet8f print<Packet8f>(const Packet8f& a) { return _mm256_round_ps(a, _MM_FROUND_CUR_DIRECTION); }
450
- template<> EIGEN_STRONG_INLINE Packet4d print<Packet4d>(const Packet4d& a) { return _mm256_round_pd(a, _MM_FROUND_CUR_DIRECTION); }
451
-
452
- template<> EIGEN_STRONG_INLINE Packet8f pceil<Packet8f>(const Packet8f& a) { return _mm256_ceil_ps(a); }
453
- template<> EIGEN_STRONG_INLINE Packet4d pceil<Packet4d>(const Packet4d& a) { return _mm256_ceil_pd(a); }
454
-
455
- template<> EIGEN_STRONG_INLINE Packet8f pfloor<Packet8f>(const Packet8f& a) { return _mm256_floor_ps(a); }
456
- template<> EIGEN_STRONG_INLINE Packet4d pfloor<Packet4d>(const Packet4d& a) { return _mm256_floor_pd(a); }
457
-
458
-
459
- template<> EIGEN_STRONG_INLINE Packet8i ptrue<Packet8i>(const Packet8i& a) {
460
- #ifdef EIGEN_VECTORIZE_AVX2
461
- // vpcmpeqd has lower latency than the more general vcmpps
462
- return _mm256_cmpeq_epi32(a,a);
463
- #else
464
- const __m256 b = _mm256_castsi256_ps(a);
465
- return _mm256_castps_si256(_mm256_cmp_ps(b,b,_CMP_TRUE_UQ));
466
- #endif
467
- }
468
-
469
- template<> EIGEN_STRONG_INLINE Packet8f ptrue<Packet8f>(const Packet8f& a) {
470
- #ifdef EIGEN_VECTORIZE_AVX2
471
- // vpcmpeqd has lower latency than the more general vcmpps
472
- const __m256i b = _mm256_castps_si256(a);
473
- return _mm256_castsi256_ps(_mm256_cmpeq_epi32(b,b));
474
- #else
475
- return _mm256_cmp_ps(a,a,_CMP_TRUE_UQ);
476
- #endif
477
- }
478
-
479
- template<> EIGEN_STRONG_INLINE Packet4d ptrue<Packet4d>(const Packet4d& a) {
480
- #ifdef EIGEN_VECTORIZE_AVX2
481
- // vpcmpeqq has lower latency than the more general vcmppd
482
- const __m256i b = _mm256_castpd_si256(a);
483
- return _mm256_castsi256_pd(_mm256_cmpeq_epi64(b,b));
484
- #else
485
- return _mm256_cmp_pd(a,a,_CMP_TRUE_UQ);
486
- #endif
487
- }
488
-
489
- template<> EIGEN_STRONG_INLINE Packet8f pand<Packet8f>(const Packet8f& a, const Packet8f& b) { return _mm256_and_ps(a,b); }
490
- template<> EIGEN_STRONG_INLINE Packet4d pand<Packet4d>(const Packet4d& a, const Packet4d& b) { return _mm256_and_pd(a,b); }
491
- template<> EIGEN_STRONG_INLINE Packet8i pand<Packet8i>(const Packet8i& a, const Packet8i& b) {
492
- #ifdef EIGEN_VECTORIZE_AVX2
493
- return _mm256_and_si256(a,b);
494
- #else
495
- return _mm256_castps_si256(_mm256_and_ps(_mm256_castsi256_ps(a),_mm256_castsi256_ps(b)));
496
- #endif
497
- }
498
-
499
- template<> EIGEN_STRONG_INLINE Packet8f por<Packet8f>(const Packet8f& a, const Packet8f& b) { return _mm256_or_ps(a,b); }
500
- template<> EIGEN_STRONG_INLINE Packet4d por<Packet4d>(const Packet4d& a, const Packet4d& b) { return _mm256_or_pd(a,b); }
501
- template<> EIGEN_STRONG_INLINE Packet8i por<Packet8i>(const Packet8i& a, const Packet8i& b) {
502
- #ifdef EIGEN_VECTORIZE_AVX2
503
- return _mm256_or_si256(a,b);
504
- #else
505
- return _mm256_castps_si256(_mm256_or_ps(_mm256_castsi256_ps(a),_mm256_castsi256_ps(b)));
506
- #endif
507
- }
508
-
509
- template<> EIGEN_STRONG_INLINE Packet8f pxor<Packet8f>(const Packet8f& a, const Packet8f& b) { return _mm256_xor_ps(a,b); }
510
- template<> EIGEN_STRONG_INLINE Packet4d pxor<Packet4d>(const Packet4d& a, const Packet4d& b) { return _mm256_xor_pd(a,b); }
511
- template<> EIGEN_STRONG_INLINE Packet8i pxor<Packet8i>(const Packet8i& a, const Packet8i& b) {
512
- #ifdef EIGEN_VECTORIZE_AVX2
513
- return _mm256_xor_si256(a,b);
514
- #else
515
- return _mm256_castps_si256(_mm256_xor_ps(_mm256_castsi256_ps(a),_mm256_castsi256_ps(b)));
516
- #endif
517
- }
518
-
519
- template<> EIGEN_STRONG_INLINE Packet8f pandnot<Packet8f>(const Packet8f& a, const Packet8f& b) { return _mm256_andnot_ps(b,a); }
520
- template<> EIGEN_STRONG_INLINE Packet4d pandnot<Packet4d>(const Packet4d& a, const Packet4d& b) { return _mm256_andnot_pd(b,a); }
521
- template<> EIGEN_STRONG_INLINE Packet8i pandnot<Packet8i>(const Packet8i& a, const Packet8i& b) {
522
- #ifdef EIGEN_VECTORIZE_AVX2
523
- return _mm256_andnot_si256(b,a);
524
- #else
525
- return _mm256_castps_si256(_mm256_andnot_ps(_mm256_castsi256_ps(b),_mm256_castsi256_ps(a)));
526
- #endif
527
- }
528
-
529
- template<> EIGEN_STRONG_INLINE Packet8f pround<Packet8f>(const Packet8f& a)
530
- {
531
- const Packet8f mask = pset1frombits<Packet8f>(static_cast<numext::uint32_t>(0x80000000u));
532
- const Packet8f prev0dot5 = pset1frombits<Packet8f>(static_cast<numext::uint32_t>(0x3EFFFFFFu));
533
- return _mm256_round_ps(padd(por(pand(a, mask), prev0dot5), a), _MM_FROUND_TO_ZERO);
534
- }
535
- template<> EIGEN_STRONG_INLINE Packet4d pround<Packet4d>(const Packet4d& a)
536
- {
537
- const Packet4d mask = pset1frombits<Packet4d>(static_cast<numext::uint64_t>(0x8000000000000000ull));
538
- const Packet4d prev0dot5 = pset1frombits<Packet4d>(static_cast<numext::uint64_t>(0x3FDFFFFFFFFFFFFFull));
539
- return _mm256_round_pd(padd(por(pand(a, mask), prev0dot5), a), _MM_FROUND_TO_ZERO);
540
- }
541
-
542
- template<> EIGEN_STRONG_INLINE Packet8f pselect<Packet8f>(const Packet8f& mask, const Packet8f& a, const Packet8f& b)
543
- { return _mm256_blendv_ps(b,a,mask); }
544
- template<> EIGEN_STRONG_INLINE Packet4d pselect<Packet4d>(const Packet4d& mask, const Packet4d& a, const Packet4d& b)
545
- { return _mm256_blendv_pd(b,a,mask); }
546
-
547
- template<int N> EIGEN_STRONG_INLINE Packet8i parithmetic_shift_right(Packet8i a) {
548
- #ifdef EIGEN_VECTORIZE_AVX2
549
- return _mm256_srai_epi32(a, N);
550
- #else
551
- __m128i lo = _mm_srai_epi32(_mm256_extractf128_si256(a, 0), N);
552
- __m128i hi = _mm_srai_epi32(_mm256_extractf128_si256(a, 1), N);
553
- return _mm256_insertf128_si256(_mm256_castsi128_si256(lo), (hi), 1);
554
- #endif
555
- }
556
-
557
- template<int N> EIGEN_STRONG_INLINE Packet8i plogical_shift_right(Packet8i a) {
558
- #ifdef EIGEN_VECTORIZE_AVX2
559
- return _mm256_srli_epi32(a, N);
560
- #else
561
- __m128i lo = _mm_srli_epi32(_mm256_extractf128_si256(a, 0), N);
562
- __m128i hi = _mm_srli_epi32(_mm256_extractf128_si256(a, 1), N);
563
- return _mm256_insertf128_si256(_mm256_castsi128_si256(lo), (hi), 1);
564
- #endif
565
- }
566
-
567
- template<int N> EIGEN_STRONG_INLINE Packet8i plogical_shift_left(Packet8i a) {
568
- #ifdef EIGEN_VECTORIZE_AVX2
569
- return _mm256_slli_epi32(a, N);
570
- #else
571
- __m128i lo = _mm_slli_epi32(_mm256_extractf128_si256(a, 0), N);
572
- __m128i hi = _mm_slli_epi32(_mm256_extractf128_si256(a, 1), N);
573
- return _mm256_insertf128_si256(_mm256_castsi128_si256(lo), (hi), 1);
574
- #endif
575
- }
576
-
577
- template<> EIGEN_STRONG_INLINE Packet8f pload<Packet8f>(const float* from) { EIGEN_DEBUG_ALIGNED_LOAD return _mm256_load_ps(from); }
578
- template<> EIGEN_STRONG_INLINE Packet4d pload<Packet4d>(const double* from) { EIGEN_DEBUG_ALIGNED_LOAD return _mm256_load_pd(from); }
579
- template<> EIGEN_STRONG_INLINE Packet8i pload<Packet8i>(const int* from) { EIGEN_DEBUG_ALIGNED_LOAD return _mm256_load_si256(reinterpret_cast<const __m256i*>(from)); }
580
-
581
- template<> EIGEN_STRONG_INLINE Packet8f ploadu<Packet8f>(const float* from) { EIGEN_DEBUG_UNALIGNED_LOAD return _mm256_loadu_ps(from); }
582
- template<> EIGEN_STRONG_INLINE Packet4d ploadu<Packet4d>(const double* from) { EIGEN_DEBUG_UNALIGNED_LOAD return _mm256_loadu_pd(from); }
583
- template<> EIGEN_STRONG_INLINE Packet8i ploadu<Packet8i>(const int* from) { EIGEN_DEBUG_UNALIGNED_LOAD return _mm256_loadu_si256(reinterpret_cast<const __m256i*>(from)); }
584
-
585
- template<> EIGEN_STRONG_INLINE Packet8f ploadu<Packet8f>(const float* from, uint8_t umask) {
586
- Packet8i mask = _mm256_set1_epi8(static_cast<char>(umask));
587
- const Packet8i bit_mask = _mm256_set_epi32(0xffffff7f, 0xffffffbf, 0xffffffdf, 0xffffffef, 0xfffffff7, 0xfffffffb, 0xfffffffd, 0xfffffffe);
588
- mask = por<Packet8i>(mask, bit_mask);
589
- mask = pcmp_eq<Packet8i>(mask, _mm256_set1_epi32(0xffffffff));
590
- EIGEN_DEBUG_UNALIGNED_LOAD return _mm256_maskload_ps(from, mask);
591
- }
592
-
593
- // Loads 4 floats from memory a returns the packet {a0, a0 a1, a1, a2, a2, a3, a3}
594
- template<> EIGEN_STRONG_INLINE Packet8f ploaddup<Packet8f>(const float* from)
595
- {
596
- // TODO try to find a way to avoid the need of a temporary register
597
- // Packet8f tmp = _mm256_castps128_ps256(_mm_loadu_ps(from));
598
- // tmp = _mm256_insertf128_ps(tmp, _mm_movehl_ps(_mm256_castps256_ps128(tmp),_mm256_castps256_ps128(tmp)), 1);
599
- // return _mm256_unpacklo_ps(tmp,tmp);
600
-
601
- // _mm256_insertf128_ps is very slow on Haswell, thus:
602
- Packet8f tmp = _mm256_broadcast_ps((const __m128*)(const void*)from);
603
- // mimic an "inplace" permutation of the lower 128bits using a blend
604
- tmp = _mm256_blend_ps(tmp,_mm256_castps128_ps256(_mm_permute_ps( _mm256_castps256_ps128(tmp), _MM_SHUFFLE(1,0,1,0))), 15);
605
- // then we can perform a consistent permutation on the global register to get everything in shape:
606
- return _mm256_permute_ps(tmp, _MM_SHUFFLE(3,3,2,2));
607
- }
608
- // Loads 2 doubles from memory a returns the packet {a0, a0 a1, a1}
609
- template<> EIGEN_STRONG_INLINE Packet4d ploaddup<Packet4d>(const double* from)
610
- {
611
- Packet4d tmp = _mm256_broadcast_pd((const __m128d*)(const void*)from);
612
- return _mm256_permute_pd(tmp, 3<<2);
613
- }
614
-
615
- // Loads 2 floats from memory a returns the packet {a0, a0 a0, a0, a1, a1, a1, a1}
616
- template<> EIGEN_STRONG_INLINE Packet8f ploadquad<Packet8f>(const float* from)
617
- {
618
- Packet8f tmp = _mm256_castps128_ps256(_mm_broadcast_ss(from));
619
- return _mm256_insertf128_ps(tmp, _mm_broadcast_ss(from+1), 1);
620
- }
621
-
622
- template<> EIGEN_STRONG_INLINE void pstore<float>(float* to, const Packet8f& from) { EIGEN_DEBUG_ALIGNED_STORE _mm256_store_ps(to, from); }
623
- template<> EIGEN_STRONG_INLINE void pstore<double>(double* to, const Packet4d& from) { EIGEN_DEBUG_ALIGNED_STORE _mm256_store_pd(to, from); }
624
- template<> EIGEN_STRONG_INLINE void pstore<int>(int* to, const Packet8i& from) { EIGEN_DEBUG_ALIGNED_STORE _mm256_storeu_si256(reinterpret_cast<__m256i*>(to), from); }
625
-
626
- template<> EIGEN_STRONG_INLINE void pstoreu<float>(float* to, const Packet8f& from) { EIGEN_DEBUG_UNALIGNED_STORE _mm256_storeu_ps(to, from); }
627
- template<> EIGEN_STRONG_INLINE void pstoreu<double>(double* to, const Packet4d& from) { EIGEN_DEBUG_UNALIGNED_STORE _mm256_storeu_pd(to, from); }
628
- template<> EIGEN_STRONG_INLINE void pstoreu<int>(int* to, const Packet8i& from) { EIGEN_DEBUG_UNALIGNED_STORE _mm256_storeu_si256(reinterpret_cast<__m256i*>(to), from); }
629
-
630
- template<> EIGEN_STRONG_INLINE void pstoreu<float>(float* to, const Packet8f& from, uint8_t umask) {
631
- Packet8i mask = _mm256_set1_epi8(static_cast<char>(umask));
632
- const Packet8i bit_mask = _mm256_set_epi32(0xffffff7f, 0xffffffbf, 0xffffffdf, 0xffffffef, 0xfffffff7, 0xfffffffb, 0xfffffffd, 0xfffffffe);
633
- mask = por<Packet8i>(mask, bit_mask);
634
- mask = pcmp_eq<Packet8i>(mask, _mm256_set1_epi32(0xffffffff));
635
- EIGEN_DEBUG_UNALIGNED_STORE return _mm256_maskstore_ps(to, mask, from);
636
- }
637
-
638
- // NOTE: leverage _mm256_i32gather_ps and _mm256_i32gather_pd if AVX2 instructions are available
639
- // NOTE: for the record the following seems to be slower: return _mm256_i32gather_ps(from, _mm256_set1_epi32(stride), 4);
640
- template<> EIGEN_DEVICE_FUNC inline Packet8f pgather<float, Packet8f>(const float* from, Index stride)
641
- {
642
- return _mm256_set_ps(from[7*stride], from[6*stride], from[5*stride], from[4*stride],
643
- from[3*stride], from[2*stride], from[1*stride], from[0*stride]);
644
- }
645
- template<> EIGEN_DEVICE_FUNC inline Packet4d pgather<double, Packet4d>(const double* from, Index stride)
646
- {
647
- return _mm256_set_pd(from[3*stride], from[2*stride], from[1*stride], from[0*stride]);
648
- }
649
-
650
- template<> EIGEN_DEVICE_FUNC inline void pscatter<float, Packet8f>(float* to, const Packet8f& from, Index stride)
651
- {
652
- __m128 low = _mm256_extractf128_ps(from, 0);
653
- to[stride*0] = _mm_cvtss_f32(low);
654
- to[stride*1] = _mm_cvtss_f32(_mm_shuffle_ps(low, low, 1));
655
- to[stride*2] = _mm_cvtss_f32(_mm_shuffle_ps(low, low, 2));
656
- to[stride*3] = _mm_cvtss_f32(_mm_shuffle_ps(low, low, 3));
657
-
658
- __m128 high = _mm256_extractf128_ps(from, 1);
659
- to[stride*4] = _mm_cvtss_f32(high);
660
- to[stride*5] = _mm_cvtss_f32(_mm_shuffle_ps(high, high, 1));
661
- to[stride*6] = _mm_cvtss_f32(_mm_shuffle_ps(high, high, 2));
662
- to[stride*7] = _mm_cvtss_f32(_mm_shuffle_ps(high, high, 3));
663
- }
664
- template<> EIGEN_DEVICE_FUNC inline void pscatter<double, Packet4d>(double* to, const Packet4d& from, Index stride)
665
- {
666
- __m128d low = _mm256_extractf128_pd(from, 0);
667
- to[stride*0] = _mm_cvtsd_f64(low);
668
- to[stride*1] = _mm_cvtsd_f64(_mm_shuffle_pd(low, low, 1));
669
- __m128d high = _mm256_extractf128_pd(from, 1);
670
- to[stride*2] = _mm_cvtsd_f64(high);
671
- to[stride*3] = _mm_cvtsd_f64(_mm_shuffle_pd(high, high, 1));
672
- }
673
-
674
- template<> EIGEN_STRONG_INLINE void pstore1<Packet8f>(float* to, const float& a)
675
- {
676
- Packet8f pa = pset1<Packet8f>(a);
677
- pstore(to, pa);
678
- }
679
- template<> EIGEN_STRONG_INLINE void pstore1<Packet4d>(double* to, const double& a)
680
- {
681
- Packet4d pa = pset1<Packet4d>(a);
682
- pstore(to, pa);
683
- }
684
- template<> EIGEN_STRONG_INLINE void pstore1<Packet8i>(int* to, const int& a)
685
- {
686
- Packet8i pa = pset1<Packet8i>(a);
687
- pstore(to, pa);
688
- }
689
-
690
- #ifndef EIGEN_VECTORIZE_AVX512
691
- template<> EIGEN_STRONG_INLINE void prefetch<float>(const float* addr) { _mm_prefetch((SsePrefetchPtrType)(addr), _MM_HINT_T0); }
692
- template<> EIGEN_STRONG_INLINE void prefetch<double>(const double* addr) { _mm_prefetch((SsePrefetchPtrType)(addr), _MM_HINT_T0); }
693
- template<> EIGEN_STRONG_INLINE void prefetch<int>(const int* addr) { _mm_prefetch((SsePrefetchPtrType)(addr), _MM_HINT_T0); }
694
- #endif
695
-
696
- template<> EIGEN_STRONG_INLINE float pfirst<Packet8f>(const Packet8f& a) {
697
- return _mm_cvtss_f32(_mm256_castps256_ps128(a));
698
- }
699
- template<> EIGEN_STRONG_INLINE double pfirst<Packet4d>(const Packet4d& a) {
700
- return _mm_cvtsd_f64(_mm256_castpd256_pd128(a));
701
- }
702
- template<> EIGEN_STRONG_INLINE int pfirst<Packet8i>(const Packet8i& a) {
703
- return _mm_cvtsi128_si32(_mm256_castsi256_si128(a));
704
- }
705
-
706
-
707
- template<> EIGEN_STRONG_INLINE Packet8f preverse(const Packet8f& a)
708
- {
709
- __m256 tmp = _mm256_shuffle_ps(a,a,0x1b);
710
- return _mm256_permute2f128_ps(tmp, tmp, 1);
711
- }
712
- template<> EIGEN_STRONG_INLINE Packet4d preverse(const Packet4d& a)
713
- {
714
- __m256d tmp = _mm256_shuffle_pd(a,a,5);
715
- return _mm256_permute2f128_pd(tmp, tmp, 1);
716
- #if 0
717
- // This version is unlikely to be faster as _mm256_shuffle_ps and _mm256_permute_pd
718
- // exhibit the same latency/throughput, but it is here for future reference/benchmarking...
719
- __m256d swap_halves = _mm256_permute2f128_pd(a,a,1);
720
- return _mm256_permute_pd(swap_halves,5);
721
- #endif
722
- }
723
-
724
- // pabs should be ok
725
- template<> EIGEN_STRONG_INLINE Packet8f pabs(const Packet8f& a)
726
- {
727
- const Packet8f mask = _mm256_castsi256_ps(_mm256_setr_epi32(0x7FFFFFFF,0x7FFFFFFF,0x7FFFFFFF,0x7FFFFFFF,0x7FFFFFFF,0x7FFFFFFF,0x7FFFFFFF,0x7FFFFFFF));
728
- return _mm256_and_ps(a,mask);
729
- }
730
- template<> EIGEN_STRONG_INLINE Packet4d pabs(const Packet4d& a)
731
- {
732
- const Packet4d mask = _mm256_castsi256_pd(_mm256_setr_epi32(0xFFFFFFFF,0x7FFFFFFF,0xFFFFFFFF,0x7FFFFFFF,0xFFFFFFFF,0x7FFFFFFF,0xFFFFFFFF,0x7FFFFFFF));
733
- return _mm256_and_pd(a,mask);
734
- }
735
-
736
- template<> EIGEN_STRONG_INLINE Packet8f pfrexp<Packet8f>(const Packet8f& a, Packet8f& exponent) {
737
- return pfrexp_generic(a,exponent);
738
- }
739
-
740
- // Extract exponent without existence of Packet4l.
741
- template<>
742
- EIGEN_STRONG_INLINE
743
- Packet4d pfrexp_generic_get_biased_exponent(const Packet4d& a) {
744
- const Packet4d cst_exp_mask = pset1frombits<Packet4d>(static_cast<uint64_t>(0x7ff0000000000000ull));
745
- __m256i a_expo = _mm256_castpd_si256(pand(a, cst_exp_mask));
746
- #ifdef EIGEN_VECTORIZE_AVX2
747
- a_expo = _mm256_srli_epi64(a_expo, 52);
748
- __m128i lo = _mm256_extractf128_si256(a_expo, 0);
749
- __m128i hi = _mm256_extractf128_si256(a_expo, 1);
750
- #else
751
- __m128i lo = _mm256_extractf128_si256(a_expo, 0);
752
- __m128i hi = _mm256_extractf128_si256(a_expo, 1);
753
- lo = _mm_srli_epi64(lo, 52);
754
- hi = _mm_srli_epi64(hi, 52);
755
- #endif
756
- Packet2d exponent_lo = _mm_cvtepi32_pd(vec4i_swizzle1(lo, 0, 2, 1, 3));
757
- Packet2d exponent_hi = _mm_cvtepi32_pd(vec4i_swizzle1(hi, 0, 2, 1, 3));
758
- Packet4d exponent = _mm256_insertf128_pd(_mm256_setzero_pd(), exponent_lo, 0);
759
- exponent = _mm256_insertf128_pd(exponent, exponent_hi, 1);
760
- return exponent;
761
- }
762
-
763
-
764
- template<> EIGEN_STRONG_INLINE Packet4d pfrexp<Packet4d>(const Packet4d& a, Packet4d& exponent) {
765
- return pfrexp_generic(a, exponent);
766
- }
767
-
768
- template<> EIGEN_STRONG_INLINE Packet8f pldexp<Packet8f>(const Packet8f& a, const Packet8f& exponent) {
769
- return pldexp_generic(a, exponent);
770
- }
771
-
772
- template<> EIGEN_STRONG_INLINE Packet4d pldexp<Packet4d>(const Packet4d& a, const Packet4d& exponent) {
773
- // Clamp exponent to [-2099, 2099]
774
- const Packet4d max_exponent = pset1<Packet4d>(2099.0);
775
- const Packet4i e = _mm256_cvtpd_epi32(pmin(pmax(exponent, pnegate(max_exponent)), max_exponent));
776
-
777
- // Split 2^e into four factors and multiply.
778
- const Packet4i bias = pset1<Packet4i>(1023);
779
- Packet4i b = parithmetic_shift_right<2>(e); // floor(e/4)
780
-
781
- // 2^b
782
- Packet4i hi = vec4i_swizzle1(padd(b, bias), 0, 2, 1, 3);
783
- Packet4i lo = _mm_slli_epi64(hi, 52);
784
- hi = _mm_slli_epi64(_mm_srli_epi64(hi, 32), 52);
785
- Packet4d c = _mm256_castsi256_pd(_mm256_insertf128_si256(_mm256_castsi128_si256(lo), hi, 1));
786
- Packet4d out = pmul(pmul(pmul(a, c), c), c); // a * 2^(3b)
787
-
788
- // 2^(e - 3b)
789
- b = psub(psub(psub(e, b), b), b); // e - 3b
790
- hi = vec4i_swizzle1(padd(b, bias), 0, 2, 1, 3);
791
- lo = _mm_slli_epi64(hi, 52);
792
- hi = _mm_slli_epi64(_mm_srli_epi64(hi, 32), 52);
793
- c = _mm256_castsi256_pd(_mm256_insertf128_si256(_mm256_castsi128_si256(lo), hi, 1));
794
- out = pmul(out, c); // a * 2^e
795
- return out;
796
- }
797
-
798
- template<> EIGEN_STRONG_INLINE float predux<Packet8f>(const Packet8f& a)
799
- {
800
- return predux(Packet4f(_mm_add_ps(_mm256_castps256_ps128(a),_mm256_extractf128_ps(a,1))));
801
- }
802
- template<> EIGEN_STRONG_INLINE double predux<Packet4d>(const Packet4d& a)
803
- {
804
- return predux(Packet2d(_mm_add_pd(_mm256_castpd256_pd128(a),_mm256_extractf128_pd(a,1))));
805
- }
806
-
807
- template<> EIGEN_STRONG_INLINE Packet4f predux_half_dowto4<Packet8f>(const Packet8f& a)
808
- {
809
- return _mm_add_ps(_mm256_castps256_ps128(a),_mm256_extractf128_ps(a,1));
810
- }
811
-
812
- template<> EIGEN_STRONG_INLINE float predux_mul<Packet8f>(const Packet8f& a)
813
- {
814
- Packet8f tmp;
815
- tmp = _mm256_mul_ps(a, _mm256_permute2f128_ps(a,a,1));
816
- tmp = _mm256_mul_ps(tmp, _mm256_shuffle_ps(tmp,tmp,_MM_SHUFFLE(1,0,3,2)));
817
- return pfirst(_mm256_mul_ps(tmp, _mm256_shuffle_ps(tmp,tmp,1)));
818
- }
819
- template<> EIGEN_STRONG_INLINE double predux_mul<Packet4d>(const Packet4d& a)
820
- {
821
- Packet4d tmp;
822
- tmp = _mm256_mul_pd(a, _mm256_permute2f128_pd(a,a,1));
823
- return pfirst(_mm256_mul_pd(tmp, _mm256_shuffle_pd(tmp,tmp,1)));
824
- }
825
-
826
- template<> EIGEN_STRONG_INLINE float predux_min<Packet8f>(const Packet8f& a)
827
- {
828
- Packet8f tmp = _mm256_min_ps(a, _mm256_permute2f128_ps(a,a,1));
829
- tmp = _mm256_min_ps(tmp, _mm256_shuffle_ps(tmp,tmp,_MM_SHUFFLE(1,0,3,2)));
830
- return pfirst(_mm256_min_ps(tmp, _mm256_shuffle_ps(tmp,tmp,1)));
831
- }
832
- template<> EIGEN_STRONG_INLINE double predux_min<Packet4d>(const Packet4d& a)
833
- {
834
- Packet4d tmp = _mm256_min_pd(a, _mm256_permute2f128_pd(a,a,1));
835
- return pfirst(_mm256_min_pd(tmp, _mm256_shuffle_pd(tmp, tmp, 1)));
836
- }
837
-
838
- template<> EIGEN_STRONG_INLINE float predux_max<Packet8f>(const Packet8f& a)
839
- {
840
- Packet8f tmp = _mm256_max_ps(a, _mm256_permute2f128_ps(a,a,1));
841
- tmp = _mm256_max_ps(tmp, _mm256_shuffle_ps(tmp,tmp,_MM_SHUFFLE(1,0,3,2)));
842
- return pfirst(_mm256_max_ps(tmp, _mm256_shuffle_ps(tmp,tmp,1)));
843
- }
844
-
845
- template<> EIGEN_STRONG_INLINE double predux_max<Packet4d>(const Packet4d& a)
846
- {
847
- Packet4d tmp = _mm256_max_pd(a, _mm256_permute2f128_pd(a,a,1));
848
- return pfirst(_mm256_max_pd(tmp, _mm256_shuffle_pd(tmp, tmp, 1)));
849
- }
850
-
851
- // not needed yet
852
- // template<> EIGEN_STRONG_INLINE bool predux_all(const Packet8f& x)
853
- // {
854
- // return _mm256_movemask_ps(x)==0xFF;
855
- // }
856
-
857
- template<> EIGEN_STRONG_INLINE bool predux_any(const Packet8f& x)
858
- {
859
- return _mm256_movemask_ps(x)!=0;
860
- }
861
-
862
- EIGEN_DEVICE_FUNC inline void
863
- ptranspose(PacketBlock<Packet8f,8>& kernel) {
864
- __m256 T0 = _mm256_unpacklo_ps(kernel.packet[0], kernel.packet[1]);
865
- __m256 T1 = _mm256_unpackhi_ps(kernel.packet[0], kernel.packet[1]);
866
- __m256 T2 = _mm256_unpacklo_ps(kernel.packet[2], kernel.packet[3]);
867
- __m256 T3 = _mm256_unpackhi_ps(kernel.packet[2], kernel.packet[3]);
868
- __m256 T4 = _mm256_unpacklo_ps(kernel.packet[4], kernel.packet[5]);
869
- __m256 T5 = _mm256_unpackhi_ps(kernel.packet[4], kernel.packet[5]);
870
- __m256 T6 = _mm256_unpacklo_ps(kernel.packet[6], kernel.packet[7]);
871
- __m256 T7 = _mm256_unpackhi_ps(kernel.packet[6], kernel.packet[7]);
872
- __m256 S0 = _mm256_shuffle_ps(T0,T2,_MM_SHUFFLE(1,0,1,0));
873
- __m256 S1 = _mm256_shuffle_ps(T0,T2,_MM_SHUFFLE(3,2,3,2));
874
- __m256 S2 = _mm256_shuffle_ps(T1,T3,_MM_SHUFFLE(1,0,1,0));
875
- __m256 S3 = _mm256_shuffle_ps(T1,T3,_MM_SHUFFLE(3,2,3,2));
876
- __m256 S4 = _mm256_shuffle_ps(T4,T6,_MM_SHUFFLE(1,0,1,0));
877
- __m256 S5 = _mm256_shuffle_ps(T4,T6,_MM_SHUFFLE(3,2,3,2));
878
- __m256 S6 = _mm256_shuffle_ps(T5,T7,_MM_SHUFFLE(1,0,1,0));
879
- __m256 S7 = _mm256_shuffle_ps(T5,T7,_MM_SHUFFLE(3,2,3,2));
880
- kernel.packet[0] = _mm256_permute2f128_ps(S0, S4, 0x20);
881
- kernel.packet[1] = _mm256_permute2f128_ps(S1, S5, 0x20);
882
- kernel.packet[2] = _mm256_permute2f128_ps(S2, S6, 0x20);
883
- kernel.packet[3] = _mm256_permute2f128_ps(S3, S7, 0x20);
884
- kernel.packet[4] = _mm256_permute2f128_ps(S0, S4, 0x31);
885
- kernel.packet[5] = _mm256_permute2f128_ps(S1, S5, 0x31);
886
- kernel.packet[6] = _mm256_permute2f128_ps(S2, S6, 0x31);
887
- kernel.packet[7] = _mm256_permute2f128_ps(S3, S7, 0x31);
888
- }
889
-
890
- EIGEN_DEVICE_FUNC inline void
891
- ptranspose(PacketBlock<Packet8f,4>& kernel) {
892
- __m256 T0 = _mm256_unpacklo_ps(kernel.packet[0], kernel.packet[1]);
893
- __m256 T1 = _mm256_unpackhi_ps(kernel.packet[0], kernel.packet[1]);
894
- __m256 T2 = _mm256_unpacklo_ps(kernel.packet[2], kernel.packet[3]);
895
- __m256 T3 = _mm256_unpackhi_ps(kernel.packet[2], kernel.packet[3]);
896
-
897
- __m256 S0 = _mm256_shuffle_ps(T0,T2,_MM_SHUFFLE(1,0,1,0));
898
- __m256 S1 = _mm256_shuffle_ps(T0,T2,_MM_SHUFFLE(3,2,3,2));
899
- __m256 S2 = _mm256_shuffle_ps(T1,T3,_MM_SHUFFLE(1,0,1,0));
900
- __m256 S3 = _mm256_shuffle_ps(T1,T3,_MM_SHUFFLE(3,2,3,2));
901
-
902
- kernel.packet[0] = _mm256_permute2f128_ps(S0, S1, 0x20);
903
- kernel.packet[1] = _mm256_permute2f128_ps(S2, S3, 0x20);
904
- kernel.packet[2] = _mm256_permute2f128_ps(S0, S1, 0x31);
905
- kernel.packet[3] = _mm256_permute2f128_ps(S2, S3, 0x31);
906
- }
907
-
908
- EIGEN_DEVICE_FUNC inline void
909
- ptranspose(PacketBlock<Packet4d,4>& kernel) {
910
- __m256d T0 = _mm256_shuffle_pd(kernel.packet[0], kernel.packet[1], 15);
911
- __m256d T1 = _mm256_shuffle_pd(kernel.packet[0], kernel.packet[1], 0);
912
- __m256d T2 = _mm256_shuffle_pd(kernel.packet[2], kernel.packet[3], 15);
913
- __m256d T3 = _mm256_shuffle_pd(kernel.packet[2], kernel.packet[3], 0);
914
-
915
- kernel.packet[1] = _mm256_permute2f128_pd(T0, T2, 32);
916
- kernel.packet[3] = _mm256_permute2f128_pd(T0, T2, 49);
917
- kernel.packet[0] = _mm256_permute2f128_pd(T1, T3, 32);
918
- kernel.packet[2] = _mm256_permute2f128_pd(T1, T3, 49);
919
- }
920
-
921
- template<> EIGEN_STRONG_INLINE Packet8f pblend(const Selector<8>& ifPacket, const Packet8f& thenPacket, const Packet8f& elsePacket) {
922
- const __m256 zero = _mm256_setzero_ps();
923
- const __m256 select = _mm256_set_ps(ifPacket.select[7], ifPacket.select[6], ifPacket.select[5], ifPacket.select[4], ifPacket.select[3], ifPacket.select[2], ifPacket.select[1], ifPacket.select[0]);
924
- __m256 false_mask = _mm256_cmp_ps(select, zero, _CMP_EQ_UQ);
925
- return _mm256_blendv_ps(thenPacket, elsePacket, false_mask);
926
- }
927
- template<> EIGEN_STRONG_INLINE Packet4d pblend(const Selector<4>& ifPacket, const Packet4d& thenPacket, const Packet4d& elsePacket) {
928
- const __m256d zero = _mm256_setzero_pd();
929
- const __m256d select = _mm256_set_pd(ifPacket.select[3], ifPacket.select[2], ifPacket.select[1], ifPacket.select[0]);
930
- __m256d false_mask = _mm256_cmp_pd(select, zero, _CMP_EQ_UQ);
931
- return _mm256_blendv_pd(thenPacket, elsePacket, false_mask);
932
- }
933
-
934
- // Packet math for Eigen::half
935
-
936
- template<> struct unpacket_traits<Packet8h> { typedef Eigen::half type; enum {size=8, alignment=Aligned16, vectorizable=true, masked_load_available=false, masked_store_available=false}; typedef Packet8h half; };
937
-
938
- template<> EIGEN_STRONG_INLINE Packet8h pset1<Packet8h>(const Eigen::half& from) {
939
- return _mm_set1_epi16(numext::bit_cast<numext::uint16_t>(from));
940
- }
941
-
942
- template<> EIGEN_STRONG_INLINE Eigen::half pfirst<Packet8h>(const Packet8h& from) {
943
- return numext::bit_cast<Eigen::half>(static_cast<numext::uint16_t>(_mm_extract_epi16(from, 0)));
944
- }
945
-
946
- template<> EIGEN_STRONG_INLINE Packet8h pload<Packet8h>(const Eigen::half* from) {
947
- return _mm_load_si128(reinterpret_cast<const __m128i*>(from));
948
- }
949
-
950
- template<> EIGEN_STRONG_INLINE Packet8h ploadu<Packet8h>(const Eigen::half* from) {
951
- return _mm_loadu_si128(reinterpret_cast<const __m128i*>(from));
952
- }
953
-
954
- template<> EIGEN_STRONG_INLINE void pstore<Eigen::half>(Eigen::half* to, const Packet8h& from) {
955
- _mm_store_si128(reinterpret_cast<__m128i*>(to), from);
956
- }
957
-
958
- template<> EIGEN_STRONG_INLINE void pstoreu<Eigen::half>(Eigen::half* to, const Packet8h& from) {
959
- _mm_storeu_si128(reinterpret_cast<__m128i*>(to), from);
960
- }
961
-
962
- template<> EIGEN_STRONG_INLINE Packet8h
963
- ploaddup<Packet8h>(const Eigen::half* from) {
964
- const numext::uint16_t a = numext::bit_cast<numext::uint16_t>(from[0]);
965
- const numext::uint16_t b = numext::bit_cast<numext::uint16_t>(from[1]);
966
- const numext::uint16_t c = numext::bit_cast<numext::uint16_t>(from[2]);
967
- const numext::uint16_t d = numext::bit_cast<numext::uint16_t>(from[3]);
968
- return _mm_set_epi16(d, d, c, c, b, b, a, a);
969
- }
970
-
971
- template<> EIGEN_STRONG_INLINE Packet8h
972
- ploadquad<Packet8h>(const Eigen::half* from) {
973
- const numext::uint16_t a = numext::bit_cast<numext::uint16_t>(from[0]);
974
- const numext::uint16_t b = numext::bit_cast<numext::uint16_t>(from[1]);
975
- return _mm_set_epi16(b, b, b, b, a, a, a, a);
976
- }
977
-
978
- template<> EIGEN_STRONG_INLINE Packet8h ptrue(const Packet8h& a) {
979
- return _mm_cmpeq_epi32(a, a);
980
- }
981
-
982
- template <>
983
- EIGEN_STRONG_INLINE Packet8h pabs(const Packet8h& a) {
984
- const __m128i sign_mask = _mm_set1_epi16(static_cast<numext::uint16_t>(0x8000));
985
- return _mm_andnot_si128(sign_mask, a);
986
- }
987
-
988
- EIGEN_STRONG_INLINE Packet8f half2float(const Packet8h& a) {
989
- #ifdef EIGEN_HAS_FP16_C
990
- return _mm256_cvtph_ps(a);
991
- #else
992
- EIGEN_ALIGN32 Eigen::half aux[8];
993
- pstore(aux, a);
994
- float f0(aux[0]);
995
- float f1(aux[1]);
996
- float f2(aux[2]);
997
- float f3(aux[3]);
998
- float f4(aux[4]);
999
- float f5(aux[5]);
1000
- float f6(aux[6]);
1001
- float f7(aux[7]);
1002
-
1003
- return _mm256_set_ps(f7, f6, f5, f4, f3, f2, f1, f0);
1004
- #endif
1005
- }
1006
-
1007
- EIGEN_STRONG_INLINE Packet8h float2half(const Packet8f& a) {
1008
- #ifdef EIGEN_HAS_FP16_C
1009
- return _mm256_cvtps_ph(a, _MM_FROUND_TO_NEAREST_INT|_MM_FROUND_NO_EXC);
1010
- #else
1011
- EIGEN_ALIGN32 float aux[8];
1012
- pstore(aux, a);
1013
- const numext::uint16_t s0 = numext::bit_cast<numext::uint16_t>(Eigen::half(aux[0]));
1014
- const numext::uint16_t s1 = numext::bit_cast<numext::uint16_t>(Eigen::half(aux[1]));
1015
- const numext::uint16_t s2 = numext::bit_cast<numext::uint16_t>(Eigen::half(aux[2]));
1016
- const numext::uint16_t s3 = numext::bit_cast<numext::uint16_t>(Eigen::half(aux[3]));
1017
- const numext::uint16_t s4 = numext::bit_cast<numext::uint16_t>(Eigen::half(aux[4]));
1018
- const numext::uint16_t s5 = numext::bit_cast<numext::uint16_t>(Eigen::half(aux[5]));
1019
- const numext::uint16_t s6 = numext::bit_cast<numext::uint16_t>(Eigen::half(aux[6]));
1020
- const numext::uint16_t s7 = numext::bit_cast<numext::uint16_t>(Eigen::half(aux[7]));
1021
- return _mm_set_epi16(s7, s6, s5, s4, s3, s2, s1, s0);
1022
- #endif
1023
- }
1024
-
1025
- template <>
1026
- EIGEN_STRONG_INLINE Packet8h pmin<Packet8h>(const Packet8h& a,
1027
- const Packet8h& b) {
1028
- return float2half(pmin<Packet8f>(half2float(a), half2float(b)));
1029
- }
1030
-
1031
- template <>
1032
- EIGEN_STRONG_INLINE Packet8h pmax<Packet8h>(const Packet8h& a,
1033
- const Packet8h& b) {
1034
- return float2half(pmax<Packet8f>(half2float(a), half2float(b)));
1035
- }
1036
-
1037
- template <>
1038
- EIGEN_STRONG_INLINE Packet8h plset<Packet8h>(const half& a) {
1039
- return float2half(plset<Packet8f>(static_cast<float>(a)));
1040
- }
1041
-
1042
- template<> EIGEN_STRONG_INLINE Packet8h por(const Packet8h& a,const Packet8h& b) {
1043
- // in some cases Packet4i is a wrapper around __m128i, so we either need to
1044
- // cast to Packet4i to directly call the intrinsics as below:
1045
- return _mm_or_si128(a,b);
1046
- }
1047
- template<> EIGEN_STRONG_INLINE Packet8h pxor(const Packet8h& a,const Packet8h& b) {
1048
- return _mm_xor_si128(a,b);
1049
- }
1050
- template<> EIGEN_STRONG_INLINE Packet8h pand(const Packet8h& a,const Packet8h& b) {
1051
- return _mm_and_si128(a,b);
1052
- }
1053
- template<> EIGEN_STRONG_INLINE Packet8h pandnot(const Packet8h& a,const Packet8h& b) {
1054
- return _mm_andnot_si128(b,a);
1055
- }
1056
-
1057
- template<> EIGEN_STRONG_INLINE Packet8h pselect(const Packet8h& mask, const Packet8h& a, const Packet8h& b) {
1058
- return _mm_blendv_epi8(b, a, mask);
1059
- }
1060
-
1061
- template<> EIGEN_STRONG_INLINE Packet8h pround<Packet8h>(const Packet8h& a) {
1062
- return float2half(pround<Packet8f>(half2float(a)));
1063
- }
1064
-
1065
- template<> EIGEN_STRONG_INLINE Packet8h print<Packet8h>(const Packet8h& a) {
1066
- return float2half(print<Packet8f>(half2float(a)));
1067
- }
1068
-
1069
- template<> EIGEN_STRONG_INLINE Packet8h pceil<Packet8h>(const Packet8h& a) {
1070
- return float2half(pceil<Packet8f>(half2float(a)));
1071
- }
1072
-
1073
- template<> EIGEN_STRONG_INLINE Packet8h pfloor<Packet8h>(const Packet8h& a) {
1074
- return float2half(pfloor<Packet8f>(half2float(a)));
1075
- }
1076
-
1077
- template<> EIGEN_STRONG_INLINE Packet8h pcmp_eq(const Packet8h& a,const Packet8h& b) {
1078
- return Pack16To8(pcmp_eq(half2float(a), half2float(b)));
1079
- }
1080
-
1081
- template<> EIGEN_STRONG_INLINE Packet8h pcmp_le(const Packet8h& a,const Packet8h& b) {
1082
- return Pack16To8(pcmp_le(half2float(a), half2float(b)));
1083
- }
1084
-
1085
- template<> EIGEN_STRONG_INLINE Packet8h pcmp_lt(const Packet8h& a,const Packet8h& b) {
1086
- return Pack16To8(pcmp_lt(half2float(a), half2float(b)));
1087
- }
1088
-
1089
- template<> EIGEN_STRONG_INLINE Packet8h pcmp_lt_or_nan(const Packet8h& a,const Packet8h& b) {
1090
- return Pack16To8(pcmp_lt_or_nan(half2float(a), half2float(b)));
1091
- }
1092
-
1093
- template<> EIGEN_STRONG_INLINE Packet8h pconj(const Packet8h& a) { return a; }
1094
-
1095
- template<> EIGEN_STRONG_INLINE Packet8h pnegate(const Packet8h& a) {
1096
- Packet8h sign_mask = _mm_set1_epi16(static_cast<numext::uint16_t>(0x8000));
1097
- return _mm_xor_si128(a, sign_mask);
1098
- }
1099
-
1100
- template<> EIGEN_STRONG_INLINE Packet8h padd<Packet8h>(const Packet8h& a, const Packet8h& b) {
1101
- Packet8f af = half2float(a);
1102
- Packet8f bf = half2float(b);
1103
- Packet8f rf = padd(af, bf);
1104
- return float2half(rf);
1105
- }
1106
-
1107
- template<> EIGEN_STRONG_INLINE Packet8h psub<Packet8h>(const Packet8h& a, const Packet8h& b) {
1108
- Packet8f af = half2float(a);
1109
- Packet8f bf = half2float(b);
1110
- Packet8f rf = psub(af, bf);
1111
- return float2half(rf);
1112
- }
1113
-
1114
- template<> EIGEN_STRONG_INLINE Packet8h pmul<Packet8h>(const Packet8h& a, const Packet8h& b) {
1115
- Packet8f af = half2float(a);
1116
- Packet8f bf = half2float(b);
1117
- Packet8f rf = pmul(af, bf);
1118
- return float2half(rf);
1119
- }
1120
-
1121
- template<> EIGEN_STRONG_INLINE Packet8h pdiv<Packet8h>(const Packet8h& a, const Packet8h& b) {
1122
- Packet8f af = half2float(a);
1123
- Packet8f bf = half2float(b);
1124
- Packet8f rf = pdiv(af, bf);
1125
- return float2half(rf);
1126
- }
1127
-
1128
- template<> EIGEN_STRONG_INLINE Packet8h pgather<Eigen::half, Packet8h>(const Eigen::half* from, Index stride)
1129
- {
1130
- const numext::uint16_t s0 = numext::bit_cast<numext::uint16_t>(from[0*stride]);
1131
- const numext::uint16_t s1 = numext::bit_cast<numext::uint16_t>(from[1*stride]);
1132
- const numext::uint16_t s2 = numext::bit_cast<numext::uint16_t>(from[2*stride]);
1133
- const numext::uint16_t s3 = numext::bit_cast<numext::uint16_t>(from[3*stride]);
1134
- const numext::uint16_t s4 = numext::bit_cast<numext::uint16_t>(from[4*stride]);
1135
- const numext::uint16_t s5 = numext::bit_cast<numext::uint16_t>(from[5*stride]);
1136
- const numext::uint16_t s6 = numext::bit_cast<numext::uint16_t>(from[6*stride]);
1137
- const numext::uint16_t s7 = numext::bit_cast<numext::uint16_t>(from[7*stride]);
1138
- return _mm_set_epi16(s7, s6, s5, s4, s3, s2, s1, s0);
1139
- }
1140
-
1141
- template<> EIGEN_STRONG_INLINE void pscatter<Eigen::half, Packet8h>(Eigen::half* to, const Packet8h& from, Index stride)
1142
- {
1143
- EIGEN_ALIGN32 Eigen::half aux[8];
1144
- pstore(aux, from);
1145
- to[stride*0] = aux[0];
1146
- to[stride*1] = aux[1];
1147
- to[stride*2] = aux[2];
1148
- to[stride*3] = aux[3];
1149
- to[stride*4] = aux[4];
1150
- to[stride*5] = aux[5];
1151
- to[stride*6] = aux[6];
1152
- to[stride*7] = aux[7];
1153
- }
1154
-
1155
- template<> EIGEN_STRONG_INLINE Eigen::half predux<Packet8h>(const Packet8h& a) {
1156
- Packet8f af = half2float(a);
1157
- float reduced = predux<Packet8f>(af);
1158
- return Eigen::half(reduced);
1159
- }
1160
-
1161
- template<> EIGEN_STRONG_INLINE Eigen::half predux_max<Packet8h>(const Packet8h& a) {
1162
- Packet8f af = half2float(a);
1163
- float reduced = predux_max<Packet8f>(af);
1164
- return Eigen::half(reduced);
1165
- }
1166
-
1167
- template<> EIGEN_STRONG_INLINE Eigen::half predux_min<Packet8h>(const Packet8h& a) {
1168
- Packet8f af = half2float(a);
1169
- float reduced = predux_min<Packet8f>(af);
1170
- return Eigen::half(reduced);
1171
- }
1172
-
1173
- template<> EIGEN_STRONG_INLINE Eigen::half predux_mul<Packet8h>(const Packet8h& a) {
1174
- Packet8f af = half2float(a);
1175
- float reduced = predux_mul<Packet8f>(af);
1176
- return Eigen::half(reduced);
1177
- }
1178
-
1179
- template<> EIGEN_STRONG_INLINE Packet8h preverse(const Packet8h& a)
1180
- {
1181
- __m128i m = _mm_setr_epi8(14,15,12,13,10,11,8,9,6,7,4,5,2,3,0,1);
1182
- return _mm_shuffle_epi8(a,m);
1183
- }
1184
-
1185
- EIGEN_STRONG_INLINE void
1186
- ptranspose(PacketBlock<Packet8h,8>& kernel) {
1187
- __m128i a = kernel.packet[0];
1188
- __m128i b = kernel.packet[1];
1189
- __m128i c = kernel.packet[2];
1190
- __m128i d = kernel.packet[3];
1191
- __m128i e = kernel.packet[4];
1192
- __m128i f = kernel.packet[5];
1193
- __m128i g = kernel.packet[6];
1194
- __m128i h = kernel.packet[7];
1195
-
1196
- __m128i a03b03 = _mm_unpacklo_epi16(a, b);
1197
- __m128i c03d03 = _mm_unpacklo_epi16(c, d);
1198
- __m128i e03f03 = _mm_unpacklo_epi16(e, f);
1199
- __m128i g03h03 = _mm_unpacklo_epi16(g, h);
1200
- __m128i a47b47 = _mm_unpackhi_epi16(a, b);
1201
- __m128i c47d47 = _mm_unpackhi_epi16(c, d);
1202
- __m128i e47f47 = _mm_unpackhi_epi16(e, f);
1203
- __m128i g47h47 = _mm_unpackhi_epi16(g, h);
1204
-
1205
- __m128i a01b01c01d01 = _mm_unpacklo_epi32(a03b03, c03d03);
1206
- __m128i a23b23c23d23 = _mm_unpackhi_epi32(a03b03, c03d03);
1207
- __m128i e01f01g01h01 = _mm_unpacklo_epi32(e03f03, g03h03);
1208
- __m128i e23f23g23h23 = _mm_unpackhi_epi32(e03f03, g03h03);
1209
- __m128i a45b45c45d45 = _mm_unpacklo_epi32(a47b47, c47d47);
1210
- __m128i a67b67c67d67 = _mm_unpackhi_epi32(a47b47, c47d47);
1211
- __m128i e45f45g45h45 = _mm_unpacklo_epi32(e47f47, g47h47);
1212
- __m128i e67f67g67h67 = _mm_unpackhi_epi32(e47f47, g47h47);
1213
-
1214
- __m128i a0b0c0d0e0f0g0h0 = _mm_unpacklo_epi64(a01b01c01d01, e01f01g01h01);
1215
- __m128i a1b1c1d1e1f1g1h1 = _mm_unpackhi_epi64(a01b01c01d01, e01f01g01h01);
1216
- __m128i a2b2c2d2e2f2g2h2 = _mm_unpacklo_epi64(a23b23c23d23, e23f23g23h23);
1217
- __m128i a3b3c3d3e3f3g3h3 = _mm_unpackhi_epi64(a23b23c23d23, e23f23g23h23);
1218
- __m128i a4b4c4d4e4f4g4h4 = _mm_unpacklo_epi64(a45b45c45d45, e45f45g45h45);
1219
- __m128i a5b5c5d5e5f5g5h5 = _mm_unpackhi_epi64(a45b45c45d45, e45f45g45h45);
1220
- __m128i a6b6c6d6e6f6g6h6 = _mm_unpacklo_epi64(a67b67c67d67, e67f67g67h67);
1221
- __m128i a7b7c7d7e7f7g7h7 = _mm_unpackhi_epi64(a67b67c67d67, e67f67g67h67);
1222
-
1223
- kernel.packet[0] = a0b0c0d0e0f0g0h0;
1224
- kernel.packet[1] = a1b1c1d1e1f1g1h1;
1225
- kernel.packet[2] = a2b2c2d2e2f2g2h2;
1226
- kernel.packet[3] = a3b3c3d3e3f3g3h3;
1227
- kernel.packet[4] = a4b4c4d4e4f4g4h4;
1228
- kernel.packet[5] = a5b5c5d5e5f5g5h5;
1229
- kernel.packet[6] = a6b6c6d6e6f6g6h6;
1230
- kernel.packet[7] = a7b7c7d7e7f7g7h7;
1231
- }
1232
-
1233
- EIGEN_STRONG_INLINE void
1234
- ptranspose(PacketBlock<Packet8h,4>& kernel) {
1235
- EIGEN_ALIGN32 Eigen::half in[4][8];
1236
- pstore<Eigen::half>(in[0], kernel.packet[0]);
1237
- pstore<Eigen::half>(in[1], kernel.packet[1]);
1238
- pstore<Eigen::half>(in[2], kernel.packet[2]);
1239
- pstore<Eigen::half>(in[3], kernel.packet[3]);
1240
-
1241
- EIGEN_ALIGN32 Eigen::half out[4][8];
1242
-
1243
- for (int i = 0; i < 4; ++i) {
1244
- for (int j = 0; j < 4; ++j) {
1245
- out[i][j] = in[j][2*i];
1246
- }
1247
- for (int j = 0; j < 4; ++j) {
1248
- out[i][j+4] = in[j][2*i+1];
1249
- }
1250
- }
1251
-
1252
- kernel.packet[0] = pload<Packet8h>(out[0]);
1253
- kernel.packet[1] = pload<Packet8h>(out[1]);
1254
- kernel.packet[2] = pload<Packet8h>(out[2]);
1255
- kernel.packet[3] = pload<Packet8h>(out[3]);
1256
- }
1257
-
1258
- // BFloat16 implementation.
1259
-
1260
- EIGEN_STRONG_INLINE Packet8f Bf16ToF32(const Packet8bf& a) {
1261
- #ifdef EIGEN_VECTORIZE_AVX2
1262
- __m256i extend = _mm256_cvtepu16_epi32(a);
1263
- return _mm256_castsi256_ps(_mm256_slli_epi32(extend, 16));
1264
- #else
1265
- __m128i lo = _mm_cvtepu16_epi32(a);
1266
- __m128i hi = _mm_cvtepu16_epi32(_mm_srli_si128(a, 8));
1267
- __m128i lo_shift = _mm_slli_epi32(lo, 16);
1268
- __m128i hi_shift = _mm_slli_epi32(hi, 16);
1269
- return _mm256_castsi256_ps(_mm256_insertf128_si256(_mm256_castsi128_si256(lo_shift), hi_shift, 1));
1270
- #endif
1271
- }
1272
-
1273
- // Convert float to bfloat16 according to round-to-nearest-even/denormals algorithm.
1274
- EIGEN_STRONG_INLINE Packet8bf F32ToBf16(const Packet8f& a) {
1275
- Packet8bf r;
1276
-
1277
- __m256i input = _mm256_castps_si256(a);
1278
-
1279
- #ifdef EIGEN_VECTORIZE_AVX2
1280
- // uint32_t lsb = (input >> 16);
1281
- __m256i t = _mm256_srli_epi32(input, 16);
1282
- // uint32_t lsb = lsb & 1;
1283
- t = _mm256_and_si256(t, _mm256_set1_epi32(1));
1284
- // uint32_t rounding_bias = 0x7fff + lsb;
1285
- t = _mm256_add_epi32(t, _mm256_set1_epi32(0x7fff));
1286
- // input += rounding_bias;
1287
- t = _mm256_add_epi32(t, input);
1288
- // input = input >> 16;
1289
- t = _mm256_srli_epi32(t, 16);
1290
- // Check NaN before converting back to bf16
1291
- __m256 mask = _mm256_cmp_ps(a, a, _CMP_ORD_Q);
1292
- __m256i nan = _mm256_set1_epi32(0x7fc0);
1293
- t = _mm256_blendv_epi8(nan, t, _mm256_castps_si256(mask));
1294
- // output = numext::bit_cast<uint16_t>(input);
1295
- return _mm_packus_epi32(_mm256_extractf128_si256(t, 0),
1296
- _mm256_extractf128_si256(t, 1));
1297
- #else
1298
- // uint32_t lsb = (input >> 16);
1299
- __m128i lo = _mm_srli_epi32(_mm256_extractf128_si256(input, 0), 16);
1300
- __m128i hi = _mm_srli_epi32(_mm256_extractf128_si256(input, 1), 16);
1301
- // uint32_t lsb = lsb & 1;
1302
- lo = _mm_and_si128(lo, _mm_set1_epi32(1));
1303
- hi = _mm_and_si128(hi, _mm_set1_epi32(1));
1304
- // uint32_t rounding_bias = 0x7fff + lsb;
1305
- lo = _mm_add_epi32(lo, _mm_set1_epi32(0x7fff));
1306
- hi = _mm_add_epi32(hi, _mm_set1_epi32(0x7fff));
1307
- // input += rounding_bias;
1308
- lo = _mm_add_epi32(lo, _mm256_extractf128_si256(input, 0));
1309
- hi = _mm_add_epi32(hi, _mm256_extractf128_si256(input, 1));
1310
- // input = input >> 16;
1311
- lo = _mm_srli_epi32(lo, 16);
1312
- hi = _mm_srli_epi32(hi, 16);
1313
- // Check NaN before converting back to bf16
1314
- __m256 mask = _mm256_cmp_ps(a, a, _CMP_ORD_Q);
1315
- __m128i nan = _mm_set1_epi32(0x7fc0);
1316
- lo = _mm_blendv_epi8(nan, lo, _mm_castps_si128(_mm256_castps256_ps128(mask)));
1317
- hi = _mm_blendv_epi8(nan, hi, _mm_castps_si128(_mm256_extractf128_ps(mask, 1)));
1318
- // output = numext::bit_cast<uint16_t>(input);
1319
- return _mm_packus_epi32(lo, hi);
1320
- #endif
1321
- }
1322
-
1323
- template<> EIGEN_STRONG_INLINE Packet8bf pset1<Packet8bf>(const bfloat16& from) {
1324
- return _mm_set1_epi16(numext::bit_cast<numext::uint16_t>(from));
1325
- }
1326
-
1327
- template<> EIGEN_STRONG_INLINE bfloat16 pfirst<Packet8bf>(const Packet8bf& from) {
1328
- return numext::bit_cast<bfloat16>(static_cast<numext::uint16_t>(_mm_extract_epi16(from, 0)));
1329
- }
1330
-
1331
- template<> EIGEN_STRONG_INLINE Packet8bf pload<Packet8bf>(const bfloat16* from) {
1332
- return _mm_load_si128(reinterpret_cast<const __m128i*>(from));
1333
- }
1334
-
1335
- template<> EIGEN_STRONG_INLINE Packet8bf ploadu<Packet8bf>(const bfloat16* from) {
1336
- return _mm_loadu_si128(reinterpret_cast<const __m128i*>(from));
1337
- }
1338
-
1339
- template<> EIGEN_STRONG_INLINE void pstore<bfloat16>(bfloat16* to, const Packet8bf& from) {
1340
- _mm_store_si128(reinterpret_cast<__m128i*>(to), from);
1341
- }
1342
-
1343
- template<> EIGEN_STRONG_INLINE void pstoreu<bfloat16>(bfloat16* to, const Packet8bf& from) {
1344
- _mm_storeu_si128(reinterpret_cast<__m128i*>(to), from);
1345
- }
1346
-
1347
- template<> EIGEN_STRONG_INLINE Packet8bf
1348
- ploaddup<Packet8bf>(const bfloat16* from) {
1349
- const numext::uint16_t a = numext::bit_cast<numext::uint16_t>(from[0]);
1350
- const numext::uint16_t b = numext::bit_cast<numext::uint16_t>(from[1]);
1351
- const numext::uint16_t c = numext::bit_cast<numext::uint16_t>(from[2]);
1352
- const numext::uint16_t d = numext::bit_cast<numext::uint16_t>(from[3]);
1353
- return _mm_set_epi16(d, d, c, c, b, b, a, a);
1354
- }
1355
-
1356
- template<> EIGEN_STRONG_INLINE Packet8bf
1357
- ploadquad<Packet8bf>(const bfloat16* from) {
1358
- const numext::uint16_t a = numext::bit_cast<numext::uint16_t>(from[0]);
1359
- const numext::uint16_t b = numext::bit_cast<numext::uint16_t>(from[1]);
1360
- return _mm_set_epi16(b, b, b, b, a, a, a, a);
1361
- }
1362
-
1363
- template<> EIGEN_STRONG_INLINE Packet8bf ptrue(const Packet8bf& a) {
1364
- return _mm_cmpeq_epi32(a, a);
1365
- }
1366
-
1367
- template <>
1368
- EIGEN_STRONG_INLINE Packet8bf pabs(const Packet8bf& a) {
1369
- const __m128i sign_mask = _mm_set1_epi16(static_cast<numext::uint16_t>(0x8000));
1370
- return _mm_andnot_si128(sign_mask, a);
1371
- }
1372
-
1373
- template <>
1374
- EIGEN_STRONG_INLINE Packet8bf pmin<Packet8bf>(const Packet8bf& a,
1375
- const Packet8bf& b) {
1376
- return F32ToBf16(pmin<Packet8f>(Bf16ToF32(a), Bf16ToF32(b)));
1377
- }
1378
-
1379
- template <>
1380
- EIGEN_STRONG_INLINE Packet8bf pmax<Packet8bf>(const Packet8bf& a,
1381
- const Packet8bf& b) {
1382
- return F32ToBf16(pmax<Packet8f>(Bf16ToF32(a), Bf16ToF32(b)));
1383
- }
1384
-
1385
- template <>
1386
- EIGEN_STRONG_INLINE Packet8bf plset<Packet8bf>(const bfloat16& a) {
1387
- return F32ToBf16(plset<Packet8f>(static_cast<float>(a)));
1388
- }
1389
-
1390
- template<> EIGEN_STRONG_INLINE Packet8bf por(const Packet8bf& a,const Packet8bf& b) {
1391
- return _mm_or_si128(a,b);
1392
- }
1393
- template<> EIGEN_STRONG_INLINE Packet8bf pxor(const Packet8bf& a,const Packet8bf& b) {
1394
- return _mm_xor_si128(a,b);
1395
- }
1396
- template<> EIGEN_STRONG_INLINE Packet8bf pand(const Packet8bf& a,const Packet8bf& b) {
1397
- return _mm_and_si128(a,b);
1398
- }
1399
- template<> EIGEN_STRONG_INLINE Packet8bf pandnot(const Packet8bf& a,const Packet8bf& b) {
1400
- return _mm_andnot_si128(b,a);
1401
- }
1402
-
1403
- template<> EIGEN_STRONG_INLINE Packet8bf pselect(const Packet8bf& mask, const Packet8bf& a, const Packet8bf& b) {
1404
- return _mm_blendv_epi8(b, a, mask);
1405
- }
1406
-
1407
- template<> EIGEN_STRONG_INLINE Packet8bf pround<Packet8bf>(const Packet8bf& a)
1408
- {
1409
- return F32ToBf16(pround<Packet8f>(Bf16ToF32(a)));
1410
- }
1411
-
1412
- template<> EIGEN_STRONG_INLINE Packet8bf print<Packet8bf>(const Packet8bf& a) {
1413
- return F32ToBf16(print<Packet8f>(Bf16ToF32(a)));
1414
- }
1415
-
1416
- template<> EIGEN_STRONG_INLINE Packet8bf pceil<Packet8bf>(const Packet8bf& a) {
1417
- return F32ToBf16(pceil<Packet8f>(Bf16ToF32(a)));
1418
- }
1419
-
1420
- template<> EIGEN_STRONG_INLINE Packet8bf pfloor<Packet8bf>(const Packet8bf& a) {
1421
- return F32ToBf16(pfloor<Packet8f>(Bf16ToF32(a)));
1422
- }
1423
-
1424
- template<> EIGEN_STRONG_INLINE Packet8bf pcmp_eq(const Packet8bf& a,const Packet8bf& b) {
1425
- return Pack16To8(pcmp_eq(Bf16ToF32(a), Bf16ToF32(b)));
1426
- }
1427
-
1428
- template<> EIGEN_STRONG_INLINE Packet8bf pcmp_le(const Packet8bf& a,const Packet8bf& b) {
1429
- return Pack16To8(pcmp_le(Bf16ToF32(a), Bf16ToF32(b)));
1430
- }
1431
-
1432
- template<> EIGEN_STRONG_INLINE Packet8bf pcmp_lt(const Packet8bf& a,const Packet8bf& b) {
1433
- return Pack16To8(pcmp_lt(Bf16ToF32(a), Bf16ToF32(b)));
1434
- }
1435
-
1436
- template<> EIGEN_STRONG_INLINE Packet8bf pcmp_lt_or_nan(const Packet8bf& a,const Packet8bf& b) {
1437
- return Pack16To8(pcmp_lt_or_nan(Bf16ToF32(a), Bf16ToF32(b)));
1438
- }
1439
-
1440
- template<> EIGEN_STRONG_INLINE Packet8bf pconj(const Packet8bf& a) { return a; }
1441
-
1442
- template<> EIGEN_STRONG_INLINE Packet8bf pnegate(const Packet8bf& a) {
1443
- Packet8bf sign_mask = _mm_set1_epi16(static_cast<numext::uint16_t>(0x8000));
1444
- return _mm_xor_si128(a, sign_mask);
1445
- }
1446
-
1447
- template<> EIGEN_STRONG_INLINE Packet8bf padd<Packet8bf>(const Packet8bf& a, const Packet8bf& b) {
1448
- return F32ToBf16(padd<Packet8f>(Bf16ToF32(a), Bf16ToF32(b)));
1449
- }
1450
-
1451
- template<> EIGEN_STRONG_INLINE Packet8bf psub<Packet8bf>(const Packet8bf& a, const Packet8bf& b) {
1452
- return F32ToBf16(psub<Packet8f>(Bf16ToF32(a), Bf16ToF32(b)));
1453
- }
1454
-
1455
- template<> EIGEN_STRONG_INLINE Packet8bf pmul<Packet8bf>(const Packet8bf& a, const Packet8bf& b) {
1456
- return F32ToBf16(pmul<Packet8f>(Bf16ToF32(a), Bf16ToF32(b)));
1457
- }
1458
-
1459
- template<> EIGEN_STRONG_INLINE Packet8bf pdiv<Packet8bf>(const Packet8bf& a, const Packet8bf& b) {
1460
- return F32ToBf16(pdiv<Packet8f>(Bf16ToF32(a), Bf16ToF32(b)));
1461
- }
1462
-
1463
-
1464
- template<> EIGEN_STRONG_INLINE Packet8bf pgather<bfloat16, Packet8bf>(const bfloat16* from, Index stride)
1465
- {
1466
- const numext::uint16_t s0 = numext::bit_cast<numext::uint16_t>(from[0*stride]);
1467
- const numext::uint16_t s1 = numext::bit_cast<numext::uint16_t>(from[1*stride]);
1468
- const numext::uint16_t s2 = numext::bit_cast<numext::uint16_t>(from[2*stride]);
1469
- const numext::uint16_t s3 = numext::bit_cast<numext::uint16_t>(from[3*stride]);
1470
- const numext::uint16_t s4 = numext::bit_cast<numext::uint16_t>(from[4*stride]);
1471
- const numext::uint16_t s5 = numext::bit_cast<numext::uint16_t>(from[5*stride]);
1472
- const numext::uint16_t s6 = numext::bit_cast<numext::uint16_t>(from[6*stride]);
1473
- const numext::uint16_t s7 = numext::bit_cast<numext::uint16_t>(from[7*stride]);
1474
- return _mm_set_epi16(s7, s6, s5, s4, s3, s2, s1, s0);
1475
- }
1476
-
1477
- template<> EIGEN_STRONG_INLINE void pscatter<bfloat16, Packet8bf>(bfloat16* to, const Packet8bf& from, Index stride)
1478
- {
1479
- EIGEN_ALIGN32 bfloat16 aux[8];
1480
- pstore(aux, from);
1481
- to[stride*0] = aux[0];
1482
- to[stride*1] = aux[1];
1483
- to[stride*2] = aux[2];
1484
- to[stride*3] = aux[3];
1485
- to[stride*4] = aux[4];
1486
- to[stride*5] = aux[5];
1487
- to[stride*6] = aux[6];
1488
- to[stride*7] = aux[7];
1489
- }
1490
-
1491
- template<> EIGEN_STRONG_INLINE bfloat16 predux<Packet8bf>(const Packet8bf& a) {
1492
- return static_cast<bfloat16>(predux<Packet8f>(Bf16ToF32(a)));
1493
- }
1494
-
1495
- template<> EIGEN_STRONG_INLINE bfloat16 predux_max<Packet8bf>(const Packet8bf& a) {
1496
- return static_cast<bfloat16>(predux_max<Packet8f>(Bf16ToF32(a)));
1497
- }
1498
-
1499
- template<> EIGEN_STRONG_INLINE bfloat16 predux_min<Packet8bf>(const Packet8bf& a) {
1500
- return static_cast<bfloat16>(predux_min<Packet8f>(Bf16ToF32(a)));
1501
- }
1502
-
1503
- template<> EIGEN_STRONG_INLINE bfloat16 predux_mul<Packet8bf>(const Packet8bf& a) {
1504
- return static_cast<bfloat16>(predux_mul<Packet8f>(Bf16ToF32(a)));
1505
- }
1506
-
1507
- template<> EIGEN_STRONG_INLINE Packet8bf preverse(const Packet8bf& a)
1508
- {
1509
- __m128i m = _mm_setr_epi8(14,15,12,13,10,11,8,9,6,7,4,5,2,3,0,1);
1510
- return _mm_shuffle_epi8(a,m);
1511
- }
1512
-
1513
- EIGEN_STRONG_INLINE void
1514
- ptranspose(PacketBlock<Packet8bf,8>& kernel) {
1515
- __m128i a = kernel.packet[0];
1516
- __m128i b = kernel.packet[1];
1517
- __m128i c = kernel.packet[2];
1518
- __m128i d = kernel.packet[3];
1519
- __m128i e = kernel.packet[4];
1520
- __m128i f = kernel.packet[5];
1521
- __m128i g = kernel.packet[6];
1522
- __m128i h = kernel.packet[7];
1523
-
1524
- __m128i a03b03 = _mm_unpacklo_epi16(a, b);
1525
- __m128i c03d03 = _mm_unpacklo_epi16(c, d);
1526
- __m128i e03f03 = _mm_unpacklo_epi16(e, f);
1527
- __m128i g03h03 = _mm_unpacklo_epi16(g, h);
1528
- __m128i a47b47 = _mm_unpackhi_epi16(a, b);
1529
- __m128i c47d47 = _mm_unpackhi_epi16(c, d);
1530
- __m128i e47f47 = _mm_unpackhi_epi16(e, f);
1531
- __m128i g47h47 = _mm_unpackhi_epi16(g, h);
1532
-
1533
- __m128i a01b01c01d01 = _mm_unpacklo_epi32(a03b03, c03d03);
1534
- __m128i a23b23c23d23 = _mm_unpackhi_epi32(a03b03, c03d03);
1535
- __m128i e01f01g01h01 = _mm_unpacklo_epi32(e03f03, g03h03);
1536
- __m128i e23f23g23h23 = _mm_unpackhi_epi32(e03f03, g03h03);
1537
- __m128i a45b45c45d45 = _mm_unpacklo_epi32(a47b47, c47d47);
1538
- __m128i a67b67c67d67 = _mm_unpackhi_epi32(a47b47, c47d47);
1539
- __m128i e45f45g45h45 = _mm_unpacklo_epi32(e47f47, g47h47);
1540
- __m128i e67f67g67h67 = _mm_unpackhi_epi32(e47f47, g47h47);
1541
-
1542
- kernel.packet[0] = _mm_unpacklo_epi64(a01b01c01d01, e01f01g01h01);
1543
- kernel.packet[1] = _mm_unpackhi_epi64(a01b01c01d01, e01f01g01h01);
1544
- kernel.packet[2] = _mm_unpacklo_epi64(a23b23c23d23, e23f23g23h23);
1545
- kernel.packet[3] = _mm_unpackhi_epi64(a23b23c23d23, e23f23g23h23);
1546
- kernel.packet[4] = _mm_unpacklo_epi64(a45b45c45d45, e45f45g45h45);
1547
- kernel.packet[5] = _mm_unpackhi_epi64(a45b45c45d45, e45f45g45h45);
1548
- kernel.packet[6] = _mm_unpacklo_epi64(a67b67c67d67, e67f67g67h67);
1549
- kernel.packet[7] = _mm_unpackhi_epi64(a67b67c67d67, e67f67g67h67);
1550
- }
1551
-
1552
- EIGEN_STRONG_INLINE void
1553
- ptranspose(PacketBlock<Packet8bf,4>& kernel) {
1554
- __m128i a = kernel.packet[0];
1555
- __m128i b = kernel.packet[1];
1556
- __m128i c = kernel.packet[2];
1557
- __m128i d = kernel.packet[3];
1558
-
1559
- __m128i ab_03 = _mm_unpacklo_epi16(a, b);
1560
- __m128i cd_03 = _mm_unpacklo_epi16(c, d);
1561
- __m128i ab_47 = _mm_unpackhi_epi16(a, b);
1562
- __m128i cd_47 = _mm_unpackhi_epi16(c, d);
1563
-
1564
- kernel.packet[0] = _mm_unpacklo_epi32(ab_03, cd_03);
1565
- kernel.packet[1] = _mm_unpackhi_epi32(ab_03, cd_03);
1566
- kernel.packet[2] = _mm_unpacklo_epi32(ab_47, cd_47);
1567
- kernel.packet[3] = _mm_unpackhi_epi32(ab_47, cd_47);
1568
- }
1569
-
1570
- } // end namespace internal
1571
-
1572
- } // end namespace Eigen
1573
-
1574
- #endif // EIGEN_PACKET_MATH_AVX_H