@smake/eigen 1.1.0 → 1.1.1

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 (431) hide show
  1. package/README.md +1 -1
  2. package/eigen/Eigen/AccelerateSupport +52 -0
  3. package/eigen/Eigen/Cholesky +18 -20
  4. package/eigen/Eigen/CholmodSupport +28 -28
  5. package/eigen/Eigen/Core +187 -120
  6. package/eigen/Eigen/Eigenvalues +16 -13
  7. package/eigen/Eigen/Geometry +18 -18
  8. package/eigen/Eigen/Householder +9 -7
  9. package/eigen/Eigen/IterativeLinearSolvers +8 -4
  10. package/eigen/Eigen/Jacobi +14 -13
  11. package/eigen/Eigen/KLUSupport +23 -21
  12. package/eigen/Eigen/LU +15 -16
  13. package/eigen/Eigen/MetisSupport +12 -12
  14. package/eigen/Eigen/OrderingMethods +54 -51
  15. package/eigen/Eigen/PaStiXSupport +23 -21
  16. package/eigen/Eigen/PardisoSupport +17 -14
  17. package/eigen/Eigen/QR +18 -20
  18. package/eigen/Eigen/QtAlignedMalloc +5 -12
  19. package/eigen/Eigen/SPQRSupport +21 -14
  20. package/eigen/Eigen/SVD +23 -17
  21. package/eigen/Eigen/Sparse +1 -2
  22. package/eigen/Eigen/SparseCholesky +18 -15
  23. package/eigen/Eigen/SparseCore +18 -17
  24. package/eigen/Eigen/SparseLU +9 -9
  25. package/eigen/Eigen/SparseQR +16 -14
  26. package/eigen/Eigen/StdDeque +5 -2
  27. package/eigen/Eigen/StdList +5 -2
  28. package/eigen/Eigen/StdVector +5 -2
  29. package/eigen/Eigen/SuperLUSupport +30 -24
  30. package/eigen/Eigen/ThreadPool +80 -0
  31. package/eigen/Eigen/UmfPackSupport +19 -17
  32. package/eigen/Eigen/Version +14 -0
  33. package/eigen/Eigen/src/AccelerateSupport/AccelerateSupport.h +423 -0
  34. package/eigen/Eigen/src/AccelerateSupport/InternalHeaderCheck.h +3 -0
  35. package/eigen/Eigen/src/Cholesky/InternalHeaderCheck.h +3 -0
  36. package/eigen/Eigen/src/Cholesky/LDLT.h +366 -405
  37. package/eigen/Eigen/src/Cholesky/LLT.h +323 -367
  38. package/eigen/Eigen/src/Cholesky/LLT_LAPACKE.h +81 -56
  39. package/eigen/Eigen/src/CholmodSupport/CholmodSupport.h +585 -529
  40. package/eigen/Eigen/src/CholmodSupport/InternalHeaderCheck.h +3 -0
  41. package/eigen/Eigen/src/Core/ArithmeticSequence.h +143 -317
  42. package/eigen/Eigen/src/Core/Array.h +329 -370
  43. package/eigen/Eigen/src/Core/ArrayBase.h +190 -203
  44. package/eigen/Eigen/src/Core/ArrayWrapper.h +126 -170
  45. package/eigen/Eigen/src/Core/Assign.h +30 -40
  46. package/eigen/Eigen/src/Core/AssignEvaluator.h +651 -604
  47. package/eigen/Eigen/src/Core/Assign_MKL.h +125 -120
  48. package/eigen/Eigen/src/Core/BandMatrix.h +267 -282
  49. package/eigen/Eigen/src/Core/Block.h +371 -390
  50. package/eigen/Eigen/src/Core/CommaInitializer.h +85 -100
  51. package/eigen/Eigen/src/Core/ConditionEstimator.h +51 -53
  52. package/eigen/Eigen/src/Core/CoreEvaluators.h +1214 -937
  53. package/eigen/Eigen/src/Core/CoreIterators.h +72 -63
  54. package/eigen/Eigen/src/Core/CwiseBinaryOp.h +112 -129
  55. package/eigen/Eigen/src/Core/CwiseNullaryOp.h +676 -702
  56. package/eigen/Eigen/src/Core/CwiseTernaryOp.h +77 -103
  57. package/eigen/Eigen/src/Core/CwiseUnaryOp.h +55 -67
  58. package/eigen/Eigen/src/Core/CwiseUnaryView.h +127 -92
  59. package/eigen/Eigen/src/Core/DenseBase.h +630 -658
  60. package/eigen/Eigen/src/Core/DenseCoeffsBase.h +511 -628
  61. package/eigen/Eigen/src/Core/DenseStorage.h +511 -590
  62. package/eigen/Eigen/src/Core/DeviceWrapper.h +153 -0
  63. package/eigen/Eigen/src/Core/Diagonal.h +168 -207
  64. package/eigen/Eigen/src/Core/DiagonalMatrix.h +346 -317
  65. package/eigen/Eigen/src/Core/DiagonalProduct.h +12 -10
  66. package/eigen/Eigen/src/Core/Dot.h +167 -217
  67. package/eigen/Eigen/src/Core/EigenBase.h +74 -85
  68. package/eigen/Eigen/src/Core/Fill.h +138 -0
  69. package/eigen/Eigen/src/Core/FindCoeff.h +464 -0
  70. package/eigen/Eigen/src/Core/ForceAlignedAccess.h +90 -113
  71. package/eigen/Eigen/src/Core/Fuzzy.h +82 -105
  72. package/eigen/Eigen/src/Core/GeneralProduct.h +315 -261
  73. package/eigen/Eigen/src/Core/GenericPacketMath.h +1182 -520
  74. package/eigen/Eigen/src/Core/GlobalFunctions.h +193 -157
  75. package/eigen/Eigen/src/Core/IO.h +131 -156
  76. package/eigen/Eigen/src/Core/IndexedView.h +209 -125
  77. package/eigen/Eigen/src/Core/InnerProduct.h +260 -0
  78. package/eigen/Eigen/src/Core/InternalHeaderCheck.h +3 -0
  79. package/eigen/Eigen/src/Core/Inverse.h +50 -59
  80. package/eigen/Eigen/src/Core/Map.h +123 -141
  81. package/eigen/Eigen/src/Core/MapBase.h +255 -282
  82. package/eigen/Eigen/src/Core/MathFunctions.h +1247 -1201
  83. package/eigen/Eigen/src/Core/MathFunctionsImpl.h +162 -99
  84. package/eigen/Eigen/src/Core/Matrix.h +463 -494
  85. package/eigen/Eigen/src/Core/MatrixBase.h +468 -470
  86. package/eigen/Eigen/src/Core/NestByValue.h +58 -52
  87. package/eigen/Eigen/src/Core/NoAlias.h +79 -86
  88. package/eigen/Eigen/src/Core/NumTraits.h +206 -206
  89. package/eigen/Eigen/src/Core/PartialReduxEvaluator.h +163 -142
  90. package/eigen/Eigen/src/Core/PermutationMatrix.h +461 -511
  91. package/eigen/Eigen/src/Core/PlainObjectBase.h +858 -972
  92. package/eigen/Eigen/src/Core/Product.h +246 -130
  93. package/eigen/Eigen/src/Core/ProductEvaluators.h +779 -671
  94. package/eigen/Eigen/src/Core/Random.h +153 -164
  95. package/eigen/Eigen/src/Core/RandomImpl.h +262 -0
  96. package/eigen/Eigen/src/Core/RealView.h +250 -0
  97. package/eigen/Eigen/src/Core/Redux.h +334 -314
  98. package/eigen/Eigen/src/Core/Ref.h +259 -257
  99. package/eigen/Eigen/src/Core/Replicate.h +92 -104
  100. package/eigen/Eigen/src/Core/Reshaped.h +215 -271
  101. package/eigen/Eigen/src/Core/ReturnByValue.h +47 -55
  102. package/eigen/Eigen/src/Core/Reverse.h +133 -148
  103. package/eigen/Eigen/src/Core/Select.h +68 -140
  104. package/eigen/Eigen/src/Core/SelfAdjointView.h +254 -290
  105. package/eigen/Eigen/src/Core/SelfCwiseBinaryOp.h +23 -20
  106. package/eigen/Eigen/src/Core/SkewSymmetricMatrix3.h +382 -0
  107. package/eigen/Eigen/src/Core/Solve.h +88 -102
  108. package/eigen/Eigen/src/Core/SolveTriangular.h +126 -124
  109. package/eigen/Eigen/src/Core/SolverBase.h +132 -133
  110. package/eigen/Eigen/src/Core/StableNorm.h +113 -147
  111. package/eigen/Eigen/src/Core/StlIterators.h +404 -248
  112. package/eigen/Eigen/src/Core/Stride.h +90 -92
  113. package/eigen/Eigen/src/Core/Swap.h +70 -39
  114. package/eigen/Eigen/src/Core/Transpose.h +258 -295
  115. package/eigen/Eigen/src/Core/Transpositions.h +270 -333
  116. package/eigen/Eigen/src/Core/TriangularMatrix.h +642 -743
  117. package/eigen/Eigen/src/Core/VectorBlock.h +59 -72
  118. package/eigen/Eigen/src/Core/VectorwiseOp.h +653 -704
  119. package/eigen/Eigen/src/Core/Visitor.h +464 -308
  120. package/eigen/Eigen/src/Core/arch/AVX/Complex.h +380 -187
  121. package/eigen/Eigen/src/Core/arch/AVX/MathFunctions.h +65 -163
  122. package/eigen/Eigen/src/Core/arch/AVX/PacketMath.h +2145 -638
  123. package/eigen/Eigen/src/Core/arch/AVX/Reductions.h +353 -0
  124. package/eigen/Eigen/src/Core/arch/AVX/TypeCasting.h +253 -60
  125. package/eigen/Eigen/src/Core/arch/AVX512/Complex.h +278 -228
  126. package/eigen/Eigen/src/Core/arch/AVX512/GemmKernel.h +1245 -0
  127. package/eigen/Eigen/src/Core/arch/AVX512/MathFunctions.h +48 -269
  128. package/eigen/Eigen/src/Core/arch/AVX512/MathFunctionsFP16.h +75 -0
  129. package/eigen/Eigen/src/Core/arch/AVX512/PacketMath.h +1597 -754
  130. package/eigen/Eigen/src/Core/arch/AVX512/PacketMathFP16.h +1413 -0
  131. package/eigen/Eigen/src/Core/arch/AVX512/Reductions.h +297 -0
  132. package/eigen/Eigen/src/Core/arch/AVX512/TrsmKernel.h +1167 -0
  133. package/eigen/Eigen/src/Core/arch/AVX512/TrsmUnrolls.inc +1219 -0
  134. package/eigen/Eigen/src/Core/arch/AVX512/TypeCasting.h +229 -41
  135. package/eigen/Eigen/src/Core/arch/AVX512/TypeCastingFP16.h +130 -0
  136. package/eigen/Eigen/src/Core/arch/AltiVec/Complex.h +420 -184
  137. package/eigen/Eigen/src/Core/arch/AltiVec/MathFunctions.h +40 -49
  138. package/eigen/Eigen/src/Core/arch/AltiVec/MatrixProduct.h +2962 -2213
  139. package/eigen/Eigen/src/Core/arch/AltiVec/MatrixProductCommon.h +196 -212
  140. package/eigen/Eigen/src/Core/arch/AltiVec/MatrixProductMMA.h +713 -441
  141. package/eigen/Eigen/src/Core/arch/AltiVec/MatrixProductMMAbfloat16.h +742 -0
  142. package/eigen/Eigen/src/Core/arch/AltiVec/MatrixVectorProduct.inc +2818 -0
  143. package/eigen/Eigen/src/Core/arch/AltiVec/PacketMath.h +2380 -1362
  144. package/eigen/Eigen/src/Core/arch/AltiVec/TypeCasting.h +153 -0
  145. package/eigen/Eigen/src/Core/arch/Default/BFloat16.h +390 -224
  146. package/eigen/Eigen/src/Core/arch/Default/ConjHelper.h +78 -67
  147. package/eigen/Eigen/src/Core/arch/Default/GenericPacketMathFunctions.h +1784 -799
  148. package/eigen/Eigen/src/Core/arch/Default/GenericPacketMathFunctionsFwd.h +167 -50
  149. package/eigen/Eigen/src/Core/arch/Default/Half.h +528 -379
  150. package/eigen/Eigen/src/Core/arch/Default/Settings.h +10 -12
  151. package/eigen/Eigen/src/Core/arch/GPU/Complex.h +244 -0
  152. package/eigen/Eigen/src/Core/arch/GPU/MathFunctions.h +41 -40
  153. package/eigen/Eigen/src/Core/arch/GPU/PacketMath.h +550 -523
  154. package/eigen/Eigen/src/Core/arch/GPU/Tuple.h +268 -0
  155. package/eigen/Eigen/src/Core/arch/GPU/TypeCasting.h +27 -30
  156. package/eigen/Eigen/src/Core/arch/HIP/hcc/math_constants.h +8 -8
  157. package/eigen/Eigen/src/Core/arch/HVX/PacketMath.h +1088 -0
  158. package/eigen/Eigen/src/Core/arch/LSX/Complex.h +520 -0
  159. package/eigen/Eigen/src/Core/arch/LSX/GeneralBlockPanelKernel.h +23 -0
  160. package/eigen/Eigen/src/Core/arch/LSX/MathFunctions.h +43 -0
  161. package/eigen/Eigen/src/Core/arch/LSX/PacketMath.h +2866 -0
  162. package/eigen/Eigen/src/Core/arch/LSX/TypeCasting.h +526 -0
  163. package/eigen/Eigen/src/Core/arch/MSA/Complex.h +54 -82
  164. package/eigen/Eigen/src/Core/arch/MSA/MathFunctions.h +84 -92
  165. package/eigen/Eigen/src/Core/arch/MSA/PacketMath.h +51 -47
  166. package/eigen/Eigen/src/Core/arch/NEON/Complex.h +454 -306
  167. package/eigen/Eigen/src/Core/arch/NEON/GeneralBlockPanelKernel.h +175 -115
  168. package/eigen/Eigen/src/Core/arch/NEON/MathFunctions.h +23 -30
  169. package/eigen/Eigen/src/Core/arch/NEON/PacketMath.h +4366 -2857
  170. package/eigen/Eigen/src/Core/arch/NEON/TypeCasting.h +616 -393
  171. package/eigen/Eigen/src/Core/arch/NEON/UnaryFunctors.h +57 -0
  172. package/eigen/Eigen/src/Core/arch/SSE/Complex.h +350 -198
  173. package/eigen/Eigen/src/Core/arch/SSE/MathFunctions.h +38 -149
  174. package/eigen/Eigen/src/Core/arch/SSE/PacketMath.h +1791 -912
  175. package/eigen/Eigen/src/Core/arch/SSE/Reductions.h +324 -0
  176. package/eigen/Eigen/src/Core/arch/SSE/TypeCasting.h +128 -40
  177. package/eigen/Eigen/src/Core/arch/SVE/MathFunctions.h +10 -6
  178. package/eigen/Eigen/src/Core/arch/SVE/PacketMath.h +156 -234
  179. package/eigen/Eigen/src/Core/arch/SVE/TypeCasting.h +6 -3
  180. package/eigen/Eigen/src/Core/arch/SYCL/InteropHeaders.h +27 -32
  181. package/eigen/Eigen/src/Core/arch/SYCL/MathFunctions.h +119 -117
  182. package/eigen/Eigen/src/Core/arch/SYCL/PacketMath.h +325 -419
  183. package/eigen/Eigen/src/Core/arch/SYCL/TypeCasting.h +15 -17
  184. package/eigen/Eigen/src/Core/arch/ZVector/Complex.h +325 -181
  185. package/eigen/Eigen/src/Core/arch/ZVector/MathFunctions.h +94 -83
  186. package/eigen/Eigen/src/Core/arch/ZVector/PacketMath.h +811 -458
  187. package/eigen/Eigen/src/Core/functors/AssignmentFunctors.h +121 -124
  188. package/eigen/Eigen/src/Core/functors/BinaryFunctors.h +576 -370
  189. package/eigen/Eigen/src/Core/functors/NullaryFunctors.h +194 -109
  190. package/eigen/Eigen/src/Core/functors/StlFunctors.h +95 -112
  191. package/eigen/Eigen/src/Core/functors/TernaryFunctors.h +34 -7
  192. package/eigen/Eigen/src/Core/functors/UnaryFunctors.h +1038 -749
  193. package/eigen/Eigen/src/Core/products/GeneralBlockPanelKernel.h +1883 -1375
  194. package/eigen/Eigen/src/Core/products/GeneralMatrixMatrix.h +312 -370
  195. package/eigen/Eigen/src/Core/products/GeneralMatrixMatrixTriangular.h +189 -176
  196. package/eigen/Eigen/src/Core/products/GeneralMatrixMatrixTriangular_BLAS.h +84 -81
  197. package/eigen/Eigen/src/Core/products/GeneralMatrixMatrix_BLAS.h +154 -73
  198. package/eigen/Eigen/src/Core/products/GeneralMatrixVector.h +292 -337
  199. package/eigen/Eigen/src/Core/products/GeneralMatrixVector_BLAS.h +80 -77
  200. package/eigen/Eigen/src/Core/products/Parallelizer.h +207 -105
  201. package/eigen/Eigen/src/Core/products/SelfadjointMatrixMatrix.h +327 -388
  202. package/eigen/Eigen/src/Core/products/SelfadjointMatrixMatrix_BLAS.h +206 -224
  203. package/eigen/Eigen/src/Core/products/SelfadjointMatrixVector.h +138 -147
  204. package/eigen/Eigen/src/Core/products/SelfadjointMatrixVector_BLAS.h +58 -61
  205. package/eigen/Eigen/src/Core/products/SelfadjointProduct.h +71 -71
  206. package/eigen/Eigen/src/Core/products/SelfadjointRank2Update.h +48 -47
  207. package/eigen/Eigen/src/Core/products/TriangularMatrixMatrix.h +294 -369
  208. package/eigen/Eigen/src/Core/products/TriangularMatrixMatrix_BLAS.h +246 -238
  209. package/eigen/Eigen/src/Core/products/TriangularMatrixVector.h +244 -247
  210. package/eigen/Eigen/src/Core/products/TriangularMatrixVector_BLAS.h +212 -192
  211. package/eigen/Eigen/src/Core/products/TriangularSolverMatrix.h +328 -277
  212. package/eigen/Eigen/src/Core/products/TriangularSolverMatrix_BLAS.h +108 -109
  213. package/eigen/Eigen/src/Core/products/TriangularSolverVector.h +68 -94
  214. package/eigen/Eigen/src/Core/util/Assert.h +158 -0
  215. package/eigen/Eigen/src/Core/util/BlasUtil.h +342 -303
  216. package/eigen/Eigen/src/Core/util/ConfigureVectorization.h +348 -317
  217. package/eigen/Eigen/src/Core/util/Constants.h +297 -262
  218. package/eigen/Eigen/src/Core/util/DisableStupidWarnings.h +130 -90
  219. package/eigen/Eigen/src/Core/util/EmulateArray.h +270 -0
  220. package/eigen/Eigen/src/Core/util/ForwardDeclarations.h +449 -247
  221. package/eigen/Eigen/src/Core/util/GpuHipCudaDefines.inc +101 -0
  222. package/eigen/Eigen/src/Core/util/GpuHipCudaUndefines.inc +45 -0
  223. package/eigen/Eigen/src/Core/util/IndexedViewHelper.h +417 -116
  224. package/eigen/Eigen/src/Core/util/IntegralConstant.h +211 -204
  225. package/eigen/Eigen/src/Core/util/MKL_support.h +39 -37
  226. package/eigen/Eigen/src/Core/util/Macros.h +655 -773
  227. package/eigen/Eigen/src/Core/util/MaxSizeVector.h +139 -0
  228. package/eigen/Eigen/src/Core/util/Memory.h +970 -748
  229. package/eigen/Eigen/src/Core/util/Meta.h +581 -633
  230. package/eigen/Eigen/src/Core/util/MoreMeta.h +638 -0
  231. package/eigen/Eigen/src/Core/util/ReenableStupidWarnings.h +32 -19
  232. package/eigen/Eigen/src/Core/util/ReshapedHelper.h +17 -17
  233. package/eigen/Eigen/src/Core/util/Serializer.h +209 -0
  234. package/eigen/Eigen/src/Core/util/StaticAssert.h +50 -166
  235. package/eigen/Eigen/src/Core/util/SymbolicIndex.h +377 -225
  236. package/eigen/Eigen/src/Core/util/XprHelper.h +784 -547
  237. package/eigen/Eigen/src/Eigenvalues/ComplexEigenSolver.h +246 -277
  238. package/eigen/Eigen/src/Eigenvalues/ComplexSchur.h +299 -319
  239. package/eigen/Eigen/src/Eigenvalues/ComplexSchur_LAPACKE.h +52 -48
  240. package/eigen/Eigen/src/Eigenvalues/EigenSolver.h +413 -456
  241. package/eigen/Eigen/src/Eigenvalues/GeneralizedEigenSolver.h +309 -325
  242. package/eigen/Eigen/src/Eigenvalues/GeneralizedSelfAdjointEigenSolver.h +157 -171
  243. package/eigen/Eigen/src/Eigenvalues/HessenbergDecomposition.h +292 -310
  244. package/eigen/Eigen/src/Eigenvalues/InternalHeaderCheck.h +3 -0
  245. package/eigen/Eigen/src/Eigenvalues/MatrixBaseEigenvalues.h +89 -105
  246. package/eigen/Eigen/src/Eigenvalues/RealQZ.h +537 -607
  247. package/eigen/Eigen/src/Eigenvalues/RealSchur.h +342 -381
  248. package/eigen/Eigen/src/Eigenvalues/RealSchur_LAPACKE.h +41 -35
  249. package/eigen/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h +541 -595
  250. package/eigen/Eigen/src/Eigenvalues/SelfAdjointEigenSolver_LAPACKE.h +47 -44
  251. package/eigen/Eigen/src/Eigenvalues/Tridiagonalization.h +430 -462
  252. package/eigen/Eigen/src/Geometry/AlignedBox.h +226 -227
  253. package/eigen/Eigen/src/Geometry/AngleAxis.h +131 -133
  254. package/eigen/Eigen/src/Geometry/EulerAngles.h +163 -74
  255. package/eigen/Eigen/src/Geometry/Homogeneous.h +285 -333
  256. package/eigen/Eigen/src/Geometry/Hyperplane.h +151 -160
  257. package/eigen/Eigen/src/Geometry/InternalHeaderCheck.h +3 -0
  258. package/eigen/Eigen/src/Geometry/OrthoMethods.h +168 -146
  259. package/eigen/Eigen/src/Geometry/ParametrizedLine.h +127 -127
  260. package/eigen/Eigen/src/Geometry/Quaternion.h +566 -506
  261. package/eigen/Eigen/src/Geometry/Rotation2D.h +107 -105
  262. package/eigen/Eigen/src/Geometry/RotationBase.h +148 -145
  263. package/eigen/Eigen/src/Geometry/Scaling.h +113 -106
  264. package/eigen/Eigen/src/Geometry/Transform.h +858 -936
  265. package/eigen/Eigen/src/Geometry/Translation.h +94 -92
  266. package/eigen/Eigen/src/Geometry/Umeyama.h +79 -84
  267. package/eigen/Eigen/src/Geometry/arch/Geometry_SIMD.h +90 -104
  268. package/eigen/Eigen/src/Householder/BlockHouseholder.h +51 -46
  269. package/eigen/Eigen/src/Householder/Householder.h +102 -124
  270. package/eigen/Eigen/src/Householder/HouseholderSequence.h +412 -453
  271. package/eigen/Eigen/src/Householder/InternalHeaderCheck.h +3 -0
  272. package/eigen/Eigen/src/IterativeLinearSolvers/BasicPreconditioners.h +149 -162
  273. package/eigen/Eigen/src/IterativeLinearSolvers/BiCGSTAB.h +124 -119
  274. package/eigen/Eigen/src/IterativeLinearSolvers/ConjugateGradient.h +92 -104
  275. package/eigen/Eigen/src/IterativeLinearSolvers/IncompleteCholesky.h +251 -243
  276. package/eigen/Eigen/src/IterativeLinearSolvers/IncompleteLUT.h +224 -228
  277. package/eigen/Eigen/src/IterativeLinearSolvers/InternalHeaderCheck.h +3 -0
  278. package/eigen/Eigen/src/IterativeLinearSolvers/IterativeSolverBase.h +178 -227
  279. package/eigen/Eigen/src/IterativeLinearSolvers/LeastSquareConjugateGradient.h +79 -84
  280. package/eigen/Eigen/src/IterativeLinearSolvers/SolveWithGuess.h +54 -60
  281. package/eigen/Eigen/src/Jacobi/InternalHeaderCheck.h +3 -0
  282. package/eigen/Eigen/src/Jacobi/Jacobi.h +252 -308
  283. package/eigen/Eigen/src/KLUSupport/InternalHeaderCheck.h +3 -0
  284. package/eigen/Eigen/src/KLUSupport/KLUSupport.h +208 -227
  285. package/eigen/Eigen/src/LU/Determinant.h +50 -69
  286. package/eigen/Eigen/src/LU/FullPivLU.h +545 -596
  287. package/eigen/Eigen/src/LU/InternalHeaderCheck.h +3 -0
  288. package/eigen/Eigen/src/LU/InverseImpl.h +206 -285
  289. package/eigen/Eigen/src/LU/PartialPivLU.h +390 -428
  290. package/eigen/Eigen/src/LU/PartialPivLU_LAPACKE.h +54 -40
  291. package/eigen/Eigen/src/LU/arch/InverseSize4.h +72 -70
  292. package/eigen/Eigen/src/MetisSupport/InternalHeaderCheck.h +3 -0
  293. package/eigen/Eigen/src/MetisSupport/MetisSupport.h +81 -93
  294. package/eigen/Eigen/src/OrderingMethods/Amd.h +243 -265
  295. package/eigen/Eigen/src/OrderingMethods/Eigen_Colamd.h +831 -1004
  296. package/eigen/Eigen/src/OrderingMethods/InternalHeaderCheck.h +3 -0
  297. package/eigen/Eigen/src/OrderingMethods/Ordering.h +112 -119
  298. package/eigen/Eigen/src/PaStiXSupport/InternalHeaderCheck.h +3 -0
  299. package/eigen/Eigen/src/PaStiXSupport/PaStiXSupport.h +524 -570
  300. package/eigen/Eigen/src/PardisoSupport/InternalHeaderCheck.h +3 -0
  301. package/eigen/Eigen/src/PardisoSupport/PardisoSupport.h +385 -430
  302. package/eigen/Eigen/src/QR/ColPivHouseholderQR.h +479 -479
  303. package/eigen/Eigen/src/QR/ColPivHouseholderQR_LAPACKE.h +120 -56
  304. package/eigen/Eigen/src/QR/CompleteOrthogonalDecomposition.h +166 -153
  305. package/eigen/Eigen/src/QR/FullPivHouseholderQR.h +495 -475
  306. package/eigen/Eigen/src/QR/HouseholderQR.h +394 -285
  307. package/eigen/Eigen/src/QR/HouseholderQR_LAPACKE.h +32 -23
  308. package/eigen/Eigen/src/QR/InternalHeaderCheck.h +3 -0
  309. package/eigen/Eigen/src/SPQRSupport/InternalHeaderCheck.h +3 -0
  310. package/eigen/Eigen/src/SPQRSupport/SuiteSparseQRSupport.h +244 -264
  311. package/eigen/Eigen/src/SVD/BDCSVD.h +817 -713
  312. package/eigen/Eigen/src/SVD/BDCSVD_LAPACKE.h +174 -0
  313. package/eigen/Eigen/src/SVD/InternalHeaderCheck.h +3 -0
  314. package/eigen/Eigen/src/SVD/JacobiSVD.h +577 -543
  315. package/eigen/Eigen/src/SVD/JacobiSVD_LAPACKE.h +85 -49
  316. package/eigen/Eigen/src/SVD/SVDBase.h +242 -182
  317. package/eigen/Eigen/src/SVD/UpperBidiagonalization.h +200 -235
  318. package/eigen/Eigen/src/SparseCholesky/InternalHeaderCheck.h +3 -0
  319. package/eigen/Eigen/src/SparseCholesky/SimplicialCholesky.h +765 -594
  320. package/eigen/Eigen/src/SparseCholesky/SimplicialCholesky_impl.h +308 -94
  321. package/eigen/Eigen/src/SparseCore/AmbiVector.h +202 -251
  322. package/eigen/Eigen/src/SparseCore/CompressedStorage.h +184 -252
  323. package/eigen/Eigen/src/SparseCore/ConservativeSparseSparseProduct.h +134 -178
  324. package/eigen/Eigen/src/SparseCore/InternalHeaderCheck.h +3 -0
  325. package/eigen/Eigen/src/SparseCore/SparseAssign.h +149 -140
  326. package/eigen/Eigen/src/SparseCore/SparseBlock.h +403 -440
  327. package/eigen/Eigen/src/SparseCore/SparseColEtree.h +100 -112
  328. package/eigen/Eigen/src/SparseCore/SparseCompressedBase.h +525 -303
  329. package/eigen/Eigen/src/SparseCore/SparseCwiseBinaryOp.h +555 -339
  330. package/eigen/Eigen/src/SparseCore/SparseCwiseUnaryOp.h +100 -108
  331. package/eigen/Eigen/src/SparseCore/SparseDenseProduct.h +169 -197
  332. package/eigen/Eigen/src/SparseCore/SparseDiagonalProduct.h +71 -71
  333. package/eigen/Eigen/src/SparseCore/SparseDot.h +49 -47
  334. package/eigen/Eigen/src/SparseCore/SparseFuzzy.h +13 -11
  335. package/eigen/Eigen/src/SparseCore/SparseMap.h +243 -253
  336. package/eigen/Eigen/src/SparseCore/SparseMatrix.h +1603 -1245
  337. package/eigen/Eigen/src/SparseCore/SparseMatrixBase.h +403 -350
  338. package/eigen/Eigen/src/SparseCore/SparsePermutation.h +186 -115
  339. package/eigen/Eigen/src/SparseCore/SparseProduct.h +94 -97
  340. package/eigen/Eigen/src/SparseCore/SparseRedux.h +22 -24
  341. package/eigen/Eigen/src/SparseCore/SparseRef.h +268 -295
  342. package/eigen/Eigen/src/SparseCore/SparseSelfAdjointView.h +370 -416
  343. package/eigen/Eigen/src/SparseCore/SparseSolverBase.h +78 -87
  344. package/eigen/Eigen/src/SparseCore/SparseSparseProductWithPruning.h +81 -95
  345. package/eigen/Eigen/src/SparseCore/SparseTranspose.h +62 -71
  346. package/eigen/Eigen/src/SparseCore/SparseTriangularView.h +132 -144
  347. package/eigen/Eigen/src/SparseCore/SparseUtil.h +138 -115
  348. package/eigen/Eigen/src/SparseCore/SparseVector.h +426 -372
  349. package/eigen/Eigen/src/SparseCore/SparseView.h +164 -193
  350. package/eigen/Eigen/src/SparseCore/TriangularSolver.h +129 -170
  351. package/eigen/Eigen/src/SparseLU/InternalHeaderCheck.h +3 -0
  352. package/eigen/Eigen/src/SparseLU/SparseLU.h +756 -710
  353. package/eigen/Eigen/src/SparseLU/SparseLUImpl.h +61 -48
  354. package/eigen/Eigen/src/SparseLU/SparseLU_Memory.h +102 -118
  355. package/eigen/Eigen/src/SparseLU/SparseLU_Structs.h +38 -35
  356. package/eigen/Eigen/src/SparseLU/SparseLU_SupernodalMatrix.h +245 -301
  357. package/eigen/Eigen/src/SparseLU/SparseLU_Utils.h +44 -49
  358. package/eigen/Eigen/src/SparseLU/SparseLU_column_bmod.h +104 -108
  359. package/eigen/Eigen/src/SparseLU/SparseLU_column_dfs.h +89 -100
  360. package/eigen/Eigen/src/SparseLU/SparseLU_copy_to_ucol.h +57 -58
  361. package/eigen/Eigen/src/SparseLU/SparseLU_heap_relax_snode.h +43 -55
  362. package/eigen/Eigen/src/SparseLU/SparseLU_kernel_bmod.h +74 -71
  363. package/eigen/Eigen/src/SparseLU/SparseLU_panel_bmod.h +124 -132
  364. package/eigen/Eigen/src/SparseLU/SparseLU_panel_dfs.h +136 -159
  365. package/eigen/Eigen/src/SparseLU/SparseLU_pivotL.h +51 -52
  366. package/eigen/Eigen/src/SparseLU/SparseLU_pruneL.h +67 -73
  367. package/eigen/Eigen/src/SparseLU/SparseLU_relax_snode.h +24 -26
  368. package/eigen/Eigen/src/SparseQR/InternalHeaderCheck.h +3 -0
  369. package/eigen/Eigen/src/SparseQR/SparseQR.h +450 -502
  370. package/eigen/Eigen/src/StlSupport/StdDeque.h +28 -93
  371. package/eigen/Eigen/src/StlSupport/StdList.h +28 -84
  372. package/eigen/Eigen/src/StlSupport/StdVector.h +28 -108
  373. package/eigen/Eigen/src/StlSupport/details.h +48 -50
  374. package/eigen/Eigen/src/SuperLUSupport/InternalHeaderCheck.h +3 -0
  375. package/eigen/Eigen/src/SuperLUSupport/SuperLUSupport.h +634 -730
  376. package/eigen/Eigen/src/ThreadPool/Barrier.h +70 -0
  377. package/eigen/Eigen/src/ThreadPool/CoreThreadPoolDevice.h +336 -0
  378. package/eigen/Eigen/src/ThreadPool/EventCount.h +241 -0
  379. package/eigen/Eigen/src/ThreadPool/ForkJoin.h +140 -0
  380. package/eigen/Eigen/src/ThreadPool/InternalHeaderCheck.h +4 -0
  381. package/eigen/Eigen/src/ThreadPool/NonBlockingThreadPool.h +587 -0
  382. package/eigen/Eigen/src/ThreadPool/RunQueue.h +230 -0
  383. package/eigen/Eigen/src/ThreadPool/ThreadCancel.h +21 -0
  384. package/eigen/Eigen/src/ThreadPool/ThreadEnvironment.h +43 -0
  385. package/eigen/Eigen/src/ThreadPool/ThreadLocal.h +289 -0
  386. package/eigen/Eigen/src/ThreadPool/ThreadPoolInterface.h +50 -0
  387. package/eigen/Eigen/src/ThreadPool/ThreadYield.h +16 -0
  388. package/eigen/Eigen/src/UmfPackSupport/InternalHeaderCheck.h +3 -0
  389. package/eigen/Eigen/src/UmfPackSupport/UmfPackSupport.h +428 -464
  390. package/eigen/Eigen/src/misc/Image.h +41 -43
  391. package/eigen/Eigen/src/misc/InternalHeaderCheck.h +3 -0
  392. package/eigen/Eigen/src/misc/Kernel.h +39 -41
  393. package/eigen/Eigen/src/misc/RealSvd2x2.h +19 -21
  394. package/eigen/Eigen/src/misc/blas.h +83 -426
  395. package/eigen/Eigen/src/misc/lapacke.h +9972 -16179
  396. package/eigen/Eigen/src/misc/lapacke_helpers.h +163 -0
  397. package/eigen/Eigen/src/misc/lapacke_mangling.h +4 -5
  398. package/eigen/Eigen/src/plugins/ArrayCwiseBinaryOps.inc +344 -0
  399. package/eigen/Eigen/src/plugins/ArrayCwiseUnaryOps.inc +544 -0
  400. package/eigen/Eigen/src/plugins/{BlockMethods.h → BlockMethods.inc} +434 -506
  401. package/eigen/Eigen/src/plugins/CommonCwiseBinaryOps.inc +116 -0
  402. package/eigen/Eigen/src/plugins/{CommonCwiseUnaryOps.h → CommonCwiseUnaryOps.inc} +58 -68
  403. package/eigen/Eigen/src/plugins/IndexedViewMethods.inc +192 -0
  404. package/eigen/Eigen/src/plugins/InternalHeaderCheck.inc +3 -0
  405. package/eigen/Eigen/src/plugins/MatrixCwiseBinaryOps.inc +331 -0
  406. package/eigen/Eigen/src/plugins/MatrixCwiseUnaryOps.inc +118 -0
  407. package/eigen/Eigen/src/plugins/ReshapedMethods.inc +133 -0
  408. package/package.json +1 -1
  409. package/eigen/COPYING.APACHE +0 -203
  410. package/eigen/COPYING.BSD +0 -26
  411. package/eigen/COPYING.GPL +0 -674
  412. package/eigen/COPYING.LGPL +0 -502
  413. package/eigen/COPYING.MINPACK +0 -51
  414. package/eigen/COPYING.MPL2 +0 -373
  415. package/eigen/COPYING.README +0 -18
  416. package/eigen/Eigen/src/Core/BooleanRedux.h +0 -162
  417. package/eigen/Eigen/src/Core/arch/CUDA/Complex.h +0 -258
  418. package/eigen/Eigen/src/Core/arch/Default/TypeCasting.h +0 -120
  419. package/eigen/Eigen/src/Core/arch/SYCL/SyclMemoryModel.h +0 -694
  420. package/eigen/Eigen/src/Core/util/NonMPL2.h +0 -3
  421. package/eigen/Eigen/src/SparseCore/MappedSparseMatrix.h +0 -67
  422. package/eigen/Eigen/src/SparseLU/SparseLU_gemm_kernel.h +0 -280
  423. package/eigen/Eigen/src/misc/lapack.h +0 -152
  424. package/eigen/Eigen/src/plugins/ArrayCwiseBinaryOps.h +0 -358
  425. package/eigen/Eigen/src/plugins/ArrayCwiseUnaryOps.h +0 -696
  426. package/eigen/Eigen/src/plugins/CommonCwiseBinaryOps.h +0 -115
  427. package/eigen/Eigen/src/plugins/IndexedViewMethods.h +0 -262
  428. package/eigen/Eigen/src/plugins/MatrixCwiseBinaryOps.h +0 -152
  429. package/eigen/Eigen/src/plugins/MatrixCwiseUnaryOps.h +0 -95
  430. package/eigen/Eigen/src/plugins/ReshapedMethods.h +0 -149
  431. package/eigen/README.md +0 -5
@@ -10,6 +10,9 @@
10
10
  #ifndef EIGEN_TYPE_CASTING_SVE_H
11
11
  #define EIGEN_TYPE_CASTING_SVE_H
12
12
 
13
+ // IWYU pragma: private
14
+ #include "../../InternalHeaderCheck.h"
15
+
13
16
  namespace Eigen {
14
17
  namespace internal {
15
18
 
@@ -25,12 +28,12 @@ struct type_casting_traits<numext::int32_t, float> {
25
28
 
26
29
  template <>
27
30
  EIGEN_STRONG_INLINE PacketXf pcast<PacketXi, PacketXf>(const PacketXi& a) {
28
- return svcvt_f32_s32_z(svptrue_b32(), a);
31
+ return svcvt_f32_s32_x(svptrue_b32(), a);
29
32
  }
30
33
 
31
34
  template <>
32
35
  EIGEN_STRONG_INLINE PacketXi pcast<PacketXf, PacketXi>(const PacketXf& a) {
33
- return svcvt_s32_f32_z(svptrue_b32(), a);
36
+ return svcvt_s32_f32_x(svptrue_b32(), a);
34
37
  }
35
38
 
36
39
  template <>
@@ -46,4 +49,4 @@ EIGEN_STRONG_INLINE PacketXi preinterpret<PacketXi, PacketXf>(const PacketXf& a)
46
49
  } // namespace internal
47
50
  } // namespace Eigen
48
51
 
49
- #endif // EIGEN_TYPE_CASTING_SVE_H
52
+ #endif // EIGEN_TYPE_CASTING_SVE_H
@@ -21,6 +21,9 @@
21
21
  #ifndef EIGEN_INTEROP_HEADERS_SYCL_H
22
22
  #define EIGEN_INTEROP_HEADERS_SYCL_H
23
23
 
24
+ // IWYU pragma: private
25
+ #include "../../InternalHeaderCheck.h"
26
+
24
27
  namespace Eigen {
25
28
 
26
29
  #if !defined(EIGEN_DONT_VECTORIZE_SYCL)
@@ -33,7 +36,6 @@ struct sycl_packet_traits : default_packet_traits {
33
36
  Vectorizable = 1,
34
37
  AlignedOnScalar = 1,
35
38
  size = lengths,
36
- HasHalfPacket = 0,
37
39
  HasDiv = 1,
38
40
  HasLog = 1,
39
41
  HasExp = 1,
@@ -76,14 +78,15 @@ struct sycl_packet_traits : default_packet_traits {
76
78
  };
77
79
 
78
80
  #ifdef SYCL_DEVICE_ONLY
79
- #define SYCL_PACKET_TRAITS(packet_type, has_blend, unpacket_type, lengths) \
80
- template <> \
81
- struct packet_traits<unpacket_type> \
82
- : sycl_packet_traits<has_blend, lengths> { \
83
- typedef packet_type type; \
84
- typedef packet_type half; \
81
+ #define SYCL_PACKET_TRAITS(packet_type, has_blend, unpacket_type, lengths) \
82
+ template <> \
83
+ struct packet_traits<unpacket_type> : sycl_packet_traits<has_blend, lengths> { \
84
+ typedef packet_type type; \
85
+ typedef packet_type half; \
85
86
  };
86
87
 
88
+ SYCL_PACKET_TRAITS(cl::sycl::cl_half8, 1, Eigen::half, 8)
89
+ SYCL_PACKET_TRAITS(cl::sycl::cl_half8, 1, const Eigen::half, 8)
87
90
  SYCL_PACKET_TRAITS(cl::sycl::cl_float4, 1, float, 4)
88
91
  SYCL_PACKET_TRAITS(cl::sycl::cl_float4, 1, const float, 4)
89
92
  SYCL_PACKET_TRAITS(cl::sycl::cl_double2, 0, double, 2)
@@ -98,6 +101,7 @@ SYCL_PACKET_TRAITS(cl::sycl::cl_double2, 0, const double, 2)
98
101
  struct is_arithmetic<packet_type> { \
99
102
  enum { value = true }; \
100
103
  };
104
+ SYCL_ARITHMETIC(cl::sycl::cl_half8)
101
105
  SYCL_ARITHMETIC(cl::sycl::cl_float4)
102
106
  SYCL_ARITHMETIC(cl::sycl::cl_double2)
103
107
  #undef SYCL_ARITHMETIC
@@ -109,6 +113,7 @@ SYCL_ARITHMETIC(cl::sycl::cl_double2)
109
113
  enum { size = lengths, vectorizable = true, alignment = Aligned16 }; \
110
114
  typedef packet_type half; \
111
115
  };
116
+ SYCL_UNPACKET_TRAITS(cl::sycl::cl_half8, Eigen::half, 8)
112
117
  SYCL_UNPACKET_TRAITS(cl::sycl::cl_float4, float, 4)
113
118
  SYCL_UNPACKET_TRAITS(cl::sycl::cl_double2, double, 2)
114
119
 
@@ -128,15 +133,13 @@ struct PacketWrapper;
128
133
  #ifndef SYCL_DEVICE_ONLY
129
134
  template <typename PacketReturnType, int PacketSize>
130
135
  struct PacketWrapper {
131
- typedef typename ::Eigen::internal::unpacket_traits<PacketReturnType>::type
132
- Scalar;
136
+ typedef typename ::Eigen::internal::unpacket_traits<PacketReturnType>::type Scalar;
133
137
  template <typename Index>
134
138
  EIGEN_DEVICE_FUNC static Scalar scalarize(Index, PacketReturnType &) {
135
139
  eigen_assert(false && "THERE IS NO PACKETIZE VERSION FOR THE CHOSEN TYPE");
136
140
  abort();
137
141
  }
138
- EIGEN_DEVICE_FUNC static PacketReturnType convert_to_packet_type(Scalar in,
139
- Scalar) {
142
+ EIGEN_DEVICE_FUNC static PacketReturnType convert_to_packet_type(Scalar in, Scalar) {
140
143
  return ::Eigen::internal::template plset<PacketReturnType>(in);
141
144
  }
142
145
  EIGEN_DEVICE_FUNC static void set_packet(PacketReturnType, Scalar *) {
@@ -148,8 +151,7 @@ struct PacketWrapper {
148
151
  #elif defined(SYCL_DEVICE_ONLY)
149
152
  template <typename PacketReturnType>
150
153
  struct PacketWrapper<PacketReturnType, 4> {
151
- typedef typename ::Eigen::internal::unpacket_traits<PacketReturnType>::type
152
- Scalar;
154
+ typedef typename ::Eigen::internal::unpacket_traits<PacketReturnType>::type Scalar;
153
155
  template <typename Index>
154
156
  EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE static Scalar scalarize(Index index, PacketReturnType &in) {
155
157
  switch (index) {
@@ -162,15 +164,14 @@ struct PacketWrapper<PacketReturnType, 4> {
162
164
  case 3:
163
165
  return in.w();
164
166
  default:
165
- //INDEX MUST BE BETWEEN 0 and 3.There is no abort function in SYCL kernel. so we cannot use abort here.
166
- // The code will never reach here
167
- __builtin_unreachable();
167
+ // INDEX MUST BE BETWEEN 0 and 3.There is no abort function in SYCL kernel. so we cannot use abort here.
168
+ // The code will never reach here
169
+ __builtin_unreachable();
168
170
  }
169
171
  __builtin_unreachable();
170
172
  }
171
173
 
172
- EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE static PacketReturnType convert_to_packet_type(
173
- Scalar in, Scalar other) {
174
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE static PacketReturnType convert_to_packet_type(Scalar in, Scalar other) {
174
175
  return PacketReturnType(in, other, other, other);
175
176
  }
176
177
  EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE static void set_packet(PacketReturnType &lhs, Scalar *rhs) {
@@ -180,25 +181,20 @@ struct PacketWrapper<PacketReturnType, 4> {
180
181
 
181
182
  template <typename PacketReturnType>
182
183
  struct PacketWrapper<PacketReturnType, 1> {
183
- typedef typename ::Eigen::internal::unpacket_traits<PacketReturnType>::type
184
- Scalar;
184
+ typedef typename ::Eigen::internal::unpacket_traits<PacketReturnType>::type Scalar;
185
185
  template <typename Index>
186
186
  EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE static Scalar scalarize(Index, PacketReturnType &in) {
187
187
  return in;
188
188
  }
189
- EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE static PacketReturnType convert_to_packet_type(Scalar in,
190
- Scalar) {
189
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE static PacketReturnType convert_to_packet_type(Scalar in, Scalar) {
191
190
  return PacketReturnType(in);
192
191
  }
193
- EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE static void set_packet(PacketReturnType &lhs, Scalar *rhs) {
194
- lhs = rhs[0];
195
- }
192
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE static void set_packet(PacketReturnType &lhs, Scalar *rhs) { lhs = rhs[0]; }
196
193
  };
197
194
 
198
195
  template <typename PacketReturnType>
199
196
  struct PacketWrapper<PacketReturnType, 2> {
200
- typedef typename ::Eigen::internal::unpacket_traits<PacketReturnType>::type
201
- Scalar;
197
+ typedef typename ::Eigen::internal::unpacket_traits<PacketReturnType>::type Scalar;
202
198
  template <typename Index>
203
199
  EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE static Scalar scalarize(Index index, PacketReturnType &in) {
204
200
  switch (index) {
@@ -207,15 +203,14 @@ struct PacketWrapper<PacketReturnType, 2> {
207
203
  case 1:
208
204
  return in.y();
209
205
  default:
210
- //INDEX MUST BE BETWEEN 0 and 1.There is no abort function in SYCL kernel. so we cannot use abort here.
211
- // The code will never reach here
206
+ // INDEX MUST BE BETWEEN 0 and 1.There is no abort function in SYCL kernel. so we cannot use abort here.
207
+ // The code will never reach here
212
208
  __builtin_unreachable();
213
209
  }
214
210
  __builtin_unreachable();
215
211
  }
216
-
217
- EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE static PacketReturnType convert_to_packet_type(
218
- Scalar in, Scalar other) {
212
+
213
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE static PacketReturnType convert_to_packet_type(Scalar in, Scalar other) {
219
214
  return PacketReturnType(in, other);
220
215
  }
221
216
  EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE static void set_packet(PacketReturnType &lhs, Scalar *rhs) {
@@ -20,6 +20,9 @@
20
20
 
21
21
  #ifndef EIGEN_MATH_FUNCTIONS_SYCL_H
22
22
  #define EIGEN_MATH_FUNCTIONS_SYCL_H
23
+ // IWYU pragma: private
24
+ #include "../../InternalHeaderCheck.h"
25
+
23
26
  namespace Eigen {
24
27
 
25
28
  namespace internal {
@@ -28,267 +31,266 @@ namespace internal {
28
31
  // introduce conflicts between these packet_traits definitions and the ones
29
32
  // we'll use on the host side (SSE, AVX, ...)
30
33
  #if defined(SYCL_DEVICE_ONLY)
31
- #define SYCL_PLOG(packet_type) \
32
- template <> \
33
- EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE packet_type plog<packet_type>( \
34
- const packet_type& a) { \
35
- return cl::sycl::log(a); \
34
+ #define SYCL_PLOG(packet_type) \
35
+ template <> \
36
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE packet_type plog<packet_type>(const packet_type& a) { \
37
+ return cl::sycl::log(a); \
36
38
  }
37
39
 
40
+ SYCL_PLOG(cl::sycl::cl_half8)
38
41
  SYCL_PLOG(cl::sycl::cl_float4)
39
42
  SYCL_PLOG(cl::sycl::cl_double2)
40
43
  #undef SYCL_PLOG
41
44
 
42
- #define SYCL_PLOG1P(packet_type) \
43
- template <> \
44
- EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE packet_type plog1p<packet_type>( \
45
- const packet_type& a) { \
46
- return cl::sycl::log1p(a); \
45
+ #define SYCL_PLOG1P(packet_type) \
46
+ template <> \
47
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE packet_type plog1p<packet_type>(const packet_type& a) { \
48
+ return cl::sycl::log1p(a); \
47
49
  }
48
50
 
51
+ SYCL_PLOG1P(cl::sycl::cl_half8)
49
52
  SYCL_PLOG1P(cl::sycl::cl_float4)
50
53
  SYCL_PLOG1P(cl::sycl::cl_double2)
51
54
  #undef SYCL_PLOG1P
52
55
 
53
- #define SYCL_PLOG10(packet_type) \
54
- template <> \
55
- EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE packet_type plog10<packet_type>( \
56
- const packet_type& a) { \
57
- return cl::sycl::log10(a); \
56
+ #define SYCL_PLOG10(packet_type) \
57
+ template <> \
58
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE packet_type plog10<packet_type>(const packet_type& a) { \
59
+ return cl::sycl::log10(a); \
58
60
  }
59
61
 
62
+ SYCL_PLOG10(cl::sycl::cl_half8)
60
63
  SYCL_PLOG10(cl::sycl::cl_float4)
61
64
  SYCL_PLOG10(cl::sycl::cl_double2)
62
65
  #undef SYCL_PLOG10
63
66
 
64
- #define SYCL_PEXP(packet_type) \
65
- template <> \
66
- EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE packet_type pexp<packet_type>( \
67
- const packet_type& a) { \
68
- return cl::sycl::exp(a); \
67
+ #define SYCL_PEXP(packet_type) \
68
+ template <> \
69
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE packet_type pexp<packet_type>(const packet_type& a) { \
70
+ return cl::sycl::exp(a); \
69
71
  }
70
72
 
73
+ SYCL_PEXP(cl::sycl::cl_half8)
74
+ SYCL_PEXP(cl::sycl::cl_half)
71
75
  SYCL_PEXP(cl::sycl::cl_float4)
72
76
  SYCL_PEXP(cl::sycl::cl_float)
73
77
  SYCL_PEXP(cl::sycl::cl_double2)
74
78
  #undef SYCL_PEXP
75
79
 
76
- #define SYCL_PEXPM1(packet_type) \
77
- template <> \
78
- EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE packet_type pexpm1<packet_type>( \
79
- const packet_type& a) { \
80
- return cl::sycl::expm1(a); \
80
+ #define SYCL_PEXPM1(packet_type) \
81
+ template <> \
82
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE packet_type pexpm1<packet_type>(const packet_type& a) { \
83
+ return cl::sycl::expm1(a); \
81
84
  }
82
85
 
86
+ SYCL_PEXPM1(cl::sycl::cl_half8)
83
87
  SYCL_PEXPM1(cl::sycl::cl_float4)
84
88
  SYCL_PEXPM1(cl::sycl::cl_double2)
85
89
  #undef SYCL_PEXPM1
86
90
 
87
- #define SYCL_PSQRT(packet_type) \
88
- template <> \
89
- EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE packet_type psqrt<packet_type>( \
90
- const packet_type& a) { \
91
- return cl::sycl::sqrt(a); \
91
+ #define SYCL_PSQRT(packet_type) \
92
+ template <> \
93
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE packet_type psqrt<packet_type>(const packet_type& a) { \
94
+ return cl::sycl::sqrt(a); \
92
95
  }
93
96
 
97
+ SYCL_PSQRT(cl::sycl::cl_half8)
94
98
  SYCL_PSQRT(cl::sycl::cl_float4)
95
99
  SYCL_PSQRT(cl::sycl::cl_double2)
96
100
  #undef SYCL_PSQRT
97
101
 
98
- #define SYCL_PRSQRT(packet_type) \
99
- template <> \
100
- EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE packet_type prsqrt<packet_type>( \
101
- const packet_type& a) { \
102
- return cl::sycl::rsqrt(a); \
102
+ #define SYCL_PRSQRT(packet_type) \
103
+ template <> \
104
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE packet_type prsqrt<packet_type>(const packet_type& a) { \
105
+ return cl::sycl::rsqrt(a); \
103
106
  }
104
107
 
108
+ SYCL_PRSQRT(cl::sycl::cl_half8)
105
109
  SYCL_PRSQRT(cl::sycl::cl_float4)
106
110
  SYCL_PRSQRT(cl::sycl::cl_double2)
107
111
  #undef SYCL_PRSQRT
108
112
 
109
113
  /** \internal \returns the hyperbolic sine of \a a (coeff-wise) */
110
- #define SYCL_PSIN(packet_type) \
111
- template <> \
112
- EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE packet_type psin<packet_type>( \
113
- const packet_type& a) { \
114
- return cl::sycl::sin(a); \
114
+ #define SYCL_PSIN(packet_type) \
115
+ template <> \
116
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE packet_type psin<packet_type>(const packet_type& a) { \
117
+ return cl::sycl::sin(a); \
115
118
  }
116
119
 
120
+ SYCL_PSIN(cl::sycl::cl_half8)
117
121
  SYCL_PSIN(cl::sycl::cl_float4)
118
122
  SYCL_PSIN(cl::sycl::cl_double2)
119
123
  #undef SYCL_PSIN
120
124
 
121
125
  /** \internal \returns the hyperbolic cosine of \a a (coeff-wise) */
122
- #define SYCL_PCOS(packet_type) \
123
- template <> \
124
- EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE packet_type pcos<packet_type>( \
125
- const packet_type& a) { \
126
- return cl::sycl::cos(a); \
126
+ #define SYCL_PCOS(packet_type) \
127
+ template <> \
128
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE packet_type pcos<packet_type>(const packet_type& a) { \
129
+ return cl::sycl::cos(a); \
127
130
  }
128
131
 
132
+ SYCL_PCOS(cl::sycl::cl_half8)
129
133
  SYCL_PCOS(cl::sycl::cl_float4)
130
134
  SYCL_PCOS(cl::sycl::cl_double2)
131
135
  #undef SYCL_PCOS
132
136
 
133
137
  /** \internal \returns the hyperbolic tan of \a a (coeff-wise) */
134
- #define SYCL_PTAN(packet_type) \
135
- template <> \
136
- EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE packet_type ptan<packet_type>( \
137
- const packet_type& a) { \
138
- return cl::sycl::tan(a); \
138
+ #define SYCL_PTAN(packet_type) \
139
+ template <> \
140
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE packet_type ptan<packet_type>(const packet_type& a) { \
141
+ return cl::sycl::tan(a); \
139
142
  }
140
143
 
144
+ SYCL_PTAN(cl::sycl::cl_half8)
141
145
  SYCL_PTAN(cl::sycl::cl_float4)
142
146
  SYCL_PTAN(cl::sycl::cl_double2)
143
147
  #undef SYCL_PTAN
144
148
 
145
149
  /** \internal \returns the hyperbolic sine of \a a (coeff-wise) */
146
- #define SYCL_PASIN(packet_type) \
147
- template <> \
148
- EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE packet_type pasin<packet_type>( \
149
- const packet_type& a) { \
150
- return cl::sycl::asin(a); \
150
+ #define SYCL_PASIN(packet_type) \
151
+ template <> \
152
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE packet_type pasin<packet_type>(const packet_type& a) { \
153
+ return cl::sycl::asin(a); \
151
154
  }
152
155
 
156
+ SYCL_PASIN(cl::sycl::cl_half8)
153
157
  SYCL_PASIN(cl::sycl::cl_float4)
154
158
  SYCL_PASIN(cl::sycl::cl_double2)
155
159
  #undef SYCL_PASIN
156
160
 
157
161
  /** \internal \returns the hyperbolic cosine of \a a (coeff-wise) */
158
- #define SYCL_PACOS(packet_type) \
159
- template <> \
160
- EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE packet_type pacos<packet_type>( \
161
- const packet_type& a) { \
162
- return cl::sycl::acos(a); \
162
+ #define SYCL_PACOS(packet_type) \
163
+ template <> \
164
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE packet_type pacos<packet_type>(const packet_type& a) { \
165
+ return cl::sycl::acos(a); \
163
166
  }
164
167
 
168
+ SYCL_PACOS(cl::sycl::cl_half8)
165
169
  SYCL_PACOS(cl::sycl::cl_float4)
166
170
  SYCL_PACOS(cl::sycl::cl_double2)
167
171
  #undef SYCL_PACOS
168
172
 
169
173
  /** \internal \returns the hyperbolic tan of \a a (coeff-wise) */
170
- #define SYCL_PATAN(packet_type) \
171
- template <> \
172
- EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE packet_type patan<packet_type>( \
173
- const packet_type& a) { \
174
- return cl::sycl::atan(a); \
174
+ #define SYCL_PATAN(packet_type) \
175
+ template <> \
176
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE packet_type patan<packet_type>(const packet_type& a) { \
177
+ return cl::sycl::atan(a); \
175
178
  }
176
179
 
180
+ SYCL_PATAN(cl::sycl::cl_half8)
177
181
  SYCL_PATAN(cl::sycl::cl_float4)
178
182
  SYCL_PATAN(cl::sycl::cl_double2)
179
183
  #undef SYCL_PATAN
180
184
 
181
185
  /** \internal \returns the hyperbolic sine of \a a (coeff-wise) */
182
- #define SYCL_PSINH(packet_type) \
183
- template <> \
184
- EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE packet_type psinh<packet_type>( \
185
- const packet_type& a) { \
186
- return cl::sycl::sinh(a); \
186
+ #define SYCL_PSINH(packet_type) \
187
+ template <> \
188
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE packet_type psinh<packet_type>(const packet_type& a) { \
189
+ return cl::sycl::sinh(a); \
187
190
  }
188
191
 
192
+ SYCL_PSINH(cl::sycl::cl_half8)
189
193
  SYCL_PSINH(cl::sycl::cl_float4)
190
194
  SYCL_PSINH(cl::sycl::cl_double2)
191
195
  #undef SYCL_PSINH
192
196
 
193
197
  /** \internal \returns the hyperbolic cosine of \a a (coeff-wise) */
194
- #define SYCL_PCOSH(packet_type) \
195
- template <> \
196
- EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE packet_type pcosh<packet_type>( \
197
- const packet_type& a) { \
198
- return cl::sycl::cosh(a); \
198
+ #define SYCL_PCOSH(packet_type) \
199
+ template <> \
200
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE packet_type pcosh<packet_type>(const packet_type& a) { \
201
+ return cl::sycl::cosh(a); \
199
202
  }
200
203
 
204
+ SYCL_PCOSH(cl::sycl::cl_half8)
201
205
  SYCL_PCOSH(cl::sycl::cl_float4)
202
206
  SYCL_PCOSH(cl::sycl::cl_double2)
203
207
  #undef SYCL_PCOSH
204
208
 
205
209
  /** \internal \returns the hyperbolic tan of \a a (coeff-wise) */
206
- #define SYCL_PTANH(packet_type) \
207
- template <> \
208
- EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE packet_type ptanh<packet_type>( \
209
- const packet_type& a) { \
210
- return cl::sycl::tanh(a); \
210
+ #define SYCL_PTANH(packet_type) \
211
+ template <> \
212
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE packet_type ptanh<packet_type>(const packet_type& a) { \
213
+ return cl::sycl::tanh(a); \
211
214
  }
212
215
 
216
+ SYCL_PTANH(cl::sycl::cl_half8)
213
217
  SYCL_PTANH(cl::sycl::cl_float4)
214
218
  SYCL_PTANH(cl::sycl::cl_double2)
215
219
  #undef SYCL_PTANH
216
220
 
217
- #define SYCL_PCEIL(packet_type) \
218
- template <> \
219
- EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE packet_type pceil<packet_type>( \
220
- const packet_type& a) { \
221
- return cl::sycl::ceil(a); \
221
+ #define SYCL_PCEIL(packet_type) \
222
+ template <> \
223
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE packet_type pceil<packet_type>(const packet_type& a) { \
224
+ return cl::sycl::ceil(a); \
222
225
  }
223
226
 
227
+ SYCL_PCEIL(cl::sycl::cl_half)
224
228
  SYCL_PCEIL(cl::sycl::cl_float4)
225
229
  SYCL_PCEIL(cl::sycl::cl_double2)
226
230
  #undef SYCL_PCEIL
227
231
 
228
- #define SYCL_PROUND(packet_type) \
229
- template <> \
230
- EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE packet_type pround<packet_type>( \
231
- const packet_type& a) { \
232
- return cl::sycl::round(a); \
232
+ #define SYCL_PROUND(packet_type) \
233
+ template <> \
234
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE packet_type pround<packet_type>(const packet_type& a) { \
235
+ return cl::sycl::round(a); \
233
236
  }
234
237
 
238
+ SYCL_PROUND(cl::sycl::cl_half8)
235
239
  SYCL_PROUND(cl::sycl::cl_float4)
236
240
  SYCL_PROUND(cl::sycl::cl_double2)
237
241
  #undef SYCL_PROUND
238
242
 
239
- #define SYCL_PRINT(packet_type) \
240
- template <> \
241
- EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE packet_type print<packet_type>( \
242
- const packet_type& a) { \
243
- return cl::sycl::rint(a); \
243
+ #define SYCL_PRINT(packet_type) \
244
+ template <> \
245
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE packet_type print<packet_type>(const packet_type& a) { \
246
+ return cl::sycl::rint(a); \
244
247
  }
245
248
 
249
+ SYCL_PRINT(cl::sycl::cl_half8)
246
250
  SYCL_PRINT(cl::sycl::cl_float4)
247
251
  SYCL_PRINT(cl::sycl::cl_double2)
248
252
  #undef SYCL_PRINT
249
253
 
250
- #define SYCL_FLOOR(packet_type) \
251
- template <> \
252
- EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE packet_type pfloor<packet_type>( \
253
- const packet_type& a) { \
254
- return cl::sycl::floor(a); \
254
+ #define SYCL_FLOOR(packet_type) \
255
+ template <> \
256
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE packet_type pfloor<packet_type>(const packet_type& a) { \
257
+ return cl::sycl::floor(a); \
255
258
  }
256
259
 
260
+ SYCL_FLOOR(cl::sycl::cl_half8)
257
261
  SYCL_FLOOR(cl::sycl::cl_float4)
258
262
  SYCL_FLOOR(cl::sycl::cl_double2)
259
263
  #undef SYCL_FLOOR
260
264
 
261
- #define SYCL_PMIN(packet_type, expr) \
262
- template <> \
263
- EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE packet_type pmin<packet_type>( \
264
- const packet_type& a, const packet_type& b) { \
265
- return expr; \
265
+ #define SYCL_PMIN(packet_type, expr) \
266
+ template <> \
267
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE packet_type pmin<packet_type>(const packet_type& a, const packet_type& b) { \
268
+ return expr; \
266
269
  }
267
270
 
271
+ SYCL_PMIN(cl::sycl::cl_half8, cl::sycl::fmin(a, b))
268
272
  SYCL_PMIN(cl::sycl::cl_float4, cl::sycl::fmin(a, b))
269
273
  SYCL_PMIN(cl::sycl::cl_double2, cl::sycl::fmin(a, b))
270
274
  #undef SYCL_PMIN
271
275
 
272
- #define SYCL_PMAX(packet_type, expr) \
273
- template <> \
274
- EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE packet_type pmax<packet_type>( \
275
- const packet_type& a, const packet_type& b) { \
276
- return expr; \
276
+ #define SYCL_PMAX(packet_type, expr) \
277
+ template <> \
278
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE packet_type pmax<packet_type>(const packet_type& a, const packet_type& b) { \
279
+ return expr; \
277
280
  }
278
281
 
282
+ SYCL_PMAX(cl::sycl::cl_half8, cl::sycl::fmax(a, b))
279
283
  SYCL_PMAX(cl::sycl::cl_float4, cl::sycl::fmax(a, b))
280
284
  SYCL_PMAX(cl::sycl::cl_double2, cl::sycl::fmax(a, b))
281
285
  #undef SYCL_PMAX
282
286
 
283
- #define SYCL_PLDEXP(packet_type) \
284
- template <> \
285
- EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE packet_type pldexp( \
286
- const packet_type& a, const packet_type& exponent) { \
287
- return cl::sycl::ldexp( \
288
- a, exponent.template convert<cl::sycl::cl_int, \
289
- cl::sycl::rounding_mode::automatic>()); \
287
+ #define SYCL_PLDEXP(packet_type) \
288
+ template <> \
289
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE packet_type pldexp(const packet_type& a, const packet_type& exponent) { \
290
+ return cl::sycl::ldexp(a, exponent.template convert<cl::sycl::cl_int, cl::sycl::rounding_mode::automatic>()); \
290
291
  }
291
292
 
293
+ SYCL_PLDEXP(cl::sycl::cl_half8)
292
294
  SYCL_PLDEXP(cl::sycl::cl_float4)
293
295
  SYCL_PLDEXP(cl::sycl::cl_double2)
294
296
  #undef SYCL_PLDEXP