@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
@@ -15,23 +15,22 @@
15
15
 
16
16
  #include <iostream>
17
17
 
18
+ // IWYU pragma: private
19
+ #include "../../InternalHeaderCheck.h"
20
+
18
21
  namespace Eigen {
19
22
 
20
23
  namespace internal {
21
24
 
22
25
  //---------- float ----------
23
26
  struct Packet2cf {
24
- EIGEN_STRONG_INLINE Packet2cf() {
25
- }
26
- EIGEN_STRONG_INLINE explicit Packet2cf(const std::complex<float>& a,
27
- const std::complex<float>& b) {
28
- Packet4f t = { std::real(a), std::imag(a), std::real(b), std::imag(b) };
27
+ EIGEN_STRONG_INLINE Packet2cf() {}
28
+ EIGEN_STRONG_INLINE explicit Packet2cf(const std::complex<float>& a, const std::complex<float>& b) {
29
+ Packet4f t = {std::real(a), std::imag(a), std::real(b), std::imag(b)};
29
30
  v = t;
30
31
  }
31
- EIGEN_STRONG_INLINE explicit Packet2cf(const Packet4f& a) : v(a) {
32
- }
33
- EIGEN_STRONG_INLINE Packet2cf(const Packet2cf& a) : v(a.v) {
34
- }
32
+ EIGEN_STRONG_INLINE explicit Packet2cf(const Packet4f& a) : v(a) {}
33
+ EIGEN_STRONG_INLINE Packet2cf(const Packet2cf& a) : v(a.v) {}
35
34
  EIGEN_STRONG_INLINE Packet2cf& operator=(const Packet2cf& b) {
36
35
  v = b.v;
37
36
  return *this;
@@ -58,36 +57,23 @@ struct Packet2cf {
58
57
  v = padd(v1, v2);
59
58
  return *this;
60
59
  }
61
- EIGEN_STRONG_INLINE Packet2cf operator*(const Packet2cf& b) const {
62
- return Packet2cf(*this) *= b;
63
- }
60
+ EIGEN_STRONG_INLINE Packet2cf operator*(const Packet2cf& b) const { return Packet2cf(*this) *= b; }
64
61
  EIGEN_STRONG_INLINE Packet2cf& operator+=(const Packet2cf& b) {
65
62
  v = padd(v, b.v);
66
63
  return *this;
67
64
  }
68
- EIGEN_STRONG_INLINE Packet2cf operator+(const Packet2cf& b) const {
69
- return Packet2cf(*this) += b;
70
- }
65
+ EIGEN_STRONG_INLINE Packet2cf operator+(const Packet2cf& b) const { return Packet2cf(*this) += b; }
71
66
  EIGEN_STRONG_INLINE Packet2cf& operator-=(const Packet2cf& b) {
72
67
  v = psub(v, b.v);
73
68
  return *this;
74
69
  }
75
- EIGEN_STRONG_INLINE Packet2cf operator-(const Packet2cf& b) const {
76
- return Packet2cf(*this) -= b;
77
- }
70
+ EIGEN_STRONG_INLINE Packet2cf operator-(const Packet2cf& b) const { return Packet2cf(*this) -= b; }
71
+ EIGEN_STRONG_INLINE Packet2cf operator/(const Packet2cf& b) const { return pdiv_complex(Packet2cf(*this), b); }
78
72
  EIGEN_STRONG_INLINE Packet2cf& operator/=(const Packet2cf& b) {
79
- *this *= b.conjugate();
80
- Packet4f s = pmul<Packet4f>(b.v, b.v);
81
- s = padd(s, (Packet4f)__builtin_msa_shf_w((v4i32)s, EIGEN_MSA_SHF_I8(1, 0, 3, 2)));
82
- v = pdiv(v, s);
73
+ *this = Packet2cf(*this) / b;
83
74
  return *this;
84
75
  }
85
- EIGEN_STRONG_INLINE Packet2cf operator/(const Packet2cf& b) const {
86
- return Packet2cf(*this) /= b;
87
- }
88
- EIGEN_STRONG_INLINE Packet2cf operator-(void) const {
89
- return Packet2cf(pnegate(v));
90
- }
76
+ EIGEN_STRONG_INLINE Packet2cf operator-(void) const { return Packet2cf(pnegate(v)); }
91
77
 
92
78
  Packet4f v;
93
79
  };
@@ -108,7 +94,6 @@ struct packet_traits<std::complex<float> > : default_packet_traits {
108
94
  Vectorizable = 1,
109
95
  AlignedOnScalar = 1,
110
96
  size = 2,
111
- HasHalfPacket = 0,
112
97
 
113
98
  HasAdd = 1,
114
99
  HasSub = 1,
@@ -127,7 +112,13 @@ struct packet_traits<std::complex<float> > : default_packet_traits {
127
112
  template <>
128
113
  struct unpacket_traits<Packet2cf> {
129
114
  typedef std::complex<float> type;
130
- enum { size = 2, alignment = Aligned16, vectorizable=true, masked_load_available=false, masked_store_available=false };
115
+ enum {
116
+ size = 2,
117
+ alignment = Aligned16,
118
+ vectorizable = true,
119
+ masked_load_available = false,
120
+ masked_store_available = false
121
+ };
131
122
  typedef Packet2cf half;
132
123
  };
133
124
 
@@ -136,8 +127,8 @@ EIGEN_STRONG_INLINE Packet2cf pset1<Packet2cf>(const std::complex<float>& from)
136
127
  EIGEN_MSA_DEBUG;
137
128
 
138
129
  float f0 = from.real(), f1 = from.imag();
139
- Packet4f v0 = { f0, f0, f0, f0 };
140
- Packet4f v1 = { f1, f1, f1, f1 };
130
+ Packet4f v0 = {f0, f0, f0, f0};
131
+ Packet4f v1 = {f1, f1, f1, f1};
141
132
  return Packet2cf((Packet4f)__builtin_msa_ilvr_w((Packet4i)v1, (Packet4i)v0));
142
133
  }
143
134
 
@@ -226,32 +217,29 @@ EIGEN_STRONG_INLINE Packet2cf ploaddup<Packet2cf>(const std::complex<float>* fro
226
217
  }
227
218
 
228
219
  template <>
229
- EIGEN_STRONG_INLINE void pstore<std::complex<float> >(std::complex<float>* to,
230
- const Packet2cf& from) {
220
+ EIGEN_STRONG_INLINE void pstore<std::complex<float> >(std::complex<float>* to, const Packet2cf& from) {
231
221
  EIGEN_MSA_DEBUG;
232
222
 
233
223
  EIGEN_DEBUG_ALIGNED_STORE pstore<float>((float*)to, from.v);
234
224
  }
235
225
 
236
226
  template <>
237
- EIGEN_STRONG_INLINE void pstoreu<std::complex<float> >(std::complex<float>* to,
238
- const Packet2cf& from) {
227
+ EIGEN_STRONG_INLINE void pstoreu<std::complex<float> >(std::complex<float>* to, const Packet2cf& from) {
239
228
  EIGEN_MSA_DEBUG;
240
229
 
241
230
  EIGEN_DEBUG_UNALIGNED_STORE pstoreu<float>((float*)to, from.v);
242
231
  }
243
232
 
244
233
  template <>
245
- EIGEN_DEVICE_FUNC inline Packet2cf pgather<std::complex<float>, Packet2cf>(
246
- const std::complex<float>* from, Index stride) {
234
+ EIGEN_DEVICE_FUNC inline Packet2cf pgather<std::complex<float>, Packet2cf>(const std::complex<float>* from,
235
+ Index stride) {
247
236
  EIGEN_MSA_DEBUG;
248
237
 
249
238
  return Packet2cf(from[0 * stride], from[1 * stride]);
250
239
  }
251
240
 
252
241
  template <>
253
- EIGEN_DEVICE_FUNC inline void pscatter<std::complex<float>, Packet2cf>(std::complex<float>* to,
254
- const Packet2cf& from,
242
+ EIGEN_DEVICE_FUNC inline void pscatter<std::complex<float>, Packet2cf>(std::complex<float>* to, const Packet2cf& from,
255
243
  Index stride) {
256
244
  EIGEN_MSA_DEBUG;
257
245
 
@@ -301,8 +289,7 @@ template <>
301
289
  EIGEN_STRONG_INLINE std::complex<float> predux_mul<Packet2cf>(const Packet2cf& a) {
302
290
  EIGEN_MSA_DEBUG;
303
291
 
304
- return std::complex<float>((a.v[0] * a.v[2]) - (a.v[1] * a.v[3]),
305
- (a.v[0] * a.v[3]) + (a.v[1] * a.v[2]));
292
+ return std::complex<float>((a.v[0] * a.v[2]) - (a.v[1] * a.v[3]), (a.v[0] * a.v[3]) + (a.v[1] * a.v[2]));
306
293
  }
307
294
 
308
295
  EIGEN_MAKE_CONJ_HELPER_CPLX_REAL(Packet2cf, Packet4f)
@@ -322,39 +309,33 @@ inline std::ostream& operator<<(std::ostream& os, const PacketBlock<Packet2cf, 2
322
309
  EIGEN_DEVICE_FUNC inline void ptranspose(PacketBlock<Packet2cf, 2>& kernel) {
323
310
  EIGEN_MSA_DEBUG;
324
311
 
325
- Packet4f tmp =
326
- (Packet4f)__builtin_msa_ilvl_d((v2i64)kernel.packet[1].v, (v2i64)kernel.packet[0].v);
327
- kernel.packet[0].v =
328
- (Packet4f)__builtin_msa_ilvr_d((v2i64)kernel.packet[1].v, (v2i64)kernel.packet[0].v);
312
+ Packet4f tmp = (Packet4f)__builtin_msa_ilvl_d((v2i64)kernel.packet[1].v, (v2i64)kernel.packet[0].v);
313
+ kernel.packet[0].v = (Packet4f)__builtin_msa_ilvr_d((v2i64)kernel.packet[1].v, (v2i64)kernel.packet[0].v);
329
314
  kernel.packet[1].v = tmp;
330
315
  }
331
316
 
332
317
  template <>
333
318
  EIGEN_STRONG_INLINE Packet2cf pblend(const Selector<2>& ifPacket, const Packet2cf& thenPacket,
334
319
  const Packet2cf& elsePacket) {
335
- return (Packet2cf)(Packet4f)pblend<Packet2d>(ifPacket, (Packet2d)thenPacket.v,
336
- (Packet2d)elsePacket.v);
320
+ return (Packet2cf)(Packet4f)pblend<Packet2d>(ifPacket, (Packet2d)thenPacket.v, (Packet2d)elsePacket.v);
337
321
  }
338
322
 
339
323
  //---------- double ----------
340
324
 
341
325
  struct Packet1cd {
342
- EIGEN_STRONG_INLINE Packet1cd() {
343
- }
326
+ EIGEN_STRONG_INLINE Packet1cd() {}
344
327
  EIGEN_STRONG_INLINE explicit Packet1cd(const std::complex<double>& a) {
345
328
  v[0] = std::real(a);
346
329
  v[1] = std::imag(a);
347
330
  }
348
- EIGEN_STRONG_INLINE explicit Packet1cd(const Packet2d& a) : v(a) {
349
- }
350
- EIGEN_STRONG_INLINE Packet1cd(const Packet1cd& a) : v(a.v) {
351
- }
331
+ EIGEN_STRONG_INLINE explicit Packet1cd(const Packet2d& a) : v(a) {}
332
+ EIGEN_STRONG_INLINE Packet1cd(const Packet1cd& a) : v(a.v) {}
352
333
  EIGEN_STRONG_INLINE Packet1cd& operator=(const Packet1cd& b) {
353
334
  v = b.v;
354
335
  return *this;
355
336
  }
356
337
  EIGEN_STRONG_INLINE Packet1cd conjugate(void) const {
357
- static const v2u64 p2ul_CONJ_XOR = { 0x0, 0x8000000000000000 };
338
+ static const v2u64 p2ul_CONJ_XOR = {0x0, 0x8000000000000000};
358
339
  return (Packet1cd)pxor(v, (Packet2d)p2ul_CONJ_XOR);
359
340
  }
360
341
  EIGEN_STRONG_INLINE Packet1cd& operator*=(const Packet1cd& b) {
@@ -376,23 +357,17 @@ struct Packet1cd {
376
357
  v = padd(v1, v2);
377
358
  return *this;
378
359
  }
379
- EIGEN_STRONG_INLINE Packet1cd operator*(const Packet1cd& b) const {
380
- return Packet1cd(*this) *= b;
381
- }
360
+ EIGEN_STRONG_INLINE Packet1cd operator*(const Packet1cd& b) const { return Packet1cd(*this) *= b; }
382
361
  EIGEN_STRONG_INLINE Packet1cd& operator+=(const Packet1cd& b) {
383
362
  v = padd(v, b.v);
384
363
  return *this;
385
364
  }
386
- EIGEN_STRONG_INLINE Packet1cd operator+(const Packet1cd& b) const {
387
- return Packet1cd(*this) += b;
388
- }
365
+ EIGEN_STRONG_INLINE Packet1cd operator+(const Packet1cd& b) const { return Packet1cd(*this) += b; }
389
366
  EIGEN_STRONG_INLINE Packet1cd& operator-=(const Packet1cd& b) {
390
367
  v = psub(v, b.v);
391
368
  return *this;
392
369
  }
393
- EIGEN_STRONG_INLINE Packet1cd operator-(const Packet1cd& b) const {
394
- return Packet1cd(*this) -= b;
395
- }
370
+ EIGEN_STRONG_INLINE Packet1cd operator-(const Packet1cd& b) const { return Packet1cd(*this) -= b; }
396
371
  EIGEN_STRONG_INLINE Packet1cd& operator/=(const Packet1cd& b) {
397
372
  *this *= b.conjugate();
398
373
  Packet2d s = pmul<Packet2d>(b.v, b.v);
@@ -400,12 +375,8 @@ struct Packet1cd {
400
375
  v = pdiv(v, s);
401
376
  return *this;
402
377
  }
403
- EIGEN_STRONG_INLINE Packet1cd operator/(const Packet1cd& b) const {
404
- return Packet1cd(*this) /= b;
405
- }
406
- EIGEN_STRONG_INLINE Packet1cd operator-(void) const {
407
- return Packet1cd(pnegate(v));
408
- }
378
+ EIGEN_STRONG_INLINE Packet1cd operator/(const Packet1cd& b) const { return Packet1cd(*this) /= b; }
379
+ EIGEN_STRONG_INLINE Packet1cd operator-(void) const { return Packet1cd(pnegate(v)); }
409
380
 
410
381
  Packet2d v;
411
382
  };
@@ -423,7 +394,6 @@ struct packet_traits<std::complex<double> > : default_packet_traits {
423
394
  Vectorizable = 1,
424
395
  AlignedOnScalar = 0,
425
396
  size = 1,
426
- HasHalfPacket = 0,
427
397
 
428
398
  HasAdd = 1,
429
399
  HasSub = 1,
@@ -441,7 +411,13 @@ struct packet_traits<std::complex<double> > : default_packet_traits {
441
411
  template <>
442
412
  struct unpacket_traits<Packet1cd> {
443
413
  typedef std::complex<double> type;
444
- enum { size = 1, alignment = Aligned16, vectorizable=true, masked_load_available=false, masked_store_available=false };
414
+ enum {
415
+ size = 1,
416
+ alignment = Aligned16,
417
+ vectorizable = true,
418
+ masked_load_available = false,
419
+ masked_store_available = false
420
+ };
445
421
  typedef Packet1cd half;
446
422
  };
447
423
 
@@ -537,16 +513,14 @@ EIGEN_STRONG_INLINE Packet1cd ploaddup<Packet1cd>(const std::complex<double>* fr
537
513
  }
538
514
 
539
515
  template <>
540
- EIGEN_STRONG_INLINE void pstore<std::complex<double> >(std::complex<double>* to,
541
- const Packet1cd& from) {
516
+ EIGEN_STRONG_INLINE void pstore<std::complex<double> >(std::complex<double>* to, const Packet1cd& from) {
542
517
  EIGEN_MSA_DEBUG;
543
518
 
544
519
  EIGEN_DEBUG_ALIGNED_STORE pstore<double>((double*)to, from.v);
545
520
  }
546
521
 
547
522
  template <>
548
- EIGEN_STRONG_INLINE void pstoreu<std::complex<double> >(std::complex<double>* to,
549
- const Packet1cd& from) {
523
+ EIGEN_STRONG_INLINE void pstoreu<std::complex<double> >(std::complex<double>* to, const Packet1cd& from) {
550
524
  EIGEN_MSA_DEBUG;
551
525
 
552
526
  EIGEN_DEBUG_UNALIGNED_STORE pstoreu<double>((double*)to, from.v);
@@ -560,8 +534,8 @@ EIGEN_STRONG_INLINE void prefetch<std::complex<double> >(const std::complex<doub
560
534
  }
561
535
 
562
536
  template <>
563
- EIGEN_DEVICE_FUNC inline Packet1cd pgather<std::complex<double>, Packet1cd>(
564
- const std::complex<double>* from, Index stride __attribute__((unused))) {
537
+ EIGEN_DEVICE_FUNC inline Packet1cd pgather<std::complex<double>, Packet1cd>(const std::complex<double>* from,
538
+ Index stride __attribute__((unused))) {
565
539
  EIGEN_MSA_DEBUG;
566
540
 
567
541
  Packet1cd res;
@@ -571,10 +545,8 @@ EIGEN_DEVICE_FUNC inline Packet1cd pgather<std::complex<double>, Packet1cd>(
571
545
  }
572
546
 
573
547
  template <>
574
- EIGEN_DEVICE_FUNC inline void pscatter<std::complex<double>, Packet1cd>(std::complex<double>* to,
575
- const Packet1cd& from,
576
- Index stride
577
- __attribute__((unused))) {
548
+ EIGEN_DEVICE_FUNC inline void pscatter<std::complex<double>, Packet1cd>(std::complex<double>* to, const Packet1cd& from,
549
+ Index stride __attribute__((unused))) {
578
550
  EIGEN_MSA_DEBUG;
579
551
 
580
552
  pstore(to, from);
@@ -26,27 +26,29 @@
26
26
  #ifndef EIGEN_MATH_FUNCTIONS_MSA_H
27
27
  #define EIGEN_MATH_FUNCTIONS_MSA_H
28
28
 
29
+ // IWYU pragma: private
30
+ #include "../../InternalHeaderCheck.h"
31
+
29
32
  namespace Eigen {
30
33
 
31
34
  namespace internal {
32
35
 
33
36
  template <>
34
- EIGEN_DEFINE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS EIGEN_UNUSED Packet4f
35
- plog<Packet4f>(const Packet4f& _x) {
36
- static _EIGEN_DECLARE_CONST_Packet4f(cephes_SQRTHF, 0.707106781186547524f);
37
- static _EIGEN_DECLARE_CONST_Packet4f(cephes_log_p0, 7.0376836292e-2f);
38
- static _EIGEN_DECLARE_CONST_Packet4f(cephes_log_p1, -1.1514610310e-1f);
39
- static _EIGEN_DECLARE_CONST_Packet4f(cephes_log_p2, 1.1676998740e-1f);
40
- static _EIGEN_DECLARE_CONST_Packet4f(cephes_log_p3, -1.2420140846e-1f);
41
- static _EIGEN_DECLARE_CONST_Packet4f(cephes_log_p4, +1.4249322787e-1f);
42
- static _EIGEN_DECLARE_CONST_Packet4f(cephes_log_p5, -1.6668057665e-1f);
43
- static _EIGEN_DECLARE_CONST_Packet4f(cephes_log_p6, +2.0000714765e-1f);
44
- static _EIGEN_DECLARE_CONST_Packet4f(cephes_log_p7, -2.4999993993e-1f);
45
- static _EIGEN_DECLARE_CONST_Packet4f(cephes_log_p8, +3.3333331174e-1f);
46
- static _EIGEN_DECLARE_CONST_Packet4f(cephes_log_q1, -2.12194440e-4f);
47
- static _EIGEN_DECLARE_CONST_Packet4f(cephes_log_q2, 0.693359375f);
48
- static _EIGEN_DECLARE_CONST_Packet4f(half, 0.5f);
49
- static _EIGEN_DECLARE_CONST_Packet4f(1, 1.0f);
37
+ EIGEN_DEFINE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS Packet4f plog<Packet4f>(const Packet4f& _x) {
38
+ static EIGEN_DECLARE_CONST_Packet4f(cephes_SQRTHF, 0.707106781186547524f);
39
+ static EIGEN_DECLARE_CONST_Packet4f(cephes_log_p0, 7.0376836292e-2f);
40
+ static EIGEN_DECLARE_CONST_Packet4f(cephes_log_p1, -1.1514610310e-1f);
41
+ static EIGEN_DECLARE_CONST_Packet4f(cephes_log_p2, 1.1676998740e-1f);
42
+ static EIGEN_DECLARE_CONST_Packet4f(cephes_log_p3, -1.2420140846e-1f);
43
+ static EIGEN_DECLARE_CONST_Packet4f(cephes_log_p4, +1.4249322787e-1f);
44
+ static EIGEN_DECLARE_CONST_Packet4f(cephes_log_p5, -1.6668057665e-1f);
45
+ static EIGEN_DECLARE_CONST_Packet4f(cephes_log_p6, +2.0000714765e-1f);
46
+ static EIGEN_DECLARE_CONST_Packet4f(cephes_log_p7, -2.4999993993e-1f);
47
+ static EIGEN_DECLARE_CONST_Packet4f(cephes_log_p8, +3.3333331174e-1f);
48
+ static EIGEN_DECLARE_CONST_Packet4f(cephes_log_q1, -2.12194440e-4f);
49
+ static EIGEN_DECLARE_CONST_Packet4f(cephes_log_q2, 0.693359375f);
50
+ static EIGEN_DECLARE_CONST_Packet4f(half, 0.5f);
51
+ static EIGEN_DECLARE_CONST_Packet4f(1, 1.0f);
50
52
 
51
53
  // Convert negative argument into NAN (quiet negative, to be specific).
52
54
  Packet4f zero = (Packet4f)__builtin_msa_ldi_w(0);
@@ -119,31 +121,28 @@ plog<Packet4f>(const Packet4f& _x) {
119
121
  }
120
122
 
121
123
  template <>
122
- EIGEN_DEFINE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS EIGEN_UNUSED Packet4f
123
- pexp<Packet4f>(const Packet4f& _x) {
124
+ EIGEN_DEFINE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS Packet4f pexp<Packet4f>(const Packet4f& _x) {
124
125
  // Limiting single-precision pexp's argument to [-128, +128] lets pexp
125
126
  // reach 0 and INFINITY naturally.
126
- static _EIGEN_DECLARE_CONST_Packet4f(exp_lo, -128.0f);
127
- static _EIGEN_DECLARE_CONST_Packet4f(exp_hi, +128.0f);
128
- static _EIGEN_DECLARE_CONST_Packet4f(cephes_LOG2EF, 1.44269504088896341f);
129
- static _EIGEN_DECLARE_CONST_Packet4f(cephes_exp_C1, 0.693359375f);
130
- static _EIGEN_DECLARE_CONST_Packet4f(cephes_exp_C2, -2.12194440e-4f);
131
- static _EIGEN_DECLARE_CONST_Packet4f(cephes_exp_p0, 1.9875691500e-4f);
132
- static _EIGEN_DECLARE_CONST_Packet4f(cephes_exp_p1, 1.3981999507e-3f);
133
- static _EIGEN_DECLARE_CONST_Packet4f(cephes_exp_p2, 8.3334519073e-3f);
134
- static _EIGEN_DECLARE_CONST_Packet4f(cephes_exp_p3, 4.1665795894e-2f);
135
- static _EIGEN_DECLARE_CONST_Packet4f(cephes_exp_p4, 1.6666665459e-1f);
136
- static _EIGEN_DECLARE_CONST_Packet4f(cephes_exp_p5, 5.0000001201e-1f);
137
- static _EIGEN_DECLARE_CONST_Packet4f(half, 0.5f);
138
- static _EIGEN_DECLARE_CONST_Packet4f(1, 1.0f);
127
+ static EIGEN_DECLARE_CONST_Packet4f(exp_lo, -128.0f);
128
+ static EIGEN_DECLARE_CONST_Packet4f(exp_hi, +128.0f);
129
+ static EIGEN_DECLARE_CONST_Packet4f(cephes_LOG2EF, 1.44269504088896341f);
130
+ static EIGEN_DECLARE_CONST_Packet4f(cephes_exp_C1, 0.693359375f);
131
+ static EIGEN_DECLARE_CONST_Packet4f(cephes_exp_C2, -2.12194440e-4f);
132
+ static EIGEN_DECLARE_CONST_Packet4f(cephes_exp_p0, 1.9875691500e-4f);
133
+ static EIGEN_DECLARE_CONST_Packet4f(cephes_exp_p1, 1.3981999507e-3f);
134
+ static EIGEN_DECLARE_CONST_Packet4f(cephes_exp_p2, 8.3334519073e-3f);
135
+ static EIGEN_DECLARE_CONST_Packet4f(cephes_exp_p3, 4.1665795894e-2f);
136
+ static EIGEN_DECLARE_CONST_Packet4f(cephes_exp_p4, 1.6666665459e-1f);
137
+ static EIGEN_DECLARE_CONST_Packet4f(cephes_exp_p5, 5.0000001201e-1f);
138
+ static EIGEN_DECLARE_CONST_Packet4f(half, 0.5f);
139
+ static EIGEN_DECLARE_CONST_Packet4f(1, 1.0f);
139
140
 
140
141
  Packet4f x = _x;
141
142
 
142
143
  // Clamp x.
143
- x = (Packet4f)__builtin_msa_bsel_v((v16u8)__builtin_msa_fclt_w(x, p4f_exp_lo), (v16u8)x,
144
- (v16u8)p4f_exp_lo);
145
- x = (Packet4f)__builtin_msa_bsel_v((v16u8)__builtin_msa_fclt_w(p4f_exp_hi, x), (v16u8)x,
146
- (v16u8)p4f_exp_hi);
144
+ x = (Packet4f)__builtin_msa_bsel_v((v16u8)__builtin_msa_fclt_w(x, p4f_exp_lo), (v16u8)x, (v16u8)p4f_exp_lo);
145
+ x = (Packet4f)__builtin_msa_bsel_v((v16u8)__builtin_msa_fclt_w(p4f_exp_hi, x), (v16u8)x, (v16u8)p4f_exp_hi);
147
146
 
148
147
  // Round to nearest integer by adding 0.5 (with x's sign) and truncating.
149
148
  Packet4f x2_add = (Packet4f)__builtin_msa_binsli_w((v4u32)p4f_half, (v4u32)x, 0);
@@ -172,31 +171,29 @@ pexp<Packet4f>(const Packet4f& _x) {
172
171
  }
173
172
 
174
173
  template <>
175
- EIGEN_DEFINE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS EIGEN_UNUSED Packet4f
176
- ptanh<Packet4f>(const Packet4f& _x) {
177
- static _EIGEN_DECLARE_CONST_Packet4f(tanh_tiny, 1e-4f);
178
- static _EIGEN_DECLARE_CONST_Packet4f(tanh_hi, 9.0f);
174
+ EIGEN_DEFINE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS Packet4f ptanh<Packet4f>(const Packet4f& _x) {
175
+ static EIGEN_DECLARE_CONST_Packet4f(tanh_tiny, 1e-4f);
176
+ static EIGEN_DECLARE_CONST_Packet4f(tanh_hi, 9.0f);
179
177
  // The monomial coefficients of the numerator polynomial (odd).
180
- static _EIGEN_DECLARE_CONST_Packet4f(alpha_1, 4.89352455891786e-3f);
181
- static _EIGEN_DECLARE_CONST_Packet4f(alpha_3, 6.37261928875436e-4f);
182
- static _EIGEN_DECLARE_CONST_Packet4f(alpha_5, 1.48572235717979e-5f);
183
- static _EIGEN_DECLARE_CONST_Packet4f(alpha_7, 5.12229709037114e-8f);
184
- static _EIGEN_DECLARE_CONST_Packet4f(alpha_9, -8.60467152213735e-11f);
185
- static _EIGEN_DECLARE_CONST_Packet4f(alpha_11, 2.00018790482477e-13f);
186
- static _EIGEN_DECLARE_CONST_Packet4f(alpha_13, -2.76076847742355e-16f);
178
+ static EIGEN_DECLARE_CONST_Packet4f(alpha_1, 4.89352455891786e-3f);
179
+ static EIGEN_DECLARE_CONST_Packet4f(alpha_3, 6.37261928875436e-4f);
180
+ static EIGEN_DECLARE_CONST_Packet4f(alpha_5, 1.48572235717979e-5f);
181
+ static EIGEN_DECLARE_CONST_Packet4f(alpha_7, 5.12229709037114e-8f);
182
+ static EIGEN_DECLARE_CONST_Packet4f(alpha_9, -8.60467152213735e-11f);
183
+ static EIGEN_DECLARE_CONST_Packet4f(alpha_11, 2.00018790482477e-13f);
184
+ static EIGEN_DECLARE_CONST_Packet4f(alpha_13, -2.76076847742355e-16f);
187
185
  // The monomial coefficients of the denominator polynomial (even).
188
- static _EIGEN_DECLARE_CONST_Packet4f(beta_0, 4.89352518554385e-3f);
189
- static _EIGEN_DECLARE_CONST_Packet4f(beta_2, 2.26843463243900e-3f);
190
- static _EIGEN_DECLARE_CONST_Packet4f(beta_4, 1.18534705686654e-4f);
191
- static _EIGEN_DECLARE_CONST_Packet4f(beta_6, 1.19825839466702e-6f);
186
+ static EIGEN_DECLARE_CONST_Packet4f(beta_0, 4.89352518554385e-3f);
187
+ static EIGEN_DECLARE_CONST_Packet4f(beta_2, 2.26843463243900e-3f);
188
+ static EIGEN_DECLARE_CONST_Packet4f(beta_4, 1.18534705686654e-4f);
189
+ static EIGEN_DECLARE_CONST_Packet4f(beta_6, 1.19825839466702e-6f);
192
190
 
193
191
  Packet4f x = pabs(_x);
194
192
  Packet4i tiny_mask = __builtin_msa_fclt_w(x, p4f_tanh_tiny);
195
193
 
196
194
  // Clamp the inputs to the range [-9, 9] since anything outside
197
195
  // this range is -/+1.0f in single-precision.
198
- x = (Packet4f)__builtin_msa_bsel_v((v16u8)__builtin_msa_fclt_w(p4f_tanh_hi, x), (v16u8)x,
199
- (v16u8)p4f_tanh_hi);
196
+ x = (Packet4f)__builtin_msa_bsel_v((v16u8)__builtin_msa_fclt_w(p4f_tanh_hi, x), (v16u8)x, (v16u8)p4f_tanh_hi);
200
197
 
201
198
  // Since the polynomials are odd/even, we need x**2.
202
199
  Packet4f x2 = pmul(x, x);
@@ -229,19 +226,19 @@ ptanh<Packet4f>(const Packet4f& _x) {
229
226
 
230
227
  template <bool sine>
231
228
  Packet4f psincos_inner_msa_float(const Packet4f& _x) {
232
- static _EIGEN_DECLARE_CONST_Packet4f(sincos_max_arg, 13176795.0f); // Approx. (2**24) / (4/Pi).
233
- static _EIGEN_DECLARE_CONST_Packet4f(minus_cephes_DP1, -0.78515625f);
234
- static _EIGEN_DECLARE_CONST_Packet4f(minus_cephes_DP2, -2.4187564849853515625e-4f);
235
- static _EIGEN_DECLARE_CONST_Packet4f(minus_cephes_DP3, -3.77489497744594108e-8f);
236
- static _EIGEN_DECLARE_CONST_Packet4f(sincof_p0, -1.9515295891e-4f);
237
- static _EIGEN_DECLARE_CONST_Packet4f(sincof_p1, 8.3321608736e-3f);
238
- static _EIGEN_DECLARE_CONST_Packet4f(sincof_p2, -1.6666654611e-1f);
239
- static _EIGEN_DECLARE_CONST_Packet4f(coscof_p0, 2.443315711809948e-5f);
240
- static _EIGEN_DECLARE_CONST_Packet4f(coscof_p1, -1.388731625493765e-3f);
241
- static _EIGEN_DECLARE_CONST_Packet4f(coscof_p2, 4.166664568298827e-2f);
242
- static _EIGEN_DECLARE_CONST_Packet4f(cephes_FOPI, 1.27323954473516f); // 4/Pi.
243
- static _EIGEN_DECLARE_CONST_Packet4f(half, 0.5f);
244
- static _EIGEN_DECLARE_CONST_Packet4f(1, 1.0f);
229
+ static EIGEN_DECLARE_CONST_Packet4f(sincos_max_arg, 13176795.0f); // Approx. (2**24) / (4/Pi).
230
+ static EIGEN_DECLARE_CONST_Packet4f(minus_cephes_DP1, -0.78515625f);
231
+ static EIGEN_DECLARE_CONST_Packet4f(minus_cephes_DP2, -2.4187564849853515625e-4f);
232
+ static EIGEN_DECLARE_CONST_Packet4f(minus_cephes_DP3, -3.77489497744594108e-8f);
233
+ static EIGEN_DECLARE_CONST_Packet4f(sincof_p0, -1.9515295891e-4f);
234
+ static EIGEN_DECLARE_CONST_Packet4f(sincof_p1, 8.3321608736e-3f);
235
+ static EIGEN_DECLARE_CONST_Packet4f(sincof_p2, -1.6666654611e-1f);
236
+ static EIGEN_DECLARE_CONST_Packet4f(coscof_p0, 2.443315711809948e-5f);
237
+ static EIGEN_DECLARE_CONST_Packet4f(coscof_p1, -1.388731625493765e-3f);
238
+ static EIGEN_DECLARE_CONST_Packet4f(coscof_p2, 4.166664568298827e-2f);
239
+ static EIGEN_DECLARE_CONST_Packet4f(cephes_FOPI, 1.27323954473516f); // 4/Pi.
240
+ static EIGEN_DECLARE_CONST_Packet4f(half, 0.5f);
241
+ static EIGEN_DECLARE_CONST_Packet4f(1, 1.0f);
245
242
 
246
243
  Packet4f x = pabs(_x);
247
244
 
@@ -261,7 +258,7 @@ Packet4f psincos_inner_msa_float(const Packet4f& _x) {
261
258
  // x's from odd-numbered octants will translate to octant -1: [-Pi/4, 0].
262
259
  // Adjustment for odd-numbered octants: octant = (octant + 1) & (~1).
263
260
  Packet4i y_int1 = __builtin_msa_addvi_w(y_int, 1);
264
- Packet4i y_int2 = (Packet4i)__builtin_msa_bclri_w((Packet4ui)y_int1, 0); // bclri = bit-clear
261
+ Packet4i y_int2 = (Packet4i)__builtin_msa_bclri_w((Packet4ui)y_int1, 0); // bclri = bit-clear
265
262
  y = __builtin_msa_ffint_s_w(y_int2);
266
263
 
267
264
  // Compute the sign to apply to the polynomial.
@@ -305,50 +302,45 @@ Packet4f psincos_inner_msa_float(const Packet4f& _x) {
305
302
 
306
303
  // Update the sign.
307
304
  sign_mask = pxor(sign_mask, (Packet4i)y);
308
- y = (Packet4f)__builtin_msa_binsli_w((v4u32)y, (v4u32)sign_mask, 0); // binsli = bit-insert-left
305
+ y = (Packet4f)__builtin_msa_binsli_w((v4u32)y, (v4u32)sign_mask, 0); // binsli = bit-insert-left
309
306
  return y;
310
307
  }
311
308
 
312
309
  template <>
313
- EIGEN_DEFINE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS EIGEN_UNUSED Packet4f
314
- psin<Packet4f>(const Packet4f& x) {
310
+ EIGEN_DEFINE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS Packet4f psin<Packet4f>(const Packet4f& x) {
315
311
  return psincos_inner_msa_float</* sine */ true>(x);
316
312
  }
317
313
 
318
314
  template <>
319
- EIGEN_DEFINE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS EIGEN_UNUSED Packet4f
320
- pcos<Packet4f>(const Packet4f& x) {
315
+ EIGEN_DEFINE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS Packet4f pcos<Packet4f>(const Packet4f& x) {
321
316
  return psincos_inner_msa_float</* sine */ false>(x);
322
317
  }
323
318
 
324
319
  template <>
325
- EIGEN_DEFINE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS EIGEN_UNUSED Packet2d
326
- pexp<Packet2d>(const Packet2d& _x) {
320
+ EIGEN_DEFINE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS Packet2d pexp<Packet2d>(const Packet2d& _x) {
327
321
  // Limiting double-precision pexp's argument to [-1024, +1024] lets pexp
328
322
  // reach 0 and INFINITY naturally.
329
- static _EIGEN_DECLARE_CONST_Packet2d(exp_lo, -1024.0);
330
- static _EIGEN_DECLARE_CONST_Packet2d(exp_hi, +1024.0);
331
- static _EIGEN_DECLARE_CONST_Packet2d(cephes_LOG2EF, 1.4426950408889634073599);
332
- static _EIGEN_DECLARE_CONST_Packet2d(cephes_exp_C1, 0.693145751953125);
333
- static _EIGEN_DECLARE_CONST_Packet2d(cephes_exp_C2, 1.42860682030941723212e-6);
334
- static _EIGEN_DECLARE_CONST_Packet2d(cephes_exp_p0, 1.26177193074810590878e-4);
335
- static _EIGEN_DECLARE_CONST_Packet2d(cephes_exp_p1, 3.02994407707441961300e-2);
336
- static _EIGEN_DECLARE_CONST_Packet2d(cephes_exp_p2, 9.99999999999999999910e-1);
337
- static _EIGEN_DECLARE_CONST_Packet2d(cephes_exp_q0, 3.00198505138664455042e-6);
338
- static _EIGEN_DECLARE_CONST_Packet2d(cephes_exp_q1, 2.52448340349684104192e-3);
339
- static _EIGEN_DECLARE_CONST_Packet2d(cephes_exp_q2, 2.27265548208155028766e-1);
340
- static _EIGEN_DECLARE_CONST_Packet2d(cephes_exp_q3, 2.00000000000000000009e0);
341
- static _EIGEN_DECLARE_CONST_Packet2d(half, 0.5);
342
- static _EIGEN_DECLARE_CONST_Packet2d(1, 1.0);
343
- static _EIGEN_DECLARE_CONST_Packet2d(2, 2.0);
323
+ static EIGEN_DECLARE_CONST_Packet2d(exp_lo, -1024.0);
324
+ static EIGEN_DECLARE_CONST_Packet2d(exp_hi, +1024.0);
325
+ static EIGEN_DECLARE_CONST_Packet2d(cephes_LOG2EF, 1.4426950408889634073599);
326
+ static EIGEN_DECLARE_CONST_Packet2d(cephes_exp_C1, 0.693145751953125);
327
+ static EIGEN_DECLARE_CONST_Packet2d(cephes_exp_C2, 1.42860682030941723212e-6);
328
+ static EIGEN_DECLARE_CONST_Packet2d(cephes_exp_p0, 1.26177193074810590878e-4);
329
+ static EIGEN_DECLARE_CONST_Packet2d(cephes_exp_p1, 3.02994407707441961300e-2);
330
+ static EIGEN_DECLARE_CONST_Packet2d(cephes_exp_p2, 9.99999999999999999910e-1);
331
+ static EIGEN_DECLARE_CONST_Packet2d(cephes_exp_q0, 3.00198505138664455042e-6);
332
+ static EIGEN_DECLARE_CONST_Packet2d(cephes_exp_q1, 2.52448340349684104192e-3);
333
+ static EIGEN_DECLARE_CONST_Packet2d(cephes_exp_q2, 2.27265548208155028766e-1);
334
+ static EIGEN_DECLARE_CONST_Packet2d(cephes_exp_q3, 2.00000000000000000009e0);
335
+ static EIGEN_DECLARE_CONST_Packet2d(half, 0.5);
336
+ static EIGEN_DECLARE_CONST_Packet2d(1, 1.0);
337
+ static EIGEN_DECLARE_CONST_Packet2d(2, 2.0);
344
338
 
345
339
  Packet2d x = _x;
346
340
 
347
341
  // Clamp x.
348
- x = (Packet2d)__builtin_msa_bsel_v((v16u8)__builtin_msa_fclt_d(x, p2d_exp_lo), (v16u8)x,
349
- (v16u8)p2d_exp_lo);
350
- x = (Packet2d)__builtin_msa_bsel_v((v16u8)__builtin_msa_fclt_d(p2d_exp_hi, x), (v16u8)x,
351
- (v16u8)p2d_exp_hi);
342
+ x = (Packet2d)__builtin_msa_bsel_v((v16u8)__builtin_msa_fclt_d(x, p2d_exp_lo), (v16u8)x, (v16u8)p2d_exp_lo);
343
+ x = (Packet2d)__builtin_msa_bsel_v((v16u8)__builtin_msa_fclt_d(p2d_exp_hi, x), (v16u8)x, (v16u8)p2d_exp_hi);
352
344
 
353
345
  // Round to nearest integer by adding 0.5 (with x's sign) and truncating.
354
346
  Packet2d x2_add = (Packet2d)__builtin_msa_binsli_d((v2u64)p2d_half, (v2u64)x, 0);