@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,376 +10,337 @@
|
|
|
10
10
|
#ifndef EIGEN_ARRAY_H
|
|
11
11
|
#define EIGEN_ARRAY_H
|
|
12
12
|
|
|
13
|
+
// IWYU pragma: private
|
|
14
|
+
#include "./InternalHeaderCheck.h"
|
|
15
|
+
|
|
13
16
|
namespace Eigen {
|
|
14
17
|
|
|
15
18
|
namespace internal {
|
|
16
|
-
template<typename
|
|
17
|
-
struct traits<Array<
|
|
18
|
-
{
|
|
19
|
+
template <typename Scalar_, int Rows_, int Cols_, int Options_, int MaxRows_, int MaxCols_>
|
|
20
|
+
struct traits<Array<Scalar_, Rows_, Cols_, Options_, MaxRows_, MaxCols_>>
|
|
21
|
+
: traits<Matrix<Scalar_, Rows_, Cols_, Options_, MaxRows_, MaxCols_>> {
|
|
19
22
|
typedef ArrayXpr XprKind;
|
|
20
|
-
typedef ArrayBase<Array<
|
|
23
|
+
typedef ArrayBase<Array<Scalar_, Rows_, Cols_, Options_, MaxRows_, MaxCols_>> XprBase;
|
|
21
24
|
};
|
|
22
|
-
}
|
|
25
|
+
} // namespace internal
|
|
23
26
|
|
|
24
27
|
/** \class Array
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
template<typename
|
|
45
|
-
class Array
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
* is called a null matrix. This constructor is the unique way to create null matrices: resizing
|
|
127
|
-
* a matrix to 0 is not supported.
|
|
128
|
-
*
|
|
129
|
-
* \sa resize(Index,Index)
|
|
130
|
-
*/
|
|
131
|
-
EIGEN_DEVICE_FUNC
|
|
132
|
-
EIGEN_STRONG_INLINE Array() : Base()
|
|
133
|
-
{
|
|
134
|
-
Base::_check_template_params();
|
|
135
|
-
EIGEN_INITIALIZE_COEFFS_IF_THAT_OPTION_IS_ENABLED
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
#ifndef EIGEN_PARSED_BY_DOXYGEN
|
|
139
|
-
// FIXME is it still needed ??
|
|
140
|
-
/** \internal */
|
|
141
|
-
EIGEN_DEVICE_FUNC
|
|
142
|
-
Array(internal::constructor_without_unaligned_array_assert)
|
|
143
|
-
: Base(internal::constructor_without_unaligned_array_assert())
|
|
144
|
-
{
|
|
145
|
-
Base::_check_template_params();
|
|
146
|
-
EIGEN_INITIALIZE_COEFFS_IF_THAT_OPTION_IS_ENABLED
|
|
147
|
-
}
|
|
28
|
+
* \ingroup Core_Module
|
|
29
|
+
*
|
|
30
|
+
* \brief General-purpose arrays with easy API for coefficient-wise operations
|
|
31
|
+
*
|
|
32
|
+
* The %Array class is very similar to the Matrix class. It provides
|
|
33
|
+
* general-purpose one- and two-dimensional arrays. The difference between the
|
|
34
|
+
* %Array and the %Matrix class is primarily in the API: the API for the
|
|
35
|
+
* %Array class provides easy access to coefficient-wise operations, while the
|
|
36
|
+
* API for the %Matrix class provides easy access to linear-algebra
|
|
37
|
+
* operations.
|
|
38
|
+
*
|
|
39
|
+
* See documentation of class Matrix for detailed information on the template parameters
|
|
40
|
+
* storage layout.
|
|
41
|
+
*
|
|
42
|
+
* This class can be extended with the help of the plugin mechanism described on the page
|
|
43
|
+
* \ref TopicCustomizing_Plugins by defining the preprocessor symbol \c EIGEN_ARRAY_PLUGIN.
|
|
44
|
+
*
|
|
45
|
+
* \sa \blank \ref TutorialArrayClass, \ref TopicClassHierarchy
|
|
46
|
+
*/
|
|
47
|
+
template <typename Scalar_, int Rows_, int Cols_, int Options_, int MaxRows_, int MaxCols_>
|
|
48
|
+
class Array : public PlainObjectBase<Array<Scalar_, Rows_, Cols_, Options_, MaxRows_, MaxCols_>> {
|
|
49
|
+
public:
|
|
50
|
+
typedef PlainObjectBase<Array> Base;
|
|
51
|
+
EIGEN_DENSE_PUBLIC_INTERFACE(Array)
|
|
52
|
+
|
|
53
|
+
enum { Options = Options_ };
|
|
54
|
+
typedef typename Base::PlainObject PlainObject;
|
|
55
|
+
|
|
56
|
+
protected:
|
|
57
|
+
template <typename Derived, typename OtherDerived, bool IsVector>
|
|
58
|
+
friend struct internal::conservative_resize_like_impl;
|
|
59
|
+
|
|
60
|
+
using Base::m_storage;
|
|
61
|
+
|
|
62
|
+
public:
|
|
63
|
+
using Base::base;
|
|
64
|
+
using Base::coeff;
|
|
65
|
+
using Base::coeffRef;
|
|
66
|
+
|
|
67
|
+
/**
|
|
68
|
+
* The usage of
|
|
69
|
+
* using Base::operator=;
|
|
70
|
+
* fails on MSVC. Since the code below is working with GCC and MSVC, we skipped
|
|
71
|
+
* the usage of 'using'. This should be done only for operator=.
|
|
72
|
+
*/
|
|
73
|
+
template <typename OtherDerived>
|
|
74
|
+
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Array& operator=(const EigenBase<OtherDerived>& other) {
|
|
75
|
+
return Base::operator=(other);
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
/** Set all the entries to \a value.
|
|
79
|
+
* \sa DenseBase::setConstant(), DenseBase::fill()
|
|
80
|
+
*/
|
|
81
|
+
/* This overload is needed because the usage of
|
|
82
|
+
* using Base::operator=;
|
|
83
|
+
* fails on MSVC. Since the code below is working with GCC and MSVC, we skipped
|
|
84
|
+
* the usage of 'using'. This should be done only for operator=.
|
|
85
|
+
*/
|
|
86
|
+
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Array& operator=(const Scalar& value) {
|
|
87
|
+
Base::setConstant(value);
|
|
88
|
+
return *this;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
/** Copies the value of the expression \a other into \c *this with automatic resizing.
|
|
92
|
+
*
|
|
93
|
+
* *this might be resized to match the dimensions of \a other. If *this was a null matrix (not already initialized),
|
|
94
|
+
* it will be initialized.
|
|
95
|
+
*
|
|
96
|
+
* Note that copying a row-vector into a vector (and conversely) is allowed.
|
|
97
|
+
* The resizing, if any, is then done in the appropriate way so that row-vectors
|
|
98
|
+
* remain row-vectors and vectors remain vectors.
|
|
99
|
+
*/
|
|
100
|
+
template <typename OtherDerived>
|
|
101
|
+
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Array& operator=(const DenseBase<OtherDerived>& other) {
|
|
102
|
+
return Base::_set(other);
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
/**
|
|
106
|
+
* \brief Assigns arrays to each other.
|
|
107
|
+
*
|
|
108
|
+
* \note This is a special case of the templated operator=. Its purpose is
|
|
109
|
+
* to prevent a default operator= from hiding the templated operator=.
|
|
110
|
+
*
|
|
111
|
+
* \callgraph
|
|
112
|
+
*/
|
|
113
|
+
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Array& operator=(const Array& other) { return Base::_set(other); }
|
|
114
|
+
|
|
115
|
+
/** Default constructor.
|
|
116
|
+
*
|
|
117
|
+
* For fixed-size matrices, does nothing.
|
|
118
|
+
*
|
|
119
|
+
* For dynamic-size matrices, creates an empty matrix of size 0. Does not allocate any array. Such a matrix
|
|
120
|
+
* is called a null matrix. This constructor is the unique way to create null matrices: resizing
|
|
121
|
+
* a matrix to 0 is not supported.
|
|
122
|
+
*
|
|
123
|
+
* \sa resize(Index,Index)
|
|
124
|
+
*/
|
|
125
|
+
#ifdef EIGEN_INITIALIZE_COEFFS
|
|
126
|
+
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE constexpr Array() : Base() { EIGEN_INITIALIZE_COEFFS_IF_THAT_OPTION_IS_ENABLED }
|
|
127
|
+
#else
|
|
128
|
+
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE constexpr Array() = default;
|
|
148
129
|
#endif
|
|
130
|
+
/** \brief Move constructor */
|
|
131
|
+
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE constexpr Array(Array&&) = default;
|
|
132
|
+
EIGEN_DEVICE_FUNC Array& operator=(Array&& other) noexcept(std::is_nothrow_move_assignable<Scalar>::value) {
|
|
133
|
+
Base::operator=(std::move(other));
|
|
134
|
+
return *this;
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
/** \brief Construct a row of column vector with fixed size from an arbitrary number of coefficients.
|
|
138
|
+
*
|
|
139
|
+
* \only_for_vectors
|
|
140
|
+
*
|
|
141
|
+
* This constructor is for 1D array or vectors with more than 4 coefficients.
|
|
142
|
+
*
|
|
143
|
+
* \warning To construct a column (resp. row) vector of fixed length, the number of values passed to this
|
|
144
|
+
* constructor must match the the fixed number of rows (resp. columns) of \c *this.
|
|
145
|
+
*
|
|
146
|
+
*
|
|
147
|
+
* Example: \include Array_variadic_ctor_cxx11.cpp
|
|
148
|
+
* Output: \verbinclude Array_variadic_ctor_cxx11.out
|
|
149
|
+
*
|
|
150
|
+
* \sa Array(const std::initializer_list<std::initializer_list<Scalar>>&)
|
|
151
|
+
* \sa Array(const Scalar&), Array(const Scalar&,const Scalar&)
|
|
152
|
+
*/
|
|
153
|
+
template <typename... ArgTypes>
|
|
154
|
+
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Array(const Scalar& a0, const Scalar& a1, const Scalar& a2, const Scalar& a3,
|
|
155
|
+
const ArgTypes&... args)
|
|
156
|
+
: Base(a0, a1, a2, a3, args...) {}
|
|
149
157
|
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
158
|
+
/** \brief Constructs an array and initializes it from the coefficients given as initializer-lists grouped by row.
|
|
159
|
+
* \cpp11
|
|
160
|
+
*
|
|
161
|
+
* In the general case, the constructor takes a list of rows, each row being represented as a list of coefficients:
|
|
162
|
+
*
|
|
163
|
+
* Example: \include Array_initializer_list_23_cxx11.cpp
|
|
164
|
+
* Output: \verbinclude Array_initializer_list_23_cxx11.out
|
|
165
|
+
*
|
|
166
|
+
* Each of the inner initializer lists must contain the exact same number of elements, otherwise an assertion is
|
|
167
|
+
* triggered.
|
|
168
|
+
*
|
|
169
|
+
* In the case of a compile-time column 1D array, implicit transposition from a single row is allowed.
|
|
170
|
+
* Therefore <code> Array<int,Dynamic,1>{{1,2,3,4,5}}</code> is legal and the more verbose syntax
|
|
171
|
+
* <code>Array<int,Dynamic,1>{{1},{2},{3},{4},{5}}</code> can be avoided:
|
|
172
|
+
*
|
|
173
|
+
* Example: \include Array_initializer_list_vector_cxx11.cpp
|
|
174
|
+
* Output: \verbinclude Array_initializer_list_vector_cxx11.out
|
|
175
|
+
*
|
|
176
|
+
* In the case of fixed-sized arrays, the initializer list sizes must exactly match the array sizes,
|
|
177
|
+
* and implicit transposition is allowed for compile-time 1D arrays only.
|
|
178
|
+
*
|
|
179
|
+
* \sa Array(const Scalar& a0, const Scalar& a1, const Scalar& a2, const Scalar& a3, const ArgTypes&... args)
|
|
180
|
+
*/
|
|
181
|
+
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE constexpr Array(
|
|
182
|
+
const std::initializer_list<std::initializer_list<Scalar>>& list)
|
|
183
|
+
: Base(list) {}
|
|
164
184
|
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
185
|
+
#ifndef EIGEN_PARSED_BY_DOXYGEN
|
|
186
|
+
template <typename T>
|
|
187
|
+
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE explicit Array(const T& x) {
|
|
188
|
+
Base::template _init1<T>(x);
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
template <typename T0, typename T1>
|
|
192
|
+
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Array(const T0& val0, const T1& val1) {
|
|
193
|
+
this->template _init2<T0, T1>(val0, val1);
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
#else
|
|
197
|
+
/** \brief Constructs a fixed-sized array initialized with coefficients starting at \a data */
|
|
198
|
+
EIGEN_DEVICE_FUNC explicit Array(const Scalar* data);
|
|
199
|
+
/** Constructs a vector or row-vector with given dimension. \only_for_vectors
|
|
200
|
+
*
|
|
201
|
+
* Note that this is only useful for dynamic-size vectors. For fixed-size vectors,
|
|
202
|
+
* it is redundant to pass the dimension here, so it makes more sense to use the default
|
|
203
|
+
* constructor Array() instead.
|
|
204
|
+
*/
|
|
205
|
+
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE explicit Array(Index dim);
|
|
206
|
+
/** constructs an initialized 1x1 Array with the given coefficient
|
|
207
|
+
* \sa const Scalar& a0, const Scalar& a1, const Scalar& a2, const Scalar& a3, const ArgTypes&... args */
|
|
208
|
+
Array(const Scalar& value);
|
|
209
|
+
/** constructs an uninitialized array with \a rows rows and \a cols columns.
|
|
210
|
+
*
|
|
211
|
+
* This is useful for dynamic-size arrays. For fixed-size arrays,
|
|
212
|
+
* it is redundant to pass these parameters, so one should use the default constructor
|
|
213
|
+
* Array() instead. */
|
|
214
|
+
Array(Index rows, Index cols);
|
|
215
|
+
/** constructs an initialized 2D vector with given coefficients
|
|
216
|
+
* \sa Array(const Scalar& a0, const Scalar& a1, const Scalar& a2, const Scalar& a3, const ArgTypes&... args) */
|
|
217
|
+
Array(const Scalar& val0, const Scalar& val1);
|
|
218
|
+
#endif // end EIGEN_PARSED_BY_DOXYGEN
|
|
219
|
+
|
|
220
|
+
/** constructs an initialized 3D vector with given coefficients
|
|
221
|
+
* \sa Array(const Scalar& a0, const Scalar& a1, const Scalar& a2, const Scalar& a3, const ArgTypes&... args)
|
|
222
|
+
*/
|
|
223
|
+
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Array(const Scalar& val0, const Scalar& val1, const Scalar& val2) {
|
|
224
|
+
EIGEN_STATIC_ASSERT_VECTOR_SPECIFIC_SIZE(Array, 3)
|
|
225
|
+
m_storage.data()[0] = val0;
|
|
226
|
+
m_storage.data()[1] = val1;
|
|
227
|
+
m_storage.data()[2] = val2;
|
|
228
|
+
}
|
|
229
|
+
/** constructs an initialized 4D vector with given coefficients
|
|
230
|
+
* \sa Array(const Scalar& a0, const Scalar& a1, const Scalar& a2, const Scalar& a3, const ArgTypes&... args)
|
|
231
|
+
*/
|
|
232
|
+
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Array(const Scalar& val0, const Scalar& val1, const Scalar& val2,
|
|
233
|
+
const Scalar& val3) {
|
|
234
|
+
EIGEN_STATIC_ASSERT_VECTOR_SPECIFIC_SIZE(Array, 4)
|
|
235
|
+
m_storage.data()[0] = val0;
|
|
236
|
+
m_storage.data()[1] = val1;
|
|
237
|
+
m_storage.data()[2] = val2;
|
|
238
|
+
m_storage.data()[3] = val3;
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
/** Copy constructor */
|
|
242
|
+
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE constexpr Array(const Array&) = default;
|
|
243
|
+
|
|
244
|
+
private:
|
|
245
|
+
struct PrivateType {};
|
|
246
|
+
|
|
247
|
+
public:
|
|
248
|
+
/** \sa MatrixBase::operator=(const EigenBase<OtherDerived>&) */
|
|
249
|
+
template <typename OtherDerived>
|
|
250
|
+
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Array(
|
|
251
|
+
const EigenBase<OtherDerived>& other,
|
|
252
|
+
std::enable_if_t<internal::is_convertible<typename OtherDerived::Scalar, Scalar>::value, PrivateType> =
|
|
253
|
+
PrivateType())
|
|
254
|
+
: Base(other.derived()) {}
|
|
255
|
+
|
|
256
|
+
EIGEN_DEVICE_FUNC constexpr Index innerStride() const noexcept { return 1; }
|
|
257
|
+
EIGEN_DEVICE_FUNC constexpr Index outerStride() const noexcept { return this->innerSize(); }
|
|
258
|
+
|
|
259
|
+
#ifdef EIGEN_ARRAY_PLUGIN
|
|
260
|
+
#include EIGEN_ARRAY_PLUGIN
|
|
261
|
+
#endif
|
|
178
262
|
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
*
|
|
183
|
-
* Example: \include Array_initializer_list_23_cxx11.cpp
|
|
184
|
-
* Output: \verbinclude Array_initializer_list_23_cxx11.out
|
|
185
|
-
*
|
|
186
|
-
* Each of the inner initializer lists must contain the exact same number of elements, otherwise an assertion is triggered.
|
|
187
|
-
*
|
|
188
|
-
* In the case of a compile-time column 1D array, implicit transposition from a single row is allowed.
|
|
189
|
-
* Therefore <code> Array<int,Dynamic,1>{{1,2,3,4,5}}</code> is legal and the more verbose syntax
|
|
190
|
-
* <code>Array<int,Dynamic,1>{{1},{2},{3},{4},{5}}</code> can be avoided:
|
|
191
|
-
*
|
|
192
|
-
* Example: \include Array_initializer_list_vector_cxx11.cpp
|
|
193
|
-
* Output: \verbinclude Array_initializer_list_vector_cxx11.out
|
|
194
|
-
*
|
|
195
|
-
* In the case of fixed-sized arrays, the initializer list sizes must exactly match the array sizes,
|
|
196
|
-
* and implicit transposition is allowed for compile-time 1D arrays only.
|
|
197
|
-
*
|
|
198
|
-
* \sa Array(const Scalar& a0, const Scalar& a1, const Scalar& a2, const Scalar& a3, const ArgTypes&... args)
|
|
199
|
-
*/
|
|
200
|
-
EIGEN_DEVICE_FUNC
|
|
201
|
-
EIGEN_STRONG_INLINE Array(const std::initializer_list<std::initializer_list<Scalar>>& list) : Base(list) {}
|
|
202
|
-
#endif // end EIGEN_HAS_CXX11
|
|
203
|
-
|
|
204
|
-
#ifndef EIGEN_PARSED_BY_DOXYGEN
|
|
205
|
-
template<typename T>
|
|
206
|
-
EIGEN_DEVICE_FUNC
|
|
207
|
-
EIGEN_STRONG_INLINE explicit Array(const T& x)
|
|
208
|
-
{
|
|
209
|
-
Base::_check_template_params();
|
|
210
|
-
Base::template _init1<T>(x);
|
|
211
|
-
}
|
|
212
|
-
|
|
213
|
-
template<typename T0, typename T1>
|
|
214
|
-
EIGEN_DEVICE_FUNC
|
|
215
|
-
EIGEN_STRONG_INLINE Array(const T0& val0, const T1& val1)
|
|
216
|
-
{
|
|
217
|
-
Base::_check_template_params();
|
|
218
|
-
this->template _init2<T0,T1>(val0, val1);
|
|
219
|
-
}
|
|
220
|
-
|
|
221
|
-
#else
|
|
222
|
-
/** \brief Constructs a fixed-sized array initialized with coefficients starting at \a data */
|
|
223
|
-
EIGEN_DEVICE_FUNC explicit Array(const Scalar *data);
|
|
224
|
-
/** Constructs a vector or row-vector with given dimension. \only_for_vectors
|
|
225
|
-
*
|
|
226
|
-
* Note that this is only useful for dynamic-size vectors. For fixed-size vectors,
|
|
227
|
-
* it is redundant to pass the dimension here, so it makes more sense to use the default
|
|
228
|
-
* constructor Array() instead.
|
|
229
|
-
*/
|
|
230
|
-
EIGEN_DEVICE_FUNC
|
|
231
|
-
EIGEN_STRONG_INLINE explicit Array(Index dim);
|
|
232
|
-
/** constructs an initialized 1x1 Array with the given coefficient
|
|
233
|
-
* \sa const Scalar& a0, const Scalar& a1, const Scalar& a2, const Scalar& a3, const ArgTypes&... args */
|
|
234
|
-
Array(const Scalar& value);
|
|
235
|
-
/** constructs an uninitialized array with \a rows rows and \a cols columns.
|
|
236
|
-
*
|
|
237
|
-
* This is useful for dynamic-size arrays. For fixed-size arrays,
|
|
238
|
-
* it is redundant to pass these parameters, so one should use the default constructor
|
|
239
|
-
* Array() instead. */
|
|
240
|
-
Array(Index rows, Index cols);
|
|
241
|
-
/** constructs an initialized 2D vector with given coefficients
|
|
242
|
-
* \sa Array(const Scalar& a0, const Scalar& a1, const Scalar& a2, const Scalar& a3, const ArgTypes&... args) */
|
|
243
|
-
Array(const Scalar& val0, const Scalar& val1);
|
|
244
|
-
#endif // end EIGEN_PARSED_BY_DOXYGEN
|
|
245
|
-
|
|
246
|
-
/** constructs an initialized 3D vector with given coefficients
|
|
247
|
-
* \sa Array(const Scalar& a0, const Scalar& a1, const Scalar& a2, const Scalar& a3, const ArgTypes&... args)
|
|
248
|
-
*/
|
|
249
|
-
EIGEN_DEVICE_FUNC
|
|
250
|
-
EIGEN_STRONG_INLINE Array(const Scalar& val0, const Scalar& val1, const Scalar& val2)
|
|
251
|
-
{
|
|
252
|
-
Base::_check_template_params();
|
|
253
|
-
EIGEN_STATIC_ASSERT_VECTOR_SPECIFIC_SIZE(Array, 3)
|
|
254
|
-
m_storage.data()[0] = val0;
|
|
255
|
-
m_storage.data()[1] = val1;
|
|
256
|
-
m_storage.data()[2] = val2;
|
|
257
|
-
}
|
|
258
|
-
/** constructs an initialized 4D vector with given coefficients
|
|
259
|
-
* \sa Array(const Scalar& a0, const Scalar& a1, const Scalar& a2, const Scalar& a3, const ArgTypes&... args)
|
|
260
|
-
*/
|
|
261
|
-
EIGEN_DEVICE_FUNC
|
|
262
|
-
EIGEN_STRONG_INLINE Array(const Scalar& val0, const Scalar& val1, const Scalar& val2, const Scalar& val3)
|
|
263
|
-
{
|
|
264
|
-
Base::_check_template_params();
|
|
265
|
-
EIGEN_STATIC_ASSERT_VECTOR_SPECIFIC_SIZE(Array, 4)
|
|
266
|
-
m_storage.data()[0] = val0;
|
|
267
|
-
m_storage.data()[1] = val1;
|
|
268
|
-
m_storage.data()[2] = val2;
|
|
269
|
-
m_storage.data()[3] = val3;
|
|
270
|
-
}
|
|
271
|
-
|
|
272
|
-
/** Copy constructor */
|
|
273
|
-
EIGEN_DEVICE_FUNC
|
|
274
|
-
EIGEN_STRONG_INLINE Array(const Array& other)
|
|
275
|
-
: Base(other)
|
|
276
|
-
{ }
|
|
277
|
-
|
|
278
|
-
private:
|
|
279
|
-
struct PrivateType {};
|
|
280
|
-
public:
|
|
281
|
-
|
|
282
|
-
/** \sa MatrixBase::operator=(const EigenBase<OtherDerived>&) */
|
|
283
|
-
template<typename OtherDerived>
|
|
284
|
-
EIGEN_DEVICE_FUNC
|
|
285
|
-
EIGEN_STRONG_INLINE Array(const EigenBase<OtherDerived> &other,
|
|
286
|
-
typename internal::enable_if<internal::is_convertible<typename OtherDerived::Scalar,Scalar>::value,
|
|
287
|
-
PrivateType>::type = PrivateType())
|
|
288
|
-
: Base(other.derived())
|
|
289
|
-
{ }
|
|
290
|
-
|
|
291
|
-
EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR
|
|
292
|
-
inline Index innerStride() const EIGEN_NOEXCEPT{ return 1; }
|
|
293
|
-
EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR
|
|
294
|
-
inline Index outerStride() const EIGEN_NOEXCEPT { return this->innerSize(); }
|
|
295
|
-
|
|
296
|
-
#ifdef EIGEN_ARRAY_PLUGIN
|
|
297
|
-
#include EIGEN_ARRAY_PLUGIN
|
|
298
|
-
#endif
|
|
299
|
-
|
|
300
|
-
private:
|
|
301
|
-
|
|
302
|
-
template<typename MatrixType, typename OtherDerived, bool SwapPointers>
|
|
303
|
-
friend struct internal::matrix_swap_impl;
|
|
263
|
+
private:
|
|
264
|
+
template <typename MatrixType, typename OtherDerived, bool SwapPointers>
|
|
265
|
+
friend struct internal::matrix_swap_impl;
|
|
304
266
|
};
|
|
305
267
|
|
|
306
268
|
/** \defgroup arraytypedefs Global array typedefs
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
269
|
+
* \ingroup Core_Module
|
|
270
|
+
*
|
|
271
|
+
* %Eigen defines several typedef shortcuts for most common 1D and 2D array types.
|
|
272
|
+
*
|
|
273
|
+
* The general patterns are the following:
|
|
274
|
+
*
|
|
275
|
+
* \c ArrayRowsColsType where \c Rows and \c Cols can be \c 2,\c 3,\c 4 for fixed size square matrices or \c X for
|
|
276
|
+
* dynamic size, and where \c Type can be \c i for integer, \c f for float, \c d for double, \c cf for complex float, \c
|
|
277
|
+
* cd for complex double.
|
|
278
|
+
*
|
|
279
|
+
* For example, \c Array33d is a fixed-size 3x3 array type of doubles, and \c ArrayXXf is a dynamic-size matrix of
|
|
280
|
+
* floats.
|
|
281
|
+
*
|
|
282
|
+
* There are also \c ArraySizeType which are self-explanatory. For example, \c Array4cf is
|
|
283
|
+
* a fixed-size 1D array of 4 complex floats.
|
|
284
|
+
*
|
|
285
|
+
* With \cpp11, template alias are also defined for common sizes.
|
|
286
|
+
* They follow the same pattern as above except that the scalar type suffix is replaced by a
|
|
287
|
+
* template parameter, i.e.:
|
|
288
|
+
* - `ArrayRowsCols<Type>` where `Rows` and `Cols` can be \c 2,\c 3,\c 4, or \c X for fixed or dynamic size.
|
|
289
|
+
* - `ArraySize<Type>` where `Size` can be \c 2,\c 3,\c 4 or \c X for fixed or dynamic size 1D arrays.
|
|
290
|
+
*
|
|
291
|
+
* \sa class Array
|
|
292
|
+
*/
|
|
293
|
+
|
|
294
|
+
#define EIGEN_MAKE_ARRAY_TYPEDEFS(Type, TypeSuffix, Size, SizeSuffix) \
|
|
295
|
+
/** \ingroup arraytypedefs */ \
|
|
296
|
+
typedef Array<Type, Size, Size> Array##SizeSuffix##SizeSuffix##TypeSuffix; \
|
|
297
|
+
/** \ingroup arraytypedefs */ \
|
|
298
|
+
typedef Array<Type, Size, 1> Array##SizeSuffix##TypeSuffix;
|
|
299
|
+
|
|
300
|
+
#define EIGEN_MAKE_ARRAY_FIXED_TYPEDEFS(Type, TypeSuffix, Size) \
|
|
301
|
+
/** \ingroup arraytypedefs */ \
|
|
302
|
+
typedef Array<Type, Size, Dynamic> Array##Size##X##TypeSuffix; \
|
|
303
|
+
/** \ingroup arraytypedefs */ \
|
|
304
|
+
typedef Array<Type, Dynamic, Size> Array##X##Size##TypeSuffix;
|
|
342
305
|
|
|
343
306
|
#define EIGEN_MAKE_ARRAY_TYPEDEFS_ALL_SIZES(Type, TypeSuffix) \
|
|
344
|
-
EIGEN_MAKE_ARRAY_TYPEDEFS(Type, TypeSuffix, 2, 2)
|
|
345
|
-
EIGEN_MAKE_ARRAY_TYPEDEFS(Type, TypeSuffix, 3, 3)
|
|
346
|
-
EIGEN_MAKE_ARRAY_TYPEDEFS(Type, TypeSuffix, 4, 4)
|
|
347
|
-
EIGEN_MAKE_ARRAY_TYPEDEFS(Type, TypeSuffix, Dynamic, X)
|
|
348
|
-
EIGEN_MAKE_ARRAY_FIXED_TYPEDEFS(Type, TypeSuffix, 2)
|
|
349
|
-
EIGEN_MAKE_ARRAY_FIXED_TYPEDEFS(Type, TypeSuffix, 3)
|
|
350
|
-
EIGEN_MAKE_ARRAY_FIXED_TYPEDEFS(Type, TypeSuffix, 4)
|
|
351
|
-
|
|
352
|
-
EIGEN_MAKE_ARRAY_TYPEDEFS_ALL_SIZES(int,
|
|
353
|
-
EIGEN_MAKE_ARRAY_TYPEDEFS_ALL_SIZES(float,
|
|
354
|
-
EIGEN_MAKE_ARRAY_TYPEDEFS_ALL_SIZES(double,
|
|
355
|
-
EIGEN_MAKE_ARRAY_TYPEDEFS_ALL_SIZES(std::complex<float>,
|
|
307
|
+
EIGEN_MAKE_ARRAY_TYPEDEFS(Type, TypeSuffix, 2, 2) \
|
|
308
|
+
EIGEN_MAKE_ARRAY_TYPEDEFS(Type, TypeSuffix, 3, 3) \
|
|
309
|
+
EIGEN_MAKE_ARRAY_TYPEDEFS(Type, TypeSuffix, 4, 4) \
|
|
310
|
+
EIGEN_MAKE_ARRAY_TYPEDEFS(Type, TypeSuffix, Dynamic, X) \
|
|
311
|
+
EIGEN_MAKE_ARRAY_FIXED_TYPEDEFS(Type, TypeSuffix, 2) \
|
|
312
|
+
EIGEN_MAKE_ARRAY_FIXED_TYPEDEFS(Type, TypeSuffix, 3) \
|
|
313
|
+
EIGEN_MAKE_ARRAY_FIXED_TYPEDEFS(Type, TypeSuffix, 4)
|
|
314
|
+
|
|
315
|
+
EIGEN_MAKE_ARRAY_TYPEDEFS_ALL_SIZES(int, i)
|
|
316
|
+
EIGEN_MAKE_ARRAY_TYPEDEFS_ALL_SIZES(float, f)
|
|
317
|
+
EIGEN_MAKE_ARRAY_TYPEDEFS_ALL_SIZES(double, d)
|
|
318
|
+
EIGEN_MAKE_ARRAY_TYPEDEFS_ALL_SIZES(std::complex<float>, cf)
|
|
356
319
|
EIGEN_MAKE_ARRAY_TYPEDEFS_ALL_SIZES(std::complex<double>, cd)
|
|
357
320
|
|
|
358
321
|
#undef EIGEN_MAKE_ARRAY_TYPEDEFS_ALL_SIZES
|
|
359
322
|
#undef EIGEN_MAKE_ARRAY_TYPEDEFS
|
|
360
323
|
#undef EIGEN_MAKE_ARRAY_FIXED_TYPEDEFS
|
|
361
324
|
|
|
362
|
-
#
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
template <typename Type> \
|
|
382
|
-
using Array##X##Size = Array<Type, Dynamic, Size>;
|
|
325
|
+
#define EIGEN_MAKE_ARRAY_TYPEDEFS(Size, SizeSuffix) \
|
|
326
|
+
/** \ingroup arraytypedefs */ \
|
|
327
|
+
/** \brief \cpp11 */ \
|
|
328
|
+
template <typename Type> \
|
|
329
|
+
using Array##SizeSuffix##SizeSuffix = Array<Type, Size, Size>; \
|
|
330
|
+
/** \ingroup arraytypedefs */ \
|
|
331
|
+
/** \brief \cpp11 */ \
|
|
332
|
+
template <typename Type> \
|
|
333
|
+
using Array##SizeSuffix = Array<Type, Size, 1>;
|
|
334
|
+
|
|
335
|
+
#define EIGEN_MAKE_ARRAY_FIXED_TYPEDEFS(Size) \
|
|
336
|
+
/** \ingroup arraytypedefs */ \
|
|
337
|
+
/** \brief \cpp11 */ \
|
|
338
|
+
template <typename Type> \
|
|
339
|
+
using Array##Size##X = Array<Type, Size, Dynamic>; \
|
|
340
|
+
/** \ingroup arraytypedefs */ \
|
|
341
|
+
/** \brief \cpp11 */ \
|
|
342
|
+
template <typename Type> \
|
|
343
|
+
using Array##X##Size = Array<Type, Dynamic, Size>;
|
|
383
344
|
|
|
384
345
|
EIGEN_MAKE_ARRAY_TYPEDEFS(2, 2)
|
|
385
346
|
EIGEN_MAKE_ARRAY_TYPEDEFS(3, 3)
|
|
@@ -392,26 +353,24 @@ EIGEN_MAKE_ARRAY_FIXED_TYPEDEFS(4)
|
|
|
392
353
|
#undef EIGEN_MAKE_ARRAY_TYPEDEFS
|
|
393
354
|
#undef EIGEN_MAKE_ARRAY_FIXED_TYPEDEFS
|
|
394
355
|
|
|
395
|
-
#endif // EIGEN_HAS_CXX11
|
|
396
|
-
|
|
397
356
|
#define EIGEN_USING_ARRAY_TYPEDEFS_FOR_TYPE_AND_SIZE(TypeSuffix, SizeSuffix) \
|
|
398
|
-
using Eigen::Matrix##SizeSuffix##TypeSuffix;
|
|
399
|
-
using Eigen::Vector##SizeSuffix##TypeSuffix;
|
|
400
|
-
using Eigen::RowVector##SizeSuffix##TypeSuffix;
|
|
401
|
-
|
|
402
|
-
#define EIGEN_USING_ARRAY_TYPEDEFS_FOR_TYPE(TypeSuffix)
|
|
403
|
-
EIGEN_USING_ARRAY_TYPEDEFS_FOR_TYPE_AND_SIZE(TypeSuffix, 2) \
|
|
404
|
-
EIGEN_USING_ARRAY_TYPEDEFS_FOR_TYPE_AND_SIZE(TypeSuffix, 3) \
|
|
405
|
-
EIGEN_USING_ARRAY_TYPEDEFS_FOR_TYPE_AND_SIZE(TypeSuffix, 4) \
|
|
406
|
-
EIGEN_USING_ARRAY_TYPEDEFS_FOR_TYPE_AND_SIZE(TypeSuffix, X)
|
|
407
|
-
|
|
408
|
-
#define EIGEN_USING_ARRAY_TYPEDEFS
|
|
409
|
-
EIGEN_USING_ARRAY_TYPEDEFS_FOR_TYPE(i)
|
|
410
|
-
EIGEN_USING_ARRAY_TYPEDEFS_FOR_TYPE(f)
|
|
411
|
-
EIGEN_USING_ARRAY_TYPEDEFS_FOR_TYPE(d)
|
|
412
|
-
EIGEN_USING_ARRAY_TYPEDEFS_FOR_TYPE(cf) \
|
|
413
|
-
EIGEN_USING_ARRAY_TYPEDEFS_FOR_TYPE(cd)
|
|
414
|
-
|
|
415
|
-
}
|
|
416
|
-
|
|
417
|
-
#endif
|
|
357
|
+
using Eigen::Matrix##SizeSuffix##TypeSuffix; \
|
|
358
|
+
using Eigen::Vector##SizeSuffix##TypeSuffix; \
|
|
359
|
+
using Eigen::RowVector##SizeSuffix##TypeSuffix;
|
|
360
|
+
|
|
361
|
+
#define EIGEN_USING_ARRAY_TYPEDEFS_FOR_TYPE(TypeSuffix) \
|
|
362
|
+
EIGEN_USING_ARRAY_TYPEDEFS_FOR_TYPE_AND_SIZE(TypeSuffix, 2) \
|
|
363
|
+
EIGEN_USING_ARRAY_TYPEDEFS_FOR_TYPE_AND_SIZE(TypeSuffix, 3) \
|
|
364
|
+
EIGEN_USING_ARRAY_TYPEDEFS_FOR_TYPE_AND_SIZE(TypeSuffix, 4) \
|
|
365
|
+
EIGEN_USING_ARRAY_TYPEDEFS_FOR_TYPE_AND_SIZE(TypeSuffix, X)
|
|
366
|
+
|
|
367
|
+
#define EIGEN_USING_ARRAY_TYPEDEFS \
|
|
368
|
+
EIGEN_USING_ARRAY_TYPEDEFS_FOR_TYPE(i) \
|
|
369
|
+
EIGEN_USING_ARRAY_TYPEDEFS_FOR_TYPE(f) \
|
|
370
|
+
EIGEN_USING_ARRAY_TYPEDEFS_FOR_TYPE(d) \
|
|
371
|
+
EIGEN_USING_ARRAY_TYPEDEFS_FOR_TYPE(cf) \
|
|
372
|
+
EIGEN_USING_ARRAY_TYPEDEFS_FOR_TYPE(cd)
|
|
373
|
+
|
|
374
|
+
} // end namespace Eigen
|
|
375
|
+
|
|
376
|
+
#endif // EIGEN_ARRAY_H
|