@smake/eigen 1.0.2 → 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 -21
- package/eigen/Eigen/CholmodSupport +28 -28
- package/eigen/Eigen/Core +235 -326
- package/eigen/Eigen/Eigenvalues +16 -14
- package/eigen/Eigen/Geometry +21 -24
- package/eigen/Eigen/Householder +9 -8
- package/eigen/Eigen/IterativeLinearSolvers +8 -4
- package/eigen/Eigen/Jacobi +14 -14
- package/eigen/Eigen/KLUSupport +43 -0
- package/eigen/Eigen/LU +16 -20
- package/eigen/Eigen/MetisSupport +12 -12
- package/eigen/Eigen/OrderingMethods +54 -54
- package/eigen/Eigen/PaStiXSupport +23 -20
- package/eigen/Eigen/PardisoSupport +17 -14
- package/eigen/Eigen/QR +18 -21
- package/eigen/Eigen/QtAlignedMalloc +5 -13
- package/eigen/Eigen/SPQRSupport +21 -14
- package/eigen/Eigen/SVD +23 -18
- package/eigen/Eigen/Sparse +1 -4
- package/eigen/Eigen/SparseCholesky +18 -23
- package/eigen/Eigen/SparseCore +18 -17
- package/eigen/Eigen/SparseLU +12 -8
- 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 +377 -401
- package/eigen/Eigen/src/Cholesky/LLT.h +332 -360
- package/eigen/Eigen/src/Cholesky/LLT_LAPACKE.h +81 -56
- package/eigen/Eigen/src/CholmodSupport/CholmodSupport.h +620 -521
- package/eigen/Eigen/src/CholmodSupport/InternalHeaderCheck.h +3 -0
- package/eigen/Eigen/src/Core/ArithmeticSequence.h +239 -0
- package/eigen/Eigen/src/Core/Array.h +341 -294
- package/eigen/Eigen/src/Core/ArrayBase.h +190 -203
- package/eigen/Eigen/src/Core/ArrayWrapper.h +127 -171
- package/eigen/Eigen/src/Core/Assign.h +30 -40
- package/eigen/Eigen/src/Core/AssignEvaluator.h +711 -589
- package/eigen/Eigen/src/Core/Assign_MKL.h +130 -125
- package/eigen/Eigen/src/Core/BandMatrix.h +268 -283
- package/eigen/Eigen/src/Core/Block.h +375 -398
- package/eigen/Eigen/src/Core/CommaInitializer.h +86 -97
- package/eigen/Eigen/src/Core/ConditionEstimator.h +51 -53
- package/eigen/Eigen/src/Core/CoreEvaluators.h +1356 -1026
- package/eigen/Eigen/src/Core/CoreIterators.h +73 -59
- package/eigen/Eigen/src/Core/CwiseBinaryOp.h +114 -132
- package/eigen/Eigen/src/Core/CwiseNullaryOp.h +726 -617
- package/eigen/Eigen/src/Core/CwiseTernaryOp.h +77 -103
- package/eigen/Eigen/src/Core/CwiseUnaryOp.h +56 -68
- package/eigen/Eigen/src/Core/CwiseUnaryView.h +132 -95
- package/eigen/Eigen/src/Core/DenseBase.h +632 -571
- package/eigen/Eigen/src/Core/DenseCoeffsBase.h +511 -624
- package/eigen/Eigen/src/Core/DenseStorage.h +512 -509
- package/eigen/Eigen/src/Core/DeviceWrapper.h +153 -0
- package/eigen/Eigen/src/Core/Diagonal.h +169 -210
- package/eigen/Eigen/src/Core/DiagonalMatrix.h +351 -274
- package/eigen/Eigen/src/Core/DiagonalProduct.h +12 -10
- package/eigen/Eigen/src/Core/Dot.h +172 -222
- package/eigen/Eigen/src/Core/EigenBase.h +75 -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 -109
- package/eigen/Eigen/src/Core/Fuzzy.h +82 -105
- package/eigen/Eigen/src/Core/GeneralProduct.h +327 -263
- package/eigen/Eigen/src/Core/GenericPacketMath.h +1472 -360
- package/eigen/Eigen/src/Core/GlobalFunctions.h +194 -151
- package/eigen/Eigen/src/Core/IO.h +147 -139
- package/eigen/Eigen/src/Core/IndexedView.h +321 -0
- 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 +56 -66
- package/eigen/Eigen/src/Core/Map.h +124 -142
- package/eigen/Eigen/src/Core/MapBase.h +256 -281
- package/eigen/Eigen/src/Core/MathFunctions.h +1620 -938
- package/eigen/Eigen/src/Core/MathFunctionsImpl.h +233 -71
- package/eigen/Eigen/src/Core/Matrix.h +491 -416
- package/eigen/Eigen/src/Core/MatrixBase.h +468 -453
- package/eigen/Eigen/src/Core/NestByValue.h +66 -85
- package/eigen/Eigen/src/Core/NoAlias.h +79 -85
- package/eigen/Eigen/src/Core/NumTraits.h +235 -148
- package/eigen/Eigen/src/Core/PartialReduxEvaluator.h +253 -0
- package/eigen/Eigen/src/Core/PermutationMatrix.h +461 -511
- package/eigen/Eigen/src/Core/PlainObjectBase.h +871 -894
- package/eigen/Eigen/src/Core/Product.h +260 -139
- package/eigen/Eigen/src/Core/ProductEvaluators.h +863 -714
- package/eigen/Eigen/src/Core/Random.h +161 -136
- 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 +366 -336
- package/eigen/Eigen/src/Core/Ref.h +308 -209
- package/eigen/Eigen/src/Core/Replicate.h +94 -106
- package/eigen/Eigen/src/Core/Reshaped.h +398 -0
- package/eigen/Eigen/src/Core/ReturnByValue.h +49 -55
- package/eigen/Eigen/src/Core/Reverse.h +136 -145
- package/eigen/Eigen/src/Core/Select.h +70 -140
- package/eigen/Eigen/src/Core/SelfAdjointView.h +262 -285
- 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 +97 -111
- package/eigen/Eigen/src/Core/SolveTriangular.h +131 -129
- package/eigen/Eigen/src/Core/SolverBase.h +138 -101
- package/eigen/Eigen/src/Core/StableNorm.h +156 -160
- package/eigen/Eigen/src/Core/StlIterators.h +619 -0
- package/eigen/Eigen/src/Core/Stride.h +91 -88
- package/eigen/Eigen/src/Core/Swap.h +70 -38
- package/eigen/Eigen/src/Core/Transpose.h +295 -273
- package/eigen/Eigen/src/Core/Transpositions.h +272 -317
- package/eigen/Eigen/src/Core/TriangularMatrix.h +670 -755
- package/eigen/Eigen/src/Core/VectorBlock.h +59 -72
- package/eigen/Eigen/src/Core/VectorwiseOp.h +668 -630
- package/eigen/Eigen/src/Core/Visitor.h +480 -216
- package/eigen/Eigen/src/Core/arch/AVX/Complex.h +407 -293
- package/eigen/Eigen/src/Core/arch/AVX/MathFunctions.h +79 -388
- package/eigen/Eigen/src/Core/arch/AVX/PacketMath.h +2935 -491
- package/eigen/Eigen/src/Core/arch/AVX/Reductions.h +353 -0
- package/eigen/Eigen/src/Core/arch/AVX/TypeCasting.h +279 -22
- package/eigen/Eigen/src/Core/arch/AVX512/Complex.h +472 -0
- package/eigen/Eigen/src/Core/arch/AVX512/GemmKernel.h +1245 -0
- package/eigen/Eigen/src/Core/arch/AVX512/MathFunctions.h +85 -333
- package/eigen/Eigen/src/Core/arch/AVX512/MathFunctionsFP16.h +75 -0
- package/eigen/Eigen/src/Core/arch/AVX512/PacketMath.h +2490 -649
- 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 +277 -0
- package/eigen/Eigen/src/Core/arch/AVX512/TypeCastingFP16.h +130 -0
- package/eigen/Eigen/src/Core/arch/AltiVec/Complex.h +521 -298
- package/eigen/Eigen/src/Core/arch/AltiVec/MathFunctions.h +39 -280
- package/eigen/Eigen/src/Core/arch/AltiVec/MatrixProduct.h +3686 -0
- package/eigen/Eigen/src/Core/arch/AltiVec/MatrixProductCommon.h +205 -0
- package/eigen/Eigen/src/Core/arch/AltiVec/MatrixProductMMA.h +901 -0
- 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 +3391 -723
- package/eigen/Eigen/src/Core/arch/AltiVec/TypeCasting.h +153 -0
- package/eigen/Eigen/src/Core/arch/Default/BFloat16.h +866 -0
- package/eigen/Eigen/src/Core/arch/Default/ConjHelper.h +113 -14
- package/eigen/Eigen/src/Core/arch/Default/GenericPacketMathFunctions.h +2634 -0
- package/eigen/Eigen/src/Core/arch/Default/GenericPacketMathFunctionsFwd.h +227 -0
- package/eigen/Eigen/src/Core/arch/Default/Half.h +1091 -0
- package/eigen/Eigen/src/Core/arch/Default/Settings.h +11 -13
- package/eigen/Eigen/src/Core/arch/GPU/Complex.h +244 -0
- package/eigen/Eigen/src/Core/arch/GPU/MathFunctions.h +104 -0
- package/eigen/Eigen/src/Core/arch/GPU/PacketMath.h +1712 -0
- package/eigen/Eigen/src/Core/arch/GPU/Tuple.h +268 -0
- package/eigen/Eigen/src/Core/arch/GPU/TypeCasting.h +77 -0
- package/eigen/Eigen/src/Core/arch/HIP/hcc/math_constants.h +23 -0
- 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 +620 -0
- package/eigen/Eigen/src/Core/arch/MSA/MathFunctions.h +379 -0
- package/eigen/Eigen/src/Core/arch/MSA/PacketMath.h +1237 -0
- package/eigen/Eigen/src/Core/arch/NEON/Complex.h +531 -289
- package/eigen/Eigen/src/Core/arch/NEON/GeneralBlockPanelKernel.h +243 -0
- package/eigen/Eigen/src/Core/arch/NEON/MathFunctions.h +50 -73
- package/eigen/Eigen/src/Core/arch/NEON/PacketMath.h +5915 -579
- package/eigen/Eigen/src/Core/arch/NEON/TypeCasting.h +1642 -0
- package/eigen/Eigen/src/Core/arch/NEON/UnaryFunctors.h +57 -0
- package/eigen/Eigen/src/Core/arch/SSE/Complex.h +366 -334
- package/eigen/Eigen/src/Core/arch/SSE/MathFunctions.h +40 -514
- package/eigen/Eigen/src/Core/arch/SSE/PacketMath.h +2164 -675
- package/eigen/Eigen/src/Core/arch/SSE/Reductions.h +324 -0
- package/eigen/Eigen/src/Core/arch/SSE/TypeCasting.h +188 -35
- package/eigen/Eigen/src/Core/arch/SVE/MathFunctions.h +48 -0
- package/eigen/Eigen/src/Core/arch/SVE/PacketMath.h +674 -0
- package/eigen/Eigen/src/Core/arch/SVE/TypeCasting.h +52 -0
- package/eigen/Eigen/src/Core/arch/SYCL/InteropHeaders.h +227 -0
- package/eigen/Eigen/src/Core/arch/SYCL/MathFunctions.h +303 -0
- package/eigen/Eigen/src/Core/arch/SYCL/PacketMath.h +576 -0
- package/eigen/Eigen/src/Core/arch/SYCL/TypeCasting.h +83 -0
- package/eigen/Eigen/src/Core/arch/ZVector/Complex.h +434 -261
- package/eigen/Eigen/src/Core/arch/ZVector/MathFunctions.h +160 -53
- package/eigen/Eigen/src/Core/arch/ZVector/PacketMath.h +1073 -605
- package/eigen/Eigen/src/Core/functors/AssignmentFunctors.h +123 -117
- package/eigen/Eigen/src/Core/functors/BinaryFunctors.h +594 -322
- package/eigen/Eigen/src/Core/functors/NullaryFunctors.h +204 -118
- package/eigen/Eigen/src/Core/functors/StlFunctors.h +110 -97
- package/eigen/Eigen/src/Core/functors/TernaryFunctors.h +34 -7
- package/eigen/Eigen/src/Core/functors/UnaryFunctors.h +1158 -530
- package/eigen/Eigen/src/Core/products/GeneralBlockPanelKernel.h +2329 -1333
- package/eigen/Eigen/src/Core/products/GeneralMatrixMatrix.h +328 -364
- package/eigen/Eigen/src/Core/products/GeneralMatrixMatrixTriangular.h +191 -178
- package/eigen/Eigen/src/Core/products/GeneralMatrixMatrixTriangular_BLAS.h +85 -82
- package/eigen/Eigen/src/Core/products/GeneralMatrixMatrix_BLAS.h +154 -73
- package/eigen/Eigen/src/Core/products/GeneralMatrixVector.h +396 -542
- package/eigen/Eigen/src/Core/products/GeneralMatrixVector_BLAS.h +80 -77
- package/eigen/Eigen/src/Core/products/Parallelizer.h +208 -92
- package/eigen/Eigen/src/Core/products/SelfadjointMatrixMatrix.h +331 -375
- package/eigen/Eigen/src/Core/products/SelfadjointMatrixMatrix_BLAS.h +206 -224
- package/eigen/Eigen/src/Core/products/SelfadjointMatrixVector.h +139 -146
- 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 -46
- 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 -275
- package/eigen/Eigen/src/Core/products/TriangularSolverMatrix_BLAS.h +108 -109
- package/eigen/Eigen/src/Core/products/TriangularSolverVector.h +70 -93
- package/eigen/Eigen/src/Core/util/Assert.h +158 -0
- package/eigen/Eigen/src/Core/util/BlasUtil.h +413 -290
- package/eigen/Eigen/src/Core/util/ConfigureVectorization.h +543 -0
- package/eigen/Eigen/src/Core/util/Constants.h +314 -263
- package/eigen/Eigen/src/Core/util/DisableStupidWarnings.h +130 -78
- package/eigen/Eigen/src/Core/util/EmulateArray.h +270 -0
- package/eigen/Eigen/src/Core/util/ForwardDeclarations.h +450 -224
- 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 +487 -0
- package/eigen/Eigen/src/Core/util/IntegralConstant.h +279 -0
- package/eigen/Eigen/src/Core/util/MKL_support.h +39 -30
- package/eigen/Eigen/src/Core/util/Macros.h +939 -646
- package/eigen/Eigen/src/Core/util/MaxSizeVector.h +139 -0
- package/eigen/Eigen/src/Core/util/Memory.h +1042 -650
- package/eigen/Eigen/src/Core/util/Meta.h +618 -426
- 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 +51 -0
- package/eigen/Eigen/src/Core/util/Serializer.h +209 -0
- package/eigen/Eigen/src/Core/util/StaticAssert.h +51 -164
- package/eigen/Eigen/src/Core/util/SymbolicIndex.h +445 -0
- package/eigen/Eigen/src/Core/util/XprHelper.h +793 -538
- 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 +91 -107
- package/eigen/Eigen/src/Eigenvalues/RealQZ.h +539 -606
- package/eigen/Eigen/src/Eigenvalues/RealSchur.h +348 -382
- package/eigen/Eigen/src/Eigenvalues/RealSchur_LAPACKE.h +41 -35
- package/eigen/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h +579 -600
- package/eigen/Eigen/src/Eigenvalues/SelfAdjointEigenSolver_LAPACKE.h +47 -44
- package/eigen/Eigen/src/Eigenvalues/Tridiagonalization.h +434 -461
- package/eigen/Eigen/src/Geometry/AlignedBox.h +307 -214
- package/eigen/Eigen/src/Geometry/AngleAxis.h +135 -137
- package/eigen/Eigen/src/Geometry/EulerAngles.h +163 -74
- package/eigen/Eigen/src/Geometry/Homogeneous.h +289 -333
- package/eigen/Eigen/src/Geometry/Hyperplane.h +152 -161
- package/eigen/Eigen/src/Geometry/InternalHeaderCheck.h +3 -0
- package/eigen/Eigen/src/Geometry/OrthoMethods.h +168 -145
- package/eigen/Eigen/src/Geometry/ParametrizedLine.h +141 -104
- package/eigen/Eigen/src/Geometry/Quaternion.h +595 -497
- package/eigen/Eigen/src/Geometry/Rotation2D.h +110 -108
- package/eigen/Eigen/src/Geometry/RotationBase.h +148 -145
- package/eigen/Eigen/src/Geometry/Scaling.h +115 -90
- package/eigen/Eigen/src/Geometry/Transform.h +896 -953
- package/eigen/Eigen/src/Geometry/Translation.h +100 -98
- package/eigen/Eigen/src/Geometry/Umeyama.h +79 -84
- package/eigen/Eigen/src/Geometry/arch/Geometry_SIMD.h +154 -0
- package/eigen/Eigen/src/Householder/BlockHouseholder.h +54 -42
- package/eigen/Eigen/src/Householder/Householder.h +104 -122
- package/eigen/Eigen/src/Householder/HouseholderSequence.h +416 -382
- package/eigen/Eigen/src/Householder/InternalHeaderCheck.h +3 -0
- package/eigen/Eigen/src/IterativeLinearSolvers/BasicPreconditioners.h +153 -166
- package/eigen/Eigen/src/IterativeLinearSolvers/BiCGSTAB.h +127 -138
- package/eigen/Eigen/src/IterativeLinearSolvers/ConjugateGradient.h +95 -124
- package/eigen/Eigen/src/IterativeLinearSolvers/IncompleteCholesky.h +269 -267
- package/eigen/Eigen/src/IterativeLinearSolvers/IncompleteLUT.h +246 -259
- package/eigen/Eigen/src/IterativeLinearSolvers/InternalHeaderCheck.h +3 -0
- package/eigen/Eigen/src/IterativeLinearSolvers/IterativeSolverBase.h +218 -217
- package/eigen/Eigen/src/IterativeLinearSolvers/LeastSquareConjugateGradient.h +80 -103
- package/eigen/Eigen/src/IterativeLinearSolvers/SolveWithGuess.h +59 -63
- package/eigen/Eigen/src/Jacobi/InternalHeaderCheck.h +3 -0
- package/eigen/Eigen/src/Jacobi/Jacobi.h +256 -291
- package/eigen/Eigen/src/KLUSupport/InternalHeaderCheck.h +3 -0
- package/eigen/Eigen/src/KLUSupport/KLUSupport.h +339 -0
- package/eigen/Eigen/src/LU/Determinant.h +60 -63
- package/eigen/Eigen/src/LU/FullPivLU.h +561 -626
- package/eigen/Eigen/src/LU/InternalHeaderCheck.h +3 -0
- package/eigen/Eigen/src/LU/InverseImpl.h +213 -275
- package/eigen/Eigen/src/LU/PartialPivLU.h +407 -435
- package/eigen/Eigen/src/LU/PartialPivLU_LAPACKE.h +54 -40
- package/eigen/Eigen/src/LU/arch/InverseSize4.h +353 -0
- 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 +250 -282
- package/eigen/Eigen/src/OrderingMethods/Eigen_Colamd.h +950 -1103
- package/eigen/Eigen/src/OrderingMethods/InternalHeaderCheck.h +3 -0
- package/eigen/Eigen/src/OrderingMethods/Ordering.h +111 -122
- 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 -429
- package/eigen/Eigen/src/QR/ColPivHouseholderQR.h +494 -473
- package/eigen/Eigen/src/QR/ColPivHouseholderQR_LAPACKE.h +120 -56
- package/eigen/Eigen/src/QR/CompleteOrthogonalDecomposition.h +223 -137
- package/eigen/Eigen/src/QR/FullPivHouseholderQR.h +517 -460
- package/eigen/Eigen/src/QR/HouseholderQR.h +412 -278
- 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 +263 -261
- package/eigen/Eigen/src/SVD/BDCSVD.h +872 -679
- 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 +585 -543
- package/eigen/Eigen/src/SVD/JacobiSVD_LAPACKE.h +85 -49
- package/eigen/Eigen/src/SVD/SVDBase.h +281 -160
- package/eigen/Eigen/src/SVD/UpperBidiagonalization.h +202 -237
- package/eigen/Eigen/src/SparseCholesky/InternalHeaderCheck.h +3 -0
- package/eigen/Eigen/src/SparseCholesky/SimplicialCholesky.h +769 -590
- package/eigen/Eigen/src/SparseCholesky/SimplicialCholesky_impl.h +318 -129
- package/eigen/Eigen/src/SparseCore/AmbiVector.h +202 -251
- package/eigen/Eigen/src/SparseCore/CompressedStorage.h +184 -236
- package/eigen/Eigen/src/SparseCore/ConservativeSparseSparseProduct.h +140 -184
- package/eigen/Eigen/src/SparseCore/InternalHeaderCheck.h +3 -0
- package/eigen/Eigen/src/SparseCore/SparseAssign.h +174 -111
- package/eigen/Eigen/src/SparseCore/SparseBlock.h +408 -477
- package/eigen/Eigen/src/SparseCore/SparseColEtree.h +100 -112
- package/eigen/Eigen/src/SparseCore/SparseCompressedBase.h +531 -280
- package/eigen/Eigen/src/SparseCore/SparseCwiseBinaryOp.h +559 -347
- package/eigen/Eigen/src/SparseCore/SparseCwiseUnaryOp.h +100 -108
- package/eigen/Eigen/src/SparseCore/SparseDenseProduct.h +185 -191
- 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 +1614 -1142
- package/eigen/Eigen/src/SparseCore/SparseMatrixBase.h +403 -357
- package/eigen/Eigen/src/SparseCore/SparsePermutation.h +186 -115
- package/eigen/Eigen/src/SparseCore/SparseProduct.h +100 -91
- 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 +371 -414
- 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 +146 -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 +814 -618
- 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 +273 -255
- 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 +90 -101
- 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 +125 -133
- 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 +451 -490
- package/eigen/Eigen/src/StlSupport/StdDeque.h +28 -105
- 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 -732
- 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 +480 -380
- 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 +9976 -16182
- 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.inc +1370 -0
- package/eigen/Eigen/src/plugins/CommonCwiseBinaryOps.inc +116 -0
- package/eigen/Eigen/src/plugins/CommonCwiseUnaryOps.inc +167 -0
- 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/lib/LibEigen.d.ts +4 -0
- package/lib/LibEigen.js +14 -0
- package/lib/index.d.ts +1 -1
- package/lib/index.js +7 -3
- package/package.json +2 -10
- package/eigen/Eigen/CMakeLists.txt +0 -19
- package/eigen/Eigen/src/Core/BooleanRedux.h +0 -164
- package/eigen/Eigen/src/Core/arch/CUDA/Complex.h +0 -103
- package/eigen/Eigen/src/Core/arch/CUDA/Half.h +0 -675
- package/eigen/Eigen/src/Core/arch/CUDA/MathFunctions.h +0 -91
- package/eigen/Eigen/src/Core/arch/CUDA/PacketMath.h +0 -333
- package/eigen/Eigen/src/Core/arch/CUDA/PacketMathHalf.h +0 -1124
- package/eigen/Eigen/src/Core/arch/CUDA/TypeCasting.h +0 -212
- package/eigen/Eigen/src/Core/util/NonMPL2.h +0 -3
- package/eigen/Eigen/src/Geometry/arch/Geometry_SSE.h +0 -161
- package/eigen/Eigen/src/LU/arch/Inverse_SSE.h +0 -338
- 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 -332
- package/eigen/Eigen/src/plugins/ArrayCwiseUnaryOps.h +0 -552
- package/eigen/Eigen/src/plugins/BlockMethods.h +0 -1058
- package/eigen/Eigen/src/plugins/CommonCwiseBinaryOps.h +0 -115
- package/eigen/Eigen/src/plugins/CommonCwiseUnaryOps.h +0 -163
- package/eigen/Eigen/src/plugins/MatrixCwiseBinaryOps.h +0 -152
- package/eigen/Eigen/src/plugins/MatrixCwiseUnaryOps.h +0 -85
- package/lib/eigen.d.ts +0 -2
- package/lib/eigen.js +0 -15
|
@@ -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
|
+
}
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
// This file is part of Eigen, a lightweight C++ template library
|
|
2
|
+
// for linear algebra.
|
|
3
|
+
//
|
|
4
|
+
// Copyright (C) 2008-2009 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
|
+
#ifndef EIGEN_PARSED_BY_DOXYGEN
|
|
14
|
+
|
|
15
|
+
/** \internal the return type of conjugate() */
|
|
16
|
+
typedef std::conditional_t<NumTraits<Scalar>::IsComplex,
|
|
17
|
+
const CwiseUnaryOp<internal::scalar_conjugate_op<Scalar>, const Derived>, const Derived&>
|
|
18
|
+
ConjugateReturnType;
|
|
19
|
+
/** \internal the return type of real() const */
|
|
20
|
+
typedef std::conditional_t<NumTraits<Scalar>::IsComplex,
|
|
21
|
+
const CwiseUnaryOp<internal::scalar_real_op<Scalar>, const Derived>, const Derived&>
|
|
22
|
+
RealReturnType;
|
|
23
|
+
/** \internal the return type of real() */
|
|
24
|
+
typedef std::conditional_t<NumTraits<Scalar>::IsComplex, CwiseUnaryView<internal::scalar_real_ref_op<Scalar>, Derived>,
|
|
25
|
+
Derived&>
|
|
26
|
+
NonConstRealReturnType;
|
|
27
|
+
/** \internal the return type of imag() const */
|
|
28
|
+
typedef CwiseUnaryOp<internal::scalar_imag_op<Scalar>, const Derived> ImagReturnType;
|
|
29
|
+
/** \internal the return type of imag() */
|
|
30
|
+
typedef CwiseUnaryView<internal::scalar_imag_ref_op<Scalar>, Derived> NonConstImagReturnType;
|
|
31
|
+
|
|
32
|
+
typedef CwiseUnaryOp<internal::scalar_opposite_op<Scalar>, const Derived> NegativeReturnType;
|
|
33
|
+
|
|
34
|
+
#endif // not EIGEN_PARSED_BY_DOXYGEN
|
|
35
|
+
|
|
36
|
+
/// \returns an expression of the opposite of \c *this
|
|
37
|
+
///
|
|
38
|
+
EIGEN_DOC_UNARY_ADDONS(operator-, opposite)
|
|
39
|
+
///
|
|
40
|
+
EIGEN_DEVICE_FUNC inline const NegativeReturnType operator-() const { return NegativeReturnType(derived()); }
|
|
41
|
+
|
|
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
|
+
};
|
|
47
|
+
|
|
48
|
+
/// \returns an expression of \c *this with the \a Scalar type casted to
|
|
49
|
+
/// \a NewScalar.
|
|
50
|
+
///
|
|
51
|
+
/// The template parameter \a NewScalar is the type we are casting the scalars to.
|
|
52
|
+
///
|
|
53
|
+
EIGEN_DOC_UNARY_ADDONS(cast, conversion function)
|
|
54
|
+
///
|
|
55
|
+
/// \sa class CwiseUnaryOp
|
|
56
|
+
///
|
|
57
|
+
template <typename NewType>
|
|
58
|
+
EIGEN_DEVICE_FUNC typename CastXpr<NewType>::Type cast() const {
|
|
59
|
+
return typename CastXpr<NewType>::Type(derived());
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
/// \returns an expression of the complex conjugate of \c *this.
|
|
63
|
+
///
|
|
64
|
+
EIGEN_DOC_UNARY_ADDONS(conjugate, complex conjugate)
|
|
65
|
+
///
|
|
66
|
+
/// \sa <a href="group__CoeffwiseMathFunctions.html#cwisetable_conj">Math functions</a>, MatrixBase::adjoint()
|
|
67
|
+
EIGEN_DEVICE_FUNC inline ConjugateReturnType conjugate() const { return ConjugateReturnType(derived()); }
|
|
68
|
+
|
|
69
|
+
/// \returns an expression of the complex conjugate of \c *this if Cond==true, returns derived() otherwise.
|
|
70
|
+
///
|
|
71
|
+
EIGEN_DOC_UNARY_ADDONS(conjugate, complex conjugate)
|
|
72
|
+
///
|
|
73
|
+
/// \sa conjugate()
|
|
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;
|
|
77
|
+
return ReturnType(derived());
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
/// \returns a read-only expression of the real part of \c *this.
|
|
81
|
+
///
|
|
82
|
+
EIGEN_DOC_UNARY_ADDONS(real, real part function)
|
|
83
|
+
///
|
|
84
|
+
/// \sa imag()
|
|
85
|
+
EIGEN_DEVICE_FUNC inline RealReturnType real() const { return RealReturnType(derived()); }
|
|
86
|
+
|
|
87
|
+
/// \returns an read-only expression of the imaginary part of \c *this.
|
|
88
|
+
///
|
|
89
|
+
EIGEN_DOC_UNARY_ADDONS(imag, imaginary part function)
|
|
90
|
+
///
|
|
91
|
+
/// \sa real()
|
|
92
|
+
EIGEN_DEVICE_FUNC inline const ImagReturnType imag() const { return ImagReturnType(derived()); }
|
|
93
|
+
|
|
94
|
+
/// \brief Apply a unary operator coefficient-wise
|
|
95
|
+
/// \param[in] func Functor implementing the unary operator
|
|
96
|
+
/// \tparam CustomUnaryOp Type of \a func
|
|
97
|
+
/// \returns An expression of a custom coefficient-wise unary operator \a func of *this
|
|
98
|
+
///
|
|
99
|
+
/// The function \c ptr_fun() from the C++ standard library can be used to make functors out of normal functions.
|
|
100
|
+
///
|
|
101
|
+
/// Example:
|
|
102
|
+
/// \include class_CwiseUnaryOp_ptrfun.cpp
|
|
103
|
+
/// Output: \verbinclude class_CwiseUnaryOp_ptrfun.out
|
|
104
|
+
///
|
|
105
|
+
/// Genuine functors allow for more possibilities, for instance it may contain a state.
|
|
106
|
+
///
|
|
107
|
+
/// Example:
|
|
108
|
+
/// \include class_CwiseUnaryOp.cpp
|
|
109
|
+
/// Output: \verbinclude class_CwiseUnaryOp.out
|
|
110
|
+
///
|
|
111
|
+
EIGEN_DOC_UNARY_ADDONS(unaryExpr, unary function)
|
|
112
|
+
///
|
|
113
|
+
/// \sa unaryViewExpr, binaryExpr, class CwiseUnaryOp
|
|
114
|
+
///
|
|
115
|
+
template <typename CustomUnaryOp>
|
|
116
|
+
EIGEN_DEVICE_FUNC inline const CwiseUnaryOp<CustomUnaryOp, const Derived> unaryExpr(
|
|
117
|
+
const CustomUnaryOp& func = CustomUnaryOp()) const {
|
|
118
|
+
return CwiseUnaryOp<CustomUnaryOp, const Derived>(derived(), func);
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
/// \returns a const expression of a custom coefficient-wise unary operator \a func of *this
|
|
122
|
+
///
|
|
123
|
+
/// The template parameter \a CustomUnaryOp is the type of the functor
|
|
124
|
+
/// of the custom unary operator.
|
|
125
|
+
///
|
|
126
|
+
/// Example:
|
|
127
|
+
/// \include class_CwiseUnaryOp.cpp
|
|
128
|
+
/// Output: \verbinclude class_CwiseUnaryOp.out
|
|
129
|
+
///
|
|
130
|
+
EIGEN_DOC_UNARY_ADDONS(unaryViewExpr, unary function)
|
|
131
|
+
///
|
|
132
|
+
/// \sa unaryExpr, binaryExpr class CwiseUnaryOp
|
|
133
|
+
///
|
|
134
|
+
template <typename CustomViewOp>
|
|
135
|
+
EIGEN_DEVICE_FUNC inline const CwiseUnaryView<CustomViewOp, const Derived> unaryViewExpr(
|
|
136
|
+
const CustomViewOp& func = CustomViewOp()) const {
|
|
137
|
+
return CwiseUnaryView<CustomViewOp, const Derived>(derived(), func);
|
|
138
|
+
}
|
|
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
|
+
|
|
155
|
+
/// \returns a non const expression of the real part of \c *this.
|
|
156
|
+
///
|
|
157
|
+
EIGEN_DOC_UNARY_ADDONS(real, real part function)
|
|
158
|
+
///
|
|
159
|
+
/// \sa imag()
|
|
160
|
+
EIGEN_DEVICE_FUNC inline NonConstRealReturnType real() { return NonConstRealReturnType(derived()); }
|
|
161
|
+
|
|
162
|
+
/// \returns a non const expression of the imaginary part of \c *this.
|
|
163
|
+
///
|
|
164
|
+
EIGEN_DOC_UNARY_ADDONS(imag, imaginary part function)
|
|
165
|
+
///
|
|
166
|
+
/// \sa real()
|
|
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
|