@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
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
// This file is part of Eigen, a lightweight C++ template library
|
|
2
|
+
// for linear algebra.
|
|
3
|
+
//
|
|
4
|
+
// Copyright (C) 2008-2016 Gael Guennebaud <gael.guennebaud@inria.fr>
|
|
5
|
+
// Copyright (C) 2006-2008 Benoit Jacob <jacob.benoit.1@gmail.com>
|
|
6
|
+
//
|
|
7
|
+
// This Source Code Form is subject to the terms of the Mozilla
|
|
8
|
+
// Public License v. 2.0. If a copy of the MPL was not distributed
|
|
9
|
+
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
10
|
+
|
|
11
|
+
// This file is a base class plugin containing common coefficient wise functions.
|
|
12
|
+
|
|
13
|
+
/** \returns an expression of the difference of \c *this and \a other
|
|
14
|
+
*
|
|
15
|
+
* \note If you want to subtract a given scalar from all coefficients, see Cwise::operator-().
|
|
16
|
+
*
|
|
17
|
+
* \sa class CwiseBinaryOp, operator-=()
|
|
18
|
+
*/
|
|
19
|
+
EIGEN_MAKE_CWISE_BINARY_OP(operator-, difference)
|
|
20
|
+
|
|
21
|
+
/** \returns an expression of the sum of \c *this and \a other
|
|
22
|
+
*
|
|
23
|
+
* \note If you want to add a given scalar to all coefficients, see Cwise::operator+().
|
|
24
|
+
*
|
|
25
|
+
* \sa class CwiseBinaryOp, operator+=()
|
|
26
|
+
*/
|
|
27
|
+
EIGEN_MAKE_CWISE_BINARY_OP(operator+, sum)
|
|
28
|
+
|
|
29
|
+
/** \returns an expression of a custom coefficient-wise operator \a func of *this and \a other
|
|
30
|
+
*
|
|
31
|
+
* The template parameter \a CustomBinaryOp is the type of the functor
|
|
32
|
+
* of the custom operator (see class CwiseBinaryOp for an example)
|
|
33
|
+
*
|
|
34
|
+
* Here is an example illustrating the use of custom functors:
|
|
35
|
+
* \include class_CwiseBinaryOp.cpp
|
|
36
|
+
* Output: \verbinclude class_CwiseBinaryOp.out
|
|
37
|
+
*
|
|
38
|
+
* \sa class CwiseBinaryOp, operator+(), operator-(), cwiseProduct()
|
|
39
|
+
*/
|
|
40
|
+
template <typename CustomBinaryOp, typename OtherDerived>
|
|
41
|
+
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const CwiseBinaryOp<CustomBinaryOp, const Derived, const OtherDerived> binaryExpr(
|
|
42
|
+
const EIGEN_CURRENT_STORAGE_BASE_CLASS<OtherDerived>& other, const CustomBinaryOp& func = CustomBinaryOp()) const {
|
|
43
|
+
return CwiseBinaryOp<CustomBinaryOp, const Derived, const OtherDerived>(derived(), other.derived(), func);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
/** \returns an expression of \c *this scaled by the scalar factor \a scalar
|
|
47
|
+
*
|
|
48
|
+
* \tparam T is the scalar type of \a scalar. It must be compatible with the scalar type of the given expression.
|
|
49
|
+
*/
|
|
50
|
+
EIGEN_MAKE_SCALAR_BINARY_OP(operator*, product)
|
|
51
|
+
|
|
52
|
+
/** \returns an expression of \c *this divided by the scalar value \a scalar
|
|
53
|
+
*
|
|
54
|
+
* \tparam T is the scalar type of \a scalar. It must be compatible with the scalar type of the given expression.
|
|
55
|
+
*/
|
|
56
|
+
EIGEN_MAKE_SCALAR_BINARY_OP_ONTHERIGHT(operator/, quotient)
|
|
57
|
+
|
|
58
|
+
/** \returns an expression of the coefficient-wise boolean \b and operator of \c *this and \a other
|
|
59
|
+
*
|
|
60
|
+
* Example: \include Cwise_boolean_and.cpp
|
|
61
|
+
* Output: \verbinclude Cwise_boolean_and.out
|
|
62
|
+
*
|
|
63
|
+
* \sa operator||(), select()
|
|
64
|
+
*/
|
|
65
|
+
template <typename OtherDerived>
|
|
66
|
+
EIGEN_DEVICE_FUNC inline const CwiseBinaryOp<internal::scalar_boolean_and_op<Scalar>, const Derived, const OtherDerived>
|
|
67
|
+
operator&&(const EIGEN_CURRENT_STORAGE_BASE_CLASS<OtherDerived>& other) const {
|
|
68
|
+
return CwiseBinaryOp<internal::scalar_boolean_and_op<Scalar>, const Derived, const OtherDerived>(derived(),
|
|
69
|
+
other.derived());
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
/** \returns an expression of the coefficient-wise boolean \b or operator of \c *this and \a other
|
|
73
|
+
*
|
|
74
|
+
* Example: \include Cwise_boolean_or.cpp
|
|
75
|
+
* Output: \verbinclude Cwise_boolean_or.out
|
|
76
|
+
*
|
|
77
|
+
* \sa operator&&(), select()
|
|
78
|
+
*/
|
|
79
|
+
template <typename OtherDerived>
|
|
80
|
+
EIGEN_DEVICE_FUNC inline const CwiseBinaryOp<internal::scalar_boolean_or_op<Scalar>, const Derived, const OtherDerived>
|
|
81
|
+
operator||(const EIGEN_CURRENT_STORAGE_BASE_CLASS<OtherDerived>& other) const {
|
|
82
|
+
return CwiseBinaryOp<internal::scalar_boolean_or_op<Scalar>, const Derived, const OtherDerived>(derived(),
|
|
83
|
+
other.derived());
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
/** \returns an expression of the bitwise \b and operator of \c *this and \a other
|
|
87
|
+
*
|
|
88
|
+
* \sa operator|(), operator^()
|
|
89
|
+
*/
|
|
90
|
+
template <typename OtherDerived>
|
|
91
|
+
EIGEN_DEVICE_FUNC inline const CwiseBinaryOp<internal::scalar_bitwise_and_op<Scalar>, const Derived, const OtherDerived>
|
|
92
|
+
operator&(const EIGEN_CURRENT_STORAGE_BASE_CLASS<OtherDerived>& other) const {
|
|
93
|
+
return CwiseBinaryOp<internal::scalar_bitwise_and_op<Scalar>, const Derived, const OtherDerived>(derived(),
|
|
94
|
+
other.derived());
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
/** \returns an expression of the bitwise boolean \b or operator of \c *this and \a other
|
|
98
|
+
*
|
|
99
|
+
* \sa operator&(), operator^()
|
|
100
|
+
*/
|
|
101
|
+
template <typename OtherDerived>
|
|
102
|
+
EIGEN_DEVICE_FUNC inline const CwiseBinaryOp<internal::scalar_bitwise_or_op<Scalar>, const Derived, const OtherDerived>
|
|
103
|
+
operator|(const EIGEN_CURRENT_STORAGE_BASE_CLASS<OtherDerived>& other) const {
|
|
104
|
+
return CwiseBinaryOp<internal::scalar_bitwise_or_op<Scalar>, const Derived, const OtherDerived>(derived(),
|
|
105
|
+
other.derived());
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
/** \returns an expression of the bitwise xor operator of *this and \a other
|
|
109
|
+
* \sa operator&(), operator|()
|
|
110
|
+
*/
|
|
111
|
+
template <typename OtherDerived>
|
|
112
|
+
EIGEN_DEVICE_FUNC inline const CwiseBinaryOp<internal::scalar_bitwise_xor_op<Scalar>, const Derived, const OtherDerived>
|
|
113
|
+
operator^(const EIGEN_CURRENT_STORAGE_BASE_CLASS<OtherDerived>& other) const {
|
|
114
|
+
return CwiseBinaryOp<internal::scalar_bitwise_xor_op<Scalar>, const Derived, const OtherDerived>(derived(),
|
|
115
|
+
other.derived());
|
|
116
|
+
}
|
|
@@ -13,20 +13,17 @@
|
|
|
13
13
|
#ifndef EIGEN_PARSED_BY_DOXYGEN
|
|
14
14
|
|
|
15
15
|
/** \internal the return type of conjugate() */
|
|
16
|
-
typedef
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
>::type ConjugateReturnType;
|
|
16
|
+
typedef std::conditional_t<NumTraits<Scalar>::IsComplex,
|
|
17
|
+
const CwiseUnaryOp<internal::scalar_conjugate_op<Scalar>, const Derived>, const Derived&>
|
|
18
|
+
ConjugateReturnType;
|
|
20
19
|
/** \internal the return type of real() const */
|
|
21
|
-
typedef
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
>::type RealReturnType;
|
|
20
|
+
typedef std::conditional_t<NumTraits<Scalar>::IsComplex,
|
|
21
|
+
const CwiseUnaryOp<internal::scalar_real_op<Scalar>, const Derived>, const Derived&>
|
|
22
|
+
RealReturnType;
|
|
25
23
|
/** \internal the return type of real() */
|
|
26
|
-
typedef
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
>::type NonConstRealReturnType;
|
|
24
|
+
typedef std::conditional_t<NumTraits<Scalar>::IsComplex, CwiseUnaryView<internal::scalar_real_ref_op<Scalar>, Derived>,
|
|
25
|
+
Derived&>
|
|
26
|
+
NonConstRealReturnType;
|
|
30
27
|
/** \internal the return type of imag() const */
|
|
31
28
|
typedef CwiseUnaryOp<internal::scalar_imag_op<Scalar>, const Derived> ImagReturnType;
|
|
32
29
|
/** \internal the return type of imag() */
|
|
@@ -34,79 +31,65 @@ typedef CwiseUnaryView<internal::scalar_imag_ref_op<Scalar>, Derived> NonConstIm
|
|
|
34
31
|
|
|
35
32
|
typedef CwiseUnaryOp<internal::scalar_opposite_op<Scalar>, const Derived> NegativeReturnType;
|
|
36
33
|
|
|
37
|
-
#endif
|
|
34
|
+
#endif // not EIGEN_PARSED_BY_DOXYGEN
|
|
38
35
|
|
|
39
36
|
/// \returns an expression of the opposite of \c *this
|
|
40
37
|
///
|
|
41
|
-
EIGEN_DOC_UNARY_ADDONS(operator-,opposite)
|
|
38
|
+
EIGEN_DOC_UNARY_ADDONS(operator-, opposite)
|
|
42
39
|
///
|
|
43
|
-
EIGEN_DEVICE_FUNC
|
|
44
|
-
inline const NegativeReturnType
|
|
45
|
-
operator-() const { return NegativeReturnType(derived()); }
|
|
40
|
+
EIGEN_DEVICE_FUNC inline const NegativeReturnType operator-() const { return NegativeReturnType(derived()); }
|
|
46
41
|
|
|
47
|
-
|
|
48
|
-
|
|
42
|
+
template <class NewType>
|
|
43
|
+
struct CastXpr {
|
|
44
|
+
typedef typename internal::cast_return_type<
|
|
45
|
+
Derived, const CwiseUnaryOp<internal::core_cast_op<Scalar, NewType>, const Derived> >::type Type;
|
|
46
|
+
};
|
|
49
47
|
|
|
50
48
|
/// \returns an expression of \c *this with the \a Scalar type casted to
|
|
51
49
|
/// \a NewScalar.
|
|
52
50
|
///
|
|
53
51
|
/// The template parameter \a NewScalar is the type we are casting the scalars to.
|
|
54
52
|
///
|
|
55
|
-
EIGEN_DOC_UNARY_ADDONS(cast,conversion function)
|
|
53
|
+
EIGEN_DOC_UNARY_ADDONS(cast, conversion function)
|
|
56
54
|
///
|
|
57
55
|
/// \sa class CwiseUnaryOp
|
|
58
56
|
///
|
|
59
|
-
template<typename NewType>
|
|
60
|
-
EIGEN_DEVICE_FUNC
|
|
61
|
-
typename CastXpr<NewType>::Type
|
|
62
|
-
cast() const
|
|
63
|
-
{
|
|
57
|
+
template <typename NewType>
|
|
58
|
+
EIGEN_DEVICE_FUNC typename CastXpr<NewType>::Type cast() const {
|
|
64
59
|
return typename CastXpr<NewType>::Type(derived());
|
|
65
60
|
}
|
|
66
61
|
|
|
67
62
|
/// \returns an expression of the complex conjugate of \c *this.
|
|
68
63
|
///
|
|
69
|
-
EIGEN_DOC_UNARY_ADDONS(conjugate,complex conjugate)
|
|
64
|
+
EIGEN_DOC_UNARY_ADDONS(conjugate, complex conjugate)
|
|
70
65
|
///
|
|
71
66
|
/// \sa <a href="group__CoeffwiseMathFunctions.html#cwisetable_conj">Math functions</a>, MatrixBase::adjoint()
|
|
72
|
-
EIGEN_DEVICE_FUNC
|
|
73
|
-
inline ConjugateReturnType
|
|
74
|
-
conjugate() const
|
|
75
|
-
{
|
|
76
|
-
return ConjugateReturnType(derived());
|
|
77
|
-
}
|
|
67
|
+
EIGEN_DEVICE_FUNC inline ConjugateReturnType conjugate() const { return ConjugateReturnType(derived()); }
|
|
78
68
|
|
|
79
69
|
/// \returns an expression of the complex conjugate of \c *this if Cond==true, returns derived() otherwise.
|
|
80
70
|
///
|
|
81
|
-
EIGEN_DOC_UNARY_ADDONS(conjugate,complex conjugate)
|
|
71
|
+
EIGEN_DOC_UNARY_ADDONS(conjugate, complex conjugate)
|
|
82
72
|
///
|
|
83
73
|
/// \sa conjugate()
|
|
84
|
-
template<bool Cond>
|
|
85
|
-
EIGEN_DEVICE_FUNC
|
|
86
|
-
|
|
87
|
-
conjugateIf() const
|
|
88
|
-
{
|
|
89
|
-
typedef typename internal::conditional<Cond,ConjugateReturnType,const Derived&>::type ReturnType;
|
|
74
|
+
template <bool Cond>
|
|
75
|
+
EIGEN_DEVICE_FUNC inline std::conditional_t<Cond, ConjugateReturnType, const Derived&> conjugateIf() const {
|
|
76
|
+
typedef std::conditional_t<Cond, ConjugateReturnType, const Derived&> ReturnType;
|
|
90
77
|
return ReturnType(derived());
|
|
91
78
|
}
|
|
92
79
|
|
|
93
80
|
/// \returns a read-only expression of the real part of \c *this.
|
|
94
81
|
///
|
|
95
|
-
EIGEN_DOC_UNARY_ADDONS(real,real part function)
|
|
82
|
+
EIGEN_DOC_UNARY_ADDONS(real, real part function)
|
|
96
83
|
///
|
|
97
84
|
/// \sa imag()
|
|
98
|
-
EIGEN_DEVICE_FUNC
|
|
99
|
-
inline RealReturnType
|
|
100
|
-
real() const { return RealReturnType(derived()); }
|
|
85
|
+
EIGEN_DEVICE_FUNC inline RealReturnType real() const { return RealReturnType(derived()); }
|
|
101
86
|
|
|
102
87
|
/// \returns an read-only expression of the imaginary part of \c *this.
|
|
103
88
|
///
|
|
104
|
-
EIGEN_DOC_UNARY_ADDONS(imag,imaginary part function)
|
|
89
|
+
EIGEN_DOC_UNARY_ADDONS(imag, imaginary part function)
|
|
105
90
|
///
|
|
106
91
|
/// \sa real()
|
|
107
|
-
EIGEN_DEVICE_FUNC
|
|
108
|
-
inline const ImagReturnType
|
|
109
|
-
imag() const { return ImagReturnType(derived()); }
|
|
92
|
+
EIGEN_DEVICE_FUNC inline const ImagReturnType imag() const { return ImagReturnType(derived()); }
|
|
110
93
|
|
|
111
94
|
/// \brief Apply a unary operator coefficient-wise
|
|
112
95
|
/// \param[in] func Functor implementing the unary operator
|
|
@@ -125,19 +108,17 @@ imag() const { return ImagReturnType(derived()); }
|
|
|
125
108
|
/// \include class_CwiseUnaryOp.cpp
|
|
126
109
|
/// Output: \verbinclude class_CwiseUnaryOp.out
|
|
127
110
|
///
|
|
128
|
-
EIGEN_DOC_UNARY_ADDONS(unaryExpr,unary function)
|
|
111
|
+
EIGEN_DOC_UNARY_ADDONS(unaryExpr, unary function)
|
|
129
112
|
///
|
|
130
113
|
/// \sa unaryViewExpr, binaryExpr, class CwiseUnaryOp
|
|
131
114
|
///
|
|
132
|
-
template<typename CustomUnaryOp>
|
|
133
|
-
EIGEN_DEVICE_FUNC
|
|
134
|
-
|
|
135
|
-
unaryExpr(const CustomUnaryOp& func = CustomUnaryOp()) const
|
|
136
|
-
{
|
|
115
|
+
template <typename CustomUnaryOp>
|
|
116
|
+
EIGEN_DEVICE_FUNC inline const CwiseUnaryOp<CustomUnaryOp, const Derived> unaryExpr(
|
|
117
|
+
const CustomUnaryOp& func = CustomUnaryOp()) const {
|
|
137
118
|
return CwiseUnaryOp<CustomUnaryOp, const Derived>(derived(), func);
|
|
138
119
|
}
|
|
139
120
|
|
|
140
|
-
/// \returns
|
|
121
|
+
/// \returns a const expression of a custom coefficient-wise unary operator \a func of *this
|
|
141
122
|
///
|
|
142
123
|
/// The template parameter \a CustomUnaryOp is the type of the functor
|
|
143
124
|
/// of the custom unary operator.
|
|
@@ -146,32 +127,41 @@ unaryExpr(const CustomUnaryOp& func = CustomUnaryOp()) const
|
|
|
146
127
|
/// \include class_CwiseUnaryOp.cpp
|
|
147
128
|
/// Output: \verbinclude class_CwiseUnaryOp.out
|
|
148
129
|
///
|
|
149
|
-
EIGEN_DOC_UNARY_ADDONS(unaryViewExpr,unary function)
|
|
130
|
+
EIGEN_DOC_UNARY_ADDONS(unaryViewExpr, unary function)
|
|
150
131
|
///
|
|
151
132
|
/// \sa unaryExpr, binaryExpr class CwiseUnaryOp
|
|
152
133
|
///
|
|
153
|
-
template<typename CustomViewOp>
|
|
154
|
-
EIGEN_DEVICE_FUNC
|
|
155
|
-
|
|
156
|
-
unaryViewExpr(const CustomViewOp& func = CustomViewOp()) const
|
|
157
|
-
{
|
|
134
|
+
template <typename CustomViewOp>
|
|
135
|
+
EIGEN_DEVICE_FUNC inline const CwiseUnaryView<CustomViewOp, const Derived> unaryViewExpr(
|
|
136
|
+
const CustomViewOp& func = CustomViewOp()) const {
|
|
158
137
|
return CwiseUnaryView<CustomViewOp, const Derived>(derived(), func);
|
|
159
138
|
}
|
|
160
139
|
|
|
140
|
+
/// \returns a non-const expression of a custom coefficient-wise unary view \a func of *this
|
|
141
|
+
///
|
|
142
|
+
/// The template parameter \a CustomUnaryOp is the type of the functor
|
|
143
|
+
/// of the custom unary operator.
|
|
144
|
+
///
|
|
145
|
+
EIGEN_DOC_UNARY_ADDONS(unaryViewExpr, unary function)
|
|
146
|
+
///
|
|
147
|
+
/// \sa unaryExpr, binaryExpr class CwiseUnaryOp
|
|
148
|
+
///
|
|
149
|
+
template <typename CustomViewOp>
|
|
150
|
+
EIGEN_DEVICE_FUNC inline CwiseUnaryView<CustomViewOp, Derived> unaryViewExpr(
|
|
151
|
+
const CustomViewOp& func = CustomViewOp()) {
|
|
152
|
+
return CwiseUnaryView<CustomViewOp, Derived>(derived(), func);
|
|
153
|
+
}
|
|
154
|
+
|
|
161
155
|
/// \returns a non const expression of the real part of \c *this.
|
|
162
156
|
///
|
|
163
|
-
EIGEN_DOC_UNARY_ADDONS(real,real part function)
|
|
157
|
+
EIGEN_DOC_UNARY_ADDONS(real, real part function)
|
|
164
158
|
///
|
|
165
159
|
/// \sa imag()
|
|
166
|
-
EIGEN_DEVICE_FUNC
|
|
167
|
-
inline NonConstRealReturnType
|
|
168
|
-
real() { return NonConstRealReturnType(derived()); }
|
|
160
|
+
EIGEN_DEVICE_FUNC inline NonConstRealReturnType real() { return NonConstRealReturnType(derived()); }
|
|
169
161
|
|
|
170
162
|
/// \returns a non const expression of the imaginary part of \c *this.
|
|
171
163
|
///
|
|
172
|
-
EIGEN_DOC_UNARY_ADDONS(imag,imaginary part function)
|
|
164
|
+
EIGEN_DOC_UNARY_ADDONS(imag, imaginary part function)
|
|
173
165
|
///
|
|
174
166
|
/// \sa real()
|
|
175
|
-
EIGEN_DEVICE_FUNC
|
|
176
|
-
inline NonConstImagReturnType
|
|
177
|
-
imag() { return NonConstImagReturnType(derived()); }
|
|
167
|
+
EIGEN_DEVICE_FUNC inline NonConstImagReturnType imag() { return NonConstImagReturnType(derived()); }
|
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
// This file is part of Eigen, a lightweight C++ template library
|
|
2
|
+
// for linear algebra.
|
|
3
|
+
//
|
|
4
|
+
// Copyright (C) 2017 Gael Guennebaud <gael.guennebaud@inria.fr>
|
|
5
|
+
//
|
|
6
|
+
// This Source Code Form is subject to the terms of the Mozilla
|
|
7
|
+
// Public License v. 2.0. If a copy of the MPL was not distributed
|
|
8
|
+
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
9
|
+
|
|
10
|
+
#if !defined(EIGEN_PARSED_BY_DOXYGEN)
|
|
11
|
+
|
|
12
|
+
public:
|
|
13
|
+
// SFINAE dummy types
|
|
14
|
+
|
|
15
|
+
template <typename RowIndices, typename ColIndices>
|
|
16
|
+
using EnableOverload = std::enable_if_t<
|
|
17
|
+
internal::valid_indexed_view_overload<RowIndices, ColIndices>::value && internal::is_lvalue<Derived>::value, bool>;
|
|
18
|
+
|
|
19
|
+
template <typename RowIndices, typename ColIndices>
|
|
20
|
+
using EnableConstOverload =
|
|
21
|
+
std::enable_if_t<internal::valid_indexed_view_overload<RowIndices, ColIndices>::value, bool>;
|
|
22
|
+
|
|
23
|
+
template <typename Indices>
|
|
24
|
+
using EnableVectorOverload =
|
|
25
|
+
std::enable_if_t<!internal::is_valid_index_type<Indices>::value && internal::is_lvalue<Derived>::value, bool>;
|
|
26
|
+
|
|
27
|
+
template <typename Indices>
|
|
28
|
+
using EnableConstVectorOverload = std::enable_if_t<!internal::is_valid_index_type<Indices>::value, bool>;
|
|
29
|
+
|
|
30
|
+
public:
|
|
31
|
+
// Public API for 2D matrices/arrays
|
|
32
|
+
|
|
33
|
+
// non-const versions
|
|
34
|
+
|
|
35
|
+
template <typename RowIndices, typename ColIndices>
|
|
36
|
+
using IndexedViewType = typename internal::IndexedViewSelector<Derived, RowIndices, ColIndices>::ReturnType;
|
|
37
|
+
|
|
38
|
+
template <typename RowIndices, typename ColIndices, EnableOverload<RowIndices, ColIndices> = true>
|
|
39
|
+
IndexedViewType<RowIndices, ColIndices> operator()(const RowIndices& rowIndices, const ColIndices& colIndices) {
|
|
40
|
+
return internal::IndexedViewSelector<Derived, RowIndices, ColIndices>::run(derived(), rowIndices, colIndices);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
template <typename RowType, size_t RowSize, typename ColIndices, typename RowIndices = Array<RowType, RowSize, 1>,
|
|
44
|
+
EnableOverload<RowIndices, ColIndices> = true>
|
|
45
|
+
IndexedViewType<RowIndices, ColIndices> operator()(const RowType (&rowIndices)[RowSize], const ColIndices& colIndices) {
|
|
46
|
+
return internal::IndexedViewSelector<Derived, RowIndices, ColIndices>::run(derived(), RowIndices{rowIndices},
|
|
47
|
+
colIndices);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
template <typename RowIndices, typename ColType, size_t ColSize, typename ColIndices = Array<ColType, ColSize, 1>,
|
|
51
|
+
EnableOverload<RowIndices, ColIndices> = true>
|
|
52
|
+
IndexedViewType<RowIndices, ColIndices> operator()(const RowIndices& rowIndices, const ColType (&colIndices)[ColSize]) {
|
|
53
|
+
return internal::IndexedViewSelector<Derived, RowIndices, ColIndices>::run(derived(), rowIndices,
|
|
54
|
+
ColIndices{colIndices});
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
template <typename RowType, size_t RowSize, typename ColType, size_t ColSize,
|
|
58
|
+
typename RowIndices = Array<RowType, RowSize, 1>, typename ColIndices = Array<ColType, ColSize, 1>,
|
|
59
|
+
EnableOverload<RowIndices, ColIndices> = true>
|
|
60
|
+
IndexedViewType<RowIndices, ColIndices> operator()(const RowType (&rowIndices)[RowSize],
|
|
61
|
+
const ColType (&colIndices)[ColSize]) {
|
|
62
|
+
return internal::IndexedViewSelector<Derived, RowIndices, ColIndices>::run(derived(), RowIndices{rowIndices},
|
|
63
|
+
ColIndices{colIndices});
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
// const versions
|
|
67
|
+
|
|
68
|
+
template <typename RowIndices, typename ColIndices>
|
|
69
|
+
using ConstIndexedViewType = typename internal::IndexedViewSelector<Derived, RowIndices, ColIndices>::ConstReturnType;
|
|
70
|
+
|
|
71
|
+
template <typename RowIndices, typename ColIndices, EnableConstOverload<RowIndices, ColIndices> = true>
|
|
72
|
+
ConstIndexedViewType<RowIndices, ColIndices> operator()(const RowIndices& rowIndices,
|
|
73
|
+
const ColIndices& colIndices) const {
|
|
74
|
+
return internal::IndexedViewSelector<Derived, RowIndices, ColIndices>::run(derived(), rowIndices, colIndices);
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
template <typename RowType, size_t RowSize, typename ColIndices, typename RowIndices = Array<RowType, RowSize, 1>,
|
|
78
|
+
EnableConstOverload<RowIndices, ColIndices> = true>
|
|
79
|
+
ConstIndexedViewType<RowIndices, ColIndices> operator()(const RowType (&rowIndices)[RowSize],
|
|
80
|
+
const ColIndices& colIndices) const {
|
|
81
|
+
return internal::IndexedViewSelector<Derived, RowIndices, ColIndices>::run(derived(), RowIndices{rowIndices},
|
|
82
|
+
colIndices);
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
template <typename RowIndices, typename ColType, size_t ColSize, typename ColIndices = Array<ColType, ColSize, 1>,
|
|
86
|
+
EnableConstOverload<RowIndices, ColIndices> = true>
|
|
87
|
+
ConstIndexedViewType<RowIndices, ColIndices> operator()(const RowIndices& rowIndices,
|
|
88
|
+
const ColType (&colIndices)[ColSize]) const {
|
|
89
|
+
return internal::IndexedViewSelector<Derived, RowIndices, ColIndices>::run(derived(), rowIndices,
|
|
90
|
+
ColIndices{colIndices});
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
template <typename RowType, size_t RowSize, typename ColType, size_t ColSize,
|
|
94
|
+
typename RowIndices = Array<RowType, RowSize, 1>, typename ColIndices = Array<ColType, ColSize, 1>,
|
|
95
|
+
EnableConstOverload<RowIndices, ColIndices> = true>
|
|
96
|
+
ConstIndexedViewType<RowIndices, ColIndices> operator()(const RowType (&rowIndices)[RowSize],
|
|
97
|
+
const ColType (&colIndices)[ColSize]) const {
|
|
98
|
+
return internal::IndexedViewSelector<Derived, RowIndices, ColIndices>::run(derived(), RowIndices{rowIndices},
|
|
99
|
+
ColIndices{colIndices});
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
// Public API for 1D vectors/arrays
|
|
103
|
+
|
|
104
|
+
// non-const versions
|
|
105
|
+
|
|
106
|
+
template <typename Indices>
|
|
107
|
+
using VectorIndexedViewType = typename internal::VectorIndexedViewSelector<Derived, Indices>::ReturnType;
|
|
108
|
+
|
|
109
|
+
template <typename Indices, EnableVectorOverload<Indices> = true>
|
|
110
|
+
VectorIndexedViewType<Indices> operator()(const Indices& indices) {
|
|
111
|
+
EIGEN_STATIC_ASSERT_VECTOR_ONLY(Derived)
|
|
112
|
+
return internal::VectorIndexedViewSelector<Derived, Indices>::run(derived(), indices);
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
template <typename IndexType, size_t Size, typename Indices = Array<IndexType, Size, 1>,
|
|
116
|
+
EnableVectorOverload<Indices> = true>
|
|
117
|
+
VectorIndexedViewType<Indices> operator()(const IndexType (&indices)[Size]) {
|
|
118
|
+
EIGEN_STATIC_ASSERT_VECTOR_ONLY(Derived)
|
|
119
|
+
return internal::VectorIndexedViewSelector<Derived, Indices>::run(derived(), Indices{indices});
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
// const versions
|
|
123
|
+
|
|
124
|
+
template <typename Indices>
|
|
125
|
+
using ConstVectorIndexedViewType = typename internal::VectorIndexedViewSelector<Derived, Indices>::ConstReturnType;
|
|
126
|
+
|
|
127
|
+
template <typename Indices, EnableConstVectorOverload<Indices> = true>
|
|
128
|
+
ConstVectorIndexedViewType<Indices> operator()(const Indices& indices) const {
|
|
129
|
+
EIGEN_STATIC_ASSERT_VECTOR_ONLY(Derived)
|
|
130
|
+
return internal::VectorIndexedViewSelector<Derived, Indices>::run(derived(), indices);
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
template <typename IndexType, size_t Size, typename Indices = Array<IndexType, Size, 1>,
|
|
134
|
+
EnableConstVectorOverload<Indices> = true>
|
|
135
|
+
ConstVectorIndexedViewType<Indices> operator()(const IndexType (&indices)[Size]) const {
|
|
136
|
+
EIGEN_STATIC_ASSERT_VECTOR_ONLY(Derived)
|
|
137
|
+
return internal::VectorIndexedViewSelector<Derived, Indices>::run(derived(), Indices{indices});
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
#else // EIGEN_PARSED_BY_DOXYGEN
|
|
141
|
+
|
|
142
|
+
/**
|
|
143
|
+
* \returns a generic submatrix view defined by the rows and columns indexed \a rowIndices and \a colIndices
|
|
144
|
+
* respectively.
|
|
145
|
+
*
|
|
146
|
+
* Each parameter must either be:
|
|
147
|
+
* - An integer indexing a single row or column
|
|
148
|
+
* - Eigen::placeholders::all indexing the full set of respective rows or columns in increasing order
|
|
149
|
+
* - An ArithmeticSequence as returned by the Eigen::seq and Eigen::seqN functions
|
|
150
|
+
* - Any %Eigen's vector/array of integers or expressions
|
|
151
|
+
* - Plain C arrays: \c int[N]
|
|
152
|
+
* - And more generally any type exposing the following two member functions:
|
|
153
|
+
* \code
|
|
154
|
+
* <integral type> operator[](<integral type>) const;
|
|
155
|
+
* <integral type> size() const;
|
|
156
|
+
* \endcode
|
|
157
|
+
* where \c <integral \c type> stands for any integer type compatible with Eigen::Index (i.e. \c std::ptrdiff_t).
|
|
158
|
+
*
|
|
159
|
+
* The last statement implies compatibility with \c std::vector, \c std::valarray, \c std::array, many of the Range-v3's
|
|
160
|
+
* ranges, etc.
|
|
161
|
+
*
|
|
162
|
+
* If the submatrix can be represented using a starting position \c (i,j) and positive sizes \c (rows,columns), then
|
|
163
|
+
* this method will returns a Block object after extraction of the relevant information from the passed arguments. This
|
|
164
|
+
* is the case when all arguments are either:
|
|
165
|
+
* - An integer
|
|
166
|
+
* - Eigen::placeholders::all
|
|
167
|
+
* - An ArithmeticSequence with compile-time increment strictly equal to 1, as returned by Eigen::seq(a,b), and
|
|
168
|
+
* Eigen::seqN(a,N).
|
|
169
|
+
*
|
|
170
|
+
* Otherwise a more general IndexedView<Derived,RowIndices',ColIndices'> object will be returned, after conversion of
|
|
171
|
+
* the inputs to more suitable types \c RowIndices' and \c ColIndices'.
|
|
172
|
+
*
|
|
173
|
+
* For 1D vectors and arrays, you better use the operator()(const Indices&) overload, which behave the same way but
|
|
174
|
+
* taking a single parameter.
|
|
175
|
+
*
|
|
176
|
+
* See also this <a
|
|
177
|
+
* href="https://stackoverflow.com/questions/46110917/eigen-replicate-items-along-one-dimension-without-useless-allocations">question</a>
|
|
178
|
+
* and its answer for an example of how to duplicate coefficients.
|
|
179
|
+
*
|
|
180
|
+
* \sa operator()(const Indices&), class Block, class IndexedView, DenseBase::block(Index,Index,Index,Index)
|
|
181
|
+
*/
|
|
182
|
+
template <typename RowIndices, typename ColIndices>
|
|
183
|
+
IndexedView_or_Block operator()(const RowIndices& rowIndices, const ColIndices& colIndices);
|
|
184
|
+
|
|
185
|
+
/** This is an overload of operator()(const RowIndices&, const ColIndices&) for 1D vectors or arrays
|
|
186
|
+
*
|
|
187
|
+
* \only_for_vectors
|
|
188
|
+
*/
|
|
189
|
+
template <typename Indices>
|
|
190
|
+
IndexedView_or_VectorBlock operator()(const Indices& indices);
|
|
191
|
+
|
|
192
|
+
#endif // EIGEN_PARSED_BY_DOXYGEN
|