@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
@@ -11,47 +11,48 @@
11
11
  #ifndef EIGEN_RESHAPED_H
12
12
  #define EIGEN_RESHAPED_H
13
13
 
14
+ // IWYU pragma: private
15
+ #include "./InternalHeaderCheck.h"
16
+
14
17
  namespace Eigen {
15
18
 
16
19
  /** \class Reshaped
17
- * \ingroup Core_Module
18
- *
19
- * \brief Expression of a fixed-size or dynamic-size reshape
20
- *
21
- * \tparam XprType the type of the expression in which we are taking a reshape
22
- * \tparam Rows the number of rows of the reshape we are taking at compile time (optional)
23
- * \tparam Cols the number of columns of the reshape we are taking at compile time (optional)
24
- * \tparam Order can be ColMajor or RowMajor, default is ColMajor.
25
- *
26
- * This class represents an expression of either a fixed-size or dynamic-size reshape.
27
- * It is the return type of DenseBase::reshaped(NRowsType,NColsType) and
28
- * most of the time this is the only way it is used.
29
- *
30
- * However, in C++98, if you want to directly maniputate reshaped expressions,
31
- * for instance if you want to write a function returning such an expression, you
32
- * will need to use this class. In C++11, it is advised to use the \em auto
33
- * keyword for such use cases.
34
- *
35
- * Here is an example illustrating the dynamic case:
36
- * \include class_Reshaped.cpp
37
- * Output: \verbinclude class_Reshaped.out
38
- *
39
- * Here is an example illustrating the fixed-size case:
40
- * \include class_FixedReshaped.cpp
41
- * Output: \verbinclude class_FixedReshaped.out
42
- *
43
- * \sa DenseBase::reshaped(NRowsType,NColsType)
44
- */
20
+ * \ingroup Core_Module
21
+ *
22
+ * \brief Expression of a fixed-size or dynamic-size reshape
23
+ *
24
+ * \tparam XprType the type of the expression in which we are taking a reshape
25
+ * \tparam Rows the number of rows of the reshape we are taking at compile time (optional)
26
+ * \tparam Cols the number of columns of the reshape we are taking at compile time (optional)
27
+ * \tparam Order can be ColMajor or RowMajor, default is ColMajor.
28
+ *
29
+ * This class represents an expression of either a fixed-size or dynamic-size reshape.
30
+ * It is the return type of DenseBase::reshaped(NRowsType,NColsType) and
31
+ * most of the time this is the only way it is used.
32
+ *
33
+ * If you want to directly manipulate reshaped expressions,
34
+ * for instance if you want to write a function returning such an expression,
35
+ * it is advised to use the \em auto keyword for such use cases.
36
+ *
37
+ * Here is an example illustrating the dynamic case:
38
+ * \include class_Reshaped.cpp
39
+ * Output: \verbinclude class_Reshaped.out
40
+ *
41
+ * Here is an example illustrating the fixed-size case:
42
+ * \include class_FixedReshaped.cpp
43
+ * Output: \verbinclude class_FixedReshaped.out
44
+ *
45
+ * \sa DenseBase::reshaped(NRowsType,NColsType)
46
+ */
45
47
 
46
48
  namespace internal {
47
49
 
48
- template<typename XprType, int Rows, int Cols, int Order>
49
- struct traits<Reshaped<XprType, Rows, Cols, Order> > : traits<XprType>
50
- {
50
+ template <typename XprType, int Rows, int Cols, int Order>
51
+ struct traits<Reshaped<XprType, Rows, Cols, Order> > : traits<XprType> {
51
52
  typedef typename traits<XprType>::Scalar Scalar;
52
53
  typedef typename traits<XprType>::StorageKind StorageKind;
53
54
  typedef typename traits<XprType>::XprKind XprKind;
54
- enum{
55
+ enum {
55
56
  MatrixRows = traits<XprType>::RowsAtCompileTime,
56
57
  MatrixCols = traits<XprType>::ColsAtCompileTime,
57
58
  RowsAtCompileTime = Rows,
@@ -59,212 +60,179 @@ struct traits<Reshaped<XprType, Rows, Cols, Order> > : traits<XprType>
59
60
  MaxRowsAtCompileTime = Rows,
60
61
  MaxColsAtCompileTime = Cols,
61
62
  XpxStorageOrder = ((int(traits<XprType>::Flags) & RowMajorBit) == RowMajorBit) ? RowMajor : ColMajor,
62
- ReshapedStorageOrder = (RowsAtCompileTime == 1 && ColsAtCompileTime != 1) ? RowMajor
63
- : (ColsAtCompileTime == 1 && RowsAtCompileTime != 1) ? ColMajor
64
- : XpxStorageOrder,
63
+ ReshapedStorageOrder = (RowsAtCompileTime == 1 && ColsAtCompileTime != 1) ? RowMajor
64
+ : (ColsAtCompileTime == 1 && RowsAtCompileTime != 1) ? ColMajor
65
+ : XpxStorageOrder,
65
66
  HasSameStorageOrderAsXprType = (ReshapedStorageOrder == XpxStorageOrder),
66
- InnerSize = (ReshapedStorageOrder==int(RowMajor)) ? int(ColsAtCompileTime) : int(RowsAtCompileTime),
67
- InnerStrideAtCompileTime = HasSameStorageOrderAsXprType
68
- ? int(inner_stride_at_compile_time<XprType>::ret)
69
- : Dynamic,
67
+ InnerSize = (ReshapedStorageOrder == int(RowMajor)) ? int(ColsAtCompileTime) : int(RowsAtCompileTime),
68
+ InnerStrideAtCompileTime = HasSameStorageOrderAsXprType ? int(inner_stride_at_compile_time<XprType>::ret) : Dynamic,
70
69
  OuterStrideAtCompileTime = Dynamic,
71
70
 
72
- HasDirectAccess = internal::has_direct_access<XprType>::ret
73
- && (Order==int(XpxStorageOrder))
74
- && ((evaluator<XprType>::Flags&LinearAccessBit)==LinearAccessBit),
71
+ HasDirectAccess = internal::has_direct_access<XprType>::ret && (Order == int(XpxStorageOrder)) &&
72
+ ((evaluator<XprType>::Flags & LinearAccessBit) == LinearAccessBit),
75
73
 
76
- MaskPacketAccessBit = (InnerSize == Dynamic || (InnerSize % packet_traits<Scalar>::size) == 0)
77
- && (InnerStrideAtCompileTime == 1)
78
- ? PacketAccessBit : 0,
79
- //MaskAlignedBit = ((OuterStrideAtCompileTime!=Dynamic) && (((OuterStrideAtCompileTime * int(sizeof(Scalar))) % 16) == 0)) ? AlignedBit : 0,
74
+ MaskPacketAccessBit =
75
+ (InnerSize == Dynamic || (InnerSize % packet_traits<Scalar>::size) == 0) && (InnerStrideAtCompileTime == 1)
76
+ ? PacketAccessBit
77
+ : 0,
78
+ // MaskAlignedBit = ((OuterStrideAtCompileTime!=Dynamic) && (((OuterStrideAtCompileTime * int(sizeof(Scalar))) % 16)
79
+ // == 0)) ? AlignedBit : 0,
80
80
  FlagsLinearAccessBit = (RowsAtCompileTime == 1 || ColsAtCompileTime == 1) ? LinearAccessBit : 0,
81
81
  FlagsLvalueBit = is_lvalue<XprType>::value ? LvalueBit : 0,
82
- FlagsRowMajorBit = (ReshapedStorageOrder==int(RowMajor)) ? RowMajorBit : 0,
82
+ FlagsRowMajorBit = (ReshapedStorageOrder == int(RowMajor)) ? RowMajorBit : 0,
83
83
  FlagsDirectAccessBit = HasDirectAccess ? DirectAccessBit : 0,
84
- Flags0 = traits<XprType>::Flags & ( (HereditaryBits & ~RowMajorBit) | MaskPacketAccessBit),
84
+ Flags0 = traits<XprType>::Flags & ((HereditaryBits & ~RowMajorBit) | MaskPacketAccessBit),
85
85
 
86
86
  Flags = (Flags0 | FlagsLinearAccessBit | FlagsLvalueBit | FlagsRowMajorBit | FlagsDirectAccessBit)
87
87
  };
88
88
  };
89
89
 
90
- template<typename XprType, int Rows, int Cols, int Order, bool HasDirectAccess> class ReshapedImpl_dense;
91
-
92
- } // end namespace internal
93
-
94
- template<typename XprType, int Rows, int Cols, int Order, typename StorageKind> class ReshapedImpl;
95
-
96
- template<typename XprType, int Rows, int Cols, int Order> class Reshaped
97
- : public ReshapedImpl<XprType, Rows, Cols, Order, typename internal::traits<XprType>::StorageKind>
98
- {
99
- typedef ReshapedImpl<XprType, Rows, Cols, Order, typename internal::traits<XprType>::StorageKind> Impl;
100
- public:
101
- //typedef typename Impl::Base Base;
102
- typedef Impl Base;
103
- EIGEN_GENERIC_PUBLIC_INTERFACE(Reshaped)
104
- EIGEN_INHERIT_ASSIGNMENT_OPERATORS(Reshaped)
105
-
106
- /** Fixed-size constructor
107
- */
108
- EIGEN_DEVICE_FUNC
109
- inline Reshaped(XprType& xpr)
110
- : Impl(xpr)
111
- {
112
- EIGEN_STATIC_ASSERT(RowsAtCompileTime!=Dynamic && ColsAtCompileTime!=Dynamic,THIS_METHOD_IS_ONLY_FOR_FIXED_SIZE)
113
- eigen_assert(Rows * Cols == xpr.rows() * xpr.cols());
114
- }
90
+ template <typename XprType, int Rows, int Cols, int Order, bool HasDirectAccess>
91
+ class ReshapedImpl_dense;
115
92
 
116
- /** Dynamic-size constructor
117
- */
118
- EIGEN_DEVICE_FUNC
119
- inline Reshaped(XprType& xpr,
120
- Index reshapeRows, Index reshapeCols)
121
- : Impl(xpr, reshapeRows, reshapeCols)
122
- {
123
- eigen_assert((RowsAtCompileTime==Dynamic || RowsAtCompileTime==reshapeRows)
124
- && (ColsAtCompileTime==Dynamic || ColsAtCompileTime==reshapeCols));
125
- eigen_assert(reshapeRows * reshapeCols == xpr.rows() * xpr.cols());
126
- }
93
+ } // end namespace internal
94
+
95
+ template <typename XprType, int Rows, int Cols, int Order, typename StorageKind>
96
+ class ReshapedImpl;
97
+
98
+ template <typename XprType, int Rows, int Cols, int Order>
99
+ class Reshaped : public ReshapedImpl<XprType, Rows, Cols, Order, typename internal::traits<XprType>::StorageKind> {
100
+ typedef ReshapedImpl<XprType, Rows, Cols, Order, typename internal::traits<XprType>::StorageKind> Impl;
101
+
102
+ public:
103
+ // typedef typename Impl::Base Base;
104
+ typedef Impl Base;
105
+ EIGEN_GENERIC_PUBLIC_INTERFACE(Reshaped)
106
+ EIGEN_INHERIT_ASSIGNMENT_OPERATORS(Reshaped)
107
+
108
+ /** Fixed-size constructor
109
+ */
110
+ EIGEN_DEVICE_FUNC inline Reshaped(XprType& xpr) : Impl(xpr) {
111
+ EIGEN_STATIC_ASSERT(RowsAtCompileTime != Dynamic && ColsAtCompileTime != Dynamic,
112
+ THIS_METHOD_IS_ONLY_FOR_FIXED_SIZE)
113
+ eigen_assert(Rows * Cols == xpr.rows() * xpr.cols());
114
+ }
115
+
116
+ /** Dynamic-size constructor
117
+ */
118
+ EIGEN_DEVICE_FUNC inline Reshaped(XprType& xpr, Index reshapeRows, Index reshapeCols)
119
+ : Impl(xpr, reshapeRows, reshapeCols) {
120
+ eigen_assert((RowsAtCompileTime == Dynamic || RowsAtCompileTime == reshapeRows) &&
121
+ (ColsAtCompileTime == Dynamic || ColsAtCompileTime == reshapeCols));
122
+ eigen_assert(reshapeRows * reshapeCols == xpr.rows() * xpr.cols());
123
+ }
127
124
  };
128
125
 
129
126
  // The generic default implementation for dense reshape simply forward to the internal::ReshapedImpl_dense
130
127
  // that must be specialized for direct and non-direct access...
131
- template<typename XprType, int Rows, int Cols, int Order>
128
+ template <typename XprType, int Rows, int Cols, int Order>
132
129
  class ReshapedImpl<XprType, Rows, Cols, Order, Dense>
133
- : public internal::ReshapedImpl_dense<XprType, Rows, Cols, Order,internal::traits<Reshaped<XprType,Rows,Cols,Order> >::HasDirectAccess>
134
- {
135
- typedef internal::ReshapedImpl_dense<XprType, Rows, Cols, Order,internal::traits<Reshaped<XprType,Rows,Cols,Order> >::HasDirectAccess> Impl;
136
- public:
137
- typedef Impl Base;
138
- EIGEN_INHERIT_ASSIGNMENT_OPERATORS(ReshapedImpl)
139
- EIGEN_DEVICE_FUNC inline ReshapedImpl(XprType& xpr) : Impl(xpr) {}
140
- EIGEN_DEVICE_FUNC inline ReshapedImpl(XprType& xpr, Index reshapeRows, Index reshapeCols)
130
+ : public internal::ReshapedImpl_dense<XprType, Rows, Cols, Order,
131
+ internal::traits<Reshaped<XprType, Rows, Cols, Order> >::HasDirectAccess> {
132
+ typedef internal::ReshapedImpl_dense<XprType, Rows, Cols, Order,
133
+ internal::traits<Reshaped<XprType, Rows, Cols, Order> >::HasDirectAccess>
134
+ Impl;
135
+
136
+ public:
137
+ typedef Impl Base;
138
+ EIGEN_INHERIT_ASSIGNMENT_OPERATORS(ReshapedImpl)
139
+ EIGEN_DEVICE_FUNC inline ReshapedImpl(XprType& xpr) : Impl(xpr) {}
140
+ EIGEN_DEVICE_FUNC inline ReshapedImpl(XprType& xpr, Index reshapeRows, Index reshapeCols)
141
141
  : Impl(xpr, reshapeRows, reshapeCols) {}
142
142
  };
143
143
 
144
144
  namespace internal {
145
145
 
146
146
  /** \internal Internal implementation of dense Reshaped in the general case. */
147
- template<typename XprType, int Rows, int Cols, int Order>
148
- class ReshapedImpl_dense<XprType,Rows,Cols,Order,false>
149
- : public internal::dense_xpr_base<Reshaped<XprType, Rows, Cols, Order> >::type
150
- {
151
- typedef Reshaped<XprType, Rows, Cols, Order> ReshapedType;
152
- public:
153
-
154
- typedef typename internal::dense_xpr_base<ReshapedType>::type Base;
155
- EIGEN_DENSE_PUBLIC_INTERFACE(ReshapedType)
156
- EIGEN_INHERIT_ASSIGNMENT_OPERATORS(ReshapedImpl_dense)
157
-
158
- typedef typename internal::ref_selector<XprType>::non_const_type MatrixTypeNested;
159
- typedef typename internal::remove_all<XprType>::type NestedExpression;
160
-
161
- class InnerIterator;
162
-
163
- /** Fixed-size constructor
164
- */
165
- EIGEN_DEVICE_FUNC
166
- inline ReshapedImpl_dense(XprType& xpr)
167
- : m_xpr(xpr), m_rows(Rows), m_cols(Cols)
168
- {}
169
-
170
- /** Dynamic-size constructor
171
- */
172
- EIGEN_DEVICE_FUNC
173
- inline ReshapedImpl_dense(XprType& xpr, Index nRows, Index nCols)
174
- : m_xpr(xpr), m_rows(nRows), m_cols(nCols)
175
- {}
176
-
177
- EIGEN_DEVICE_FUNC Index rows() const { return m_rows; }
178
- EIGEN_DEVICE_FUNC Index cols() const { return m_cols; }
179
-
180
- #ifdef EIGEN_PARSED_BY_DOXYGEN
181
- /** \sa MapBase::data() */
182
- EIGEN_DEVICE_FUNC inline const Scalar* data() const;
183
- EIGEN_DEVICE_FUNC inline Index innerStride() const;
184
- EIGEN_DEVICE_FUNC inline Index outerStride() const;
185
- #endif
186
-
187
- /** \returns the nested expression */
188
- EIGEN_DEVICE_FUNC
189
- const typename internal::remove_all<XprType>::type&
190
- nestedExpression() const { return m_xpr; }
191
-
192
- /** \returns the nested expression */
193
- EIGEN_DEVICE_FUNC
194
- typename internal::remove_reference<XprType>::type&
195
- nestedExpression() { return m_xpr; }
196
-
197
- protected:
198
-
199
- MatrixTypeNested m_xpr;
200
- const internal::variable_if_dynamic<Index, Rows> m_rows;
201
- const internal::variable_if_dynamic<Index, Cols> m_cols;
202
- };
147
+ template <typename XprType, int Rows, int Cols, int Order>
148
+ class ReshapedImpl_dense<XprType, Rows, Cols, Order, false>
149
+ : public internal::dense_xpr_base<Reshaped<XprType, Rows, Cols, Order> >::type {
150
+ typedef Reshaped<XprType, Rows, Cols, Order> ReshapedType;
151
+
152
+ public:
153
+ typedef typename internal::dense_xpr_base<ReshapedType>::type Base;
154
+ EIGEN_DENSE_PUBLIC_INTERFACE(ReshapedType)
155
+ EIGEN_INHERIT_ASSIGNMENT_OPERATORS(ReshapedImpl_dense)
156
+
157
+ typedef typename internal::ref_selector<XprType>::non_const_type MatrixTypeNested;
158
+ typedef internal::remove_all_t<XprType> NestedExpression;
159
+
160
+ class InnerIterator;
161
+
162
+ /** Fixed-size constructor
163
+ */
164
+ EIGEN_DEVICE_FUNC inline ReshapedImpl_dense(XprType& xpr) : m_xpr(xpr), m_rows(Rows), m_cols(Cols) {}
165
+
166
+ /** Dynamic-size constructor
167
+ */
168
+ EIGEN_DEVICE_FUNC inline ReshapedImpl_dense(XprType& xpr, Index nRows, Index nCols)
169
+ : m_xpr(xpr), m_rows(nRows), m_cols(nCols) {}
170
+
171
+ EIGEN_DEVICE_FUNC Index rows() const { return m_rows; }
172
+ EIGEN_DEVICE_FUNC Index cols() const { return m_cols; }
173
+
174
+ #ifdef EIGEN_PARSED_BY_DOXYGEN
175
+ /** \sa MapBase::data() */
176
+ EIGEN_DEVICE_FUNC constexpr const Scalar* data() const;
177
+ EIGEN_DEVICE_FUNC inline Index innerStride() const;
178
+ EIGEN_DEVICE_FUNC inline Index outerStride() const;
179
+ #endif
180
+
181
+ /** \returns the nested expression */
182
+ EIGEN_DEVICE_FUNC const internal::remove_all_t<XprType>& nestedExpression() const { return m_xpr; }
183
+
184
+ /** \returns the nested expression */
185
+ EIGEN_DEVICE_FUNC std::remove_reference_t<XprType>& nestedExpression() { return m_xpr; }
203
186
 
187
+ protected:
188
+ MatrixTypeNested m_xpr;
189
+ const internal::variable_if_dynamic<Index, Rows> m_rows;
190
+ const internal::variable_if_dynamic<Index, Cols> m_cols;
191
+ };
204
192
 
205
193
  /** \internal Internal implementation of dense Reshaped in the direct access case. */
206
- template<typename XprType, int Rows, int Cols, int Order>
207
- class ReshapedImpl_dense<XprType, Rows, Cols, Order, true>
208
- : public MapBase<Reshaped<XprType, Rows, Cols, Order> >
209
- {
210
- typedef Reshaped<XprType, Rows, Cols, Order> ReshapedType;
211
- typedef typename internal::ref_selector<XprType>::non_const_type XprTypeNested;
212
- public:
213
-
214
- typedef MapBase<ReshapedType> Base;
215
- EIGEN_DENSE_PUBLIC_INTERFACE(ReshapedType)
216
- EIGEN_INHERIT_ASSIGNMENT_OPERATORS(ReshapedImpl_dense)
217
-
218
- /** Fixed-size constructor
219
- */
220
- EIGEN_DEVICE_FUNC
221
- inline ReshapedImpl_dense(XprType& xpr)
222
- : Base(xpr.data()), m_xpr(xpr)
223
- {}
224
-
225
- /** Dynamic-size constructor
226
- */
227
- EIGEN_DEVICE_FUNC
228
- inline ReshapedImpl_dense(XprType& xpr, Index nRows, Index nCols)
229
- : Base(xpr.data(), nRows, nCols),
230
- m_xpr(xpr)
231
- {}
232
-
233
- EIGEN_DEVICE_FUNC
234
- const typename internal::remove_all<XprTypeNested>::type& nestedExpression() const
235
- {
236
- return m_xpr;
237
- }
194
+ template <typename XprType, int Rows, int Cols, int Order>
195
+ class ReshapedImpl_dense<XprType, Rows, Cols, Order, true> : public MapBase<Reshaped<XprType, Rows, Cols, Order> > {
196
+ typedef Reshaped<XprType, Rows, Cols, Order> ReshapedType;
197
+ typedef typename internal::ref_selector<XprType>::non_const_type XprTypeNested;
238
198
 
239
- EIGEN_DEVICE_FUNC
240
- XprType& nestedExpression() { return m_xpr; }
199
+ public:
200
+ typedef MapBase<ReshapedType> Base;
201
+ EIGEN_DENSE_PUBLIC_INTERFACE(ReshapedType)
202
+ EIGEN_INHERIT_ASSIGNMENT_OPERATORS(ReshapedImpl_dense)
241
203
 
242
- /** \sa MapBase::innerStride() */
243
- EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR
244
- inline Index innerStride() const
245
- {
246
- return m_xpr.innerStride();
247
- }
204
+ /** Fixed-size constructor
205
+ */
206
+ EIGEN_DEVICE_FUNC inline ReshapedImpl_dense(XprType& xpr) : Base(xpr.data()), m_xpr(xpr) {}
248
207
 
249
- /** \sa MapBase::outerStride() */
250
- EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR
251
- inline Index outerStride() const
252
- {
253
- return ((Flags&RowMajorBit)==RowMajorBit) ? this->cols() : this->rows();
254
- }
208
+ /** Dynamic-size constructor
209
+ */
210
+ EIGEN_DEVICE_FUNC inline ReshapedImpl_dense(XprType& xpr, Index nRows, Index nCols)
211
+ : Base(xpr.data(), nRows, nCols), m_xpr(xpr) {}
212
+
213
+ EIGEN_DEVICE_FUNC const internal::remove_all_t<XprTypeNested>& nestedExpression() const { return m_xpr; }
214
+
215
+ EIGEN_DEVICE_FUNC XprType& nestedExpression() { return m_xpr; }
255
216
 
256
- protected:
217
+ /** \sa MapBase::innerStride() */
218
+ EIGEN_DEVICE_FUNC constexpr Index innerStride() const { return m_xpr.innerStride(); }
219
+
220
+ /** \sa MapBase::outerStride() */
221
+ EIGEN_DEVICE_FUNC constexpr Index outerStride() const {
222
+ return (((Flags & RowMajorBit) == RowMajorBit) ? this->cols() : this->rows()) * m_xpr.innerStride();
223
+ }
257
224
 
258
- XprTypeNested m_xpr;
225
+ protected:
226
+ XprTypeNested m_xpr;
259
227
  };
260
228
 
261
229
  // Evaluators
262
- template<typename ArgType, int Rows, int Cols, int Order, bool HasDirectAccess> struct reshaped_evaluator;
230
+ template <typename ArgType, int Rows, int Cols, int Order, bool HasDirectAccess>
231
+ struct reshaped_evaluator;
263
232
 
264
- template<typename ArgType, int Rows, int Cols, int Order>
233
+ template <typename ArgType, int Rows, int Cols, int Order>
265
234
  struct evaluator<Reshaped<ArgType, Rows, Cols, Order> >
266
- : reshaped_evaluator<ArgType, Rows, Cols, Order, traits<Reshaped<ArgType,Rows,Cols,Order> >::HasDirectAccess>
267
- {
235
+ : reshaped_evaluator<ArgType, Rows, Cols, Order, traits<Reshaped<ArgType, Rows, Cols, Order> >::HasDirectAccess> {
268
236
  typedef Reshaped<ArgType, Rows, Cols, Order> XprType;
269
237
  typedef typename XprType::Scalar Scalar;
270
238
  // TODO: should check for smaller packet types
@@ -274,19 +242,22 @@ struct evaluator<Reshaped<ArgType, Rows, Cols, Order> >
274
242
  CoeffReadCost = evaluator<ArgType>::CoeffReadCost,
275
243
  HasDirectAccess = traits<XprType>::HasDirectAccess,
276
244
 
277
- // RowsAtCompileTime = traits<XprType>::RowsAtCompileTime,
278
- // ColsAtCompileTime = traits<XprType>::ColsAtCompileTime,
279
- // MaxRowsAtCompileTime = traits<XprType>::MaxRowsAtCompileTime,
280
- // MaxColsAtCompileTime = traits<XprType>::MaxColsAtCompileTime,
281
- //
282
- // InnerStrideAtCompileTime = traits<XprType>::HasSameStorageOrderAsXprType
283
- // ? int(inner_stride_at_compile_time<ArgType>::ret)
284
- // : Dynamic,
285
- // OuterStrideAtCompileTime = Dynamic,
286
-
287
- FlagsLinearAccessBit = (traits<XprType>::RowsAtCompileTime == 1 || traits<XprType>::ColsAtCompileTime == 1 || HasDirectAccess) ? LinearAccessBit : 0,
288
- FlagsRowMajorBit = (traits<XprType>::ReshapedStorageOrder==int(RowMajor)) ? RowMajorBit : 0,
289
- FlagsDirectAccessBit = HasDirectAccess ? DirectAccessBit : 0,
245
+ // RowsAtCompileTime = traits<XprType>::RowsAtCompileTime,
246
+ // ColsAtCompileTime = traits<XprType>::ColsAtCompileTime,
247
+ // MaxRowsAtCompileTime = traits<XprType>::MaxRowsAtCompileTime,
248
+ // MaxColsAtCompileTime = traits<XprType>::MaxColsAtCompileTime,
249
+ //
250
+ // InnerStrideAtCompileTime = traits<XprType>::HasSameStorageOrderAsXprType
251
+ // ? int(inner_stride_at_compile_time<ArgType>::ret)
252
+ // : Dynamic,
253
+ // OuterStrideAtCompileTime = Dynamic,
254
+
255
+ FlagsLinearAccessBit =
256
+ (traits<XprType>::RowsAtCompileTime == 1 || traits<XprType>::ColsAtCompileTime == 1 || HasDirectAccess)
257
+ ? LinearAccessBit
258
+ : 0,
259
+ FlagsRowMajorBit = (traits<XprType>::ReshapedStorageOrder == int(RowMajor)) ? RowMajorBit : 0,
260
+ FlagsDirectAccessBit = HasDirectAccess ? DirectAccessBit : 0,
290
261
  Flags0 = evaluator<ArgType>::Flags & (HereditaryBits & ~RowMajorBit),
291
262
  Flags = Flags0 | FlagsLinearAccessBit | FlagsRowMajorBit | FlagsDirectAccessBit,
292
263
 
@@ -294,16 +265,14 @@ struct evaluator<Reshaped<ArgType, Rows, Cols, Order> >
294
265
  Alignment = evaluator<ArgType>::Alignment
295
266
  };
296
267
  typedef reshaped_evaluator<ArgType, Rows, Cols, Order, HasDirectAccess> reshaped_evaluator_type;
297
- EIGEN_DEVICE_FUNC explicit evaluator(const XprType& xpr) : reshaped_evaluator_type(xpr)
298
- {
268
+ EIGEN_DEVICE_FUNC explicit evaluator(const XprType& xpr) : reshaped_evaluator_type(xpr) {
299
269
  EIGEN_INTERNAL_CHECK_COST_VALUE(CoeffReadCost);
300
270
  }
301
271
  };
302
272
 
303
- template<typename ArgType, int Rows, int Cols, int Order>
273
+ template <typename ArgType, int Rows, int Cols, int Order>
304
274
  struct reshaped_evaluator<ArgType, Rows, Cols, Order, /* HasDirectAccess */ false>
305
- : evaluator_base<Reshaped<ArgType, Rows, Cols, Order> >
306
- {
275
+ : evaluator_base<Reshaped<ArgType, Rows, Cols, Order> > {
307
276
  typedef Reshaped<ArgType, Rows, Cols, Order> XprType;
308
277
 
309
278
  enum {
@@ -314,8 +283,7 @@ struct reshaped_evaluator<ArgType, Rows, Cols, Order, /* HasDirectAccess */ fals
314
283
  Alignment = 0
315
284
  };
316
285
 
317
- EIGEN_DEVICE_FUNC explicit reshaped_evaluator(const XprType& xpr) : m_argImpl(xpr.nestedExpression()), m_xpr(xpr)
318
- {
286
+ EIGEN_DEVICE_FUNC explicit reshaped_evaluator(const XprType& xpr) : m_argImpl(xpr.nestedExpression()), m_xpr(xpr) {
319
287
  EIGEN_INTERNAL_CHECK_COST_VALUE(CoeffReadCost);
320
288
  }
321
289
 
@@ -324,67 +292,45 @@ struct reshaped_evaluator<ArgType, Rows, Cols, Order, /* HasDirectAccess */ fals
324
292
 
325
293
  typedef std::pair<Index, Index> RowCol;
326
294
 
327
- inline RowCol index_remap(Index rowId, Index colId) const
328
- {
329
- if(Order==ColMajor)
330
- {
295
+ EIGEN_DEVICE_FUNC inline RowCol index_remap(Index rowId, Index colId) const {
296
+ if (Order == ColMajor) {
331
297
  const Index nth_elem_idx = colId * m_xpr.rows() + rowId;
332
- return RowCol(nth_elem_idx % m_xpr.nestedExpression().rows(),
333
- nth_elem_idx / m_xpr.nestedExpression().rows());
334
- }
335
- else
336
- {
298
+ return RowCol(nth_elem_idx % m_xpr.nestedExpression().rows(), nth_elem_idx / m_xpr.nestedExpression().rows());
299
+ } else {
337
300
  const Index nth_elem_idx = colId + rowId * m_xpr.cols();
338
- return RowCol(nth_elem_idx / m_xpr.nestedExpression().cols(),
339
- nth_elem_idx % m_xpr.nestedExpression().cols());
301
+ return RowCol(nth_elem_idx / m_xpr.nestedExpression().cols(), nth_elem_idx % m_xpr.nestedExpression().cols());
340
302
  }
341
303
  }
342
304
 
343
- EIGEN_DEVICE_FUNC
344
- inline Scalar& coeffRef(Index rowId, Index colId)
345
- {
305
+ EIGEN_DEVICE_FUNC inline Scalar& coeffRef(Index rowId, Index colId) {
346
306
  EIGEN_STATIC_ASSERT_LVALUE(XprType)
347
307
  const RowCol row_col = index_remap(rowId, colId);
348
308
  return m_argImpl.coeffRef(row_col.first, row_col.second);
349
309
  }
350
310
 
351
- EIGEN_DEVICE_FUNC
352
- inline const Scalar& coeffRef(Index rowId, Index colId) const
353
- {
311
+ EIGEN_DEVICE_FUNC inline const Scalar& coeffRef(Index rowId, Index colId) const {
354
312
  const RowCol row_col = index_remap(rowId, colId);
355
313
  return m_argImpl.coeffRef(row_col.first, row_col.second);
356
314
  }
357
315
 
358
- EIGEN_DEVICE_FUNC
359
- EIGEN_STRONG_INLINE const CoeffReturnType coeff(Index rowId, Index colId) const
360
- {
316
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const CoeffReturnType coeff(Index rowId, Index colId) const {
361
317
  const RowCol row_col = index_remap(rowId, colId);
362
318
  return m_argImpl.coeff(row_col.first, row_col.second);
363
319
  }
364
320
 
365
- EIGEN_DEVICE_FUNC
366
- inline Scalar& coeffRef(Index index)
367
- {
321
+ EIGEN_DEVICE_FUNC inline Scalar& coeffRef(Index index) {
368
322
  EIGEN_STATIC_ASSERT_LVALUE(XprType)
369
- const RowCol row_col = index_remap(Rows == 1 ? 0 : index,
370
- Rows == 1 ? index : 0);
323
+ const RowCol row_col = index_remap(Rows == 1 ? 0 : index, Rows == 1 ? index : 0);
371
324
  return m_argImpl.coeffRef(row_col.first, row_col.second);
372
-
373
325
  }
374
326
 
375
- EIGEN_DEVICE_FUNC
376
- inline const Scalar& coeffRef(Index index) const
377
- {
378
- const RowCol row_col = index_remap(Rows == 1 ? 0 : index,
379
- Rows == 1 ? index : 0);
327
+ EIGEN_DEVICE_FUNC inline const Scalar& coeffRef(Index index) const {
328
+ const RowCol row_col = index_remap(Rows == 1 ? 0 : index, Rows == 1 ? index : 0);
380
329
  return m_argImpl.coeffRef(row_col.first, row_col.second);
381
330
  }
382
331
 
383
- EIGEN_DEVICE_FUNC
384
- inline const CoeffReturnType coeff(Index index) const
385
- {
386
- const RowCol row_col = index_remap(Rows == 1 ? 0 : index,
387
- Rows == 1 ? index : 0);
332
+ EIGEN_DEVICE_FUNC inline const CoeffReturnType coeff(Index index) const {
333
+ const RowCol row_col = index_remap(Rows == 1 ? 0 : index, Rows == 1 ? index : 0);
388
334
  return m_argImpl.coeff(row_col.first, row_col.second);
389
335
  }
390
336
  #if 0
@@ -424,31 +370,29 @@ struct reshaped_evaluator<ArgType, Rows, Cols, Order, /* HasDirectAccess */ fals
424
370
  return m_argImpl.template packet<Unaligned>(row_col.first, row_col.second, val);
425
371
  }
426
372
  #endif
427
- protected:
428
-
373
+ protected:
429
374
  evaluator<ArgType> m_argImpl;
430
375
  const XprType& m_xpr;
431
-
432
376
  };
433
377
 
434
- template<typename ArgType, int Rows, int Cols, int Order>
378
+ template <typename ArgType, int Rows, int Cols, int Order>
435
379
  struct reshaped_evaluator<ArgType, Rows, Cols, Order, /* HasDirectAccess */ true>
436
- : mapbase_evaluator<Reshaped<ArgType, Rows, Cols, Order>,
437
- typename Reshaped<ArgType, Rows, Cols, Order>::PlainObject>
438
- {
380
+ : mapbase_evaluator<Reshaped<ArgType, Rows, Cols, Order>,
381
+ typename Reshaped<ArgType, Rows, Cols, Order>::PlainObject> {
439
382
  typedef Reshaped<ArgType, Rows, Cols, Order> XprType;
440
383
  typedef typename XprType::Scalar Scalar;
441
384
 
442
385
  EIGEN_DEVICE_FUNC explicit reshaped_evaluator(const XprType& xpr)
443
- : mapbase_evaluator<XprType, typename XprType::PlainObject>(xpr)
444
- {
445
- // TODO: for the 3.4 release, this should be turned to an internal assertion, but let's keep it as is for the beta lifetime
446
- eigen_assert(((internal::UIntPtr(xpr.data()) % EIGEN_PLAIN_ENUM_MAX(1,evaluator<XprType>::Alignment)) == 0) && "data is not aligned");
386
+ : mapbase_evaluator<XprType, typename XprType::PlainObject>(xpr) {
387
+ // TODO: for the 3.4 release, this should be turned to an internal assertion, but let's keep it as is for the beta
388
+ // lifetime
389
+ eigen_assert(((std::uintptr_t(xpr.data()) % plain_enum_max(1, evaluator<XprType>::Alignment)) == 0) &&
390
+ "data is not aligned");
447
391
  }
448
392
  };
449
393
 
450
- } // end namespace internal
394
+ } // end namespace internal
451
395
 
452
- } // end namespace Eigen
396
+ } // end namespace Eigen
453
397
 
454
- #endif // EIGEN_RESHAPED_H
398
+ #endif // EIGEN_RESHAPED_H