@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.
- package/README.md +1 -1
- package/eigen/Eigen/AccelerateSupport +52 -0
- package/eigen/Eigen/Cholesky +18 -20
- package/eigen/Eigen/CholmodSupport +28 -28
- package/eigen/Eigen/Core +187 -120
- package/eigen/Eigen/Eigenvalues +16 -13
- package/eigen/Eigen/Geometry +18 -18
- package/eigen/Eigen/Householder +9 -7
- package/eigen/Eigen/IterativeLinearSolvers +8 -4
- package/eigen/Eigen/Jacobi +14 -13
- package/eigen/Eigen/KLUSupport +23 -21
- package/eigen/Eigen/LU +15 -16
- package/eigen/Eigen/MetisSupport +12 -12
- package/eigen/Eigen/OrderingMethods +54 -51
- package/eigen/Eigen/PaStiXSupport +23 -21
- package/eigen/Eigen/PardisoSupport +17 -14
- package/eigen/Eigen/QR +18 -20
- package/eigen/Eigen/QtAlignedMalloc +5 -12
- package/eigen/Eigen/SPQRSupport +21 -14
- package/eigen/Eigen/SVD +23 -17
- package/eigen/Eigen/Sparse +1 -2
- package/eigen/Eigen/SparseCholesky +18 -15
- package/eigen/Eigen/SparseCore +18 -17
- package/eigen/Eigen/SparseLU +9 -9
- package/eigen/Eigen/SparseQR +16 -14
- package/eigen/Eigen/StdDeque +5 -2
- package/eigen/Eigen/StdList +5 -2
- package/eigen/Eigen/StdVector +5 -2
- package/eigen/Eigen/SuperLUSupport +30 -24
- package/eigen/Eigen/ThreadPool +80 -0
- package/eigen/Eigen/UmfPackSupport +19 -17
- package/eigen/Eigen/Version +14 -0
- package/eigen/Eigen/src/AccelerateSupport/AccelerateSupport.h +423 -0
- package/eigen/Eigen/src/AccelerateSupport/InternalHeaderCheck.h +3 -0
- package/eigen/Eigen/src/Cholesky/InternalHeaderCheck.h +3 -0
- package/eigen/Eigen/src/Cholesky/LDLT.h +366 -405
- package/eigen/Eigen/src/Cholesky/LLT.h +323 -367
- package/eigen/Eigen/src/Cholesky/LLT_LAPACKE.h +81 -56
- package/eigen/Eigen/src/CholmodSupport/CholmodSupport.h +585 -529
- package/eigen/Eigen/src/CholmodSupport/InternalHeaderCheck.h +3 -0
- package/eigen/Eigen/src/Core/ArithmeticSequence.h +143 -317
- package/eigen/Eigen/src/Core/Array.h +329 -370
- package/eigen/Eigen/src/Core/ArrayBase.h +190 -203
- package/eigen/Eigen/src/Core/ArrayWrapper.h +126 -170
- package/eigen/Eigen/src/Core/Assign.h +30 -40
- package/eigen/Eigen/src/Core/AssignEvaluator.h +651 -604
- package/eigen/Eigen/src/Core/Assign_MKL.h +125 -120
- package/eigen/Eigen/src/Core/BandMatrix.h +267 -282
- package/eigen/Eigen/src/Core/Block.h +371 -390
- package/eigen/Eigen/src/Core/CommaInitializer.h +85 -100
- package/eigen/Eigen/src/Core/ConditionEstimator.h +51 -53
- package/eigen/Eigen/src/Core/CoreEvaluators.h +1214 -937
- package/eigen/Eigen/src/Core/CoreIterators.h +72 -63
- package/eigen/Eigen/src/Core/CwiseBinaryOp.h +112 -129
- package/eigen/Eigen/src/Core/CwiseNullaryOp.h +676 -702
- package/eigen/Eigen/src/Core/CwiseTernaryOp.h +77 -103
- package/eigen/Eigen/src/Core/CwiseUnaryOp.h +55 -67
- package/eigen/Eigen/src/Core/CwiseUnaryView.h +127 -92
- package/eigen/Eigen/src/Core/DenseBase.h +630 -658
- package/eigen/Eigen/src/Core/DenseCoeffsBase.h +511 -628
- package/eigen/Eigen/src/Core/DenseStorage.h +511 -590
- package/eigen/Eigen/src/Core/DeviceWrapper.h +153 -0
- package/eigen/Eigen/src/Core/Diagonal.h +168 -207
- package/eigen/Eigen/src/Core/DiagonalMatrix.h +346 -317
- package/eigen/Eigen/src/Core/DiagonalProduct.h +12 -10
- package/eigen/Eigen/src/Core/Dot.h +167 -217
- package/eigen/Eigen/src/Core/EigenBase.h +74 -85
- package/eigen/Eigen/src/Core/Fill.h +138 -0
- package/eigen/Eigen/src/Core/FindCoeff.h +464 -0
- package/eigen/Eigen/src/Core/ForceAlignedAccess.h +90 -113
- package/eigen/Eigen/src/Core/Fuzzy.h +82 -105
- package/eigen/Eigen/src/Core/GeneralProduct.h +315 -261
- package/eigen/Eigen/src/Core/GenericPacketMath.h +1182 -520
- package/eigen/Eigen/src/Core/GlobalFunctions.h +193 -157
- package/eigen/Eigen/src/Core/IO.h +131 -156
- package/eigen/Eigen/src/Core/IndexedView.h +209 -125
- package/eigen/Eigen/src/Core/InnerProduct.h +260 -0
- package/eigen/Eigen/src/Core/InternalHeaderCheck.h +3 -0
- package/eigen/Eigen/src/Core/Inverse.h +50 -59
- package/eigen/Eigen/src/Core/Map.h +123 -141
- package/eigen/Eigen/src/Core/MapBase.h +255 -282
- package/eigen/Eigen/src/Core/MathFunctions.h +1247 -1201
- package/eigen/Eigen/src/Core/MathFunctionsImpl.h +162 -99
- package/eigen/Eigen/src/Core/Matrix.h +463 -494
- package/eigen/Eigen/src/Core/MatrixBase.h +468 -470
- package/eigen/Eigen/src/Core/NestByValue.h +58 -52
- package/eigen/Eigen/src/Core/NoAlias.h +79 -86
- package/eigen/Eigen/src/Core/NumTraits.h +206 -206
- package/eigen/Eigen/src/Core/PartialReduxEvaluator.h +163 -142
- package/eigen/Eigen/src/Core/PermutationMatrix.h +461 -511
- package/eigen/Eigen/src/Core/PlainObjectBase.h +858 -972
- package/eigen/Eigen/src/Core/Product.h +246 -130
- package/eigen/Eigen/src/Core/ProductEvaluators.h +779 -671
- package/eigen/Eigen/src/Core/Random.h +153 -164
- package/eigen/Eigen/src/Core/RandomImpl.h +262 -0
- package/eigen/Eigen/src/Core/RealView.h +250 -0
- package/eigen/Eigen/src/Core/Redux.h +334 -314
- package/eigen/Eigen/src/Core/Ref.h +259 -257
- package/eigen/Eigen/src/Core/Replicate.h +92 -104
- package/eigen/Eigen/src/Core/Reshaped.h +215 -271
- package/eigen/Eigen/src/Core/ReturnByValue.h +47 -55
- package/eigen/Eigen/src/Core/Reverse.h +133 -148
- package/eigen/Eigen/src/Core/Select.h +68 -140
- package/eigen/Eigen/src/Core/SelfAdjointView.h +254 -290
- package/eigen/Eigen/src/Core/SelfCwiseBinaryOp.h +23 -20
- package/eigen/Eigen/src/Core/SkewSymmetricMatrix3.h +382 -0
- package/eigen/Eigen/src/Core/Solve.h +88 -102
- package/eigen/Eigen/src/Core/SolveTriangular.h +126 -124
- package/eigen/Eigen/src/Core/SolverBase.h +132 -133
- package/eigen/Eigen/src/Core/StableNorm.h +113 -147
- package/eigen/Eigen/src/Core/StlIterators.h +404 -248
- package/eigen/Eigen/src/Core/Stride.h +90 -92
- package/eigen/Eigen/src/Core/Swap.h +70 -39
- package/eigen/Eigen/src/Core/Transpose.h +258 -295
- package/eigen/Eigen/src/Core/Transpositions.h +270 -333
- package/eigen/Eigen/src/Core/TriangularMatrix.h +642 -743
- package/eigen/Eigen/src/Core/VectorBlock.h +59 -72
- package/eigen/Eigen/src/Core/VectorwiseOp.h +653 -704
- package/eigen/Eigen/src/Core/Visitor.h +464 -308
- package/eigen/Eigen/src/Core/arch/AVX/Complex.h +380 -187
- package/eigen/Eigen/src/Core/arch/AVX/MathFunctions.h +65 -163
- package/eigen/Eigen/src/Core/arch/AVX/PacketMath.h +2145 -638
- package/eigen/Eigen/src/Core/arch/AVX/Reductions.h +353 -0
- package/eigen/Eigen/src/Core/arch/AVX/TypeCasting.h +253 -60
- package/eigen/Eigen/src/Core/arch/AVX512/Complex.h +278 -228
- package/eigen/Eigen/src/Core/arch/AVX512/GemmKernel.h +1245 -0
- package/eigen/Eigen/src/Core/arch/AVX512/MathFunctions.h +48 -269
- package/eigen/Eigen/src/Core/arch/AVX512/MathFunctionsFP16.h +75 -0
- package/eigen/Eigen/src/Core/arch/AVX512/PacketMath.h +1597 -754
- package/eigen/Eigen/src/Core/arch/AVX512/PacketMathFP16.h +1413 -0
- package/eigen/Eigen/src/Core/arch/AVX512/Reductions.h +297 -0
- package/eigen/Eigen/src/Core/arch/AVX512/TrsmKernel.h +1167 -0
- package/eigen/Eigen/src/Core/arch/AVX512/TrsmUnrolls.inc +1219 -0
- package/eigen/Eigen/src/Core/arch/AVX512/TypeCasting.h +229 -41
- package/eigen/Eigen/src/Core/arch/AVX512/TypeCastingFP16.h +130 -0
- package/eigen/Eigen/src/Core/arch/AltiVec/Complex.h +420 -184
- package/eigen/Eigen/src/Core/arch/AltiVec/MathFunctions.h +40 -49
- package/eigen/Eigen/src/Core/arch/AltiVec/MatrixProduct.h +2962 -2213
- package/eigen/Eigen/src/Core/arch/AltiVec/MatrixProductCommon.h +196 -212
- package/eigen/Eigen/src/Core/arch/AltiVec/MatrixProductMMA.h +713 -441
- package/eigen/Eigen/src/Core/arch/AltiVec/MatrixProductMMAbfloat16.h +742 -0
- package/eigen/Eigen/src/Core/arch/AltiVec/MatrixVectorProduct.inc +2818 -0
- package/eigen/Eigen/src/Core/arch/AltiVec/PacketMath.h +2380 -1362
- package/eigen/Eigen/src/Core/arch/AltiVec/TypeCasting.h +153 -0
- package/eigen/Eigen/src/Core/arch/Default/BFloat16.h +390 -224
- package/eigen/Eigen/src/Core/arch/Default/ConjHelper.h +78 -67
- package/eigen/Eigen/src/Core/arch/Default/GenericPacketMathFunctions.h +1784 -799
- package/eigen/Eigen/src/Core/arch/Default/GenericPacketMathFunctionsFwd.h +167 -50
- package/eigen/Eigen/src/Core/arch/Default/Half.h +528 -379
- package/eigen/Eigen/src/Core/arch/Default/Settings.h +10 -12
- package/eigen/Eigen/src/Core/arch/GPU/Complex.h +244 -0
- package/eigen/Eigen/src/Core/arch/GPU/MathFunctions.h +41 -40
- package/eigen/Eigen/src/Core/arch/GPU/PacketMath.h +550 -523
- package/eigen/Eigen/src/Core/arch/GPU/Tuple.h +268 -0
- package/eigen/Eigen/src/Core/arch/GPU/TypeCasting.h +27 -30
- package/eigen/Eigen/src/Core/arch/HIP/hcc/math_constants.h +8 -8
- package/eigen/Eigen/src/Core/arch/HVX/PacketMath.h +1088 -0
- package/eigen/Eigen/src/Core/arch/LSX/Complex.h +520 -0
- package/eigen/Eigen/src/Core/arch/LSX/GeneralBlockPanelKernel.h +23 -0
- package/eigen/Eigen/src/Core/arch/LSX/MathFunctions.h +43 -0
- package/eigen/Eigen/src/Core/arch/LSX/PacketMath.h +2866 -0
- package/eigen/Eigen/src/Core/arch/LSX/TypeCasting.h +526 -0
- package/eigen/Eigen/src/Core/arch/MSA/Complex.h +54 -82
- package/eigen/Eigen/src/Core/arch/MSA/MathFunctions.h +84 -92
- package/eigen/Eigen/src/Core/arch/MSA/PacketMath.h +51 -47
- package/eigen/Eigen/src/Core/arch/NEON/Complex.h +454 -306
- package/eigen/Eigen/src/Core/arch/NEON/GeneralBlockPanelKernel.h +175 -115
- package/eigen/Eigen/src/Core/arch/NEON/MathFunctions.h +23 -30
- package/eigen/Eigen/src/Core/arch/NEON/PacketMath.h +4366 -2857
- package/eigen/Eigen/src/Core/arch/NEON/TypeCasting.h +616 -393
- package/eigen/Eigen/src/Core/arch/NEON/UnaryFunctors.h +57 -0
- package/eigen/Eigen/src/Core/arch/SSE/Complex.h +350 -198
- package/eigen/Eigen/src/Core/arch/SSE/MathFunctions.h +38 -149
- package/eigen/Eigen/src/Core/arch/SSE/PacketMath.h +1791 -912
- package/eigen/Eigen/src/Core/arch/SSE/Reductions.h +324 -0
- package/eigen/Eigen/src/Core/arch/SSE/TypeCasting.h +128 -40
- package/eigen/Eigen/src/Core/arch/SVE/MathFunctions.h +10 -6
- package/eigen/Eigen/src/Core/arch/SVE/PacketMath.h +156 -234
- package/eigen/Eigen/src/Core/arch/SVE/TypeCasting.h +6 -3
- package/eigen/Eigen/src/Core/arch/SYCL/InteropHeaders.h +27 -32
- package/eigen/Eigen/src/Core/arch/SYCL/MathFunctions.h +119 -117
- package/eigen/Eigen/src/Core/arch/SYCL/PacketMath.h +325 -419
- package/eigen/Eigen/src/Core/arch/SYCL/TypeCasting.h +15 -17
- package/eigen/Eigen/src/Core/arch/ZVector/Complex.h +325 -181
- package/eigen/Eigen/src/Core/arch/ZVector/MathFunctions.h +94 -83
- package/eigen/Eigen/src/Core/arch/ZVector/PacketMath.h +811 -458
- package/eigen/Eigen/src/Core/functors/AssignmentFunctors.h +121 -124
- package/eigen/Eigen/src/Core/functors/BinaryFunctors.h +576 -370
- package/eigen/Eigen/src/Core/functors/NullaryFunctors.h +194 -109
- package/eigen/Eigen/src/Core/functors/StlFunctors.h +95 -112
- package/eigen/Eigen/src/Core/functors/TernaryFunctors.h +34 -7
- package/eigen/Eigen/src/Core/functors/UnaryFunctors.h +1038 -749
- package/eigen/Eigen/src/Core/products/GeneralBlockPanelKernel.h +1883 -1375
- package/eigen/Eigen/src/Core/products/GeneralMatrixMatrix.h +312 -370
- package/eigen/Eigen/src/Core/products/GeneralMatrixMatrixTriangular.h +189 -176
- package/eigen/Eigen/src/Core/products/GeneralMatrixMatrixTriangular_BLAS.h +84 -81
- package/eigen/Eigen/src/Core/products/GeneralMatrixMatrix_BLAS.h +154 -73
- package/eigen/Eigen/src/Core/products/GeneralMatrixVector.h +292 -337
- package/eigen/Eigen/src/Core/products/GeneralMatrixVector_BLAS.h +80 -77
- package/eigen/Eigen/src/Core/products/Parallelizer.h +207 -105
- package/eigen/Eigen/src/Core/products/SelfadjointMatrixMatrix.h +327 -388
- package/eigen/Eigen/src/Core/products/SelfadjointMatrixMatrix_BLAS.h +206 -224
- package/eigen/Eigen/src/Core/products/SelfadjointMatrixVector.h +138 -147
- package/eigen/Eigen/src/Core/products/SelfadjointMatrixVector_BLAS.h +58 -61
- package/eigen/Eigen/src/Core/products/SelfadjointProduct.h +71 -71
- package/eigen/Eigen/src/Core/products/SelfadjointRank2Update.h +48 -47
- package/eigen/Eigen/src/Core/products/TriangularMatrixMatrix.h +294 -369
- package/eigen/Eigen/src/Core/products/TriangularMatrixMatrix_BLAS.h +246 -238
- package/eigen/Eigen/src/Core/products/TriangularMatrixVector.h +244 -247
- package/eigen/Eigen/src/Core/products/TriangularMatrixVector_BLAS.h +212 -192
- package/eigen/Eigen/src/Core/products/TriangularSolverMatrix.h +328 -277
- package/eigen/Eigen/src/Core/products/TriangularSolverMatrix_BLAS.h +108 -109
- package/eigen/Eigen/src/Core/products/TriangularSolverVector.h +68 -94
- package/eigen/Eigen/src/Core/util/Assert.h +158 -0
- package/eigen/Eigen/src/Core/util/BlasUtil.h +342 -303
- package/eigen/Eigen/src/Core/util/ConfigureVectorization.h +348 -317
- package/eigen/Eigen/src/Core/util/Constants.h +297 -262
- package/eigen/Eigen/src/Core/util/DisableStupidWarnings.h +130 -90
- package/eigen/Eigen/src/Core/util/EmulateArray.h +270 -0
- package/eigen/Eigen/src/Core/util/ForwardDeclarations.h +449 -247
- package/eigen/Eigen/src/Core/util/GpuHipCudaDefines.inc +101 -0
- package/eigen/Eigen/src/Core/util/GpuHipCudaUndefines.inc +45 -0
- package/eigen/Eigen/src/Core/util/IndexedViewHelper.h +417 -116
- package/eigen/Eigen/src/Core/util/IntegralConstant.h +211 -204
- package/eigen/Eigen/src/Core/util/MKL_support.h +39 -37
- package/eigen/Eigen/src/Core/util/Macros.h +655 -773
- package/eigen/Eigen/src/Core/util/MaxSizeVector.h +139 -0
- package/eigen/Eigen/src/Core/util/Memory.h +970 -748
- package/eigen/Eigen/src/Core/util/Meta.h +581 -633
- package/eigen/Eigen/src/Core/util/MoreMeta.h +638 -0
- package/eigen/Eigen/src/Core/util/ReenableStupidWarnings.h +32 -19
- package/eigen/Eigen/src/Core/util/ReshapedHelper.h +17 -17
- package/eigen/Eigen/src/Core/util/Serializer.h +209 -0
- package/eigen/Eigen/src/Core/util/StaticAssert.h +50 -166
- package/eigen/Eigen/src/Core/util/SymbolicIndex.h +377 -225
- package/eigen/Eigen/src/Core/util/XprHelper.h +784 -547
- package/eigen/Eigen/src/Eigenvalues/ComplexEigenSolver.h +246 -277
- package/eigen/Eigen/src/Eigenvalues/ComplexSchur.h +299 -319
- package/eigen/Eigen/src/Eigenvalues/ComplexSchur_LAPACKE.h +52 -48
- package/eigen/Eigen/src/Eigenvalues/EigenSolver.h +413 -456
- package/eigen/Eigen/src/Eigenvalues/GeneralizedEigenSolver.h +309 -325
- package/eigen/Eigen/src/Eigenvalues/GeneralizedSelfAdjointEigenSolver.h +157 -171
- package/eigen/Eigen/src/Eigenvalues/HessenbergDecomposition.h +292 -310
- package/eigen/Eigen/src/Eigenvalues/InternalHeaderCheck.h +3 -0
- package/eigen/Eigen/src/Eigenvalues/MatrixBaseEigenvalues.h +89 -105
- package/eigen/Eigen/src/Eigenvalues/RealQZ.h +537 -607
- package/eigen/Eigen/src/Eigenvalues/RealSchur.h +342 -381
- package/eigen/Eigen/src/Eigenvalues/RealSchur_LAPACKE.h +41 -35
- package/eigen/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h +541 -595
- package/eigen/Eigen/src/Eigenvalues/SelfAdjointEigenSolver_LAPACKE.h +47 -44
- package/eigen/Eigen/src/Eigenvalues/Tridiagonalization.h +430 -462
- package/eigen/Eigen/src/Geometry/AlignedBox.h +226 -227
- package/eigen/Eigen/src/Geometry/AngleAxis.h +131 -133
- package/eigen/Eigen/src/Geometry/EulerAngles.h +163 -74
- package/eigen/Eigen/src/Geometry/Homogeneous.h +285 -333
- package/eigen/Eigen/src/Geometry/Hyperplane.h +151 -160
- package/eigen/Eigen/src/Geometry/InternalHeaderCheck.h +3 -0
- package/eigen/Eigen/src/Geometry/OrthoMethods.h +168 -146
- package/eigen/Eigen/src/Geometry/ParametrizedLine.h +127 -127
- package/eigen/Eigen/src/Geometry/Quaternion.h +566 -506
- package/eigen/Eigen/src/Geometry/Rotation2D.h +107 -105
- package/eigen/Eigen/src/Geometry/RotationBase.h +148 -145
- package/eigen/Eigen/src/Geometry/Scaling.h +113 -106
- package/eigen/Eigen/src/Geometry/Transform.h +858 -936
- package/eigen/Eigen/src/Geometry/Translation.h +94 -92
- package/eigen/Eigen/src/Geometry/Umeyama.h +79 -84
- package/eigen/Eigen/src/Geometry/arch/Geometry_SIMD.h +90 -104
- package/eigen/Eigen/src/Householder/BlockHouseholder.h +51 -46
- package/eigen/Eigen/src/Householder/Householder.h +102 -124
- package/eigen/Eigen/src/Householder/HouseholderSequence.h +412 -453
- package/eigen/Eigen/src/Householder/InternalHeaderCheck.h +3 -0
- package/eigen/Eigen/src/IterativeLinearSolvers/BasicPreconditioners.h +149 -162
- package/eigen/Eigen/src/IterativeLinearSolvers/BiCGSTAB.h +124 -119
- package/eigen/Eigen/src/IterativeLinearSolvers/ConjugateGradient.h +92 -104
- package/eigen/Eigen/src/IterativeLinearSolvers/IncompleteCholesky.h +251 -243
- package/eigen/Eigen/src/IterativeLinearSolvers/IncompleteLUT.h +224 -228
- package/eigen/Eigen/src/IterativeLinearSolvers/InternalHeaderCheck.h +3 -0
- package/eigen/Eigen/src/IterativeLinearSolvers/IterativeSolverBase.h +178 -227
- package/eigen/Eigen/src/IterativeLinearSolvers/LeastSquareConjugateGradient.h +79 -84
- package/eigen/Eigen/src/IterativeLinearSolvers/SolveWithGuess.h +54 -60
- package/eigen/Eigen/src/Jacobi/InternalHeaderCheck.h +3 -0
- package/eigen/Eigen/src/Jacobi/Jacobi.h +252 -308
- package/eigen/Eigen/src/KLUSupport/InternalHeaderCheck.h +3 -0
- package/eigen/Eigen/src/KLUSupport/KLUSupport.h +208 -227
- package/eigen/Eigen/src/LU/Determinant.h +50 -69
- package/eigen/Eigen/src/LU/FullPivLU.h +545 -596
- package/eigen/Eigen/src/LU/InternalHeaderCheck.h +3 -0
- package/eigen/Eigen/src/LU/InverseImpl.h +206 -285
- package/eigen/Eigen/src/LU/PartialPivLU.h +390 -428
- package/eigen/Eigen/src/LU/PartialPivLU_LAPACKE.h +54 -40
- package/eigen/Eigen/src/LU/arch/InverseSize4.h +72 -70
- package/eigen/Eigen/src/MetisSupport/InternalHeaderCheck.h +3 -0
- package/eigen/Eigen/src/MetisSupport/MetisSupport.h +81 -93
- package/eigen/Eigen/src/OrderingMethods/Amd.h +243 -265
- package/eigen/Eigen/src/OrderingMethods/Eigen_Colamd.h +831 -1004
- package/eigen/Eigen/src/OrderingMethods/InternalHeaderCheck.h +3 -0
- package/eigen/Eigen/src/OrderingMethods/Ordering.h +112 -119
- package/eigen/Eigen/src/PaStiXSupport/InternalHeaderCheck.h +3 -0
- package/eigen/Eigen/src/PaStiXSupport/PaStiXSupport.h +524 -570
- package/eigen/Eigen/src/PardisoSupport/InternalHeaderCheck.h +3 -0
- package/eigen/Eigen/src/PardisoSupport/PardisoSupport.h +385 -430
- package/eigen/Eigen/src/QR/ColPivHouseholderQR.h +479 -479
- package/eigen/Eigen/src/QR/ColPivHouseholderQR_LAPACKE.h +120 -56
- package/eigen/Eigen/src/QR/CompleteOrthogonalDecomposition.h +166 -153
- package/eigen/Eigen/src/QR/FullPivHouseholderQR.h +495 -475
- package/eigen/Eigen/src/QR/HouseholderQR.h +394 -285
- package/eigen/Eigen/src/QR/HouseholderQR_LAPACKE.h +32 -23
- package/eigen/Eigen/src/QR/InternalHeaderCheck.h +3 -0
- package/eigen/Eigen/src/SPQRSupport/InternalHeaderCheck.h +3 -0
- package/eigen/Eigen/src/SPQRSupport/SuiteSparseQRSupport.h +244 -264
- package/eigen/Eigen/src/SVD/BDCSVD.h +817 -713
- package/eigen/Eigen/src/SVD/BDCSVD_LAPACKE.h +174 -0
- package/eigen/Eigen/src/SVD/InternalHeaderCheck.h +3 -0
- package/eigen/Eigen/src/SVD/JacobiSVD.h +577 -543
- package/eigen/Eigen/src/SVD/JacobiSVD_LAPACKE.h +85 -49
- package/eigen/Eigen/src/SVD/SVDBase.h +242 -182
- package/eigen/Eigen/src/SVD/UpperBidiagonalization.h +200 -235
- package/eigen/Eigen/src/SparseCholesky/InternalHeaderCheck.h +3 -0
- package/eigen/Eigen/src/SparseCholesky/SimplicialCholesky.h +765 -594
- package/eigen/Eigen/src/SparseCholesky/SimplicialCholesky_impl.h +308 -94
- package/eigen/Eigen/src/SparseCore/AmbiVector.h +202 -251
- package/eigen/Eigen/src/SparseCore/CompressedStorage.h +184 -252
- package/eigen/Eigen/src/SparseCore/ConservativeSparseSparseProduct.h +134 -178
- package/eigen/Eigen/src/SparseCore/InternalHeaderCheck.h +3 -0
- package/eigen/Eigen/src/SparseCore/SparseAssign.h +149 -140
- package/eigen/Eigen/src/SparseCore/SparseBlock.h +403 -440
- package/eigen/Eigen/src/SparseCore/SparseColEtree.h +100 -112
- package/eigen/Eigen/src/SparseCore/SparseCompressedBase.h +525 -303
- package/eigen/Eigen/src/SparseCore/SparseCwiseBinaryOp.h +555 -339
- package/eigen/Eigen/src/SparseCore/SparseCwiseUnaryOp.h +100 -108
- package/eigen/Eigen/src/SparseCore/SparseDenseProduct.h +169 -197
- package/eigen/Eigen/src/SparseCore/SparseDiagonalProduct.h +71 -71
- package/eigen/Eigen/src/SparseCore/SparseDot.h +49 -47
- package/eigen/Eigen/src/SparseCore/SparseFuzzy.h +13 -11
- package/eigen/Eigen/src/SparseCore/SparseMap.h +243 -253
- package/eigen/Eigen/src/SparseCore/SparseMatrix.h +1603 -1245
- package/eigen/Eigen/src/SparseCore/SparseMatrixBase.h +403 -350
- package/eigen/Eigen/src/SparseCore/SparsePermutation.h +186 -115
- package/eigen/Eigen/src/SparseCore/SparseProduct.h +94 -97
- package/eigen/Eigen/src/SparseCore/SparseRedux.h +22 -24
- package/eigen/Eigen/src/SparseCore/SparseRef.h +268 -295
- package/eigen/Eigen/src/SparseCore/SparseSelfAdjointView.h +370 -416
- package/eigen/Eigen/src/SparseCore/SparseSolverBase.h +78 -87
- package/eigen/Eigen/src/SparseCore/SparseSparseProductWithPruning.h +81 -95
- package/eigen/Eigen/src/SparseCore/SparseTranspose.h +62 -71
- package/eigen/Eigen/src/SparseCore/SparseTriangularView.h +132 -144
- package/eigen/Eigen/src/SparseCore/SparseUtil.h +138 -115
- package/eigen/Eigen/src/SparseCore/SparseVector.h +426 -372
- package/eigen/Eigen/src/SparseCore/SparseView.h +164 -193
- package/eigen/Eigen/src/SparseCore/TriangularSolver.h +129 -170
- package/eigen/Eigen/src/SparseLU/InternalHeaderCheck.h +3 -0
- package/eigen/Eigen/src/SparseLU/SparseLU.h +756 -710
- package/eigen/Eigen/src/SparseLU/SparseLUImpl.h +61 -48
- package/eigen/Eigen/src/SparseLU/SparseLU_Memory.h +102 -118
- package/eigen/Eigen/src/SparseLU/SparseLU_Structs.h +38 -35
- package/eigen/Eigen/src/SparseLU/SparseLU_SupernodalMatrix.h +245 -301
- package/eigen/Eigen/src/SparseLU/SparseLU_Utils.h +44 -49
- package/eigen/Eigen/src/SparseLU/SparseLU_column_bmod.h +104 -108
- package/eigen/Eigen/src/SparseLU/SparseLU_column_dfs.h +89 -100
- package/eigen/Eigen/src/SparseLU/SparseLU_copy_to_ucol.h +57 -58
- package/eigen/Eigen/src/SparseLU/SparseLU_heap_relax_snode.h +43 -55
- package/eigen/Eigen/src/SparseLU/SparseLU_kernel_bmod.h +74 -71
- package/eigen/Eigen/src/SparseLU/SparseLU_panel_bmod.h +124 -132
- package/eigen/Eigen/src/SparseLU/SparseLU_panel_dfs.h +136 -159
- package/eigen/Eigen/src/SparseLU/SparseLU_pivotL.h +51 -52
- package/eigen/Eigen/src/SparseLU/SparseLU_pruneL.h +67 -73
- package/eigen/Eigen/src/SparseLU/SparseLU_relax_snode.h +24 -26
- package/eigen/Eigen/src/SparseQR/InternalHeaderCheck.h +3 -0
- package/eigen/Eigen/src/SparseQR/SparseQR.h +450 -502
- package/eigen/Eigen/src/StlSupport/StdDeque.h +28 -93
- package/eigen/Eigen/src/StlSupport/StdList.h +28 -84
- package/eigen/Eigen/src/StlSupport/StdVector.h +28 -108
- package/eigen/Eigen/src/StlSupport/details.h +48 -50
- package/eigen/Eigen/src/SuperLUSupport/InternalHeaderCheck.h +3 -0
- package/eigen/Eigen/src/SuperLUSupport/SuperLUSupport.h +634 -730
- package/eigen/Eigen/src/ThreadPool/Barrier.h +70 -0
- package/eigen/Eigen/src/ThreadPool/CoreThreadPoolDevice.h +336 -0
- package/eigen/Eigen/src/ThreadPool/EventCount.h +241 -0
- package/eigen/Eigen/src/ThreadPool/ForkJoin.h +140 -0
- package/eigen/Eigen/src/ThreadPool/InternalHeaderCheck.h +4 -0
- package/eigen/Eigen/src/ThreadPool/NonBlockingThreadPool.h +587 -0
- package/eigen/Eigen/src/ThreadPool/RunQueue.h +230 -0
- package/eigen/Eigen/src/ThreadPool/ThreadCancel.h +21 -0
- package/eigen/Eigen/src/ThreadPool/ThreadEnvironment.h +43 -0
- package/eigen/Eigen/src/ThreadPool/ThreadLocal.h +289 -0
- package/eigen/Eigen/src/ThreadPool/ThreadPoolInterface.h +50 -0
- package/eigen/Eigen/src/ThreadPool/ThreadYield.h +16 -0
- package/eigen/Eigen/src/UmfPackSupport/InternalHeaderCheck.h +3 -0
- package/eigen/Eigen/src/UmfPackSupport/UmfPackSupport.h +428 -464
- package/eigen/Eigen/src/misc/Image.h +41 -43
- package/eigen/Eigen/src/misc/InternalHeaderCheck.h +3 -0
- package/eigen/Eigen/src/misc/Kernel.h +39 -41
- package/eigen/Eigen/src/misc/RealSvd2x2.h +19 -21
- package/eigen/Eigen/src/misc/blas.h +83 -426
- package/eigen/Eigen/src/misc/lapacke.h +9972 -16179
- package/eigen/Eigen/src/misc/lapacke_helpers.h +163 -0
- package/eigen/Eigen/src/misc/lapacke_mangling.h +4 -5
- package/eigen/Eigen/src/plugins/ArrayCwiseBinaryOps.inc +344 -0
- package/eigen/Eigen/src/plugins/ArrayCwiseUnaryOps.inc +544 -0
- package/eigen/Eigen/src/plugins/{BlockMethods.h → BlockMethods.inc} +434 -506
- package/eigen/Eigen/src/plugins/CommonCwiseBinaryOps.inc +116 -0
- package/eigen/Eigen/src/plugins/{CommonCwiseUnaryOps.h → CommonCwiseUnaryOps.inc} +58 -68
- package/eigen/Eigen/src/plugins/IndexedViewMethods.inc +192 -0
- package/eigen/Eigen/src/plugins/InternalHeaderCheck.inc +3 -0
- package/eigen/Eigen/src/plugins/MatrixCwiseBinaryOps.inc +331 -0
- package/eigen/Eigen/src/plugins/MatrixCwiseUnaryOps.inc +118 -0
- package/eigen/Eigen/src/plugins/ReshapedMethods.inc +133 -0
- package/package.json +1 -1
- package/eigen/COPYING.APACHE +0 -203
- package/eigen/COPYING.BSD +0 -26
- package/eigen/COPYING.GPL +0 -674
- package/eigen/COPYING.LGPL +0 -502
- package/eigen/COPYING.MINPACK +0 -51
- package/eigen/COPYING.MPL2 +0 -373
- package/eigen/COPYING.README +0 -18
- package/eigen/Eigen/src/Core/BooleanRedux.h +0 -162
- package/eigen/Eigen/src/Core/arch/CUDA/Complex.h +0 -258
- package/eigen/Eigen/src/Core/arch/Default/TypeCasting.h +0 -120
- package/eigen/Eigen/src/Core/arch/SYCL/SyclMemoryModel.h +0 -694
- package/eigen/Eigen/src/Core/util/NonMPL2.h +0 -3
- package/eigen/Eigen/src/SparseCore/MappedSparseMatrix.h +0 -67
- package/eigen/Eigen/src/SparseLU/SparseLU_gemm_kernel.h +0 -280
- package/eigen/Eigen/src/misc/lapack.h +0 -152
- package/eigen/Eigen/src/plugins/ArrayCwiseBinaryOps.h +0 -358
- package/eigen/Eigen/src/plugins/ArrayCwiseUnaryOps.h +0 -696
- package/eigen/Eigen/src/plugins/CommonCwiseBinaryOps.h +0 -115
- package/eigen/Eigen/src/plugins/IndexedViewMethods.h +0 -262
- package/eigen/Eigen/src/plugins/MatrixCwiseBinaryOps.h +0 -152
- package/eigen/Eigen/src/plugins/MatrixCwiseUnaryOps.h +0 -95
- package/eigen/Eigen/src/plugins/ReshapedMethods.h +0 -149
- package/eigen/README.md +0 -5
|
@@ -12,169 +12,173 @@
|
|
|
12
12
|
#ifndef EIGEN_CONSTANTS_H
|
|
13
13
|
#define EIGEN_CONSTANTS_H
|
|
14
14
|
|
|
15
|
+
// IWYU pragma: private
|
|
16
|
+
#include "../InternalHeaderCheck.h"
|
|
17
|
+
|
|
15
18
|
namespace Eigen {
|
|
16
19
|
|
|
17
20
|
/** This value means that a positive quantity (e.g., a size) is not known at compile-time, and that instead the value is
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
21
|
+
* stored in some runtime variable.
|
|
22
|
+
*
|
|
23
|
+
* Changing the value of Dynamic breaks the ABI, as Dynamic is often used as a template parameter for Matrix.
|
|
24
|
+
*/
|
|
22
25
|
const int Dynamic = -1;
|
|
23
26
|
|
|
24
|
-
/** This value means that a signed quantity (e.g., a signed index) is not known at compile-time, and that instead its
|
|
25
|
-
|
|
26
|
-
|
|
27
|
+
/** This value means that a signed quantity (e.g., a signed index) is not known at compile-time, and that instead its
|
|
28
|
+
* value has to be specified at runtime.
|
|
29
|
+
*/
|
|
27
30
|
const int DynamicIndex = 0xffffff;
|
|
28
31
|
|
|
29
|
-
/** This value means that the
|
|
30
|
-
|
|
31
|
-
const int
|
|
32
|
+
/** This value means that the requested value is not defined.
|
|
33
|
+
*/
|
|
34
|
+
const int Undefined = 0xfffffe;
|
|
32
35
|
|
|
33
36
|
/** This value means +Infinity; it is currently used only as the p parameter to MatrixBase::lpNorm<int>().
|
|
34
|
-
|
|
35
|
-
|
|
37
|
+
* The value Infinity there means the L-infinity norm.
|
|
38
|
+
*/
|
|
36
39
|
const int Infinity = -1;
|
|
37
40
|
|
|
38
41
|
/** This value means that the cost to evaluate an expression coefficient is either very expensive or
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
42
|
+
* cannot be known at compile time.
|
|
43
|
+
*
|
|
44
|
+
* This value has to be positive to (1) simplify cost computation, and (2) allow to distinguish between a very expensive
|
|
45
|
+
* and very very expensive expressions. It thus must also be large enough to make sure unrolling won't happen and that
|
|
46
|
+
* sub expressions will be evaluated, but not too large to avoid overflow.
|
|
47
|
+
*/
|
|
44
48
|
const int HugeCost = 10000;
|
|
45
49
|
|
|
46
50
|
/** \defgroup flags Flags
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
51
|
+
* \ingroup Core_Module
|
|
52
|
+
*
|
|
53
|
+
* These are the possible bits which can be OR'ed to constitute the flags of a matrix or
|
|
54
|
+
* expression.
|
|
55
|
+
*
|
|
56
|
+
* It is important to note that these flags are a purely compile-time notion. They are a compile-time property of
|
|
57
|
+
* an expression type, implemented as enum's. They are not stored in memory at runtime, and they do not incur any
|
|
58
|
+
* runtime overhead.
|
|
59
|
+
*
|
|
60
|
+
* \sa MatrixBase::Flags
|
|
61
|
+
*/
|
|
58
62
|
|
|
59
63
|
/** \ingroup flags
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
64
|
+
*
|
|
65
|
+
* for a matrix, this means that the storage order is row-major.
|
|
66
|
+
* If this bit is not set, the storage order is column-major.
|
|
67
|
+
* For an expression, this determines the storage order of
|
|
68
|
+
* the matrix created by evaluation of that expression.
|
|
69
|
+
* \sa \blank \ref TopicStorageOrders */
|
|
66
70
|
const unsigned int RowMajorBit = 0x1;
|
|
67
71
|
|
|
68
72
|
/** \ingroup flags
|
|
69
|
-
|
|
73
|
+
* means the expression should be evaluated by the calling expression */
|
|
70
74
|
const unsigned int EvalBeforeNestingBit = 0x2;
|
|
71
75
|
|
|
72
76
|
/** \ingroup flags
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
EIGEN_DEPRECATED
|
|
76
|
-
const unsigned int EvalBeforeAssigningBit = 0x4; // FIXME deprecated
|
|
77
|
+
* \deprecated
|
|
78
|
+
* means the expression should be evaluated before any assignment */
|
|
79
|
+
EIGEN_DEPRECATED const unsigned int EvalBeforeAssigningBit = 0x4; // FIXME deprecated
|
|
77
80
|
|
|
78
81
|
/** \ingroup flags
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
82
|
+
*
|
|
83
|
+
* Short version: means the expression might be vectorized
|
|
84
|
+
*
|
|
85
|
+
* Long version: means that the coefficients can be handled by packets
|
|
86
|
+
* and start at a memory location whose alignment meets the requirements
|
|
87
|
+
* of the present CPU architecture for optimized packet access. In the fixed-size
|
|
88
|
+
* case, there is the additional condition that it be possible to access all the
|
|
89
|
+
* coefficients by packets (this implies the requirement that the size be a multiple of 16 bytes,
|
|
90
|
+
* and that any nontrivial strides don't break the alignment). In the dynamic-size case,
|
|
91
|
+
* there is no such condition on the total size and strides, so it might not be possible to access
|
|
92
|
+
* all coeffs by packets.
|
|
93
|
+
*
|
|
94
|
+
* \note This bit can be set regardless of whether vectorization is actually enabled.
|
|
95
|
+
* To check for actual vectorizability, see \a ActualPacketAccessBit.
|
|
96
|
+
*/
|
|
94
97
|
const unsigned int PacketAccessBit = 0x8;
|
|
95
98
|
|
|
96
99
|
#ifdef EIGEN_VECTORIZE
|
|
97
100
|
/** \ingroup flags
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
101
|
+
*
|
|
102
|
+
* If vectorization is enabled (EIGEN_VECTORIZE is defined) this constant
|
|
103
|
+
* is set to the value \a PacketAccessBit.
|
|
104
|
+
*
|
|
105
|
+
* If vectorization is not enabled (EIGEN_VECTORIZE is not defined) this constant
|
|
106
|
+
* is set to the value 0.
|
|
107
|
+
*/
|
|
105
108
|
const unsigned int ActualPacketAccessBit = PacketAccessBit;
|
|
106
109
|
#else
|
|
107
110
|
const unsigned int ActualPacketAccessBit = 0x0;
|
|
108
111
|
#endif
|
|
109
112
|
|
|
110
113
|
/** \ingroup flags
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
114
|
+
*
|
|
115
|
+
* Short version: means the expression can be seen as 1D vector.
|
|
116
|
+
*
|
|
117
|
+
* Long version: means that one can access the coefficients
|
|
118
|
+
* of this expression by coeff(int), and coeffRef(int) in the case of a lvalue expression. These
|
|
119
|
+
* index-based access methods are guaranteed
|
|
120
|
+
* to not have to do any runtime computation of a (row, col)-pair from the index, so that it
|
|
121
|
+
* is guaranteed that whenever it is available, index-based access is at least as fast as
|
|
122
|
+
* (row,col)-based access. Expressions for which that isn't possible don't have the LinearAccessBit.
|
|
123
|
+
*
|
|
124
|
+
* If both PacketAccessBit and LinearAccessBit are set, then the
|
|
125
|
+
* packets of this expression can be accessed by packet(int), and writePacket(int) in the case of a
|
|
126
|
+
* lvalue expression.
|
|
127
|
+
*
|
|
128
|
+
* Typically, all vector expressions have the LinearAccessBit, but there is one exception:
|
|
129
|
+
* Product expressions don't have it, because it would be troublesome for vectorization, even when the
|
|
130
|
+
* Product is a vector expression. Thus, vector Product expressions allow index-based coefficient access but
|
|
131
|
+
* not index-based packet access, so they don't have the LinearAccessBit.
|
|
132
|
+
*/
|
|
130
133
|
const unsigned int LinearAccessBit = 0x10;
|
|
131
134
|
|
|
132
135
|
/** \ingroup flags
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
136
|
+
*
|
|
137
|
+
* Means the expression has a coeffRef() method, i.e. is writable as its individual coefficients are directly
|
|
138
|
+
* addressable. This rules out read-only expressions.
|
|
139
|
+
*
|
|
140
|
+
* Note that DirectAccessBit and LvalueBit are mutually orthogonal, as there are examples of expression having one but
|
|
141
|
+
* not the other: \li writable expressions that don't have a very simple memory layout as a strided array, have
|
|
142
|
+
* LvalueBit but not DirectAccessBit \li Map-to-const expressions, for example Map<const Matrix>, have DirectAccessBit
|
|
143
|
+
* but not LvalueBit
|
|
144
|
+
*
|
|
145
|
+
* Expressions having LvalueBit also have their coeff() method returning a const reference instead of returning a new
|
|
146
|
+
* value.
|
|
147
|
+
*/
|
|
144
148
|
const unsigned int LvalueBit = 0x20;
|
|
145
149
|
|
|
146
150
|
/** \ingroup flags
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
151
|
+
*
|
|
152
|
+
* Means that the underlying array of coefficients can be directly accessed as a plain strided array. The memory layout
|
|
153
|
+
* of the array of coefficients must be exactly the natural one suggested by rows(), cols(),
|
|
154
|
+
* outerStride(), innerStride(), and the RowMajorBit. This rules out expressions such as Diagonal, whose coefficients,
|
|
155
|
+
* though referenceable, do not have such a regular memory layout.
|
|
156
|
+
*
|
|
157
|
+
* See the comment on LvalueBit for an explanation of how LvalueBit and DirectAccessBit are mutually orthogonal.
|
|
158
|
+
*/
|
|
155
159
|
const unsigned int DirectAccessBit = 0x40;
|
|
156
160
|
|
|
157
161
|
/** \deprecated \ingroup flags
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
162
|
+
*
|
|
163
|
+
* means the first coefficient packet is guaranteed to be aligned.
|
|
164
|
+
* An expression cannot have the AlignedBit without the PacketAccessBit flag.
|
|
165
|
+
* In other words, this means we are allow to perform an aligned packet access to the first element regardless
|
|
166
|
+
* of the expression kind:
|
|
167
|
+
* \code
|
|
168
|
+
* expression.packet<Aligned>(0);
|
|
169
|
+
* \endcode
|
|
170
|
+
*/
|
|
167
171
|
EIGEN_DEPRECATED const unsigned int AlignedBit = 0x80;
|
|
168
172
|
|
|
169
173
|
const unsigned int NestByRefBit = 0x100;
|
|
170
174
|
|
|
171
175
|
/** \ingroup flags
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
176
|
+
*
|
|
177
|
+
* for an expression, this means that the storage order
|
|
178
|
+
* can be either row-major or column-major.
|
|
179
|
+
* The precise choice will be decided at evaluation time or when
|
|
180
|
+
* combined with other expressions.
|
|
181
|
+
* \sa \blank \ref RowMajorBit, \ref TopicStorageOrders */
|
|
178
182
|
const unsigned int NoPreferredStorageOrderBit = 0x200;
|
|
179
183
|
|
|
180
184
|
/** \ingroup flags
|
|
@@ -190,65 +194,63 @@ const unsigned int NoPreferredStorageOrderBit = 0x200;
|
|
|
190
194
|
*/
|
|
191
195
|
const unsigned int CompressedAccessBit = 0x400;
|
|
192
196
|
|
|
193
|
-
|
|
194
197
|
// list of flags that are inherited by default
|
|
195
|
-
const unsigned int HereditaryBits = RowMajorBit
|
|
196
|
-
| EvalBeforeNestingBit;
|
|
198
|
+
const unsigned int HereditaryBits = RowMajorBit | EvalBeforeNestingBit;
|
|
197
199
|
|
|
198
200
|
/** \defgroup enums Enumerations
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
201
|
+
* \ingroup Core_Module
|
|
202
|
+
*
|
|
203
|
+
* Various enumerations used in %Eigen. Many of these are used as template parameters.
|
|
204
|
+
*/
|
|
203
205
|
|
|
204
206
|
/** \ingroup enums
|
|
205
|
-
|
|
206
|
-
|
|
207
|
+
* Enum containing possible values for the \c Mode or \c UpLo parameter of
|
|
208
|
+
* MatrixBase::selfadjointView() and MatrixBase::triangularView(), and selfadjoint solvers. */
|
|
207
209
|
enum UpLoType {
|
|
208
210
|
/** View matrix as a lower triangular matrix. */
|
|
209
|
-
Lower=0x1,
|
|
211
|
+
Lower = 0x1,
|
|
210
212
|
/** View matrix as an upper triangular matrix. */
|
|
211
|
-
Upper=0x2,
|
|
213
|
+
Upper = 0x2,
|
|
212
214
|
/** %Matrix has ones on the diagonal; to be used in combination with #Lower or #Upper. */
|
|
213
|
-
UnitDiag=0x4,
|
|
215
|
+
UnitDiag = 0x4,
|
|
214
216
|
/** %Matrix has zeros on the diagonal; to be used in combination with #Lower or #Upper. */
|
|
215
|
-
ZeroDiag=0x8,
|
|
217
|
+
ZeroDiag = 0x8,
|
|
216
218
|
/** View matrix as a lower triangular matrix with ones on the diagonal. */
|
|
217
|
-
UnitLower=UnitDiag|Lower,
|
|
219
|
+
UnitLower = UnitDiag | Lower,
|
|
218
220
|
/** View matrix as an upper triangular matrix with ones on the diagonal. */
|
|
219
|
-
UnitUpper=UnitDiag|Upper,
|
|
221
|
+
UnitUpper = UnitDiag | Upper,
|
|
220
222
|
/** View matrix as a lower triangular matrix with zeros on the diagonal. */
|
|
221
|
-
StrictlyLower=ZeroDiag|Lower,
|
|
223
|
+
StrictlyLower = ZeroDiag | Lower,
|
|
222
224
|
/** View matrix as an upper triangular matrix with zeros on the diagonal. */
|
|
223
|
-
StrictlyUpper=ZeroDiag|Upper,
|
|
225
|
+
StrictlyUpper = ZeroDiag | Upper,
|
|
224
226
|
/** Used in BandMatrix and SelfAdjointView to indicate that the matrix is self-adjoint. */
|
|
225
|
-
SelfAdjoint=0x10,
|
|
227
|
+
SelfAdjoint = 0x10,
|
|
226
228
|
/** Used to support symmetric, non-selfadjoint, complex matrices. */
|
|
227
|
-
Symmetric=0x20
|
|
229
|
+
Symmetric = 0x20
|
|
228
230
|
};
|
|
229
231
|
|
|
230
232
|
/** \ingroup enums
|
|
231
|
-
|
|
233
|
+
* Enum for indicating whether a buffer is aligned or not. */
|
|
232
234
|
enum AlignmentType {
|
|
233
|
-
Unaligned=0,
|
|
234
|
-
Aligned8=8,
|
|
235
|
-
Aligned16=16,
|
|
236
|
-
Aligned32=32,
|
|
237
|
-
Aligned64=64,
|
|
238
|
-
Aligned128=128,
|
|
239
|
-
AlignedMask=255,
|
|
240
|
-
Aligned=16,
|
|
241
|
-
#if EIGEN_MAX_ALIGN_BYTES==128
|
|
235
|
+
Unaligned = 0, /**< Data pointer has no specific alignment. */
|
|
236
|
+
Aligned8 = 8, /**< Data pointer is aligned on a 8 bytes boundary. */
|
|
237
|
+
Aligned16 = 16, /**< Data pointer is aligned on a 16 bytes boundary. */
|
|
238
|
+
Aligned32 = 32, /**< Data pointer is aligned on a 32 bytes boundary. */
|
|
239
|
+
Aligned64 = 64, /**< Data pointer is aligned on a 64 bytes boundary. */
|
|
240
|
+
Aligned128 = 128, /**< Data pointer is aligned on a 128 bytes boundary. */
|
|
241
|
+
AlignedMask = 255,
|
|
242
|
+
Aligned = 16, /**< \deprecated Synonym for Aligned16. */
|
|
243
|
+
#if EIGEN_MAX_ALIGN_BYTES == 128
|
|
242
244
|
AlignedMax = Aligned128
|
|
243
|
-
#elif EIGEN_MAX_ALIGN_BYTES==64
|
|
245
|
+
#elif EIGEN_MAX_ALIGN_BYTES == 64
|
|
244
246
|
AlignedMax = Aligned64
|
|
245
|
-
#elif EIGEN_MAX_ALIGN_BYTES==32
|
|
247
|
+
#elif EIGEN_MAX_ALIGN_BYTES == 32
|
|
246
248
|
AlignedMax = Aligned32
|
|
247
|
-
#elif EIGEN_MAX_ALIGN_BYTES==16
|
|
249
|
+
#elif EIGEN_MAX_ALIGN_BYTES == 16
|
|
248
250
|
AlignedMax = Aligned16
|
|
249
|
-
#elif EIGEN_MAX_ALIGN_BYTES==8
|
|
251
|
+
#elif EIGEN_MAX_ALIGN_BYTES == 8
|
|
250
252
|
AlignedMax = Aligned8
|
|
251
|
-
#elif EIGEN_MAX_ALIGN_BYTES==0
|
|
253
|
+
#elif EIGEN_MAX_ALIGN_BYTES == 0
|
|
252
254
|
AlignedMax = Unaligned
|
|
253
255
|
#else
|
|
254
256
|
#error Invalid value for EIGEN_MAX_ALIGN_BYTES
|
|
@@ -256,35 +258,35 @@ enum AlignmentType {
|
|
|
256
258
|
};
|
|
257
259
|
|
|
258
260
|
/** \ingroup enums
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
enum DirectionType {
|
|
262
|
-
/** For Reverse, all columns are reversed;
|
|
263
|
-
|
|
264
|
-
Vertical,
|
|
265
|
-
/** For Reverse, all rows are reversed;
|
|
266
|
-
|
|
267
|
-
Horizontal,
|
|
268
|
-
/** For Reverse, both rows and columns are reversed;
|
|
269
|
-
|
|
270
|
-
BothDirections
|
|
261
|
+
* Enum containing possible values for the \p Direction parameter of
|
|
262
|
+
* Reverse, PartialReduxExpr and VectorwiseOp. */
|
|
263
|
+
enum DirectionType {
|
|
264
|
+
/** For Reverse, all columns are reversed;
|
|
265
|
+
* for PartialReduxExpr and VectorwiseOp, act on columns. */
|
|
266
|
+
Vertical,
|
|
267
|
+
/** For Reverse, all rows are reversed;
|
|
268
|
+
* for PartialReduxExpr and VectorwiseOp, act on rows. */
|
|
269
|
+
Horizontal,
|
|
270
|
+
/** For Reverse, both rows and columns are reversed;
|
|
271
|
+
* not used for PartialReduxExpr and VectorwiseOp. */
|
|
272
|
+
BothDirections
|
|
271
273
|
};
|
|
272
274
|
|
|
273
275
|
/** \internal \ingroup enums
|
|
274
|
-
|
|
276
|
+
* Enum to specify how to traverse the entries of a matrix. */
|
|
275
277
|
enum TraversalType {
|
|
276
278
|
/** \internal Default traversal, no vectorization, no index-based access */
|
|
277
279
|
DefaultTraversal,
|
|
278
280
|
/** \internal No vectorization, use index-based access to have only one for loop instead of 2 nested loops */
|
|
279
281
|
LinearTraversal,
|
|
280
282
|
/** \internal Equivalent to a slice vectorization for fixed-size matrices having good alignment
|
|
281
|
-
|
|
283
|
+
* and good size */
|
|
282
284
|
InnerVectorizedTraversal,
|
|
283
285
|
/** \internal Vectorization path using a single loop plus scalar loops for the
|
|
284
|
-
|
|
286
|
+
* unaligned boundaries */
|
|
285
287
|
LinearVectorizedTraversal,
|
|
286
288
|
/** \internal Generic vectorization path using one vectorized loop per row/column with some
|
|
287
|
-
|
|
289
|
+
* scalar loops to handle the unaligned boundaries */
|
|
288
290
|
SliceVectorizedTraversal,
|
|
289
291
|
/** \internal Special case to properly handle incompatible scalar types or other defecting cases*/
|
|
290
292
|
InvalidTraversal,
|
|
@@ -293,27 +295,24 @@ enum TraversalType {
|
|
|
293
295
|
};
|
|
294
296
|
|
|
295
297
|
/** \internal \ingroup enums
|
|
296
|
-
|
|
298
|
+
* Enum to specify whether to unroll loops when traversing over the entries of a matrix. */
|
|
297
299
|
enum UnrollingType {
|
|
298
300
|
/** \internal Do not unroll loops. */
|
|
299
301
|
NoUnrolling,
|
|
300
302
|
/** \internal Unroll only the inner loop, but not the outer loop. */
|
|
301
303
|
InnerUnrolling,
|
|
302
|
-
/** \internal Unroll both the inner and the outer loop. If there is only one loop,
|
|
303
|
-
|
|
304
|
+
/** \internal Unroll both the inner and the outer loop. If there is only one loop,
|
|
305
|
+
* because linear traversal is used, then unroll that loop. */
|
|
304
306
|
CompleteUnrolling
|
|
305
307
|
};
|
|
306
308
|
|
|
307
309
|
/** \internal \ingroup enums
|
|
308
|
-
|
|
309
|
-
enum SpecializedType {
|
|
310
|
-
Specialized,
|
|
311
|
-
BuiltIn
|
|
312
|
-
};
|
|
310
|
+
* Enum to specify whether to use the default (built-in) implementation or the specialization. */
|
|
311
|
+
enum SpecializedType { Specialized, BuiltIn };
|
|
313
312
|
|
|
314
313
|
/** \ingroup enums
|
|
315
|
-
|
|
316
|
-
|
|
314
|
+
* Enum containing possible values for the \p Options_ template parameter of
|
|
315
|
+
* Matrix, Array and BandMatrix. */
|
|
317
316
|
enum StorageOptions {
|
|
318
317
|
/** Storage order is column major (see \ref TopicStorageOrders). */
|
|
319
318
|
ColMajor = 0,
|
|
@@ -326,7 +325,7 @@ enum StorageOptions {
|
|
|
326
325
|
};
|
|
327
326
|
|
|
328
327
|
/** \ingroup enums
|
|
329
|
-
|
|
328
|
+
* Enum for specifying whether to apply or solve on the left or right. */
|
|
330
329
|
enum SideType {
|
|
331
330
|
/** Apply transformation on the left. */
|
|
332
331
|
OnTheLeft = 1,
|
|
@@ -352,83 +351,82 @@ enum NaNPropagationOptions {
|
|
|
352
351
|
* EIGEN_UNUSED NoChange_t NoChange;
|
|
353
352
|
* }
|
|
354
353
|
*
|
|
355
|
-
* on the ground that it feels dangerous to disambiguate overloaded functions on enum/integer types.
|
|
354
|
+
* on the ground that it feels dangerous to disambiguate overloaded functions on enum/integer types.
|
|
356
355
|
* However, this leads to "variable declared but never referenced" warnings on Intel Composer XE,
|
|
357
356
|
* and we do not know how to get rid of them (bug 450).
|
|
358
357
|
*/
|
|
359
358
|
|
|
360
|
-
enum NoChange_t
|
|
359
|
+
enum NoChange_t { NoChange };
|
|
361
360
|
enum Sequential_t { Sequential };
|
|
362
|
-
enum Default_t
|
|
361
|
+
enum Default_t { Default };
|
|
363
362
|
|
|
364
363
|
/** \internal \ingroup enums
|
|
365
|
-
|
|
366
|
-
enum AmbiVectorMode {
|
|
367
|
-
IsDense = 0,
|
|
368
|
-
IsSparse
|
|
369
|
-
};
|
|
364
|
+
* Used in AmbiVector. */
|
|
365
|
+
enum AmbiVectorMode { IsDense = 0, IsSparse };
|
|
370
366
|
|
|
371
367
|
/** \ingroup enums
|
|
372
|
-
|
|
373
|
-
|
|
368
|
+
* Used as template parameter in DenseCoeffBase and MapBase to indicate
|
|
369
|
+
* which accessors should be provided. */
|
|
374
370
|
enum AccessorLevels {
|
|
375
371
|
/** Read-only access via a member function. */
|
|
376
|
-
ReadOnlyAccessors,
|
|
372
|
+
ReadOnlyAccessors,
|
|
377
373
|
/** Read/write access via member functions. */
|
|
378
|
-
WriteAccessors,
|
|
374
|
+
WriteAccessors,
|
|
379
375
|
/** Direct read-only access to the coefficients. */
|
|
380
|
-
DirectAccessors,
|
|
376
|
+
DirectAccessors,
|
|
381
377
|
/** Direct read/write access to the coefficients. */
|
|
382
378
|
DirectWriteAccessors
|
|
383
379
|
};
|
|
384
380
|
|
|
385
381
|
/** \ingroup enums
|
|
386
|
-
|
|
382
|
+
* Enum with options to give to various decompositions. */
|
|
387
383
|
enum DecompositionOptions {
|
|
388
384
|
/** \internal Not used (meant for LDLT?). */
|
|
389
|
-
Pivoting
|
|
385
|
+
Pivoting = 0x01,
|
|
390
386
|
/** \internal Not used (meant for LDLT?). */
|
|
391
|
-
NoPivoting
|
|
387
|
+
NoPivoting = 0x02,
|
|
392
388
|
/** Used in JacobiSVD to indicate that the square matrix U is to be computed. */
|
|
393
|
-
ComputeFullU
|
|
389
|
+
ComputeFullU = 0x04,
|
|
394
390
|
/** Used in JacobiSVD to indicate that the thin matrix U is to be computed. */
|
|
395
|
-
ComputeThinU
|
|
391
|
+
ComputeThinU = 0x08,
|
|
396
392
|
/** Used in JacobiSVD to indicate that the square matrix V is to be computed. */
|
|
397
|
-
ComputeFullV
|
|
393
|
+
ComputeFullV = 0x10,
|
|
398
394
|
/** Used in JacobiSVD to indicate that the thin matrix V is to be computed. */
|
|
399
|
-
ComputeThinV
|
|
395
|
+
ComputeThinV = 0x20,
|
|
400
396
|
/** Used in SelfAdjointEigenSolver and GeneralizedSelfAdjointEigenSolver to specify
|
|
401
|
-
|
|
402
|
-
EigenvaluesOnly
|
|
397
|
+
* that only the eigenvalues are to be computed and not the eigenvectors. */
|
|
398
|
+
EigenvaluesOnly = 0x40,
|
|
403
399
|
/** Used in SelfAdjointEigenSolver and GeneralizedSelfAdjointEigenSolver to specify
|
|
404
|
-
|
|
400
|
+
* that both the eigenvalues and the eigenvectors are to be computed. */
|
|
405
401
|
ComputeEigenvectors = 0x80,
|
|
406
402
|
/** \internal */
|
|
407
403
|
EigVecMask = EigenvaluesOnly | ComputeEigenvectors,
|
|
408
404
|
/** Used in GeneralizedSelfAdjointEigenSolver to indicate that it should
|
|
409
|
-
|
|
410
|
-
Ax_lBx
|
|
405
|
+
* solve the generalized eigenproblem \f$ Ax = \lambda B x \f$. */
|
|
406
|
+
Ax_lBx = 0x100,
|
|
411
407
|
/** Used in GeneralizedSelfAdjointEigenSolver to indicate that it should
|
|
412
|
-
|
|
413
|
-
ABx_lx
|
|
408
|
+
* solve the generalized eigenproblem \f$ ABx = \lambda x \f$. */
|
|
409
|
+
ABx_lx = 0x200,
|
|
414
410
|
/** Used in GeneralizedSelfAdjointEigenSolver to indicate that it should
|
|
415
|
-
|
|
416
|
-
BAx_lx
|
|
411
|
+
* solve the generalized eigenproblem \f$ BAx = \lambda x \f$. */
|
|
412
|
+
BAx_lx = 0x400,
|
|
417
413
|
/** \internal */
|
|
418
414
|
GenEigMask = Ax_lBx | ABx_lx | BAx_lx
|
|
419
415
|
};
|
|
420
416
|
|
|
421
417
|
/** \ingroup enums
|
|
422
|
-
|
|
418
|
+
* Possible values for the \p QRPreconditioner template parameter of JacobiSVD. */
|
|
423
419
|
enum QRPreconditioners {
|
|
420
|
+
/** Use a QR decomposition with column pivoting as the first step. */
|
|
421
|
+
ColPivHouseholderQRPreconditioner = 0x0,
|
|
424
422
|
/** Do not specify what is to be done if the SVD of a non-square matrix is asked for. */
|
|
425
|
-
NoQRPreconditioner,
|
|
423
|
+
NoQRPreconditioner = 0x40,
|
|
426
424
|
/** Use a QR decomposition without pivoting as the first step. */
|
|
427
|
-
HouseholderQRPreconditioner,
|
|
428
|
-
/** Use a QR decomposition with column pivoting as the first step. */
|
|
429
|
-
ColPivHouseholderQRPreconditioner,
|
|
425
|
+
HouseholderQRPreconditioner = 0x80,
|
|
430
426
|
/** Use a QR decomposition with full pivoting as the first step. */
|
|
431
|
-
FullPivHouseholderQRPreconditioner
|
|
427
|
+
FullPivHouseholderQRPreconditioner = 0xC0,
|
|
428
|
+
/** Used to disable the QR Preconditioner in BDCSVD. */
|
|
429
|
+
DisableQRDecomposition = NoQRPreconditioner
|
|
432
430
|
};
|
|
433
431
|
|
|
434
432
|
#ifdef Success
|
|
@@ -436,72 +434,86 @@ enum QRPreconditioners {
|
|
|
436
434
|
#endif
|
|
437
435
|
|
|
438
436
|
/** \ingroup enums
|
|
439
|
-
|
|
437
|
+
* Enum for reporting the status of a computation. */
|
|
440
438
|
enum ComputationInfo {
|
|
441
439
|
/** Computation was successful. */
|
|
442
|
-
Success = 0,
|
|
440
|
+
Success = 0,
|
|
443
441
|
/** The provided data did not satisfy the prerequisites. */
|
|
444
|
-
NumericalIssue = 1,
|
|
442
|
+
NumericalIssue = 1,
|
|
445
443
|
/** Iterative procedure did not converge. */
|
|
446
444
|
NoConvergence = 2,
|
|
447
445
|
/** The inputs are invalid, or the algorithm has been improperly called.
|
|
448
|
-
|
|
446
|
+
* When assertions are enabled, such errors trigger an assert. */
|
|
449
447
|
InvalidInput = 3
|
|
450
448
|
};
|
|
451
449
|
|
|
452
450
|
/** \ingroup enums
|
|
453
|
-
|
|
454
|
-
|
|
451
|
+
* Enum used to specify how a particular transformation is stored in a matrix.
|
|
452
|
+
* \sa Transform, Hyperplane::transform(). */
|
|
455
453
|
enum TransformTraits {
|
|
456
454
|
/** Transformation is an isometry. */
|
|
457
|
-
Isometry
|
|
458
|
-
/** Transformation is an affine transformation stored as a (Dim+1)^2 matrix whose last row is
|
|
459
|
-
|
|
460
|
-
Affine
|
|
455
|
+
Isometry = 0x1,
|
|
456
|
+
/** Transformation is an affine transformation stored as a (Dim+1)^2 matrix whose last row is
|
|
457
|
+
* assumed to be [0 ... 0 1]. */
|
|
458
|
+
Affine = 0x2,
|
|
461
459
|
/** Transformation is an affine transformation stored as a (Dim) x (Dim+1) matrix. */
|
|
462
460
|
AffineCompact = 0x10 | Affine,
|
|
463
461
|
/** Transformation is a general projective transformation stored as a (Dim+1)^2 matrix. */
|
|
464
|
-
Projective
|
|
462
|
+
Projective = 0x20
|
|
465
463
|
};
|
|
466
464
|
|
|
467
465
|
/** \internal \ingroup enums
|
|
468
|
-
|
|
469
|
-
namespace Architecture
|
|
470
|
-
{
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
466
|
+
* Enum used to choose between implementation depending on the computer architecture. */
|
|
467
|
+
namespace Architecture {
|
|
468
|
+
enum Type {
|
|
469
|
+
Generic = 0x0,
|
|
470
|
+
SSE = 0x1,
|
|
471
|
+
AltiVec = 0x2,
|
|
472
|
+
VSX = 0x3,
|
|
473
|
+
NEON = 0x4,
|
|
474
|
+
MSA = 0x5,
|
|
475
|
+
SVE = 0x6,
|
|
476
|
+
HVX = 0x7,
|
|
477
|
+
LSX = 0x8,
|
|
479
478
|
#if defined EIGEN_VECTORIZE_SSE
|
|
480
|
-
|
|
479
|
+
Target = SSE
|
|
481
480
|
#elif defined EIGEN_VECTORIZE_ALTIVEC
|
|
482
|
-
|
|
481
|
+
Target = AltiVec
|
|
483
482
|
#elif defined EIGEN_VECTORIZE_VSX
|
|
484
|
-
|
|
483
|
+
Target = VSX
|
|
485
484
|
#elif defined EIGEN_VECTORIZE_NEON
|
|
486
|
-
|
|
485
|
+
Target = NEON
|
|
487
486
|
#elif defined EIGEN_VECTORIZE_SVE
|
|
488
|
-
|
|
487
|
+
Target = SVE
|
|
489
488
|
#elif defined EIGEN_VECTORIZE_MSA
|
|
490
|
-
|
|
489
|
+
Target = MSA
|
|
490
|
+
#elif defined EIGEN_VECTORIZE_HVX
|
|
491
|
+
Target = HVX
|
|
492
|
+
#elif defined EIGEN_VECTORIZE_LSX
|
|
493
|
+
Target = LSX
|
|
491
494
|
#else
|
|
492
|
-
|
|
495
|
+
Target = Generic
|
|
493
496
|
#endif
|
|
494
|
-
|
|
495
|
-
}
|
|
497
|
+
};
|
|
498
|
+
} // namespace Architecture
|
|
496
499
|
|
|
497
500
|
/** \internal \ingroup enums
|
|
498
|
-
|
|
499
|
-
enum ProductImplType
|
|
500
|
-
|
|
501
|
+
* Enum used as template parameter in Product and product evaluators. */
|
|
502
|
+
enum ProductImplType {
|
|
503
|
+
DefaultProduct = 0,
|
|
504
|
+
LazyProduct,
|
|
505
|
+
AliasFreeProduct,
|
|
506
|
+
CoeffBasedProductMode,
|
|
507
|
+
LazyCoeffBasedProductMode,
|
|
508
|
+
OuterProduct,
|
|
509
|
+
InnerProduct,
|
|
510
|
+
GemvProduct,
|
|
511
|
+
GemmProduct
|
|
512
|
+
};
|
|
501
513
|
|
|
502
514
|
/** \internal \ingroup enums
|
|
503
|
-
|
|
504
|
-
enum Action {GetAction, SetAction};
|
|
515
|
+
* Enum used in experimental parallel implementation. */
|
|
516
|
+
enum Action { GetAction, SetAction };
|
|
505
517
|
|
|
506
518
|
/** The type used to identify a dense storage. */
|
|
507
519
|
struct Dense {};
|
|
@@ -525,29 +537,52 @@ struct MatrixXpr {};
|
|
|
525
537
|
struct ArrayXpr {};
|
|
526
538
|
|
|
527
539
|
// An evaluator must define its shape. By default, it can be one of the following:
|
|
528
|
-
struct DenseShape
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
struct
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
struct
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
struct
|
|
540
|
+
struct DenseShape {
|
|
541
|
+
static std::string debugName() { return "DenseShape"; }
|
|
542
|
+
};
|
|
543
|
+
struct SolverShape {
|
|
544
|
+
static std::string debugName() { return "SolverShape"; }
|
|
545
|
+
};
|
|
546
|
+
struct HomogeneousShape {
|
|
547
|
+
static std::string debugName() { return "HomogeneousShape"; }
|
|
548
|
+
};
|
|
549
|
+
struct DiagonalShape {
|
|
550
|
+
static std::string debugName() { return "DiagonalShape"; }
|
|
551
|
+
};
|
|
552
|
+
struct SkewSymmetricShape {
|
|
553
|
+
static std::string debugName() { return "SkewSymmetricShape"; }
|
|
554
|
+
};
|
|
555
|
+
struct BandShape {
|
|
556
|
+
static std::string debugName() { return "BandShape"; }
|
|
557
|
+
};
|
|
558
|
+
struct TriangularShape {
|
|
559
|
+
static std::string debugName() { return "TriangularShape"; }
|
|
560
|
+
};
|
|
561
|
+
struct SelfAdjointShape {
|
|
562
|
+
static std::string debugName() { return "SelfAdjointShape"; }
|
|
563
|
+
};
|
|
564
|
+
struct PermutationShape {
|
|
565
|
+
static std::string debugName() { return "PermutationShape"; }
|
|
566
|
+
};
|
|
567
|
+
struct TranspositionsShape {
|
|
568
|
+
static std::string debugName() { return "TranspositionsShape"; }
|
|
569
|
+
};
|
|
570
|
+
struct SparseShape {
|
|
571
|
+
static std::string debugName() { return "SparseShape"; }
|
|
572
|
+
};
|
|
538
573
|
|
|
539
574
|
namespace internal {
|
|
540
575
|
|
|
541
|
-
|
|
576
|
+
// random access iterators based on coeff*() accessors.
|
|
542
577
|
struct IndexBased {};
|
|
543
578
|
|
|
544
|
-
// evaluator based on iterators to access coefficients.
|
|
579
|
+
// evaluator based on iterators to access coefficients.
|
|
545
580
|
struct IteratorBased {};
|
|
546
581
|
|
|
547
582
|
/** \internal
|
|
548
583
|
* Constants for comparison functors
|
|
549
584
|
*/
|
|
550
|
-
enum ComparisonName {
|
|
585
|
+
enum ComparisonName : unsigned int {
|
|
551
586
|
cmp_EQ = 0,
|
|
552
587
|
cmp_LT = 1,
|
|
553
588
|
cmp_LE = 2,
|
|
@@ -556,8 +591,8 @@ enum ComparisonName {
|
|
|
556
591
|
cmp_GT = 5,
|
|
557
592
|
cmp_GE = 6
|
|
558
593
|
};
|
|
559
|
-
}
|
|
594
|
+
} // end namespace internal
|
|
560
595
|
|
|
561
|
-
}
|
|
596
|
+
} // end namespace Eigen
|
|
562
597
|
|
|
563
|
-
#endif
|
|
598
|
+
#endif // EIGEN_CONSTANTS_H
|