@smake/eigen 1.0.2 → 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 (435) hide show
  1. package/README.md +1 -1
  2. package/eigen/Eigen/AccelerateSupport +52 -0
  3. package/eigen/Eigen/Cholesky +18 -21
  4. package/eigen/Eigen/CholmodSupport +28 -28
  5. package/eigen/Eigen/Core +235 -326
  6. package/eigen/Eigen/Eigenvalues +16 -14
  7. package/eigen/Eigen/Geometry +21 -24
  8. package/eigen/Eigen/Householder +9 -8
  9. package/eigen/Eigen/IterativeLinearSolvers +8 -4
  10. package/eigen/Eigen/Jacobi +14 -14
  11. package/eigen/Eigen/KLUSupport +43 -0
  12. package/eigen/Eigen/LU +16 -20
  13. package/eigen/Eigen/MetisSupport +12 -12
  14. package/eigen/Eigen/OrderingMethods +54 -54
  15. package/eigen/Eigen/PaStiXSupport +23 -20
  16. package/eigen/Eigen/PardisoSupport +17 -14
  17. package/eigen/Eigen/QR +18 -21
  18. package/eigen/Eigen/QtAlignedMalloc +5 -13
  19. package/eigen/Eigen/SPQRSupport +21 -14
  20. package/eigen/Eigen/SVD +23 -18
  21. package/eigen/Eigen/Sparse +1 -4
  22. package/eigen/Eigen/SparseCholesky +18 -23
  23. package/eigen/Eigen/SparseCore +18 -17
  24. package/eigen/Eigen/SparseLU +12 -8
  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 +377 -401
  37. package/eigen/Eigen/src/Cholesky/LLT.h +332 -360
  38. package/eigen/Eigen/src/Cholesky/LLT_LAPACKE.h +81 -56
  39. package/eigen/Eigen/src/CholmodSupport/CholmodSupport.h +620 -521
  40. package/eigen/Eigen/src/CholmodSupport/InternalHeaderCheck.h +3 -0
  41. package/eigen/Eigen/src/Core/ArithmeticSequence.h +239 -0
  42. package/eigen/Eigen/src/Core/Array.h +341 -294
  43. package/eigen/Eigen/src/Core/ArrayBase.h +190 -203
  44. package/eigen/Eigen/src/Core/ArrayWrapper.h +127 -171
  45. package/eigen/Eigen/src/Core/Assign.h +30 -40
  46. package/eigen/Eigen/src/Core/AssignEvaluator.h +711 -589
  47. package/eigen/Eigen/src/Core/Assign_MKL.h +130 -125
  48. package/eigen/Eigen/src/Core/BandMatrix.h +268 -283
  49. package/eigen/Eigen/src/Core/Block.h +375 -398
  50. package/eigen/Eigen/src/Core/CommaInitializer.h +86 -97
  51. package/eigen/Eigen/src/Core/ConditionEstimator.h +51 -53
  52. package/eigen/Eigen/src/Core/CoreEvaluators.h +1356 -1026
  53. package/eigen/Eigen/src/Core/CoreIterators.h +73 -59
  54. package/eigen/Eigen/src/Core/CwiseBinaryOp.h +114 -132
  55. package/eigen/Eigen/src/Core/CwiseNullaryOp.h +726 -617
  56. package/eigen/Eigen/src/Core/CwiseTernaryOp.h +77 -103
  57. package/eigen/Eigen/src/Core/CwiseUnaryOp.h +56 -68
  58. package/eigen/Eigen/src/Core/CwiseUnaryView.h +132 -95
  59. package/eigen/Eigen/src/Core/DenseBase.h +632 -571
  60. package/eigen/Eigen/src/Core/DenseCoeffsBase.h +511 -624
  61. package/eigen/Eigen/src/Core/DenseStorage.h +512 -509
  62. package/eigen/Eigen/src/Core/DeviceWrapper.h +153 -0
  63. package/eigen/Eigen/src/Core/Diagonal.h +169 -210
  64. package/eigen/Eigen/src/Core/DiagonalMatrix.h +351 -274
  65. package/eigen/Eigen/src/Core/DiagonalProduct.h +12 -10
  66. package/eigen/Eigen/src/Core/Dot.h +172 -222
  67. package/eigen/Eigen/src/Core/EigenBase.h +75 -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 -109
  71. package/eigen/Eigen/src/Core/Fuzzy.h +82 -105
  72. package/eigen/Eigen/src/Core/GeneralProduct.h +327 -263
  73. package/eigen/Eigen/src/Core/GenericPacketMath.h +1472 -360
  74. package/eigen/Eigen/src/Core/GlobalFunctions.h +194 -151
  75. package/eigen/Eigen/src/Core/IO.h +147 -139
  76. package/eigen/Eigen/src/Core/IndexedView.h +321 -0
  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 +56 -66
  80. package/eigen/Eigen/src/Core/Map.h +124 -142
  81. package/eigen/Eigen/src/Core/MapBase.h +256 -281
  82. package/eigen/Eigen/src/Core/MathFunctions.h +1620 -938
  83. package/eigen/Eigen/src/Core/MathFunctionsImpl.h +233 -71
  84. package/eigen/Eigen/src/Core/Matrix.h +491 -416
  85. package/eigen/Eigen/src/Core/MatrixBase.h +468 -453
  86. package/eigen/Eigen/src/Core/NestByValue.h +66 -85
  87. package/eigen/Eigen/src/Core/NoAlias.h +79 -85
  88. package/eigen/Eigen/src/Core/NumTraits.h +235 -148
  89. package/eigen/Eigen/src/Core/PartialReduxEvaluator.h +253 -0
  90. package/eigen/Eigen/src/Core/PermutationMatrix.h +461 -511
  91. package/eigen/Eigen/src/Core/PlainObjectBase.h +871 -894
  92. package/eigen/Eigen/src/Core/Product.h +260 -139
  93. package/eigen/Eigen/src/Core/ProductEvaluators.h +863 -714
  94. package/eigen/Eigen/src/Core/Random.h +161 -136
  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 +366 -336
  98. package/eigen/Eigen/src/Core/Ref.h +308 -209
  99. package/eigen/Eigen/src/Core/Replicate.h +94 -106
  100. package/eigen/Eigen/src/Core/Reshaped.h +398 -0
  101. package/eigen/Eigen/src/Core/ReturnByValue.h +49 -55
  102. package/eigen/Eigen/src/Core/Reverse.h +136 -145
  103. package/eigen/Eigen/src/Core/Select.h +70 -140
  104. package/eigen/Eigen/src/Core/SelfAdjointView.h +262 -285
  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 +97 -111
  108. package/eigen/Eigen/src/Core/SolveTriangular.h +131 -129
  109. package/eigen/Eigen/src/Core/SolverBase.h +138 -101
  110. package/eigen/Eigen/src/Core/StableNorm.h +156 -160
  111. package/eigen/Eigen/src/Core/StlIterators.h +619 -0
  112. package/eigen/Eigen/src/Core/Stride.h +91 -88
  113. package/eigen/Eigen/src/Core/Swap.h +70 -38
  114. package/eigen/Eigen/src/Core/Transpose.h +295 -273
  115. package/eigen/Eigen/src/Core/Transpositions.h +272 -317
  116. package/eigen/Eigen/src/Core/TriangularMatrix.h +670 -755
  117. package/eigen/Eigen/src/Core/VectorBlock.h +59 -72
  118. package/eigen/Eigen/src/Core/VectorwiseOp.h +668 -630
  119. package/eigen/Eigen/src/Core/Visitor.h +480 -216
  120. package/eigen/Eigen/src/Core/arch/AVX/Complex.h +407 -293
  121. package/eigen/Eigen/src/Core/arch/AVX/MathFunctions.h +79 -388
  122. package/eigen/Eigen/src/Core/arch/AVX/PacketMath.h +2935 -491
  123. package/eigen/Eigen/src/Core/arch/AVX/Reductions.h +353 -0
  124. package/eigen/Eigen/src/Core/arch/AVX/TypeCasting.h +279 -22
  125. package/eigen/Eigen/src/Core/arch/AVX512/Complex.h +472 -0
  126. package/eigen/Eigen/src/Core/arch/AVX512/GemmKernel.h +1245 -0
  127. package/eigen/Eigen/src/Core/arch/AVX512/MathFunctions.h +85 -333
  128. package/eigen/Eigen/src/Core/arch/AVX512/MathFunctionsFP16.h +75 -0
  129. package/eigen/Eigen/src/Core/arch/AVX512/PacketMath.h +2490 -649
  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 +277 -0
  135. package/eigen/Eigen/src/Core/arch/AVX512/TypeCastingFP16.h +130 -0
  136. package/eigen/Eigen/src/Core/arch/AltiVec/Complex.h +521 -298
  137. package/eigen/Eigen/src/Core/arch/AltiVec/MathFunctions.h +39 -280
  138. package/eigen/Eigen/src/Core/arch/AltiVec/MatrixProduct.h +3686 -0
  139. package/eigen/Eigen/src/Core/arch/AltiVec/MatrixProductCommon.h +205 -0
  140. package/eigen/Eigen/src/Core/arch/AltiVec/MatrixProductMMA.h +901 -0
  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 +3391 -723
  144. package/eigen/Eigen/src/Core/arch/AltiVec/TypeCasting.h +153 -0
  145. package/eigen/Eigen/src/Core/arch/Default/BFloat16.h +866 -0
  146. package/eigen/Eigen/src/Core/arch/Default/ConjHelper.h +113 -14
  147. package/eigen/Eigen/src/Core/arch/Default/GenericPacketMathFunctions.h +2634 -0
  148. package/eigen/Eigen/src/Core/arch/Default/GenericPacketMathFunctionsFwd.h +227 -0
  149. package/eigen/Eigen/src/Core/arch/Default/Half.h +1091 -0
  150. package/eigen/Eigen/src/Core/arch/Default/Settings.h +11 -13
  151. package/eigen/Eigen/src/Core/arch/GPU/Complex.h +244 -0
  152. package/eigen/Eigen/src/Core/arch/GPU/MathFunctions.h +104 -0
  153. package/eigen/Eigen/src/Core/arch/GPU/PacketMath.h +1712 -0
  154. package/eigen/Eigen/src/Core/arch/GPU/Tuple.h +268 -0
  155. package/eigen/Eigen/src/Core/arch/GPU/TypeCasting.h +77 -0
  156. package/eigen/Eigen/src/Core/arch/HIP/hcc/math_constants.h +23 -0
  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 +620 -0
  164. package/eigen/Eigen/src/Core/arch/MSA/MathFunctions.h +379 -0
  165. package/eigen/Eigen/src/Core/arch/MSA/PacketMath.h +1237 -0
  166. package/eigen/Eigen/src/Core/arch/NEON/Complex.h +531 -289
  167. package/eigen/Eigen/src/Core/arch/NEON/GeneralBlockPanelKernel.h +243 -0
  168. package/eigen/Eigen/src/Core/arch/NEON/MathFunctions.h +50 -73
  169. package/eigen/Eigen/src/Core/arch/NEON/PacketMath.h +5915 -579
  170. package/eigen/Eigen/src/Core/arch/NEON/TypeCasting.h +1642 -0
  171. package/eigen/Eigen/src/Core/arch/NEON/UnaryFunctors.h +57 -0
  172. package/eigen/Eigen/src/Core/arch/SSE/Complex.h +366 -334
  173. package/eigen/Eigen/src/Core/arch/SSE/MathFunctions.h +40 -514
  174. package/eigen/Eigen/src/Core/arch/SSE/PacketMath.h +2164 -675
  175. package/eigen/Eigen/src/Core/arch/SSE/Reductions.h +324 -0
  176. package/eigen/Eigen/src/Core/arch/SSE/TypeCasting.h +188 -35
  177. package/eigen/Eigen/src/Core/arch/SVE/MathFunctions.h +48 -0
  178. package/eigen/Eigen/src/Core/arch/SVE/PacketMath.h +674 -0
  179. package/eigen/Eigen/src/Core/arch/SVE/TypeCasting.h +52 -0
  180. package/eigen/Eigen/src/Core/arch/SYCL/InteropHeaders.h +227 -0
  181. package/eigen/Eigen/src/Core/arch/SYCL/MathFunctions.h +303 -0
  182. package/eigen/Eigen/src/Core/arch/SYCL/PacketMath.h +576 -0
  183. package/eigen/Eigen/src/Core/arch/SYCL/TypeCasting.h +83 -0
  184. package/eigen/Eigen/src/Core/arch/ZVector/Complex.h +434 -261
  185. package/eigen/Eigen/src/Core/arch/ZVector/MathFunctions.h +160 -53
  186. package/eigen/Eigen/src/Core/arch/ZVector/PacketMath.h +1073 -605
  187. package/eigen/Eigen/src/Core/functors/AssignmentFunctors.h +123 -117
  188. package/eigen/Eigen/src/Core/functors/BinaryFunctors.h +594 -322
  189. package/eigen/Eigen/src/Core/functors/NullaryFunctors.h +204 -118
  190. package/eigen/Eigen/src/Core/functors/StlFunctors.h +110 -97
  191. package/eigen/Eigen/src/Core/functors/TernaryFunctors.h +34 -7
  192. package/eigen/Eigen/src/Core/functors/UnaryFunctors.h +1158 -530
  193. package/eigen/Eigen/src/Core/products/GeneralBlockPanelKernel.h +2329 -1333
  194. package/eigen/Eigen/src/Core/products/GeneralMatrixMatrix.h +328 -364
  195. package/eigen/Eigen/src/Core/products/GeneralMatrixMatrixTriangular.h +191 -178
  196. package/eigen/Eigen/src/Core/products/GeneralMatrixMatrixTriangular_BLAS.h +85 -82
  197. package/eigen/Eigen/src/Core/products/GeneralMatrixMatrix_BLAS.h +154 -73
  198. package/eigen/Eigen/src/Core/products/GeneralMatrixVector.h +396 -542
  199. package/eigen/Eigen/src/Core/products/GeneralMatrixVector_BLAS.h +80 -77
  200. package/eigen/Eigen/src/Core/products/Parallelizer.h +208 -92
  201. package/eigen/Eigen/src/Core/products/SelfadjointMatrixMatrix.h +331 -375
  202. package/eigen/Eigen/src/Core/products/SelfadjointMatrixMatrix_BLAS.h +206 -224
  203. package/eigen/Eigen/src/Core/products/SelfadjointMatrixVector.h +139 -146
  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 -46
  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 -275
  212. package/eigen/Eigen/src/Core/products/TriangularSolverMatrix_BLAS.h +108 -109
  213. package/eigen/Eigen/src/Core/products/TriangularSolverVector.h +70 -93
  214. package/eigen/Eigen/src/Core/util/Assert.h +158 -0
  215. package/eigen/Eigen/src/Core/util/BlasUtil.h +413 -290
  216. package/eigen/Eigen/src/Core/util/ConfigureVectorization.h +543 -0
  217. package/eigen/Eigen/src/Core/util/Constants.h +314 -263
  218. package/eigen/Eigen/src/Core/util/DisableStupidWarnings.h +130 -78
  219. package/eigen/Eigen/src/Core/util/EmulateArray.h +270 -0
  220. package/eigen/Eigen/src/Core/util/ForwardDeclarations.h +450 -224
  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 +487 -0
  224. package/eigen/Eigen/src/Core/util/IntegralConstant.h +279 -0
  225. package/eigen/Eigen/src/Core/util/MKL_support.h +39 -30
  226. package/eigen/Eigen/src/Core/util/Macros.h +939 -646
  227. package/eigen/Eigen/src/Core/util/MaxSizeVector.h +139 -0
  228. package/eigen/Eigen/src/Core/util/Memory.h +1042 -650
  229. package/eigen/Eigen/src/Core/util/Meta.h +618 -426
  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 +51 -0
  233. package/eigen/Eigen/src/Core/util/Serializer.h +209 -0
  234. package/eigen/Eigen/src/Core/util/StaticAssert.h +51 -164
  235. package/eigen/Eigen/src/Core/util/SymbolicIndex.h +445 -0
  236. package/eigen/Eigen/src/Core/util/XprHelper.h +793 -538
  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 +91 -107
  246. package/eigen/Eigen/src/Eigenvalues/RealQZ.h +539 -606
  247. package/eigen/Eigen/src/Eigenvalues/RealSchur.h +348 -382
  248. package/eigen/Eigen/src/Eigenvalues/RealSchur_LAPACKE.h +41 -35
  249. package/eigen/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h +579 -600
  250. package/eigen/Eigen/src/Eigenvalues/SelfAdjointEigenSolver_LAPACKE.h +47 -44
  251. package/eigen/Eigen/src/Eigenvalues/Tridiagonalization.h +434 -461
  252. package/eigen/Eigen/src/Geometry/AlignedBox.h +307 -214
  253. package/eigen/Eigen/src/Geometry/AngleAxis.h +135 -137
  254. package/eigen/Eigen/src/Geometry/EulerAngles.h +163 -74
  255. package/eigen/Eigen/src/Geometry/Homogeneous.h +289 -333
  256. package/eigen/Eigen/src/Geometry/Hyperplane.h +152 -161
  257. package/eigen/Eigen/src/Geometry/InternalHeaderCheck.h +3 -0
  258. package/eigen/Eigen/src/Geometry/OrthoMethods.h +168 -145
  259. package/eigen/Eigen/src/Geometry/ParametrizedLine.h +141 -104
  260. package/eigen/Eigen/src/Geometry/Quaternion.h +595 -497
  261. package/eigen/Eigen/src/Geometry/Rotation2D.h +110 -108
  262. package/eigen/Eigen/src/Geometry/RotationBase.h +148 -145
  263. package/eigen/Eigen/src/Geometry/Scaling.h +115 -90
  264. package/eigen/Eigen/src/Geometry/Transform.h +896 -953
  265. package/eigen/Eigen/src/Geometry/Translation.h +100 -98
  266. package/eigen/Eigen/src/Geometry/Umeyama.h +79 -84
  267. package/eigen/Eigen/src/Geometry/arch/Geometry_SIMD.h +154 -0
  268. package/eigen/Eigen/src/Householder/BlockHouseholder.h +54 -42
  269. package/eigen/Eigen/src/Householder/Householder.h +104 -122
  270. package/eigen/Eigen/src/Householder/HouseholderSequence.h +416 -382
  271. package/eigen/Eigen/src/Householder/InternalHeaderCheck.h +3 -0
  272. package/eigen/Eigen/src/IterativeLinearSolvers/BasicPreconditioners.h +153 -166
  273. package/eigen/Eigen/src/IterativeLinearSolvers/BiCGSTAB.h +127 -138
  274. package/eigen/Eigen/src/IterativeLinearSolvers/ConjugateGradient.h +95 -124
  275. package/eigen/Eigen/src/IterativeLinearSolvers/IncompleteCholesky.h +269 -267
  276. package/eigen/Eigen/src/IterativeLinearSolvers/IncompleteLUT.h +246 -259
  277. package/eigen/Eigen/src/IterativeLinearSolvers/InternalHeaderCheck.h +3 -0
  278. package/eigen/Eigen/src/IterativeLinearSolvers/IterativeSolverBase.h +218 -217
  279. package/eigen/Eigen/src/IterativeLinearSolvers/LeastSquareConjugateGradient.h +80 -103
  280. package/eigen/Eigen/src/IterativeLinearSolvers/SolveWithGuess.h +59 -63
  281. package/eigen/Eigen/src/Jacobi/InternalHeaderCheck.h +3 -0
  282. package/eigen/Eigen/src/Jacobi/Jacobi.h +256 -291
  283. package/eigen/Eigen/src/KLUSupport/InternalHeaderCheck.h +3 -0
  284. package/eigen/Eigen/src/KLUSupport/KLUSupport.h +339 -0
  285. package/eigen/Eigen/src/LU/Determinant.h +60 -63
  286. package/eigen/Eigen/src/LU/FullPivLU.h +561 -626
  287. package/eigen/Eigen/src/LU/InternalHeaderCheck.h +3 -0
  288. package/eigen/Eigen/src/LU/InverseImpl.h +213 -275
  289. package/eigen/Eigen/src/LU/PartialPivLU.h +407 -435
  290. package/eigen/Eigen/src/LU/PartialPivLU_LAPACKE.h +54 -40
  291. package/eigen/Eigen/src/LU/arch/InverseSize4.h +353 -0
  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 +250 -282
  295. package/eigen/Eigen/src/OrderingMethods/Eigen_Colamd.h +950 -1103
  296. package/eigen/Eigen/src/OrderingMethods/InternalHeaderCheck.h +3 -0
  297. package/eigen/Eigen/src/OrderingMethods/Ordering.h +111 -122
  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 -429
  302. package/eigen/Eigen/src/QR/ColPivHouseholderQR.h +494 -473
  303. package/eigen/Eigen/src/QR/ColPivHouseholderQR_LAPACKE.h +120 -56
  304. package/eigen/Eigen/src/QR/CompleteOrthogonalDecomposition.h +223 -137
  305. package/eigen/Eigen/src/QR/FullPivHouseholderQR.h +517 -460
  306. package/eigen/Eigen/src/QR/HouseholderQR.h +412 -278
  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 +263 -261
  311. package/eigen/Eigen/src/SVD/BDCSVD.h +872 -679
  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 +585 -543
  315. package/eigen/Eigen/src/SVD/JacobiSVD_LAPACKE.h +85 -49
  316. package/eigen/Eigen/src/SVD/SVDBase.h +281 -160
  317. package/eigen/Eigen/src/SVD/UpperBidiagonalization.h +202 -237
  318. package/eigen/Eigen/src/SparseCholesky/InternalHeaderCheck.h +3 -0
  319. package/eigen/Eigen/src/SparseCholesky/SimplicialCholesky.h +769 -590
  320. package/eigen/Eigen/src/SparseCholesky/SimplicialCholesky_impl.h +318 -129
  321. package/eigen/Eigen/src/SparseCore/AmbiVector.h +202 -251
  322. package/eigen/Eigen/src/SparseCore/CompressedStorage.h +184 -236
  323. package/eigen/Eigen/src/SparseCore/ConservativeSparseSparseProduct.h +140 -184
  324. package/eigen/Eigen/src/SparseCore/InternalHeaderCheck.h +3 -0
  325. package/eigen/Eigen/src/SparseCore/SparseAssign.h +174 -111
  326. package/eigen/Eigen/src/SparseCore/SparseBlock.h +408 -477
  327. package/eigen/Eigen/src/SparseCore/SparseColEtree.h +100 -112
  328. package/eigen/Eigen/src/SparseCore/SparseCompressedBase.h +531 -280
  329. package/eigen/Eigen/src/SparseCore/SparseCwiseBinaryOp.h +559 -347
  330. package/eigen/Eigen/src/SparseCore/SparseCwiseUnaryOp.h +100 -108
  331. package/eigen/Eigen/src/SparseCore/SparseDenseProduct.h +185 -191
  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 +1614 -1142
  337. package/eigen/Eigen/src/SparseCore/SparseMatrixBase.h +403 -357
  338. package/eigen/Eigen/src/SparseCore/SparsePermutation.h +186 -115
  339. package/eigen/Eigen/src/SparseCore/SparseProduct.h +100 -91
  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 +371 -414
  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 +146 -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 +814 -618
  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 +273 -255
  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 +90 -101
  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 +125 -133
  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 +451 -490
  370. package/eigen/Eigen/src/StlSupport/StdDeque.h +28 -105
  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 -732
  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 +480 -380
  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 +9976 -16182
  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.inc +1370 -0
  401. package/eigen/Eigen/src/plugins/CommonCwiseBinaryOps.inc +116 -0
  402. package/eigen/Eigen/src/plugins/CommonCwiseUnaryOps.inc +167 -0
  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/lib/LibEigen.d.ts +4 -0
  409. package/lib/LibEigen.js +14 -0
  410. package/lib/index.d.ts +1 -1
  411. package/lib/index.js +7 -3
  412. package/package.json +2 -10
  413. package/eigen/Eigen/CMakeLists.txt +0 -19
  414. package/eigen/Eigen/src/Core/BooleanRedux.h +0 -164
  415. package/eigen/Eigen/src/Core/arch/CUDA/Complex.h +0 -103
  416. package/eigen/Eigen/src/Core/arch/CUDA/Half.h +0 -675
  417. package/eigen/Eigen/src/Core/arch/CUDA/MathFunctions.h +0 -91
  418. package/eigen/Eigen/src/Core/arch/CUDA/PacketMath.h +0 -333
  419. package/eigen/Eigen/src/Core/arch/CUDA/PacketMathHalf.h +0 -1124
  420. package/eigen/Eigen/src/Core/arch/CUDA/TypeCasting.h +0 -212
  421. package/eigen/Eigen/src/Core/util/NonMPL2.h +0 -3
  422. package/eigen/Eigen/src/Geometry/arch/Geometry_SSE.h +0 -161
  423. package/eigen/Eigen/src/LU/arch/Inverse_SSE.h +0 -338
  424. package/eigen/Eigen/src/SparseCore/MappedSparseMatrix.h +0 -67
  425. package/eigen/Eigen/src/SparseLU/SparseLU_gemm_kernel.h +0 -280
  426. package/eigen/Eigen/src/misc/lapack.h +0 -152
  427. package/eigen/Eigen/src/plugins/ArrayCwiseBinaryOps.h +0 -332
  428. package/eigen/Eigen/src/plugins/ArrayCwiseUnaryOps.h +0 -552
  429. package/eigen/Eigen/src/plugins/BlockMethods.h +0 -1058
  430. package/eigen/Eigen/src/plugins/CommonCwiseBinaryOps.h +0 -115
  431. package/eigen/Eigen/src/plugins/CommonCwiseUnaryOps.h +0 -163
  432. package/eigen/Eigen/src/plugins/MatrixCwiseBinaryOps.h +0 -152
  433. package/eigen/Eigen/src/plugins/MatrixCwiseUnaryOps.h +0 -85
  434. package/lib/eigen.d.ts +0 -2
  435. package/lib/eigen.js +0 -15
package/eigen/Eigen/Core CHANGED
@@ -8,261 +8,66 @@
8
8
  // Public License v. 2.0. If a copy of the MPL was not distributed
9
9
  // with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
10
10
 
11
- #ifndef EIGEN_CORE_H
12
- #define EIGEN_CORE_H
11
+ #ifndef EIGEN_CORE_MODULE_H
12
+ #define EIGEN_CORE_MODULE_H
13
13
 
14
- // first thing Eigen does: stop the compiler from committing suicide
15
- #include "src/Core/util/DisableStupidWarnings.h"
16
-
17
- #if defined(__CUDACC__) && !defined(EIGEN_NO_CUDA)
18
- #define EIGEN_CUDACC __CUDACC__
19
- #endif
20
-
21
- #if defined(__CUDA_ARCH__) && !defined(EIGEN_NO_CUDA)
22
- #define EIGEN_CUDA_ARCH __CUDA_ARCH__
23
- #endif
24
-
25
- #if defined(__CUDACC_VER_MAJOR__) && (__CUDACC_VER_MAJOR__ >= 9)
26
- #define EIGEN_CUDACC_VER ((__CUDACC_VER_MAJOR__ * 10000) + (__CUDACC_VER_MINOR__ * 100))
27
- #elif defined(__CUDACC_VER__)
28
- #define EIGEN_CUDACC_VER __CUDACC_VER__
29
- #else
30
- #define EIGEN_CUDACC_VER 0
31
- #endif
32
-
33
- // Handle NVCC/CUDA/SYCL
34
- #if defined(__CUDACC__) || defined(__SYCL_DEVICE_ONLY__)
35
- // Do not try asserts on CUDA and SYCL!
36
- #ifndef EIGEN_NO_DEBUG
37
- #define EIGEN_NO_DEBUG
38
- #endif
39
-
40
- #ifdef EIGEN_INTERNAL_DEBUGGING
41
- #undef EIGEN_INTERNAL_DEBUGGING
42
- #endif
43
-
44
- #ifdef EIGEN_EXCEPTIONS
45
- #undef EIGEN_EXCEPTIONS
46
- #endif
47
-
48
- // All functions callable from CUDA code must be qualified with __device__
49
- #ifdef __CUDACC__
50
- // Do not try to vectorize on CUDA and SYCL!
51
- #ifndef EIGEN_DONT_VECTORIZE
52
- #define EIGEN_DONT_VECTORIZE
53
- #endif
54
-
55
- #define EIGEN_DEVICE_FUNC __host__ __device__
56
- // We need cuda_runtime.h to ensure that that EIGEN_USING_STD_MATH macro
57
- // works properly on the device side
58
- #include <cuda_runtime.h>
59
- #else
60
- #define EIGEN_DEVICE_FUNC
61
- #endif
14
+ // Eigen version information.
15
+ #include "Version"
62
16
 
63
- #else
64
- #define EIGEN_DEVICE_FUNC
17
+ // first thing Eigen does: stop the compiler from reporting useless warnings.
18
+ #include "src/Core/util/DisableStupidWarnings.h"
65
19
 
66
- #endif
20
+ // then include this file where all our macros are defined. It's really important to do it first because
21
+ // it's where we do all the compiler/OS/arch detections and define most defaults.
22
+ #include "src/Core/util/Macros.h"
67
23
 
68
- // When compiling CUDA device code with NVCC, pull in math functions from the
69
- // global namespace. In host mode, and when device doee with clang, use the
70
- // std versions.
71
- #if defined(__CUDA_ARCH__) && defined(__NVCC__)
72
- #define EIGEN_USING_STD_MATH(FUNC) using ::FUNC;
73
- #else
74
- #define EIGEN_USING_STD_MATH(FUNC) using std::FUNC;
75
- #endif
24
+ // This detects SSE/AVX/NEON/etc. and configure alignment settings
25
+ #include "src/Core/util/ConfigureVectorization.h"
76
26
 
77
- #if (defined(_CPPUNWIND) || defined(__EXCEPTIONS)) && !defined(__CUDA_ARCH__) && !defined(EIGEN_EXCEPTIONS) && !defined(EIGEN_USE_SYCL)
78
- #define EIGEN_EXCEPTIONS
27
+ // We need cuda_runtime.h/hip_runtime.h to ensure that
28
+ // the EIGEN_USING_STD macro works properly on the device side
29
+ #if defined(EIGEN_CUDACC)
30
+ #include <cuda_runtime.h>
31
+ #elif defined(EIGEN_HIPCC)
32
+ #include <hip/hip_runtime.h>
79
33
  #endif
80
34
 
81
35
  #ifdef EIGEN_EXCEPTIONS
82
- #include <new>
36
+ #include <new>
83
37
  #endif
84
38
 
85
- // then include this file where all our macros are defined. It's really important to do it first because
86
- // it's where we do all the alignment settings (platform detection and honoring the user's will if he
87
- // defined e.g. EIGEN_DONT_ALIGN) so it needs to be done before we do anything with vectorization.
88
- #include "src/Core/util/Macros.h"
89
-
90
- // Disable the ipa-cp-clone optimization flag with MinGW 6.x or newer (enabled by default with -O3)
39
+ // Disable the ipa-cp-clone optimization flag with MinGW 6.x or older (enabled by default with -O3)
91
40
  // See http://eigen.tuxfamily.org/bz/show_bug.cgi?id=556 for details.
92
- #if EIGEN_COMP_MINGW && EIGEN_GNUC_AT_LEAST(4,6)
93
- #pragma GCC optimize ("-fno-ipa-cp-clone")
41
+ #if EIGEN_COMP_MINGW && EIGEN_GNUC_STRICT_LESS_THAN(6, 0, 0)
42
+ #pragma GCC optimize("-fno-ipa-cp-clone")
94
43
  #endif
95
44
 
45
+ // Prevent ICC from specializing std::complex operators that silently fail
46
+ // on device. This allows us to use our own device-compatible specializations
47
+ // instead.
48
+ #if EIGEN_COMP_ICC && defined(EIGEN_GPU_COMPILE_PHASE) && !defined(_OVERRIDE_COMPLEX_SPECIALIZATION_)
49
+ #define _OVERRIDE_COMPLEX_SPECIALIZATION_ 1
50
+ #endif
96
51
  #include <complex>
97
52
 
98
53
  // this include file manages BLAS and MKL related macros
99
54
  // and inclusion of their respective header files
100
55
  #include "src/Core/util/MKL_support.h"
101
56
 
102
- // if alignment is disabled, then disable vectorization. Note: EIGEN_MAX_ALIGN_BYTES is the proper check, it takes into
103
- // account both the user's will (EIGEN_MAX_ALIGN_BYTES,EIGEN_DONT_ALIGN) and our own platform checks
104
- #if EIGEN_MAX_ALIGN_BYTES==0
105
- #ifndef EIGEN_DONT_VECTORIZE
106
- #define EIGEN_DONT_VECTORIZE
107
- #endif
108
- #endif
109
-
110
- #if EIGEN_COMP_MSVC
111
- #include <malloc.h> // for _aligned_malloc -- need it regardless of whether vectorization is enabled
112
- #if (EIGEN_COMP_MSVC >= 1500) // 2008 or later
113
- // Remember that usage of defined() in a #define is undefined by the standard.
114
- // a user reported that in 64-bit mode, MSVC doesn't care to define _M_IX86_FP.
115
- #if (defined(_M_IX86_FP) && (_M_IX86_FP >= 2)) || EIGEN_ARCH_x86_64
116
- #define EIGEN_SSE2_ON_MSVC_2008_OR_LATER
117
- #endif
118
- #endif
119
- #else
120
- // Remember that usage of defined() in a #define is undefined by the standard
121
- #if (defined __SSE2__) && ( (!EIGEN_COMP_GNUC) || EIGEN_COMP_ICC || EIGEN_GNUC_AT_LEAST(4,2) )
122
- #define EIGEN_SSE2_ON_NON_MSVC_BUT_NOT_OLD_GCC
123
- #endif
124
- #endif
125
-
126
- #ifndef EIGEN_DONT_VECTORIZE
127
-
128
- #if defined (EIGEN_SSE2_ON_NON_MSVC_BUT_NOT_OLD_GCC) || defined(EIGEN_SSE2_ON_MSVC_2008_OR_LATER)
129
-
130
- // Defines symbols for compile-time detection of which instructions are
131
- // used.
132
- // EIGEN_VECTORIZE_YY is defined if and only if the instruction set YY is used
133
- #define EIGEN_VECTORIZE
134
- #define EIGEN_VECTORIZE_SSE
135
- #define EIGEN_VECTORIZE_SSE2
136
-
137
- // Detect sse3/ssse3/sse4:
138
- // gcc and icc defines __SSE3__, ...
139
- // there is no way to know about this on msvc. You can define EIGEN_VECTORIZE_SSE* if you
140
- // want to force the use of those instructions with msvc.
141
- #ifdef __SSE3__
142
- #define EIGEN_VECTORIZE_SSE3
143
- #endif
144
- #ifdef __SSSE3__
145
- #define EIGEN_VECTORIZE_SSSE3
146
- #endif
147
- #ifdef __SSE4_1__
148
- #define EIGEN_VECTORIZE_SSE4_1
149
- #endif
150
- #ifdef __SSE4_2__
151
- #define EIGEN_VECTORIZE_SSE4_2
152
- #endif
153
- #ifdef __AVX__
154
- #define EIGEN_VECTORIZE_AVX
155
- #define EIGEN_VECTORIZE_SSE3
156
- #define EIGEN_VECTORIZE_SSSE3
157
- #define EIGEN_VECTORIZE_SSE4_1
158
- #define EIGEN_VECTORIZE_SSE4_2
159
- #endif
160
- #ifdef __AVX2__
161
- #define EIGEN_VECTORIZE_AVX2
162
- #endif
163
- #ifdef __FMA__
164
- #define EIGEN_VECTORIZE_FMA
165
- #endif
166
- #if defined(__AVX512F__) && defined(EIGEN_ENABLE_AVX512)
167
- #define EIGEN_VECTORIZE_AVX512
168
- #define EIGEN_VECTORIZE_AVX2
169
- #define EIGEN_VECTORIZE_AVX
170
- #define EIGEN_VECTORIZE_FMA
171
- #ifdef __AVX512DQ__
172
- #define EIGEN_VECTORIZE_AVX512DQ
173
- #endif
174
- #ifdef __AVX512ER__
175
- #define EIGEN_VECTORIZE_AVX512ER
176
- #endif
177
- #endif
178
-
179
- // include files
180
-
181
- // This extern "C" works around a MINGW-w64 compilation issue
182
- // https://sourceforge.net/tracker/index.php?func=detail&aid=3018394&group_id=202880&atid=983354
183
- // In essence, intrin.h is included by windows.h and also declares intrinsics (just as emmintrin.h etc. below do).
184
- // However, intrin.h uses an extern "C" declaration, and g++ thus complains of duplicate declarations
185
- // with conflicting linkage. The linkage for intrinsics doesn't matter, but at that stage the compiler doesn't know;
186
- // so, to avoid compile errors when windows.h is included after Eigen/Core, ensure intrinsics are extern "C" here too.
187
- // notice that since these are C headers, the extern "C" is theoretically needed anyways.
188
- extern "C" {
189
- // In theory we should only include immintrin.h and not the other *mmintrin.h header files directly.
190
- // Doing so triggers some issues with ICC. However old gcc versions seems to not have this file, thus:
191
- #if EIGEN_COMP_ICC >= 1110
192
- #include <immintrin.h>
193
- #else
194
- #include <mmintrin.h>
195
- #include <emmintrin.h>
196
- #include <xmmintrin.h>
197
- #ifdef EIGEN_VECTORIZE_SSE3
198
- #include <pmmintrin.h>
199
- #endif
200
- #ifdef EIGEN_VECTORIZE_SSSE3
201
- #include <tmmintrin.h>
202
- #endif
203
- #ifdef EIGEN_VECTORIZE_SSE4_1
204
- #include <smmintrin.h>
205
- #endif
206
- #ifdef EIGEN_VECTORIZE_SSE4_2
207
- #include <nmmintrin.h>
208
- #endif
209
- #if defined(EIGEN_VECTORIZE_AVX) || defined(EIGEN_VECTORIZE_AVX512)
210
- #include <immintrin.h>
211
- #endif
212
- #endif
213
- } // end extern "C"
214
- #elif defined __VSX__
215
- #define EIGEN_VECTORIZE
216
- #define EIGEN_VECTORIZE_VSX
217
- #include <altivec.h>
218
- // We need to #undef all these ugly tokens defined in <altivec.h>
219
- // => use __vector instead of vector
220
- #undef bool
221
- #undef vector
222
- #undef pixel
223
- #elif defined __ALTIVEC__
224
- #define EIGEN_VECTORIZE
225
- #define EIGEN_VECTORIZE_ALTIVEC
226
- #include <altivec.h>
227
- // We need to #undef all these ugly tokens defined in <altivec.h>
228
- // => use __vector instead of vector
229
- #undef bool
230
- #undef vector
231
- #undef pixel
232
- #elif (defined __ARM_NEON) || (defined __ARM_NEON__)
233
- #define EIGEN_VECTORIZE
234
- #define EIGEN_VECTORIZE_NEON
235
- #include <arm_neon.h>
236
- #elif (defined __s390x__ && defined __VEC__)
237
- #define EIGEN_VECTORIZE
238
- #define EIGEN_VECTORIZE_ZVECTOR
239
- #include <vecintrin.h>
240
- #endif
241
- #endif
242
-
243
- #if defined(__F16C__) && !defined(EIGEN_COMP_CLANG)
244
- // We can use the optimized fp16 to float and float to fp16 conversion routines
245
- #define EIGEN_HAS_FP16_C
246
- #endif
247
-
248
- #if defined __CUDACC__
249
- #define EIGEN_VECTORIZE_CUDA
250
- #include <vector_types.h>
251
- #if EIGEN_CUDACC_VER >= 70500
252
- #define EIGEN_HAS_CUDA_FP16
253
- #endif
254
- #endif
255
-
256
- #if defined EIGEN_HAS_CUDA_FP16
257
- #include <host_defines.h>
258
- #include <cuda_fp16.h>
57
+ #if defined(EIGEN_HAS_CUDA_FP16) || defined(EIGEN_HAS_HIP_FP16)
58
+ #define EIGEN_HAS_GPU_FP16
59
+ #endif
60
+
61
+ #if defined(EIGEN_HAS_CUDA_BF16) || defined(EIGEN_HAS_HIP_BF16)
62
+ #define EIGEN_HAS_GPU_BF16
259
63
  #endif
260
64
 
261
65
  #if (defined _OPENMP) && (!defined EIGEN_DONT_PARALLELIZE)
262
- #define EIGEN_HAS_OPENMP
66
+ #define EIGEN_HAS_OPENMP
263
67
  #endif
264
68
 
265
69
  #ifdef EIGEN_HAS_OPENMP
70
+ #include <atomic>
266
71
  #include <omp.h>
267
72
  #endif
268
73
 
@@ -277,22 +82,38 @@
277
82
  #include <cstddef>
278
83
  #include <cstdlib>
279
84
  #include <cmath>
280
- #include <cassert>
281
85
  #include <functional>
282
- #include <sstream>
283
86
  #ifndef EIGEN_NO_IO
284
- #include <iosfwd>
87
+ #include <sstream>
88
+ #include <iosfwd>
285
89
  #endif
286
90
  #include <cstring>
287
91
  #include <string>
288
92
  #include <limits>
289
- #include <climits> // for CHAR_BIT
93
+ #include <climits> // for CHAR_BIT
290
94
  // for min/max:
291
95
  #include <algorithm>
292
96
 
97
+ #include <array>
98
+ #include <memory>
99
+ #include <vector>
100
+
293
101
  // for std::is_nothrow_move_assignable
294
- #ifdef EIGEN_INCLUDE_TYPE_TRAITS
295
102
  #include <type_traits>
103
+
104
+ // for std::this_thread::yield().
105
+ #if !defined(EIGEN_USE_BLAS) && (defined(EIGEN_HAS_OPENMP) || defined(EIGEN_GEMM_THREADPOOL))
106
+ #include <thread>
107
+ #endif
108
+
109
+ // for __cpp_lib feature test macros
110
+ #if defined(__has_include) && __has_include(<version>)
111
+ #include <version>
112
+ #endif
113
+
114
+ // for std::bit_cast()
115
+ #if defined(__cpp_lib_bit_cast) && __cpp_lib_bit_cast >= 201806L
116
+ #include <bit>
296
117
  #endif
297
118
 
298
119
  // for outputting debug info
@@ -301,128 +122,184 @@
301
122
  #endif
302
123
 
303
124
  // required for __cpuid, needs to be included after cmath
304
- #if EIGEN_COMP_MSVC && EIGEN_ARCH_i386_OR_x86_64 && !EIGEN_OS_WINCE
305
- #include <intrin.h>
125
+ // also required for _BitScanReverse on Windows on ARM
126
+ #if EIGEN_COMP_MSVC && (EIGEN_ARCH_i386_OR_x86_64 || EIGEN_ARCH_ARM64) && !EIGEN_OS_WINCE
127
+ #include <intrin.h>
306
128
  #endif
307
129
 
308
- /** \brief Namespace containing all symbols from the %Eigen library. */
309
- namespace Eigen {
310
-
311
- inline static const char *SimdInstructionSetsInUse(void) {
312
- #if defined(EIGEN_VECTORIZE_AVX512)
313
- return "AVX512, FMA, AVX2, AVX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2";
314
- #elif defined(EIGEN_VECTORIZE_AVX)
315
- return "AVX SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2";
316
- #elif defined(EIGEN_VECTORIZE_SSE4_2)
317
- return "SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2";
318
- #elif defined(EIGEN_VECTORIZE_SSE4_1)
319
- return "SSE, SSE2, SSE3, SSSE3, SSE4.1";
320
- #elif defined(EIGEN_VECTORIZE_SSSE3)
321
- return "SSE, SSE2, SSE3, SSSE3";
322
- #elif defined(EIGEN_VECTORIZE_SSE3)
323
- return "SSE, SSE2, SSE3";
324
- #elif defined(EIGEN_VECTORIZE_SSE2)
325
- return "SSE, SSE2";
326
- #elif defined(EIGEN_VECTORIZE_ALTIVEC)
327
- return "AltiVec";
328
- #elif defined(EIGEN_VECTORIZE_VSX)
329
- return "VSX";
330
- #elif defined(EIGEN_VECTORIZE_NEON)
331
- return "ARM NEON";
332
- #elif defined(EIGEN_VECTORIZE_ZVECTOR)
333
- return "S390X ZVECTOR";
334
- #else
335
- return "None";
130
+ #if defined(EIGEN_USE_SYCL)
131
+ #undef min
132
+ #undef max
133
+ #undef isnan
134
+ #undef isinf
135
+ #undef isfinite
136
+ #include <CL/sycl.hpp>
137
+ #include <map>
138
+ #include <thread>
139
+ #include <utility>
140
+ #ifndef EIGEN_SYCL_LOCAL_THREAD_DIM0
141
+ #define EIGEN_SYCL_LOCAL_THREAD_DIM0 16
142
+ #endif
143
+ #ifndef EIGEN_SYCL_LOCAL_THREAD_DIM1
144
+ #define EIGEN_SYCL_LOCAL_THREAD_DIM1 16
145
+ #endif
336
146
  #endif
337
- }
338
-
339
- } // end namespace Eigen
340
147
 
341
- #if defined EIGEN2_SUPPORT_STAGE40_FULL_EIGEN3_STRICTNESS || defined EIGEN2_SUPPORT_STAGE30_FULL_EIGEN3_API || defined EIGEN2_SUPPORT_STAGE20_RESOLVE_API_CONFLICTS || defined EIGEN2_SUPPORT_STAGE10_FULL_EIGEN2_API || defined EIGEN2_SUPPORT
148
+ #if defined EIGEN2_SUPPORT_STAGE40_FULL_EIGEN3_STRICTNESS || defined EIGEN2_SUPPORT_STAGE30_FULL_EIGEN3_API || \
149
+ defined EIGEN2_SUPPORT_STAGE20_RESOLVE_API_CONFLICTS || defined EIGEN2_SUPPORT_STAGE10_FULL_EIGEN2_API || \
150
+ defined EIGEN2_SUPPORT
342
151
  // This will generate an error message:
343
152
  #error Eigen2-support is only available up to version 3.2. Please go to "http://eigen.tuxfamily.org/index.php?title=Eigen2" for further information
344
153
  #endif
345
154
 
346
155
  namespace Eigen {
347
156
 
348
- // we use size_t frequently and we'll never remember to prepend it with std:: everytime just to
157
+ // we use size_t frequently and we'll never remember to prepend it with std:: every time just to
349
158
  // ensure QNX/QCC support
350
159
  using std::size_t;
351
160
  // gcc 4.6.0 wants std:: for ptrdiff_t
352
161
  using std::ptrdiff_t;
353
162
 
354
- }
163
+ } // namespace Eigen
355
164
 
356
165
  /** \defgroup Core_Module Core module
357
- * This is the main module of Eigen providing dense matrix and vector support
358
- * (both fixed and dynamic size) with all the features corresponding to a BLAS library
359
- * and much more...
360
- *
361
- * \code
362
- * #include <Eigen/Core>
363
- * \endcode
364
- */
166
+ * This is the main module of Eigen providing dense matrix and vector support
167
+ * (both fixed and dynamic size) with all the features corresponding to a BLAS library
168
+ * and much more...
169
+ *
170
+ * \code
171
+ * #include <Eigen/Core>
172
+ * \endcode
173
+ */
174
+
175
+ #ifdef EIGEN_USE_LAPACKE
176
+ #ifdef EIGEN_USE_MKL
177
+ #include "mkl_lapacke.h"
178
+ #else
179
+ #include "src/misc/lapacke.h"
180
+ #endif
181
+ #endif
365
182
 
183
+ // IWYU pragma: begin_exports
366
184
  #include "src/Core/util/Constants.h"
367
185
  #include "src/Core/util/Meta.h"
186
+ #include "src/Core/util/Assert.h"
368
187
  #include "src/Core/util/ForwardDeclarations.h"
369
188
  #include "src/Core/util/StaticAssert.h"
370
189
  #include "src/Core/util/XprHelper.h"
371
190
  #include "src/Core/util/Memory.h"
191
+ #include "src/Core/util/IntegralConstant.h"
192
+ #include "src/Core/util/Serializer.h"
193
+ #include "src/Core/util/SymbolicIndex.h"
194
+ #include "src/Core/util/EmulateArray.h"
195
+ #include "src/Core/util/MoreMeta.h"
372
196
 
373
197
  #include "src/Core/NumTraits.h"
374
198
  #include "src/Core/MathFunctions.h"
199
+ #include "src/Core/RandomImpl.h"
375
200
  #include "src/Core/GenericPacketMath.h"
376
201
  #include "src/Core/MathFunctionsImpl.h"
377
202
  #include "src/Core/arch/Default/ConjHelper.h"
203
+ // Generic half float support
204
+ #include "src/Core/arch/Default/Half.h"
205
+ #include "src/Core/arch/Default/BFloat16.h"
206
+ #include "src/Core/arch/Default/GenericPacketMathFunctionsFwd.h"
378
207
 
379
208
  #if defined EIGEN_VECTORIZE_AVX512
380
- #include "src/Core/arch/SSE/PacketMath.h"
381
- #include "src/Core/arch/SSE/MathFunctions.h"
382
- #include "src/Core/arch/AVX/PacketMath.h"
383
- #include "src/Core/arch/AVX/MathFunctions.h"
384
- #include "src/Core/arch/AVX512/PacketMath.h"
385
- #include "src/Core/arch/AVX512/MathFunctions.h"
209
+ #include "src/Core/arch/SSE/PacketMath.h"
210
+ #include "src/Core/arch/SSE/Reductions.h"
211
+ #include "src/Core/arch/AVX/PacketMath.h"
212
+ #include "src/Core/arch/AVX/Reductions.h"
213
+ #include "src/Core/arch/AVX512/PacketMath.h"
214
+ #include "src/Core/arch/AVX512/Reductions.h"
215
+ #if defined EIGEN_VECTORIZE_AVX512FP16
216
+ #include "src/Core/arch/AVX512/PacketMathFP16.h"
217
+ #endif
218
+ #include "src/Core/arch/SSE/TypeCasting.h"
219
+ #include "src/Core/arch/AVX/TypeCasting.h"
220
+ #include "src/Core/arch/AVX512/TypeCasting.h"
221
+ #if defined EIGEN_VECTORIZE_AVX512FP16
222
+ #include "src/Core/arch/AVX512/TypeCastingFP16.h"
223
+ #endif
224
+ #include "src/Core/arch/SSE/Complex.h"
225
+ #include "src/Core/arch/AVX/Complex.h"
226
+ #include "src/Core/arch/AVX512/Complex.h"
227
+ #include "src/Core/arch/SSE/MathFunctions.h"
228
+ #include "src/Core/arch/AVX/MathFunctions.h"
229
+ #include "src/Core/arch/AVX512/MathFunctions.h"
230
+ #if defined EIGEN_VECTORIZE_AVX512FP16
231
+ #include "src/Core/arch/AVX512/MathFunctionsFP16.h"
232
+ #endif
233
+ #include "src/Core/arch/AVX512/TrsmKernel.h"
386
234
  #elif defined EIGEN_VECTORIZE_AVX
387
- // Use AVX for floats and doubles, SSE for integers
388
- #include "src/Core/arch/SSE/PacketMath.h"
389
- #include "src/Core/arch/SSE/Complex.h"
390
- #include "src/Core/arch/SSE/MathFunctions.h"
391
- #include "src/Core/arch/AVX/PacketMath.h"
392
- #include "src/Core/arch/AVX/MathFunctions.h"
393
- #include "src/Core/arch/AVX/Complex.h"
394
- #include "src/Core/arch/AVX/TypeCasting.h"
395
- #include "src/Core/arch/SSE/TypeCasting.h"
235
+ // Use AVX for floats and doubles, SSE for integers
236
+ #include "src/Core/arch/SSE/PacketMath.h"
237
+ #include "src/Core/arch/SSE/Reductions.h"
238
+ #include "src/Core/arch/SSE/TypeCasting.h"
239
+ #include "src/Core/arch/SSE/Complex.h"
240
+ #include "src/Core/arch/AVX/PacketMath.h"
241
+ #include "src/Core/arch/AVX/Reductions.h"
242
+ #include "src/Core/arch/AVX/TypeCasting.h"
243
+ #include "src/Core/arch/AVX/Complex.h"
244
+ #include "src/Core/arch/SSE/MathFunctions.h"
245
+ #include "src/Core/arch/AVX/MathFunctions.h"
396
246
  #elif defined EIGEN_VECTORIZE_SSE
397
- #include "src/Core/arch/SSE/PacketMath.h"
398
- #include "src/Core/arch/SSE/MathFunctions.h"
399
- #include "src/Core/arch/SSE/Complex.h"
400
- #include "src/Core/arch/SSE/TypeCasting.h"
401
- #elif defined(EIGEN_VECTORIZE_ALTIVEC) || defined(EIGEN_VECTORIZE_VSX)
402
- #include "src/Core/arch/AltiVec/PacketMath.h"
403
- #include "src/Core/arch/AltiVec/MathFunctions.h"
404
- #include "src/Core/arch/AltiVec/Complex.h"
247
+ #include "src/Core/arch/SSE/PacketMath.h"
248
+ #include "src/Core/arch/SSE/Reductions.h"
249
+ #include "src/Core/arch/SSE/TypeCasting.h"
250
+ #include "src/Core/arch/SSE/MathFunctions.h"
251
+ #include "src/Core/arch/SSE/Complex.h"
252
+ #endif
253
+
254
+ #if defined(EIGEN_VECTORIZE_ALTIVEC) || defined(EIGEN_VECTORIZE_VSX)
255
+ #include "src/Core/arch/AltiVec/PacketMath.h"
256
+ #include "src/Core/arch/AltiVec/TypeCasting.h"
257
+ #include "src/Core/arch/AltiVec/MathFunctions.h"
258
+ #include "src/Core/arch/AltiVec/Complex.h"
405
259
  #elif defined EIGEN_VECTORIZE_NEON
406
- #include "src/Core/arch/NEON/PacketMath.h"
407
- #include "src/Core/arch/NEON/MathFunctions.h"
408
- #include "src/Core/arch/NEON/Complex.h"
260
+ #include "src/Core/arch/NEON/PacketMath.h"
261
+ #include "src/Core/arch/NEON/TypeCasting.h"
262
+ #include "src/Core/arch/NEON/MathFunctions.h"
263
+ #include "src/Core/arch/NEON/Complex.h"
264
+ #elif defined EIGEN_VECTORIZE_LSX
265
+ #include "src/Core/arch/LSX/PacketMath.h"
266
+ #include "src/Core/arch/LSX/TypeCasting.h"
267
+ #include "src/Core/arch/LSX/MathFunctions.h"
268
+ #include "src/Core/arch/LSX/Complex.h"
269
+ #elif defined EIGEN_VECTORIZE_SVE
270
+ #include "src/Core/arch/SVE/PacketMath.h"
271
+ #include "src/Core/arch/SVE/TypeCasting.h"
272
+ #include "src/Core/arch/SVE/MathFunctions.h"
409
273
  #elif defined EIGEN_VECTORIZE_ZVECTOR
410
- #include "src/Core/arch/ZVector/PacketMath.h"
411
- #include "src/Core/arch/ZVector/MathFunctions.h"
412
- #include "src/Core/arch/ZVector/Complex.h"
274
+ #include "src/Core/arch/ZVector/PacketMath.h"
275
+ #include "src/Core/arch/ZVector/MathFunctions.h"
276
+ #include "src/Core/arch/ZVector/Complex.h"
277
+ #elif defined EIGEN_VECTORIZE_MSA
278
+ #include "src/Core/arch/MSA/PacketMath.h"
279
+ #include "src/Core/arch/MSA/MathFunctions.h"
280
+ #include "src/Core/arch/MSA/Complex.h"
281
+ #elif defined EIGEN_VECTORIZE_HVX
282
+ #include "src/Core/arch/HVX/PacketMath.h"
413
283
  #endif
414
284
 
415
- // Half float support
416
- #include "src/Core/arch/CUDA/Half.h"
417
- #include "src/Core/arch/CUDA/PacketMathHalf.h"
418
- #include "src/Core/arch/CUDA/TypeCasting.h"
285
+ #if defined EIGEN_VECTORIZE_GPU
286
+ #include "src/Core/arch/GPU/PacketMath.h"
287
+ #include "src/Core/arch/GPU/MathFunctions.h"
288
+ #include "src/Core/arch/GPU/TypeCasting.h"
289
+ #endif
419
290
 
420
- #if defined EIGEN_VECTORIZE_CUDA
421
- #include "src/Core/arch/CUDA/PacketMath.h"
422
- #include "src/Core/arch/CUDA/MathFunctions.h"
291
+ #if defined(EIGEN_USE_SYCL)
292
+ #include "src/Core/arch/SYCL/InteropHeaders.h"
293
+ #if !defined(EIGEN_DONT_VECTORIZE_SYCL)
294
+ #include "src/Core/arch/SYCL/PacketMath.h"
295
+ #include "src/Core/arch/SYCL/MathFunctions.h"
296
+ #include "src/Core/arch/SYCL/TypeCasting.h"
297
+ #endif
423
298
  #endif
424
299
 
425
300
  #include "src/Core/arch/Default/Settings.h"
301
+ // This file provides generic implementations valid for scalar as well
302
+ #include "src/Core/arch/Default/GenericPacketMathFunctions.h"
426
303
 
427
304
  #include "src/Core/functors/TernaryFunctors.h"
428
305
  #include "src/Core/functors/BinaryFunctors.h"
@@ -431,11 +308,22 @@ using std::ptrdiff_t;
431
308
  #include "src/Core/functors/StlFunctors.h"
432
309
  #include "src/Core/functors/AssignmentFunctors.h"
433
310
 
434
- // Specialized functors to enable the processing of complex numbers
435
- // on CUDA devices
436
- #include "src/Core/arch/CUDA/Complex.h"
311
+ // Specialized functors for GPU.
312
+ #ifdef EIGEN_GPUCC
313
+ #include "src/Core/arch/GPU/Complex.h"
314
+ #endif
315
+
316
+ // Specializations of vectorized activation functions for NEON.
317
+ #ifdef EIGEN_VECTORIZE_NEON
318
+ #include "src/Core/arch/NEON/UnaryFunctors.h"
319
+ #endif
437
320
 
321
+ #include "src/Core/util/IndexedViewHelper.h"
322
+ #include "src/Core/util/ReshapedHelper.h"
323
+ #include "src/Core/ArithmeticSequence.h"
324
+ #ifndef EIGEN_NO_IO
438
325
  #include "src/Core/IO.h"
326
+ #endif
439
327
  #include "src/Core/DenseCoeffsBase.h"
440
328
  #include "src/Core/DenseBase.h"
441
329
  #include "src/Core/MatrixBase.h"
@@ -444,11 +332,8 @@ using std::ptrdiff_t;
444
332
  #include "src/Core/Product.h"
445
333
  #include "src/Core/CoreEvaluators.h"
446
334
  #include "src/Core/AssignEvaluator.h"
447
-
448
- #ifndef EIGEN_PARSED_BY_DOXYGEN // work around Doxygen bug triggered by Assign.h r814874
449
- // at least confirmed with Doxygen 1.5.5 and 1.5.6
450
- #include "src/Core/Assign.h"
451
- #endif
335
+ #include "src/Core/RealView.h"
336
+ #include "src/Core/Assign.h"
452
337
 
453
338
  #include "src/Core/ArrayBase.h"
454
339
  #include "src/Core/util/BlasUtil.h"
@@ -462,12 +347,14 @@ using std::ptrdiff_t;
462
347
  #include "src/Core/PlainObjectBase.h"
463
348
  #include "src/Core/Matrix.h"
464
349
  #include "src/Core/Array.h"
350
+ #include "src/Core/Fill.h"
465
351
  #include "src/Core/CwiseTernaryOp.h"
466
352
  #include "src/Core/CwiseBinaryOp.h"
467
353
  #include "src/Core/CwiseUnaryOp.h"
468
354
  #include "src/Core/CwiseNullaryOp.h"
469
355
  #include "src/Core/CwiseUnaryView.h"
470
356
  #include "src/Core/SelfCwiseBinaryOp.h"
357
+ #include "src/Core/InnerProduct.h"
471
358
  #include "src/Core/Dot.h"
472
359
  #include "src/Core/StableNorm.h"
473
360
  #include "src/Core/Stride.h"
@@ -476,12 +363,16 @@ using std::ptrdiff_t;
476
363
  #include "src/Core/Ref.h"
477
364
  #include "src/Core/Block.h"
478
365
  #include "src/Core/VectorBlock.h"
366
+ #include "src/Core/IndexedView.h"
367
+ #include "src/Core/Reshaped.h"
479
368
  #include "src/Core/Transpose.h"
480
369
  #include "src/Core/DiagonalMatrix.h"
481
370
  #include "src/Core/Diagonal.h"
482
371
  #include "src/Core/DiagonalProduct.h"
372
+ #include "src/Core/SkewSymmetricMatrix3.h"
483
373
  #include "src/Core/Redux.h"
484
374
  #include "src/Core/Visitor.h"
375
+ #include "src/Core/FindCoeff.h"
485
376
  #include "src/Core/Fuzzy.h"
486
377
  #include "src/Core/Swap.h"
487
378
  #include "src/Core/CommaInitializer.h"
@@ -494,6 +385,10 @@ using std::ptrdiff_t;
494
385
  #include "src/Core/TriangularMatrix.h"
495
386
  #include "src/Core/SelfAdjointView.h"
496
387
  #include "src/Core/products/GeneralBlockPanelKernel.h"
388
+ #include "src/Core/DeviceWrapper.h"
389
+ #ifdef EIGEN_GEMM_THREADPOOL
390
+ #include "ThreadPool"
391
+ #endif
497
392
  #include "src/Core/products/Parallelizer.h"
498
393
  #include "src/Core/ProductEvaluators.h"
499
394
  #include "src/Core/products/GeneralMatrixVector.h"
@@ -512,13 +407,26 @@ using std::ptrdiff_t;
512
407
  #include "src/Core/CoreIterators.h"
513
408
  #include "src/Core/ConditionEstimator.h"
514
409
 
515
- #include "src/Core/BooleanRedux.h"
410
+ #if defined(EIGEN_VECTORIZE_VSX)
411
+ #include "src/Core/arch/AltiVec/MatrixProduct.h"
412
+ #elif defined EIGEN_VECTORIZE_NEON
413
+ #include "src/Core/arch/NEON/GeneralBlockPanelKernel.h"
414
+ #elif defined EIGEN_VECTORIZE_LSX
415
+ #include "src/Core/arch/LSX/GeneralBlockPanelKernel.h"
416
+ #endif
417
+
418
+ #if defined(EIGEN_VECTORIZE_AVX512)
419
+ #include "src/Core/arch/AVX512/GemmKernel.h"
420
+ #endif
421
+
516
422
  #include "src/Core/Select.h"
517
423
  #include "src/Core/VectorwiseOp.h"
424
+ #include "src/Core/PartialReduxEvaluator.h"
518
425
  #include "src/Core/Random.h"
519
426
  #include "src/Core/Replicate.h"
520
427
  #include "src/Core/Reverse.h"
521
428
  #include "src/Core/ArrayWrapper.h"
429
+ #include "src/Core/StlIterators.h"
522
430
 
523
431
  #ifdef EIGEN_USE_BLAS
524
432
  #include "src/Core/products/GeneralMatrixMatrix_BLAS.h"
@@ -529,14 +437,15 @@ using std::ptrdiff_t;
529
437
  #include "src/Core/products/TriangularMatrixMatrix_BLAS.h"
530
438
  #include "src/Core/products/TriangularMatrixVector_BLAS.h"
531
439
  #include "src/Core/products/TriangularSolverMatrix_BLAS.h"
532
- #endif // EIGEN_USE_BLAS
440
+ #endif // EIGEN_USE_BLAS
533
441
 
534
442
  #ifdef EIGEN_USE_MKL_VML
535
443
  #include "src/Core/Assign_MKL.h"
536
444
  #endif
537
445
 
538
446
  #include "src/Core/GlobalFunctions.h"
447
+ // IWYU pragma: end_exports
539
448
 
540
449
  #include "src/Core/util/ReenableStupidWarnings.h"
541
450
 
542
- #endif // EIGEN_CORE_H
451
+ #endif // EIGEN_CORE_MODULE_H