@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
@@ -12,14 +12,17 @@
12
12
  #ifndef EIGEN_CWISE_TERNARY_OP_H
13
13
  #define EIGEN_CWISE_TERNARY_OP_H
14
14
 
15
+ // IWYU pragma: private
16
+ #include "./InternalHeaderCheck.h"
17
+
15
18
  namespace Eigen {
16
19
 
17
20
  namespace internal {
18
21
  template <typename TernaryOp, typename Arg1, typename Arg2, typename Arg3>
19
- struct traits<CwiseTernaryOp<TernaryOp, Arg1, Arg2, Arg3> > {
22
+ struct traits<CwiseTernaryOp<TernaryOp, Arg1, Arg2, Arg3>> {
20
23
  // we must not inherit from traits<Arg1> since it has
21
24
  // the potential to cause problems with MSVC
22
- typedef typename remove_all<Arg1>::type Ancestor;
25
+ typedef remove_all_t<Arg1> Ancestor;
23
26
  typedef typename traits<Ancestor>::XprKind XprKind;
24
27
  enum {
25
28
  RowsAtCompileTime = traits<Ancestor>::RowsAtCompileTime,
@@ -31,9 +34,8 @@ struct traits<CwiseTernaryOp<TernaryOp, Arg1, Arg2, Arg3> > {
31
34
  // even though we require Arg1, Arg2, and Arg3 to have the same scalar type
32
35
  // (see CwiseTernaryOp constructor),
33
36
  // we still want to handle the case when the result type is different.
34
- typedef typename result_of<TernaryOp(
35
- const typename Arg1::Scalar&, const typename Arg2::Scalar&,
36
- const typename Arg3::Scalar&)>::type Scalar;
37
+ typedef typename result_of<TernaryOp(const typename Arg1::Scalar&, const typename Arg2::Scalar&,
38
+ const typename Arg3::Scalar&)>::type Scalar;
37
39
 
38
40
  typedef typename internal::traits<Arg1>::StorageKind StorageKind;
39
41
  typedef typename internal::traits<Arg1>::StorageIndex StorageIndex;
@@ -41,138 +43,114 @@ struct traits<CwiseTernaryOp<TernaryOp, Arg1, Arg2, Arg3> > {
41
43
  typedef typename Arg1::Nested Arg1Nested;
42
44
  typedef typename Arg2::Nested Arg2Nested;
43
45
  typedef typename Arg3::Nested Arg3Nested;
44
- typedef typename remove_reference<Arg1Nested>::type _Arg1Nested;
45
- typedef typename remove_reference<Arg2Nested>::type _Arg2Nested;
46
- typedef typename remove_reference<Arg3Nested>::type _Arg3Nested;
47
- enum { Flags = _Arg1Nested::Flags & RowMajorBit };
46
+ typedef std::remove_reference_t<Arg1Nested> Arg1Nested_;
47
+ typedef std::remove_reference_t<Arg2Nested> Arg2Nested_;
48
+ typedef std::remove_reference_t<Arg3Nested> Arg3Nested_;
49
+ enum { Flags = Arg1Nested_::Flags & RowMajorBit };
48
50
  };
49
51
  } // end namespace internal
50
52
 
51
- template <typename TernaryOp, typename Arg1, typename Arg2, typename Arg3,
52
- typename StorageKind>
53
+ template <typename TernaryOp, typename Arg1, typename Arg2, typename Arg3, typename StorageKind>
53
54
  class CwiseTernaryOpImpl;
54
55
 
55
56
  /** \class CwiseTernaryOp
56
- * \ingroup Core_Module
57
- *
58
- * \brief Generic expression where a coefficient-wise ternary operator is
57
+ * \ingroup Core_Module
58
+ *
59
+ * \brief Generic expression where a coefficient-wise ternary operator is
59
60
  * applied to two expressions
60
- *
61
- * \tparam TernaryOp template functor implementing the operator
62
- * \tparam Arg1Type the type of the first argument
63
- * \tparam Arg2Type the type of the second argument
64
- * \tparam Arg3Type the type of the third argument
65
- *
66
- * This class represents an expression where a coefficient-wise ternary
61
+ *
62
+ * \tparam TernaryOp template functor implementing the operator
63
+ * \tparam Arg1Type the type of the first argument
64
+ * \tparam Arg2Type the type of the second argument
65
+ * \tparam Arg3Type the type of the third argument
66
+ *
67
+ * This class represents an expression where a coefficient-wise ternary
67
68
  * operator is applied to three expressions.
68
- * It is the return type of ternary operators, by which we mean only those
69
+ * It is the return type of ternary operators, by which we mean only those
69
70
  * ternary operators where
70
- * all three arguments are Eigen expressions.
71
- * For example, the return type of betainc(matrix1, matrix2, matrix3) is a
71
+ * all three arguments are Eigen expressions.
72
+ * For example, the return type of betainc(matrix1, matrix2, matrix3) is a
72
73
  * CwiseTernaryOp.
73
- *
74
- * Most of the time, this is the only way that it is used, so you typically
74
+ *
75
+ * Most of the time, this is the only way that it is used, so you typically
75
76
  * don't have to name
76
- * CwiseTernaryOp types explicitly.
77
- *
78
- * \sa MatrixBase::ternaryExpr(const MatrixBase<Argument2> &, const
77
+ * CwiseTernaryOp types explicitly.
78
+ *
79
+ * \sa MatrixBase::ternaryExpr(const MatrixBase<Argument2> &, const
79
80
  * MatrixBase<Argument3> &, const CustomTernaryOp &) const, class CwiseBinaryOp,
80
81
  * class CwiseUnaryOp, class CwiseNullaryOp
81
- */
82
- template <typename TernaryOp, typename Arg1Type, typename Arg2Type,
83
- typename Arg3Type>
84
- class CwiseTernaryOp : public CwiseTernaryOpImpl<
85
- TernaryOp, Arg1Type, Arg2Type, Arg3Type,
86
- typename internal::traits<Arg1Type>::StorageKind>,
87
- internal::no_assignment_operator
88
- {
82
+ */
83
+ template <typename TernaryOp, typename Arg1Type, typename Arg2Type, typename Arg3Type>
84
+ class CwiseTernaryOp : public CwiseTernaryOpImpl<TernaryOp, Arg1Type, Arg2Type, Arg3Type,
85
+ typename internal::traits<Arg1Type>::StorageKind>,
86
+ internal::no_assignment_operator {
89
87
  public:
90
- typedef typename internal::remove_all<Arg1Type>::type Arg1;
91
- typedef typename internal::remove_all<Arg2Type>::type Arg2;
92
- typedef typename internal::remove_all<Arg3Type>::type Arg3;
93
-
94
- typedef typename CwiseTernaryOpImpl<
95
- TernaryOp, Arg1Type, Arg2Type, Arg3Type,
96
- typename internal::traits<Arg1Type>::StorageKind>::Base Base;
88
+ typedef internal::remove_all_t<Arg1Type> Arg1;
89
+ typedef internal::remove_all_t<Arg2Type> Arg2;
90
+ typedef internal::remove_all_t<Arg3Type> Arg3;
91
+
92
+ // require the sizes to match
93
+ EIGEN_STATIC_ASSERT_SAME_MATRIX_SIZE(Arg1, Arg2)
94
+ EIGEN_STATIC_ASSERT_SAME_MATRIX_SIZE(Arg1, Arg3)
95
+
96
+ // The index types should match
97
+ EIGEN_STATIC_ASSERT((internal::is_same<typename internal::traits<Arg1Type>::StorageKind,
98
+ typename internal::traits<Arg2Type>::StorageKind>::value),
99
+ STORAGE_KIND_MUST_MATCH)
100
+ EIGEN_STATIC_ASSERT((internal::is_same<typename internal::traits<Arg1Type>::StorageKind,
101
+ typename internal::traits<Arg3Type>::StorageKind>::value),
102
+ STORAGE_KIND_MUST_MATCH)
103
+
104
+ typedef typename CwiseTernaryOpImpl<TernaryOp, Arg1Type, Arg2Type, Arg3Type,
105
+ typename internal::traits<Arg1Type>::StorageKind>::Base Base;
97
106
  EIGEN_GENERIC_PUBLIC_INTERFACE(CwiseTernaryOp)
98
107
 
99
108
  typedef typename internal::ref_selector<Arg1Type>::type Arg1Nested;
100
109
  typedef typename internal::ref_selector<Arg2Type>::type Arg2Nested;
101
110
  typedef typename internal::ref_selector<Arg3Type>::type Arg3Nested;
102
- typedef typename internal::remove_reference<Arg1Nested>::type _Arg1Nested;
103
- typedef typename internal::remove_reference<Arg2Nested>::type _Arg2Nested;
104
- typedef typename internal::remove_reference<Arg3Nested>::type _Arg3Nested;
105
-
106
- EIGEN_DEVICE_FUNC
107
- EIGEN_STRONG_INLINE CwiseTernaryOp(const Arg1& a1, const Arg2& a2,
108
- const Arg3& a3,
109
- const TernaryOp& func = TernaryOp())
111
+ typedef std::remove_reference_t<Arg1Nested> Arg1Nested_;
112
+ typedef std::remove_reference_t<Arg2Nested> Arg2Nested_;
113
+ typedef std::remove_reference_t<Arg3Nested> Arg3Nested_;
114
+
115
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE CwiseTernaryOp(const Arg1& a1, const Arg2& a2, const Arg3& a3,
116
+ const TernaryOp& func = TernaryOp())
110
117
  : m_arg1(a1), m_arg2(a2), m_arg3(a3), m_functor(func) {
111
- // require the sizes to match
112
- EIGEN_STATIC_ASSERT_SAME_MATRIX_SIZE(Arg1, Arg2)
113
- EIGEN_STATIC_ASSERT_SAME_MATRIX_SIZE(Arg1, Arg3)
114
-
115
- // The index types should match
116
- EIGEN_STATIC_ASSERT((internal::is_same<
117
- typename internal::traits<Arg1Type>::StorageKind,
118
- typename internal::traits<Arg2Type>::StorageKind>::value),
119
- STORAGE_KIND_MUST_MATCH)
120
- EIGEN_STATIC_ASSERT((internal::is_same<
121
- typename internal::traits<Arg1Type>::StorageKind,
122
- typename internal::traits<Arg3Type>::StorageKind>::value),
123
- STORAGE_KIND_MUST_MATCH)
124
-
125
- eigen_assert(a1.rows() == a2.rows() && a1.cols() == a2.cols() &&
126
- a1.rows() == a3.rows() && a1.cols() == a3.cols());
118
+ eigen_assert(a1.rows() == a2.rows() && a1.cols() == a2.cols() && a1.rows() == a3.rows() && a1.cols() == a3.cols());
127
119
  }
128
120
 
129
- EIGEN_DEVICE_FUNC
130
- EIGEN_STRONG_INLINE Index rows() const {
121
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Index rows() const {
131
122
  // return the fixed size type if available to enable compile time
132
123
  // optimizations
133
- if (internal::traits<typename internal::remove_all<Arg1Nested>::type>::
134
- RowsAtCompileTime == Dynamic &&
135
- internal::traits<typename internal::remove_all<Arg2Nested>::type>::
136
- RowsAtCompileTime == Dynamic)
124
+ if (internal::traits<internal::remove_all_t<Arg1Nested>>::RowsAtCompileTime == Dynamic &&
125
+ internal::traits<internal::remove_all_t<Arg2Nested>>::RowsAtCompileTime == Dynamic)
137
126
  return m_arg3.rows();
138
- else if (internal::traits<typename internal::remove_all<Arg1Nested>::type>::
139
- RowsAtCompileTime == Dynamic &&
140
- internal::traits<typename internal::remove_all<Arg3Nested>::type>::
141
- RowsAtCompileTime == Dynamic)
127
+ else if (internal::traits<internal::remove_all_t<Arg1Nested>>::RowsAtCompileTime == Dynamic &&
128
+ internal::traits<internal::remove_all_t<Arg3Nested>>::RowsAtCompileTime == Dynamic)
142
129
  return m_arg2.rows();
143
130
  else
144
131
  return m_arg1.rows();
145
132
  }
146
- EIGEN_DEVICE_FUNC
147
- EIGEN_STRONG_INLINE Index cols() const {
133
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Index cols() const {
148
134
  // return the fixed size type if available to enable compile time
149
135
  // optimizations
150
- if (internal::traits<typename internal::remove_all<Arg1Nested>::type>::
151
- ColsAtCompileTime == Dynamic &&
152
- internal::traits<typename internal::remove_all<Arg2Nested>::type>::
153
- ColsAtCompileTime == Dynamic)
136
+ if (internal::traits<internal::remove_all_t<Arg1Nested>>::ColsAtCompileTime == Dynamic &&
137
+ internal::traits<internal::remove_all_t<Arg2Nested>>::ColsAtCompileTime == Dynamic)
154
138
  return m_arg3.cols();
155
- else if (internal::traits<typename internal::remove_all<Arg1Nested>::type>::
156
- ColsAtCompileTime == Dynamic &&
157
- internal::traits<typename internal::remove_all<Arg3Nested>::type>::
158
- ColsAtCompileTime == Dynamic)
139
+ else if (internal::traits<internal::remove_all_t<Arg1Nested>>::ColsAtCompileTime == Dynamic &&
140
+ internal::traits<internal::remove_all_t<Arg3Nested>>::ColsAtCompileTime == Dynamic)
159
141
  return m_arg2.cols();
160
142
  else
161
143
  return m_arg1.cols();
162
144
  }
163
145
 
164
146
  /** \returns the first argument nested expression */
165
- EIGEN_DEVICE_FUNC
166
- const _Arg1Nested& arg1() const { return m_arg1; }
147
+ EIGEN_DEVICE_FUNC const Arg1Nested_& arg1() const { return m_arg1; }
167
148
  /** \returns the first argument nested expression */
168
- EIGEN_DEVICE_FUNC
169
- const _Arg2Nested& arg2() const { return m_arg2; }
149
+ EIGEN_DEVICE_FUNC const Arg2Nested_& arg2() const { return m_arg2; }
170
150
  /** \returns the third argument nested expression */
171
- EIGEN_DEVICE_FUNC
172
- const _Arg3Nested& arg3() const { return m_arg3; }
151
+ EIGEN_DEVICE_FUNC const Arg3Nested_& arg3() const { return m_arg3; }
173
152
  /** \returns the functor representing the ternary operation */
174
- EIGEN_DEVICE_FUNC
175
- const TernaryOp& functor() const { return m_functor; }
153
+ EIGEN_DEVICE_FUNC const TernaryOp& functor() const { return m_functor; }
176
154
 
177
155
  protected:
178
156
  Arg1Nested m_arg1;
@@ -182,14 +160,10 @@ class CwiseTernaryOp : public CwiseTernaryOpImpl<
182
160
  };
183
161
 
184
162
  // Generic API dispatcher
185
- template <typename TernaryOp, typename Arg1, typename Arg2, typename Arg3,
186
- typename StorageKind>
187
- class CwiseTernaryOpImpl
188
- : public internal::generic_xpr_base<
189
- CwiseTernaryOp<TernaryOp, Arg1, Arg2, Arg3> >::type {
163
+ template <typename TernaryOp, typename Arg1, typename Arg2, typename Arg3, typename StorageKind>
164
+ class CwiseTernaryOpImpl : public internal::generic_xpr_base<CwiseTernaryOp<TernaryOp, Arg1, Arg2, Arg3>>::type {
190
165
  public:
191
- typedef typename internal::generic_xpr_base<
192
- CwiseTernaryOp<TernaryOp, Arg1, Arg2, Arg3> >::type Base;
166
+ typedef typename internal::generic_xpr_base<CwiseTernaryOp<TernaryOp, Arg1, Arg2, Arg3>>::type Base;
193
167
  };
194
168
 
195
169
  } // end namespace Eigen
@@ -11,93 +11,81 @@
11
11
  #ifndef EIGEN_CWISE_UNARY_OP_H
12
12
  #define EIGEN_CWISE_UNARY_OP_H
13
13
 
14
+ // IWYU pragma: private
15
+ #include "./InternalHeaderCheck.h"
16
+
14
17
  namespace Eigen {
15
18
 
16
19
  namespace internal {
17
- template<typename UnaryOp, typename XprType>
18
- struct traits<CwiseUnaryOp<UnaryOp, XprType> >
19
- : traits<XprType>
20
- {
21
- typedef typename result_of<
22
- UnaryOp(const typename XprType::Scalar&)
23
- >::type Scalar;
20
+ template <typename UnaryOp, typename XprType>
21
+ struct traits<CwiseUnaryOp<UnaryOp, XprType> > : traits<XprType> {
22
+ typedef typename result_of<UnaryOp(const typename XprType::Scalar&)>::type Scalar;
24
23
  typedef typename XprType::Nested XprTypeNested;
25
- typedef typename remove_reference<XprTypeNested>::type _XprTypeNested;
26
- enum {
27
- Flags = _XprTypeNested::Flags & RowMajorBit
28
- };
24
+ typedef std::remove_reference_t<XprTypeNested> XprTypeNested_;
25
+ enum { Flags = XprTypeNested_::Flags & RowMajorBit };
29
26
  };
30
- }
27
+ } // namespace internal
31
28
 
32
- template<typename UnaryOp, typename XprType, typename StorageKind>
29
+ template <typename UnaryOp, typename XprType, typename StorageKind>
33
30
  class CwiseUnaryOpImpl;
34
31
 
35
32
  /** \class CwiseUnaryOp
36
- * \ingroup Core_Module
37
- *
38
- * \brief Generic expression where a coefficient-wise unary operator is applied to an expression
39
- *
40
- * \tparam UnaryOp template functor implementing the operator
41
- * \tparam XprType the type of the expression to which we are applying the unary operator
42
- *
43
- * This class represents an expression where a unary operator is applied to an expression.
44
- * It is the return type of all operations taking exactly 1 input expression, regardless of the
45
- * presence of other inputs such as scalars. For example, the operator* in the expression 3*matrix
46
- * is considered unary, because only the right-hand side is an expression, and its
47
- * return type is a specialization of CwiseUnaryOp.
48
- *
49
- * Most of the time, this is the only way that it is used, so you typically don't have to name
50
- * CwiseUnaryOp types explicitly.
51
- *
52
- * \sa MatrixBase::unaryExpr(const CustomUnaryOp &) const, class CwiseBinaryOp, class CwiseNullaryOp
53
- */
54
- template<typename UnaryOp, typename XprType>
55
- class CwiseUnaryOp : public CwiseUnaryOpImpl<UnaryOp, XprType, typename internal::traits<XprType>::StorageKind>, internal::no_assignment_operator
56
- {
57
- public:
58
-
59
- typedef typename CwiseUnaryOpImpl<UnaryOp, XprType,typename internal::traits<XprType>::StorageKind>::Base Base;
60
- EIGEN_GENERIC_PUBLIC_INTERFACE(CwiseUnaryOp)
61
- typedef typename internal::ref_selector<XprType>::type XprTypeNested;
62
- typedef typename internal::remove_all<XprType>::type NestedExpression;
33
+ * \ingroup Core_Module
34
+ *
35
+ * \brief Generic expression where a coefficient-wise unary operator is applied to an expression
36
+ *
37
+ * \tparam UnaryOp template functor implementing the operator
38
+ * \tparam XprType the type of the expression to which we are applying the unary operator
39
+ *
40
+ * This class represents an expression where a unary operator is applied to an expression.
41
+ * It is the return type of all operations taking exactly 1 input expression, regardless of the
42
+ * presence of other inputs such as scalars. For example, the operator* in the expression 3*matrix
43
+ * is considered unary, because only the right-hand side is an expression, and its
44
+ * return type is a specialization of CwiseUnaryOp.
45
+ *
46
+ * Most of the time, this is the only way that it is used, so you typically don't have to name
47
+ * CwiseUnaryOp types explicitly.
48
+ *
49
+ * \sa MatrixBase::unaryExpr(const CustomUnaryOp &) const, class CwiseBinaryOp, class CwiseNullaryOp
50
+ */
51
+ template <typename UnaryOp, typename XprType>
52
+ class CwiseUnaryOp : public CwiseUnaryOpImpl<UnaryOp, XprType, typename internal::traits<XprType>::StorageKind>,
53
+ internal::no_assignment_operator {
54
+ public:
55
+ typedef typename CwiseUnaryOpImpl<UnaryOp, XprType, typename internal::traits<XprType>::StorageKind>::Base Base;
56
+ EIGEN_GENERIC_PUBLIC_INTERFACE(CwiseUnaryOp)
57
+ typedef typename internal::ref_selector<XprType>::type XprTypeNested;
58
+ typedef internal::remove_all_t<XprType> NestedExpression;
63
59
 
64
- EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
65
- explicit CwiseUnaryOp(const XprType& xpr, const UnaryOp& func = UnaryOp())
60
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE explicit CwiseUnaryOp(const XprType& xpr, const UnaryOp& func = UnaryOp())
66
61
  : m_xpr(xpr), m_functor(func) {}
67
62
 
68
- EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE EIGEN_CONSTEXPR
69
- Index rows() const EIGEN_NOEXCEPT { return m_xpr.rows(); }
70
- EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE EIGEN_CONSTEXPR
71
- Index cols() const EIGEN_NOEXCEPT { return m_xpr.cols(); }
63
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE constexpr Index rows() const noexcept { return m_xpr.rows(); }
64
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE constexpr Index cols() const noexcept { return m_xpr.cols(); }
72
65
 
73
- /** \returns the functor representing the unary operation */
74
- EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
75
- const UnaryOp& functor() const { return m_functor; }
66
+ /** \returns the functor representing the unary operation */
67
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const UnaryOp& functor() const { return m_functor; }
76
68
 
77
- /** \returns the nested expression */
78
- EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
79
- const typename internal::remove_all<XprTypeNested>::type&
80
- nestedExpression() const { return m_xpr; }
69
+ /** \returns the nested expression */
70
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const internal::remove_all_t<XprTypeNested>& nestedExpression() const {
71
+ return m_xpr;
72
+ }
81
73
 
82
- /** \returns the nested expression */
83
- EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
84
- typename internal::remove_all<XprTypeNested>::type&
85
- nestedExpression() { return m_xpr; }
74
+ /** \returns the nested expression */
75
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE internal::remove_all_t<XprTypeNested>& nestedExpression() { return m_xpr; }
86
76
 
87
- protected:
88
- XprTypeNested m_xpr;
89
- const UnaryOp m_functor;
77
+ protected:
78
+ XprTypeNested m_xpr;
79
+ const UnaryOp m_functor;
90
80
  };
91
81
 
92
82
  // Generic API dispatcher
93
- template<typename UnaryOp, typename XprType, typename StorageKind>
94
- class CwiseUnaryOpImpl
95
- : public internal::generic_xpr_base<CwiseUnaryOp<UnaryOp, XprType> >::type
96
- {
97
- public:
83
+ template <typename UnaryOp, typename XprType, typename StorageKind>
84
+ class CwiseUnaryOpImpl : public internal::generic_xpr_base<CwiseUnaryOp<UnaryOp, XprType> >::type {
85
+ public:
98
86
  typedef typename internal::generic_xpr_base<CwiseUnaryOp<UnaryOp, XprType> >::type Base;
99
87
  };
100
88
 
101
- } // end namespace Eigen
89
+ } // end namespace Eigen
102
90
 
103
- #endif // EIGEN_CWISE_UNARY_OP_H
91
+ #endif // EIGEN_CWISE_UNARY_OP_H