@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
|
@@ -10,374 +10,202 @@
|
|
|
10
10
|
#ifndef EIGEN_ARITHMETIC_SEQUENCE_H
|
|
11
11
|
#define EIGEN_ARITHMETIC_SEQUENCE_H
|
|
12
12
|
|
|
13
|
+
// IWYU pragma: private
|
|
14
|
+
#include "./InternalHeaderCheck.h"
|
|
15
|
+
|
|
13
16
|
namespace Eigen {
|
|
14
17
|
|
|
15
18
|
namespace internal {
|
|
16
19
|
|
|
17
|
-
#if (!EIGEN_HAS_CXX11) || !((!EIGEN_COMP_GNUC) || EIGEN_COMP_GNUC>=48)
|
|
18
|
-
template<typename T> struct aseq_negate {};
|
|
19
|
-
|
|
20
|
-
template<> struct aseq_negate<Index> {
|
|
21
|
-
typedef Index type;
|
|
22
|
-
};
|
|
23
|
-
|
|
24
|
-
template<int N> struct aseq_negate<FixedInt<N> > {
|
|
25
|
-
typedef FixedInt<-N> type;
|
|
26
|
-
};
|
|
27
|
-
|
|
28
|
-
// Compilation error in the following case:
|
|
29
|
-
template<> struct aseq_negate<FixedInt<DynamicIndex> > {};
|
|
30
|
-
|
|
31
|
-
template<typename FirstType,typename SizeType,typename IncrType,
|
|
32
|
-
bool FirstIsSymbolic=symbolic::is_symbolic<FirstType>::value,
|
|
33
|
-
bool SizeIsSymbolic =symbolic::is_symbolic<SizeType>::value>
|
|
34
|
-
struct aseq_reverse_first_type {
|
|
35
|
-
typedef Index type;
|
|
36
|
-
};
|
|
37
|
-
|
|
38
|
-
template<typename FirstType,typename SizeType,typename IncrType>
|
|
39
|
-
struct aseq_reverse_first_type<FirstType,SizeType,IncrType,true,true> {
|
|
40
|
-
typedef symbolic::AddExpr<FirstType,
|
|
41
|
-
symbolic::ProductExpr<symbolic::AddExpr<SizeType,symbolic::ValueExpr<FixedInt<-1> > >,
|
|
42
|
-
symbolic::ValueExpr<IncrType> >
|
|
43
|
-
> type;
|
|
44
|
-
};
|
|
45
|
-
|
|
46
|
-
template<typename SizeType,typename IncrType,typename EnableIf = void>
|
|
47
|
-
struct aseq_reverse_first_type_aux {
|
|
48
|
-
typedef Index type;
|
|
49
|
-
};
|
|
50
|
-
|
|
51
|
-
template<typename SizeType,typename IncrType>
|
|
52
|
-
struct aseq_reverse_first_type_aux<SizeType,IncrType,typename internal::enable_if<bool((SizeType::value+IncrType::value)|0x1)>::type> {
|
|
53
|
-
typedef FixedInt<(SizeType::value-1)*IncrType::value> type;
|
|
54
|
-
};
|
|
55
|
-
|
|
56
|
-
template<typename FirstType,typename SizeType,typename IncrType>
|
|
57
|
-
struct aseq_reverse_first_type<FirstType,SizeType,IncrType,true,false> {
|
|
58
|
-
typedef typename aseq_reverse_first_type_aux<SizeType,IncrType>::type Aux;
|
|
59
|
-
typedef symbolic::AddExpr<FirstType,symbolic::ValueExpr<Aux> > type;
|
|
60
|
-
};
|
|
61
|
-
|
|
62
|
-
template<typename FirstType,typename SizeType,typename IncrType>
|
|
63
|
-
struct aseq_reverse_first_type<FirstType,SizeType,IncrType,false,true> {
|
|
64
|
-
typedef symbolic::AddExpr<symbolic::ProductExpr<symbolic::AddExpr<SizeType,symbolic::ValueExpr<FixedInt<-1> > >,
|
|
65
|
-
symbolic::ValueExpr<IncrType> >,
|
|
66
|
-
symbolic::ValueExpr<> > type;
|
|
67
|
-
};
|
|
68
|
-
#endif
|
|
69
|
-
|
|
70
20
|
// Helper to cleanup the type of the increment:
|
|
71
|
-
template<typename T>
|
|
72
|
-
|
|
21
|
+
template <typename T>
|
|
22
|
+
struct cleanup_seq_incr {
|
|
23
|
+
typedef typename cleanup_index_type<T, DynamicIndex>::type type;
|
|
73
24
|
};
|
|
74
25
|
|
|
75
|
-
}
|
|
26
|
+
} // namespace internal
|
|
76
27
|
|
|
77
28
|
//--------------------------------------------------------------------------------
|
|
78
29
|
// seq(first,last,incr) and seqN(first,size,incr)
|
|
79
30
|
//--------------------------------------------------------------------------------
|
|
80
31
|
|
|
81
|
-
template<typename FirstType=Index,typename SizeType=Index,typename IncrType=internal::FixedInt<1> >
|
|
32
|
+
template <typename FirstType = Index, typename SizeType = Index, typename IncrType = internal::FixedInt<1> >
|
|
82
33
|
class ArithmeticSequence;
|
|
83
34
|
|
|
84
|
-
template<typename FirstType,typename SizeType,typename IncrType>
|
|
35
|
+
template <typename FirstType, typename SizeType, typename IncrType>
|
|
85
36
|
ArithmeticSequence<typename internal::cleanup_index_type<FirstType>::type,
|
|
86
37
|
typename internal::cleanup_index_type<SizeType>::type,
|
|
87
|
-
typename internal::cleanup_seq_incr<IncrType>::type
|
|
38
|
+
typename internal::cleanup_seq_incr<IncrType>::type>
|
|
88
39
|
seqN(FirstType first, SizeType size, IncrType incr);
|
|
89
40
|
|
|
90
41
|
/** \class ArithmeticSequence
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
{
|
|
112
|
-
public:
|
|
113
|
-
ArithmeticSequence(
|
|
114
|
-
ArithmeticSequence(FirstType first, SizeType size
|
|
42
|
+
* \ingroup Core_Module
|
|
43
|
+
*
|
|
44
|
+
* This class represents an arithmetic progression \f$ a_0, a_1, a_2, ..., a_{n-1}\f$ defined by
|
|
45
|
+
* its \em first value \f$ a_0 \f$, its \em size (aka length) \em n, and the \em increment (aka stride)
|
|
46
|
+
* that is equal to \f$ a_{i+1}-a_{i}\f$ for any \em i.
|
|
47
|
+
*
|
|
48
|
+
* It is internally used as the return type of the Eigen::seq and Eigen::seqN functions, and as the input arguments
|
|
49
|
+
* of DenseBase::operator()(const RowIndices&, const ColIndices&), and most of the time this is the
|
|
50
|
+
* only way it is used.
|
|
51
|
+
*
|
|
52
|
+
* \tparam FirstType type of the first element, usually an Index,
|
|
53
|
+
* but internally it can be a symbolic expression
|
|
54
|
+
* \tparam SizeType type representing the size of the sequence, usually an Index
|
|
55
|
+
* or a compile time integral constant. Internally, it can also be a symbolic expression
|
|
56
|
+
* \tparam IncrType type of the increment, can be a runtime Index, or a compile time integral constant (default is
|
|
57
|
+
* compile-time 1)
|
|
58
|
+
*
|
|
59
|
+
* \sa Eigen::seq, Eigen::seqN, DenseBase::operator()(const RowIndices&, const ColIndices&), class IndexedView
|
|
60
|
+
*/
|
|
61
|
+
template <typename FirstType, typename SizeType, typename IncrType>
|
|
62
|
+
class ArithmeticSequence {
|
|
63
|
+
public:
|
|
64
|
+
constexpr ArithmeticSequence() = default;
|
|
65
|
+
constexpr ArithmeticSequence(FirstType first, SizeType size) : m_first(first), m_size(size) {}
|
|
66
|
+
constexpr ArithmeticSequence(FirstType first, SizeType size, IncrType incr)
|
|
67
|
+
: m_first(first), m_size(size), m_incr(incr) {}
|
|
115
68
|
|
|
116
69
|
enum {
|
|
117
|
-
SizeAtCompileTime = internal::get_fixed_value<SizeType>::value,
|
|
118
|
-
IncrAtCompileTime = internal::get_fixed_value<IncrType,DynamicIndex>::value
|
|
70
|
+
// SizeAtCompileTime = internal::get_fixed_value<SizeType>::value,
|
|
71
|
+
IncrAtCompileTime = internal::get_fixed_value<IncrType, DynamicIndex>::value
|
|
119
72
|
};
|
|
120
73
|
|
|
121
74
|
/** \returns the size, i.e., number of elements, of the sequence */
|
|
122
|
-
Index size()
|
|
75
|
+
constexpr Index size() const { return m_size; }
|
|
123
76
|
|
|
124
77
|
/** \returns the first element \f$ a_0 \f$ in the sequence */
|
|
125
|
-
Index first()
|
|
78
|
+
constexpr Index first() const { return m_first; }
|
|
126
79
|
|
|
127
80
|
/** \returns the value \f$ a_i \f$ at index \a i in the sequence. */
|
|
128
|
-
Index operator[](Index i) const { return m_first + i * m_incr; }
|
|
81
|
+
constexpr Index operator[](Index i) const { return m_first + i * m_incr; }
|
|
129
82
|
|
|
130
|
-
const FirstType& firstObject() const { return m_first; }
|
|
131
|
-
const SizeType&
|
|
132
|
-
const IncrType&
|
|
83
|
+
constexpr const FirstType& firstObject() const { return m_first; }
|
|
84
|
+
constexpr const SizeType& sizeObject() const { return m_size; }
|
|
85
|
+
constexpr const IncrType& incrObject() const { return m_incr; }
|
|
133
86
|
|
|
134
|
-
protected:
|
|
87
|
+
protected:
|
|
135
88
|
FirstType m_first;
|
|
136
|
-
SizeType
|
|
137
|
-
IncrType
|
|
138
|
-
|
|
139
|
-
public:
|
|
89
|
+
SizeType m_size;
|
|
90
|
+
IncrType m_incr;
|
|
140
91
|
|
|
141
|
-
|
|
142
|
-
auto reverse() const -> decltype(Eigen::seqN(m_first+(m_size+fix<-1>())*m_incr,m_size
|
|
143
|
-
return seqN(m_first+(m_size+fix<-1>())*m_incr,m_size
|
|
144
|
-
}
|
|
145
|
-
#else
|
|
146
|
-
protected:
|
|
147
|
-
typedef typename internal::aseq_negate<IncrType>::type ReverseIncrType;
|
|
148
|
-
typedef typename internal::aseq_reverse_first_type<FirstType,SizeType,IncrType>::type ReverseFirstType;
|
|
149
|
-
public:
|
|
150
|
-
ArithmeticSequence<ReverseFirstType,SizeType,ReverseIncrType>
|
|
151
|
-
reverse() const {
|
|
152
|
-
return seqN(m_first+(m_size+fix<-1>())*m_incr,m_size,-m_incr);
|
|
92
|
+
public:
|
|
93
|
+
constexpr auto reverse() const -> decltype(Eigen::seqN(m_first + (m_size + fix<-1>()) * m_incr, m_size, -m_incr)) {
|
|
94
|
+
return seqN(m_first + (m_size + fix<-1>()) * m_incr, m_size, -m_incr);
|
|
153
95
|
}
|
|
154
|
-
#endif
|
|
155
96
|
};
|
|
156
97
|
|
|
157
98
|
/** \returns an ArithmeticSequence starting at \a first, of length \a size, and increment \a incr
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
template<typename FirstType,typename SizeType,typename IncrType>
|
|
161
|
-
ArithmeticSequence<typename internal::cleanup_index_type<FirstType>::type,
|
|
162
|
-
|
|
163
|
-
|
|
99
|
+
*
|
|
100
|
+
* \sa seqN(FirstType,SizeType), seq(FirstType,LastType,IncrType) */
|
|
101
|
+
template <typename FirstType, typename SizeType, typename IncrType>
|
|
102
|
+
ArithmeticSequence<typename internal::cleanup_index_type<FirstType>::type,
|
|
103
|
+
typename internal::cleanup_index_type<SizeType>::type,
|
|
104
|
+
typename internal::cleanup_seq_incr<IncrType>::type>
|
|
105
|
+
seqN(FirstType first, SizeType size, IncrType incr) {
|
|
106
|
+
return ArithmeticSequence<typename internal::cleanup_index_type<FirstType>::type,
|
|
107
|
+
typename internal::cleanup_index_type<SizeType>::type,
|
|
108
|
+
typename internal::cleanup_seq_incr<IncrType>::type>(first, size, incr);
|
|
164
109
|
}
|
|
165
110
|
|
|
166
111
|
/** \returns an ArithmeticSequence starting at \a first, of length \a size, and unit increment
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
template<typename FirstType,typename SizeType>
|
|
170
|
-
ArithmeticSequence<typename internal::cleanup_index_type<FirstType>::type,
|
|
171
|
-
|
|
172
|
-
|
|
112
|
+
*
|
|
113
|
+
* \sa seqN(FirstType,SizeType,IncrType), seq(FirstType,LastType) */
|
|
114
|
+
template <typename FirstType, typename SizeType>
|
|
115
|
+
ArithmeticSequence<typename internal::cleanup_index_type<FirstType>::type,
|
|
116
|
+
typename internal::cleanup_index_type<SizeType>::type>
|
|
117
|
+
seqN(FirstType first, SizeType size) {
|
|
118
|
+
return ArithmeticSequence<typename internal::cleanup_index_type<FirstType>::type,
|
|
119
|
+
typename internal::cleanup_index_type<SizeType>::type>(first, size);
|
|
173
120
|
}
|
|
174
121
|
|
|
175
122
|
#ifdef EIGEN_PARSED_BY_DOXYGEN
|
|
176
123
|
|
|
177
|
-
/** \returns an ArithmeticSequence starting at \a f, up (or down) to \a l, and with positive (or negative) increment \a
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
124
|
+
/** \returns an ArithmeticSequence starting at \a f, up (or down) to \a l, and with positive (or negative) increment \a
|
|
125
|
+
* incr
|
|
126
|
+
*
|
|
127
|
+
* It is essentially an alias to:
|
|
128
|
+
* \code
|
|
129
|
+
* seqN(f, (l-f+incr)/incr, incr);
|
|
130
|
+
* \endcode
|
|
131
|
+
*
|
|
132
|
+
* \sa seqN(FirstType,SizeType,IncrType), seq(FirstType,LastType)
|
|
133
|
+
*/
|
|
134
|
+
template <typename FirstType, typename LastType, typename IncrType>
|
|
187
135
|
auto seq(FirstType f, LastType l, IncrType incr);
|
|
188
136
|
|
|
189
137
|
/** \returns an ArithmeticSequence starting at \a f, up (or down) to \a l, and unit increment
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
template<typename FirstType,typename LastType>
|
|
138
|
+
*
|
|
139
|
+
* It is essentially an alias to:
|
|
140
|
+
* \code
|
|
141
|
+
* seqN(f,l-f+1);
|
|
142
|
+
* \endcode
|
|
143
|
+
*
|
|
144
|
+
* \sa seqN(FirstType,SizeType), seq(FirstType,LastType,IncrType)
|
|
145
|
+
*/
|
|
146
|
+
template <typename FirstType, typename LastType>
|
|
199
147
|
auto seq(FirstType f, LastType l);
|
|
200
148
|
|
|
201
|
-
#else
|
|
149
|
+
#else // EIGEN_PARSED_BY_DOXYGEN
|
|
202
150
|
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
{
|
|
151
|
+
template <typename FirstType, typename LastType>
|
|
152
|
+
auto seq(FirstType f, LastType l)
|
|
153
|
+
-> decltype(seqN(typename internal::cleanup_index_type<FirstType>::type(f),
|
|
154
|
+
(typename internal::cleanup_index_type<LastType>::type(l) -
|
|
155
|
+
typename internal::cleanup_index_type<FirstType>::type(f) + fix<1>()))) {
|
|
209
156
|
return seqN(typename internal::cleanup_index_type<FirstType>::type(f),
|
|
210
|
-
(typename internal::cleanup_index_type<LastType>::type(l)
|
|
211
|
-
|
|
157
|
+
(typename internal::cleanup_index_type<LastType>::type(l) -
|
|
158
|
+
typename internal::cleanup_index_type<FirstType>::type(f) + fix<1>()));
|
|
212
159
|
}
|
|
213
160
|
|
|
214
|
-
template<typename FirstType,typename LastType, typename IncrType>
|
|
161
|
+
template <typename FirstType, typename LastType, typename IncrType>
|
|
215
162
|
auto seq(FirstType f, LastType l, IncrType incr)
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
{
|
|
163
|
+
-> decltype(seqN(typename internal::cleanup_index_type<FirstType>::type(f),
|
|
164
|
+
(typename internal::cleanup_index_type<LastType>::type(l) -
|
|
165
|
+
typename internal::cleanup_index_type<FirstType>::type(f) +
|
|
166
|
+
typename internal::cleanup_seq_incr<IncrType>::type(incr)) /
|
|
167
|
+
typename internal::cleanup_seq_incr<IncrType>::type(incr),
|
|
168
|
+
typename internal::cleanup_seq_incr<IncrType>::type(incr))) {
|
|
222
169
|
typedef typename internal::cleanup_seq_incr<IncrType>::type CleanedIncrType;
|
|
223
170
|
return seqN(typename internal::cleanup_index_type<FirstType>::type(f),
|
|
224
|
-
(
|
|
225
|
-
|
|
171
|
+
(typename internal::cleanup_index_type<LastType>::type(l) -
|
|
172
|
+
typename internal::cleanup_index_type<FirstType>::type(f) + CleanedIncrType(incr)) /
|
|
173
|
+
CleanedIncrType(incr),
|
|
226
174
|
CleanedIncrType(incr));
|
|
227
175
|
}
|
|
228
176
|
|
|
229
|
-
#
|
|
177
|
+
#endif // EIGEN_PARSED_BY_DOXYGEN
|
|
230
178
|
|
|
231
|
-
|
|
232
|
-
typename internal::enable_if<!(symbolic::is_symbolic<FirstType>::value || symbolic::is_symbolic<LastType>::value),
|
|
233
|
-
ArithmeticSequence<typename internal::cleanup_index_type<FirstType>::type,Index> >::type
|
|
234
|
-
seq(FirstType f, LastType l)
|
|
235
|
-
{
|
|
236
|
-
return seqN(typename internal::cleanup_index_type<FirstType>::type(f),
|
|
237
|
-
Index((typename internal::cleanup_index_type<LastType>::type(l)-typename internal::cleanup_index_type<FirstType>::type(f)+fix<1>())));
|
|
238
|
-
}
|
|
179
|
+
namespace placeholders {
|
|
239
180
|
|
|
240
|
-
template<typename FirstTypeDerived,typename LastType>
|
|
241
|
-
typename internal::enable_if<!symbolic::is_symbolic<LastType>::value,
|
|
242
|
-
ArithmeticSequence<FirstTypeDerived, symbolic::AddExpr<symbolic::AddExpr<symbolic::NegateExpr<FirstTypeDerived>,symbolic::ValueExpr<> >,
|
|
243
|
-
symbolic::ValueExpr<internal::FixedInt<1> > > > >::type
|
|
244
|
-
seq(const symbolic::BaseExpr<FirstTypeDerived> &f, LastType l)
|
|
245
|
-
{
|
|
246
|
-
return seqN(f.derived(),(typename internal::cleanup_index_type<LastType>::type(l)-f.derived()+fix<1>()));
|
|
247
|
-
}
|
|
248
|
-
|
|
249
|
-
template<typename FirstType,typename LastTypeDerived>
|
|
250
|
-
typename internal::enable_if<!symbolic::is_symbolic<FirstType>::value,
|
|
251
|
-
ArithmeticSequence<typename internal::cleanup_index_type<FirstType>::type,
|
|
252
|
-
symbolic::AddExpr<symbolic::AddExpr<LastTypeDerived,symbolic::ValueExpr<> >,
|
|
253
|
-
symbolic::ValueExpr<internal::FixedInt<1> > > > >::type
|
|
254
|
-
seq(FirstType f, const symbolic::BaseExpr<LastTypeDerived> &l)
|
|
255
|
-
{
|
|
256
|
-
return seqN(typename internal::cleanup_index_type<FirstType>::type(f),(l.derived()-typename internal::cleanup_index_type<FirstType>::type(f)+fix<1>()));
|
|
257
|
-
}
|
|
258
|
-
|
|
259
|
-
template<typename FirstTypeDerived,typename LastTypeDerived>
|
|
260
|
-
ArithmeticSequence<FirstTypeDerived,
|
|
261
|
-
symbolic::AddExpr<symbolic::AddExpr<LastTypeDerived,symbolic::NegateExpr<FirstTypeDerived> >,symbolic::ValueExpr<internal::FixedInt<1> > > >
|
|
262
|
-
seq(const symbolic::BaseExpr<FirstTypeDerived> &f, const symbolic::BaseExpr<LastTypeDerived> &l)
|
|
263
|
-
{
|
|
264
|
-
return seqN(f.derived(),(l.derived()-f.derived()+fix<1>()));
|
|
265
|
-
}
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
template<typename FirstType,typename LastType, typename IncrType>
|
|
269
|
-
typename internal::enable_if<!(symbolic::is_symbolic<FirstType>::value || symbolic::is_symbolic<LastType>::value),
|
|
270
|
-
ArithmeticSequence<typename internal::cleanup_index_type<FirstType>::type,Index,typename internal::cleanup_seq_incr<IncrType>::type> >::type
|
|
271
|
-
seq(FirstType f, LastType l, IncrType incr)
|
|
272
|
-
{
|
|
273
|
-
typedef typename internal::cleanup_seq_incr<IncrType>::type CleanedIncrType;
|
|
274
|
-
return seqN(typename internal::cleanup_index_type<FirstType>::type(f),
|
|
275
|
-
Index((typename internal::cleanup_index_type<LastType>::type(l)-typename internal::cleanup_index_type<FirstType>::type(f)+CleanedIncrType(incr))/CleanedIncrType(incr)), incr);
|
|
276
|
-
}
|
|
277
|
-
|
|
278
|
-
template<typename FirstTypeDerived,typename LastType, typename IncrType>
|
|
279
|
-
typename internal::enable_if<!symbolic::is_symbolic<LastType>::value,
|
|
280
|
-
ArithmeticSequence<FirstTypeDerived,
|
|
281
|
-
symbolic::QuotientExpr<symbolic::AddExpr<symbolic::AddExpr<symbolic::NegateExpr<FirstTypeDerived>,
|
|
282
|
-
symbolic::ValueExpr<> >,
|
|
283
|
-
symbolic::ValueExpr<typename internal::cleanup_seq_incr<IncrType>::type> >,
|
|
284
|
-
symbolic::ValueExpr<typename internal::cleanup_seq_incr<IncrType>::type> >,
|
|
285
|
-
typename internal::cleanup_seq_incr<IncrType>::type> >::type
|
|
286
|
-
seq(const symbolic::BaseExpr<FirstTypeDerived> &f, LastType l, IncrType incr)
|
|
287
|
-
{
|
|
288
|
-
typedef typename internal::cleanup_seq_incr<IncrType>::type CleanedIncrType;
|
|
289
|
-
return seqN(f.derived(),(typename internal::cleanup_index_type<LastType>::type(l)-f.derived()+CleanedIncrType(incr))/CleanedIncrType(incr), incr);
|
|
290
|
-
}
|
|
291
|
-
|
|
292
|
-
template<typename FirstType,typename LastTypeDerived, typename IncrType>
|
|
293
|
-
typename internal::enable_if<!symbolic::is_symbolic<FirstType>::value,
|
|
294
|
-
ArithmeticSequence<typename internal::cleanup_index_type<FirstType>::type,
|
|
295
|
-
symbolic::QuotientExpr<symbolic::AddExpr<symbolic::AddExpr<LastTypeDerived,symbolic::ValueExpr<> >,
|
|
296
|
-
symbolic::ValueExpr<typename internal::cleanup_seq_incr<IncrType>::type> >,
|
|
297
|
-
symbolic::ValueExpr<typename internal::cleanup_seq_incr<IncrType>::type> >,
|
|
298
|
-
typename internal::cleanup_seq_incr<IncrType>::type> >::type
|
|
299
|
-
seq(FirstType f, const symbolic::BaseExpr<LastTypeDerived> &l, IncrType incr)
|
|
300
|
-
{
|
|
301
|
-
typedef typename internal::cleanup_seq_incr<IncrType>::type CleanedIncrType;
|
|
302
|
-
return seqN(typename internal::cleanup_index_type<FirstType>::type(f),
|
|
303
|
-
(l.derived()-typename internal::cleanup_index_type<FirstType>::type(f)+CleanedIncrType(incr))/CleanedIncrType(incr), incr);
|
|
304
|
-
}
|
|
305
|
-
|
|
306
|
-
template<typename FirstTypeDerived,typename LastTypeDerived, typename IncrType>
|
|
307
|
-
ArithmeticSequence<FirstTypeDerived,
|
|
308
|
-
symbolic::QuotientExpr<symbolic::AddExpr<symbolic::AddExpr<LastTypeDerived,
|
|
309
|
-
symbolic::NegateExpr<FirstTypeDerived> >,
|
|
310
|
-
symbolic::ValueExpr<typename internal::cleanup_seq_incr<IncrType>::type> >,
|
|
311
|
-
symbolic::ValueExpr<typename internal::cleanup_seq_incr<IncrType>::type> >,
|
|
312
|
-
typename internal::cleanup_seq_incr<IncrType>::type>
|
|
313
|
-
seq(const symbolic::BaseExpr<FirstTypeDerived> &f, const symbolic::BaseExpr<LastTypeDerived> &l, IncrType incr)
|
|
314
|
-
{
|
|
315
|
-
typedef typename internal::cleanup_seq_incr<IncrType>::type CleanedIncrType;
|
|
316
|
-
return seqN(f.derived(),(l.derived()-f.derived()+CleanedIncrType(incr))/CleanedIncrType(incr), incr);
|
|
317
|
-
}
|
|
318
|
-
#endif // EIGEN_HAS_CXX11
|
|
319
|
-
|
|
320
|
-
#endif // EIGEN_PARSED_BY_DOXYGEN
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
#if EIGEN_HAS_CXX11 || defined(EIGEN_PARSED_BY_DOXYGEN)
|
|
324
181
|
/** \cpp11
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
template<typename SizeType,typename IncrType>
|
|
182
|
+
* \returns a symbolic ArithmeticSequence representing the last \a size elements with increment \a incr.
|
|
183
|
+
*
|
|
184
|
+
* It is a shortcut for: \code seqN(last-(size-fix<1>)*incr, size, incr) \endcode
|
|
185
|
+
*
|
|
186
|
+
* \sa lastN(SizeType), seqN(FirstType,SizeType), seq(FirstType,LastType,IncrType) */
|
|
187
|
+
template <typename SizeType, typename IncrType>
|
|
331
188
|
auto lastN(SizeType size, IncrType incr)
|
|
332
|
-
-> decltype(seqN(Eigen::last-(size-fix<1>())*incr, size, incr))
|
|
333
|
-
|
|
334
|
-
return seqN(Eigen::last-(size-fix<1>())*incr, size, incr);
|
|
189
|
+
-> decltype(seqN(Eigen::placeholders::last - (size - fix<1>()) * incr, size, incr)) {
|
|
190
|
+
return seqN(Eigen::placeholders::last - (size - fix<1>()) * incr, size, incr);
|
|
335
191
|
}
|
|
336
192
|
|
|
337
193
|
/** \cpp11
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
template<typename SizeType>
|
|
344
|
-
auto lastN(SizeType size)
|
|
345
|
-
|
|
346
|
-
{
|
|
347
|
-
return seqN(Eigen::last+fix<1>()-size, size);
|
|
194
|
+
* \returns a symbolic ArithmeticSequence representing the last \a size elements with a unit increment.
|
|
195
|
+
*
|
|
196
|
+
* It is a shortcut for: \code seq(last+fix<1>-size, last) \endcode
|
|
197
|
+
*
|
|
198
|
+
* \sa lastN(SizeType,IncrType, seqN(FirstType,SizeType), seq(FirstType,LastType) */
|
|
199
|
+
template <typename SizeType>
|
|
200
|
+
auto lastN(SizeType size) -> decltype(seqN(Eigen::placeholders::last + fix<1>() - size, size)) {
|
|
201
|
+
return seqN(Eigen::placeholders::last + fix<1>() - size, size);
|
|
348
202
|
}
|
|
349
|
-
#endif
|
|
350
|
-
|
|
351
|
-
namespace internal {
|
|
352
|
-
|
|
353
|
-
// Convert a symbolic span into a usable one (i.e., remove last/end "keywords")
|
|
354
|
-
template<typename T>
|
|
355
|
-
struct make_size_type {
|
|
356
|
-
typedef typename internal::conditional<symbolic::is_symbolic<T>::value, Index, T>::type type;
|
|
357
|
-
};
|
|
358
203
|
|
|
359
|
-
|
|
360
|
-
struct IndexedViewCompatibleType<ArithmeticSequence<FirstType,SizeType,IncrType>, XprSize> {
|
|
361
|
-
typedef ArithmeticSequence<Index,typename make_size_type<SizeType>::type,IncrType> type;
|
|
362
|
-
};
|
|
363
|
-
|
|
364
|
-
template<typename FirstType,typename SizeType,typename IncrType>
|
|
365
|
-
ArithmeticSequence<Index,typename make_size_type<SizeType>::type,IncrType>
|
|
366
|
-
makeIndexedViewCompatible(const ArithmeticSequence<FirstType,SizeType,IncrType>& ids, Index size,SpecializedType) {
|
|
367
|
-
return ArithmeticSequence<Index,typename make_size_type<SizeType>::type,IncrType>(
|
|
368
|
-
eval_expr_given_size(ids.firstObject(),size),eval_expr_given_size(ids.sizeObject(),size),ids.incrObject());
|
|
369
|
-
}
|
|
370
|
-
|
|
371
|
-
template<typename FirstType,typename SizeType,typename IncrType>
|
|
372
|
-
struct get_compile_time_incr<ArithmeticSequence<FirstType,SizeType,IncrType> > {
|
|
373
|
-
enum { value = get_fixed_value<IncrType,DynamicIndex>::value };
|
|
374
|
-
};
|
|
375
|
-
|
|
376
|
-
} // end namespace internal
|
|
204
|
+
} // namespace placeholders
|
|
377
205
|
|
|
378
206
|
/** \namespace Eigen::indexing
|
|
379
207
|
* \ingroup Core_Module
|
|
380
|
-
*
|
|
208
|
+
*
|
|
381
209
|
* The sole purpose of this namespace is to be able to import all functions
|
|
382
210
|
* and symbols that are expected to be used within operator() for indexing
|
|
383
211
|
* and slicing. If you already imported the whole Eigen namespace:
|
|
@@ -387,27 +215,25 @@ struct get_compile_time_incr<ArithmeticSequence<FirstType,SizeType,IncrType> > {
|
|
|
387
215
|
* \code using namespace Eigen::indexing; \endcode
|
|
388
216
|
* is equivalent to:
|
|
389
217
|
* \code
|
|
390
|
-
using Eigen::
|
|
218
|
+
using Eigen::fix;
|
|
391
219
|
using Eigen::seq;
|
|
392
220
|
using Eigen::seqN;
|
|
393
|
-
using Eigen::
|
|
394
|
-
using Eigen::last;
|
|
395
|
-
using Eigen::
|
|
396
|
-
using Eigen::
|
|
221
|
+
using Eigen::placeholders::all;
|
|
222
|
+
using Eigen::placeholders::last;
|
|
223
|
+
using Eigen::placeholders::lastN; // c++11 only
|
|
224
|
+
using Eigen::placeholders::lastp1;
|
|
397
225
|
\endcode
|
|
398
226
|
*/
|
|
399
227
|
namespace indexing {
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
}
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
#endif // EIGEN_ARITHMETIC_SEQUENCE_H
|
|
228
|
+
using Eigen::fix;
|
|
229
|
+
using Eigen::seq;
|
|
230
|
+
using Eigen::seqN;
|
|
231
|
+
using Eigen::placeholders::all;
|
|
232
|
+
using Eigen::placeholders::last;
|
|
233
|
+
using Eigen::placeholders::lastN;
|
|
234
|
+
using Eigen::placeholders::lastp1;
|
|
235
|
+
} // namespace indexing
|
|
236
|
+
|
|
237
|
+
} // end namespace Eigen
|
|
238
|
+
|
|
239
|
+
#endif // EIGEN_ARITHMETIC_SEQUENCE_H
|