forgeo-gmlib 0.6.2__cp314-cp314t-musllinux_1_2_x86_64.whl
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.
- forgeo/gmlib/GeologicalModel3D.py +758 -0
- forgeo/gmlib/__init__.py +9 -0
- forgeo/gmlib/_version.py +34 -0
- forgeo/gmlib/architecture/__init__.py +1 -0
- forgeo/gmlib/architecture/core.py +130 -0
- forgeo/gmlib/common.cpython-314t-x86_64-linux-musl.so +0 -0
- forgeo/gmlib/fault_network.py +171 -0
- forgeo/gmlib/geomodeller_data.py +101 -0
- forgeo/gmlib/geomodeller_project.py +396 -0
- forgeo/gmlib/myxmltools.py +30 -0
- forgeo/gmlib/pypotential2D.cpython-314t-x86_64-linux-musl.so +0 -0
- forgeo/gmlib/pypotential3D.cpython-314t-x86_64-linux-musl.so +0 -0
- forgeo/gmlib/tesselate.py +236 -0
- forgeo/gmlib/tesselate_deprecated.py +249 -0
- forgeo/gmlib/topography_reader.py +198 -0
- forgeo/gmlib/utils/__init__.py +0 -0
- forgeo/gmlib/utils/append_data.py +508 -0
- forgeo/gmlib/utils/export.py +45 -0
- forgeo/gmlib/utils/normalized_gradient.py +40 -0
- forgeo/gmlib/utils/tools.py +35 -0
- forgeo_gmlib-0.6.2.dist-info/METADATA +23 -0
- forgeo_gmlib-0.6.2.dist-info/RECORD +554 -0
- forgeo_gmlib-0.6.2.dist-info/WHEEL +5 -0
- forgeo_gmlib-0.6.2.dist-info/licenses/LICENSE +661 -0
- include/eigen3/Eigen/Cholesky +45 -0
- include/eigen3/Eigen/CholmodSupport +48 -0
- include/eigen3/Eigen/Core +385 -0
- include/eigen3/Eigen/Dense +7 -0
- include/eigen3/Eigen/Eigen +2 -0
- include/eigen3/Eigen/Eigenvalues +60 -0
- include/eigen3/Eigen/Geometry +59 -0
- include/eigen3/Eigen/Householder +29 -0
- include/eigen3/Eigen/IterativeLinearSolvers +48 -0
- include/eigen3/Eigen/Jacobi +32 -0
- include/eigen3/Eigen/KLUSupport +41 -0
- include/eigen3/Eigen/LU +47 -0
- include/eigen3/Eigen/MetisSupport +35 -0
- include/eigen3/Eigen/OrderingMethods +70 -0
- include/eigen3/Eigen/PaStiXSupport +49 -0
- include/eigen3/Eigen/PardisoSupport +35 -0
- include/eigen3/Eigen/QR +50 -0
- include/eigen3/Eigen/QtAlignedMalloc +39 -0
- include/eigen3/Eigen/SPQRSupport +34 -0
- include/eigen3/Eigen/SVD +50 -0
- include/eigen3/Eigen/Sparse +34 -0
- include/eigen3/Eigen/SparseCholesky +37 -0
- include/eigen3/Eigen/SparseCore +69 -0
- include/eigen3/Eigen/SparseLU +48 -0
- include/eigen3/Eigen/SparseQR +36 -0
- include/eigen3/Eigen/StdDeque +27 -0
- include/eigen3/Eigen/StdList +26 -0
- include/eigen3/Eigen/StdVector +27 -0
- include/eigen3/Eigen/SuperLUSupport +64 -0
- include/eigen3/Eigen/UmfPackSupport +40 -0
- include/eigen3/Eigen/src/Cholesky/LDLT.h +688 -0
- include/eigen3/Eigen/src/Cholesky/LLT.h +558 -0
- include/eigen3/Eigen/src/Cholesky/LLT_LAPACKE.h +99 -0
- include/eigen3/Eigen/src/CholmodSupport/CholmodSupport.h +682 -0
- include/eigen3/Eigen/src/Core/ArithmeticSequence.h +406 -0
- include/eigen3/Eigen/src/Core/Array.h +425 -0
- include/eigen3/Eigen/src/Core/ArrayBase.h +226 -0
- include/eigen3/Eigen/src/Core/ArrayWrapper.h +209 -0
- include/eigen3/Eigen/src/Core/Assign.h +90 -0
- include/eigen3/Eigen/src/Core/AssignEvaluator.h +1010 -0
- include/eigen3/Eigen/src/Core/Assign_MKL.h +178 -0
- include/eigen3/Eigen/src/Core/BandMatrix.h +353 -0
- include/eigen3/Eigen/src/Core/Block.h +463 -0
- include/eigen3/Eigen/src/Core/BooleanRedux.h +164 -0
- include/eigen3/Eigen/src/Core/CommaInitializer.h +164 -0
- include/eigen3/Eigen/src/Core/ConditionEstimator.h +175 -0
- include/eigen3/Eigen/src/Core/CoreEvaluators.h +1741 -0
- include/eigen3/Eigen/src/Core/CoreIterators.h +132 -0
- include/eigen3/Eigen/src/Core/CwiseBinaryOp.h +183 -0
- include/eigen3/Eigen/src/Core/CwiseNullaryOp.h +1001 -0
- include/eigen3/Eigen/src/Core/CwiseTernaryOp.h +197 -0
- include/eigen3/Eigen/src/Core/CwiseUnaryOp.h +103 -0
- include/eigen3/Eigen/src/Core/CwiseUnaryView.h +132 -0
- include/eigen3/Eigen/src/Core/DenseBase.h +701 -0
- include/eigen3/Eigen/src/Core/DenseCoeffsBase.h +685 -0
- include/eigen3/Eigen/src/Core/DenseStorage.h +652 -0
- include/eigen3/Eigen/src/Core/Diagonal.h +259 -0
- include/eigen3/Eigen/src/Core/DiagonalMatrix.h +391 -0
- include/eigen3/Eigen/src/Core/DiagonalProduct.h +28 -0
- include/eigen3/Eigen/src/Core/Dot.h +313 -0
- include/eigen3/Eigen/src/Core/EigenBase.h +160 -0
- include/eigen3/Eigen/src/Core/ForceAlignedAccess.h +150 -0
- include/eigen3/Eigen/src/Core/Fuzzy.h +155 -0
- include/eigen3/Eigen/src/Core/GeneralProduct.h +465 -0
- include/eigen3/Eigen/src/Core/GenericPacketMath.h +1040 -0
- include/eigen3/Eigen/src/Core/GlobalFunctions.h +194 -0
- include/eigen3/Eigen/src/Core/IO.h +258 -0
- include/eigen3/Eigen/src/Core/IndexedView.h +247 -0
- include/eigen3/Eigen/src/Core/Inverse.h +117 -0
- include/eigen3/Eigen/src/Core/Map.h +171 -0
- include/eigen3/Eigen/src/Core/MapBase.h +310 -0
- include/eigen3/Eigen/src/Core/MathFunctions.h +2212 -0
- include/eigen3/Eigen/src/Core/MathFunctionsImpl.h +200 -0
- include/eigen3/Eigen/src/Core/Matrix.h +578 -0
- include/eigen3/Eigen/src/Core/MatrixBase.h +541 -0
- include/eigen3/Eigen/src/Core/NestByValue.h +85 -0
- include/eigen3/Eigen/src/Core/NoAlias.h +109 -0
- include/eigen3/Eigen/src/Core/NumTraits.h +351 -0
- include/eigen3/Eigen/src/Core/PartialReduxEvaluator.h +237 -0
- include/eigen3/Eigen/src/Core/PermutationMatrix.h +605 -0
- include/eigen3/Eigen/src/Core/PlainObjectBase.h +1128 -0
- include/eigen3/Eigen/src/Core/Product.h +191 -0
- include/eigen3/Eigen/src/Core/ProductEvaluators.h +1179 -0
- include/eigen3/Eigen/src/Core/Random.h +218 -0
- include/eigen3/Eigen/src/Core/Redux.h +515 -0
- include/eigen3/Eigen/src/Core/Ref.h +381 -0
- include/eigen3/Eigen/src/Core/Replicate.h +142 -0
- include/eigen3/Eigen/src/Core/Reshaped.h +454 -0
- include/eigen3/Eigen/src/Core/ReturnByValue.h +119 -0
- include/eigen3/Eigen/src/Core/Reverse.h +217 -0
- include/eigen3/Eigen/src/Core/Select.h +164 -0
- include/eigen3/Eigen/src/Core/SelfAdjointView.h +365 -0
- include/eigen3/Eigen/src/Core/SelfCwiseBinaryOp.h +47 -0
- include/eigen3/Eigen/src/Core/Solve.h +188 -0
- include/eigen3/Eigen/src/Core/SolveTriangular.h +235 -0
- include/eigen3/Eigen/src/Core/SolverBase.h +168 -0
- include/eigen3/Eigen/src/Core/StableNorm.h +251 -0
- include/eigen3/Eigen/src/Core/StlIterators.h +463 -0
- include/eigen3/Eigen/src/Core/Stride.h +120 -0
- include/eigen3/Eigen/src/Core/Swap.h +68 -0
- include/eigen3/Eigen/src/Core/Transpose.h +464 -0
- include/eigen3/Eigen/src/Core/Transpositions.h +386 -0
- include/eigen3/Eigen/src/Core/TriangularMatrix.h +994 -0
- include/eigen3/Eigen/src/Core/VectorBlock.h +96 -0
- include/eigen3/Eigen/src/Core/VectorwiseOp.h +784 -0
- include/eigen3/Eigen/src/Core/Visitor.h +381 -0
- include/eigen3/Eigen/src/Core/arch/AVX/Complex.h +368 -0
- include/eigen3/Eigen/src/Core/arch/AVX/MathFunctions.h +228 -0
- include/eigen3/Eigen/src/Core/arch/AVX/PacketMath.h +1588 -0
- include/eigen3/Eigen/src/Core/arch/AVX/TypeCasting.h +115 -0
- include/eigen3/Eigen/src/Core/arch/AVX512/Complex.h +384 -0
- include/eigen3/Eigen/src/Core/arch/AVX512/MathFunctions.h +361 -0
- include/eigen3/Eigen/src/Core/arch/AVX512/PacketMath.h +2270 -0
- include/eigen3/Eigen/src/Core/arch/AVX512/TypeCasting.h +89 -0
- include/eigen3/Eigen/src/Core/arch/AltiVec/Complex.h +415 -0
- include/eigen3/Eigen/src/Core/arch/AltiVec/MathFunctions.h +119 -0
- include/eigen3/Eigen/src/Core/arch/AltiVec/MatrixProduct.h +2776 -0
- include/eigen3/Eigen/src/Core/arch/AltiVec/MatrixProductCommon.h +159 -0
- include/eigen3/Eigen/src/Core/arch/AltiVec/MatrixProductMMA.h +627 -0
- include/eigen3/Eigen/src/Core/arch/AltiVec/MatrixVectorProduct.h +2400 -0
- include/eigen3/Eigen/src/Core/arch/AltiVec/PacketMath.h +2743 -0
- include/eigen3/Eigen/src/Core/arch/CUDA/Complex.h +269 -0
- include/eigen3/Eigen/src/Core/arch/Default/BFloat16.h +688 -0
- include/eigen3/Eigen/src/Core/arch/Default/ConjHelper.h +117 -0
- include/eigen3/Eigen/src/Core/arch/Default/GenericPacketMathFunctions.h +1662 -0
- include/eigen3/Eigen/src/Core/arch/Default/GenericPacketMathFunctionsFwd.h +116 -0
- include/eigen3/Eigen/src/Core/arch/Default/Half.h +950 -0
- include/eigen3/Eigen/src/Core/arch/Default/Settings.h +49 -0
- include/eigen3/Eigen/src/Core/arch/Default/TypeCasting.h +120 -0
- include/eigen3/Eigen/src/Core/arch/GPU/MathFunctions.h +103 -0
- include/eigen3/Eigen/src/Core/arch/GPU/PacketMath.h +1646 -0
- include/eigen3/Eigen/src/Core/arch/GPU/TypeCasting.h +79 -0
- include/eigen3/Eigen/src/Core/arch/HIP/hcc/math_constants.h +23 -0
- include/eigen3/Eigen/src/Core/arch/MSA/Complex.h +645 -0
- include/eigen3/Eigen/src/Core/arch/MSA/MathFunctions.h +387 -0
- include/eigen3/Eigen/src/Core/arch/MSA/PacketMath.h +1233 -0
- include/eigen3/Eigen/src/Core/arch/NEON/Complex.h +560 -0
- include/eigen3/Eigen/src/Core/arch/NEON/GeneralBlockPanelKernel.h +183 -0
- include/eigen3/Eigen/src/Core/arch/NEON/MathFunctions.h +75 -0
- include/eigen3/Eigen/src/Core/arch/NEON/PacketMath.h +4653 -0
- include/eigen3/Eigen/src/Core/arch/NEON/TypeCasting.h +1424 -0
- include/eigen3/Eigen/src/Core/arch/SSE/Complex.h +338 -0
- include/eigen3/Eigen/src/Core/arch/SSE/MathFunctions.h +199 -0
- include/eigen3/Eigen/src/Core/arch/SSE/PacketMath.h +1505 -0
- include/eigen3/Eigen/src/Core/arch/SSE/TypeCasting.h +142 -0
- include/eigen3/Eigen/src/Core/arch/SVE/MathFunctions.h +44 -0
- include/eigen3/Eigen/src/Core/arch/SVE/PacketMath.h +752 -0
- include/eigen3/Eigen/src/Core/arch/SVE/TypeCasting.h +49 -0
- include/eigen3/Eigen/src/Core/arch/SYCL/InteropHeaders.h +232 -0
- include/eigen3/Eigen/src/Core/arch/SYCL/MathFunctions.h +301 -0
- include/eigen3/Eigen/src/Core/arch/SYCL/PacketMath.h +670 -0
- include/eigen3/Eigen/src/Core/arch/SYCL/SyclMemoryModel.h +694 -0
- include/eigen3/Eigen/src/Core/arch/SYCL/TypeCasting.h +85 -0
- include/eigen3/Eigen/src/Core/arch/ZVector/Complex.h +428 -0
- include/eigen3/Eigen/src/Core/arch/ZVector/MathFunctions.h +233 -0
- include/eigen3/Eigen/src/Core/arch/ZVector/PacketMath.h +1060 -0
- include/eigen3/Eigen/src/Core/functors/AssignmentFunctors.h +177 -0
- include/eigen3/Eigen/src/Core/functors/BinaryFunctors.h +541 -0
- include/eigen3/Eigen/src/Core/functors/NullaryFunctors.h +189 -0
- include/eigen3/Eigen/src/Core/functors/StlFunctors.h +166 -0
- include/eigen3/Eigen/src/Core/functors/TernaryFunctors.h +25 -0
- include/eigen3/Eigen/src/Core/functors/UnaryFunctors.h +1131 -0
- include/eigen3/Eigen/src/Core/products/GeneralBlockPanelKernel.h +2645 -0
- include/eigen3/Eigen/src/Core/products/GeneralMatrixMatrix.h +517 -0
- include/eigen3/Eigen/src/Core/products/GeneralMatrixMatrixTriangular.h +322 -0
- include/eigen3/Eigen/src/Core/products/GeneralMatrixMatrixTriangular_BLAS.h +145 -0
- include/eigen3/Eigen/src/Core/products/GeneralMatrixMatrix_BLAS.h +124 -0
- include/eigen3/Eigen/src/Core/products/GeneralMatrixVector.h +523 -0
- include/eigen3/Eigen/src/Core/products/GeneralMatrixVector_BLAS.h +136 -0
- include/eigen3/Eigen/src/Core/products/Parallelizer.h +180 -0
- include/eigen3/Eigen/src/Core/products/SelfadjointMatrixMatrix.h +544 -0
- include/eigen3/Eigen/src/Core/products/SelfadjointMatrixMatrix_BLAS.h +295 -0
- include/eigen3/Eigen/src/Core/products/SelfadjointMatrixVector.h +262 -0
- include/eigen3/Eigen/src/Core/products/SelfadjointMatrixVector_BLAS.h +118 -0
- include/eigen3/Eigen/src/Core/products/SelfadjointProduct.h +133 -0
- include/eigen3/Eigen/src/Core/products/SelfadjointRank2Update.h +94 -0
- include/eigen3/Eigen/src/Core/products/TriangularMatrixMatrix.h +472 -0
- include/eigen3/Eigen/src/Core/products/TriangularMatrixMatrix_BLAS.h +317 -0
- include/eigen3/Eigen/src/Core/products/TriangularMatrixVector.h +350 -0
- include/eigen3/Eigen/src/Core/products/TriangularMatrixVector_BLAS.h +255 -0
- include/eigen3/Eigen/src/Core/products/TriangularSolverMatrix.h +337 -0
- include/eigen3/Eigen/src/Core/products/TriangularSolverMatrix_BLAS.h +167 -0
- include/eigen3/Eigen/src/Core/products/TriangularSolverVector.h +148 -0
- include/eigen3/Eigen/src/Core/util/BlasUtil.h +583 -0
- include/eigen3/Eigen/src/Core/util/ConfigureVectorization.h +521 -0
- include/eigen3/Eigen/src/Core/util/Constants.h +563 -0
- include/eigen3/Eigen/src/Core/util/DisableStupidWarnings.h +138 -0
- include/eigen3/Eigen/src/Core/util/ForwardDeclarations.h +322 -0
- include/eigen3/Eigen/src/Core/util/IndexedViewHelper.h +186 -0
- include/eigen3/Eigen/src/Core/util/IntegralConstant.h +272 -0
- include/eigen3/Eigen/src/Core/util/MKL_support.h +137 -0
- include/eigen3/Eigen/src/Core/util/Macros.h +1511 -0
- include/eigen3/Eigen/src/Core/util/Memory.h +1202 -0
- include/eigen3/Eigen/src/Core/util/Meta.h +812 -0
- include/eigen3/Eigen/src/Core/util/NonMPL2.h +3 -0
- include/eigen3/Eigen/src/Core/util/ReenableStupidWarnings.h +31 -0
- include/eigen3/Eigen/src/Core/util/ReshapedHelper.h +51 -0
- include/eigen3/Eigen/src/Core/util/StaticAssert.h +221 -0
- include/eigen3/Eigen/src/Core/util/SymbolicIndex.h +293 -0
- include/eigen3/Eigen/src/Core/util/XprHelper.h +856 -0
- include/eigen3/Eigen/src/Eigenvalues/ComplexEigenSolver.h +345 -0
- include/eigen3/Eigen/src/Eigenvalues/ComplexSchur.h +462 -0
- include/eigen3/Eigen/src/Eigenvalues/ComplexSchur_LAPACKE.h +91 -0
- include/eigen3/Eigen/src/Eigenvalues/EigenSolver.h +622 -0
- include/eigen3/Eigen/src/Eigenvalues/GeneralizedEigenSolver.h +417 -0
- include/eigen3/Eigen/src/Eigenvalues/GeneralizedSelfAdjointEigenSolver.h +226 -0
- include/eigen3/Eigen/src/Eigenvalues/HessenbergDecomposition.h +374 -0
- include/eigen3/Eigen/src/Eigenvalues/MatrixBaseEigenvalues.h +158 -0
- include/eigen3/Eigen/src/Eigenvalues/RealQZ.h +657 -0
- include/eigen3/Eigen/src/Eigenvalues/RealSchur.h +557 -0
- include/eigen3/Eigen/src/Eigenvalues/RealSchur_LAPACKE.h +77 -0
- include/eigen3/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h +904 -0
- include/eigen3/Eigen/src/Eigenvalues/SelfAdjointEigenSolver_LAPACKE.h +87 -0
- include/eigen3/Eigen/src/Eigenvalues/Tridiagonalization.h +560 -0
- include/eigen3/Eigen/src/Geometry/AlignedBox.h +486 -0
- include/eigen3/Eigen/src/Geometry/AngleAxis.h +247 -0
- include/eigen3/Eigen/src/Geometry/EulerAngles.h +114 -0
- include/eigen3/Eigen/src/Geometry/Homogeneous.h +501 -0
- include/eigen3/Eigen/src/Geometry/Hyperplane.h +282 -0
- include/eigen3/Eigen/src/Geometry/OrthoMethods.h +235 -0
- include/eigen3/Eigen/src/Geometry/ParametrizedLine.h +232 -0
- include/eigen3/Eigen/src/Geometry/Quaternion.h +870 -0
- include/eigen3/Eigen/src/Geometry/Rotation2D.h +199 -0
- include/eigen3/Eigen/src/Geometry/RotationBase.h +206 -0
- include/eigen3/Eigen/src/Geometry/Scaling.h +188 -0
- include/eigen3/Eigen/src/Geometry/Transform.h +1566 -0
- include/eigen3/Eigen/src/Geometry/Translation.h +202 -0
- include/eigen3/Eigen/src/Geometry/Umeyama.h +168 -0
- include/eigen3/Eigen/src/Geometry/arch/Geometry_SIMD.h +168 -0
- include/eigen3/Eigen/src/Householder/BlockHouseholder.h +110 -0
- include/eigen3/Eigen/src/Householder/Householder.h +176 -0
- include/eigen3/Eigen/src/Householder/HouseholderSequence.h +553 -0
- include/eigen3/Eigen/src/IterativeLinearSolvers/BasicPreconditioners.h +226 -0
- include/eigen3/Eigen/src/IterativeLinearSolvers/BiCGSTAB.h +212 -0
- include/eigen3/Eigen/src/IterativeLinearSolvers/ConjugateGradient.h +227 -0
- include/eigen3/Eigen/src/IterativeLinearSolvers/IncompleteCholesky.h +394 -0
- include/eigen3/Eigen/src/IterativeLinearSolvers/IncompleteLUT.h +453 -0
- include/eigen3/Eigen/src/IterativeLinearSolvers/IterativeSolverBase.h +444 -0
- include/eigen3/Eigen/src/IterativeLinearSolvers/LeastSquareConjugateGradient.h +198 -0
- include/eigen3/Eigen/src/IterativeLinearSolvers/SolveWithGuess.h +117 -0
- include/eigen3/Eigen/src/Jacobi/Jacobi.h +483 -0
- include/eigen3/Eigen/src/KLUSupport/KLUSupport.h +358 -0
- include/eigen3/Eigen/src/LU/Determinant.h +117 -0
- include/eigen3/Eigen/src/LU/FullPivLU.h +877 -0
- include/eigen3/Eigen/src/LU/InverseImpl.h +432 -0
- include/eigen3/Eigen/src/LU/PartialPivLU.h +624 -0
- include/eigen3/Eigen/src/LU/PartialPivLU_LAPACKE.h +83 -0
- include/eigen3/Eigen/src/LU/arch/InverseSize4.h +363 -0
- include/eigen3/Eigen/src/MetisSupport/MetisSupport.h +137 -0
- include/eigen3/Eigen/src/OrderingMethods/Amd.h +435 -0
- include/eigen3/Eigen/src/OrderingMethods/Eigen_Colamd.h +1863 -0
- include/eigen3/Eigen/src/OrderingMethods/Ordering.h +153 -0
- include/eigen3/Eigen/src/PaStiXSupport/PaStiXSupport.h +678 -0
- include/eigen3/Eigen/src/PardisoSupport/PardisoSupport.h +545 -0
- include/eigen3/Eigen/src/QR/ColPivHouseholderQR.h +674 -0
- include/eigen3/Eigen/src/QR/ColPivHouseholderQR_LAPACKE.h +97 -0
- include/eigen3/Eigen/src/QR/CompleteOrthogonalDecomposition.h +635 -0
- include/eigen3/Eigen/src/QR/FullPivHouseholderQR.h +713 -0
- include/eigen3/Eigen/src/QR/HouseholderQR.h +434 -0
- include/eigen3/Eigen/src/QR/HouseholderQR_LAPACKE.h +68 -0
- include/eigen3/Eigen/src/SPQRSupport/SuiteSparseQRSupport.h +335 -0
- include/eigen3/Eigen/src/SVD/BDCSVD.h +1377 -0
- include/eigen3/Eigen/src/SVD/JacobiSVD.h +813 -0
- include/eigen3/Eigen/src/SVD/JacobiSVD_LAPACKE.h +91 -0
- include/eigen3/Eigen/src/SVD/SVDBase.h +376 -0
- include/eigen3/Eigen/src/SVD/UpperBidiagonalization.h +415 -0
- include/eigen3/Eigen/src/SparseCholesky/SimplicialCholesky.h +697 -0
- include/eigen3/Eigen/src/SparseCholesky/SimplicialCholesky_impl.h +174 -0
- include/eigen3/Eigen/src/SparseCore/AmbiVector.h +378 -0
- include/eigen3/Eigen/src/SparseCore/CompressedStorage.h +274 -0
- include/eigen3/Eigen/src/SparseCore/ConservativeSparseSparseProduct.h +352 -0
- include/eigen3/Eigen/src/SparseCore/MappedSparseMatrix.h +67 -0
- include/eigen3/Eigen/src/SparseCore/SparseAssign.h +270 -0
- include/eigen3/Eigen/src/SparseCore/SparseBlock.h +566 -0
- include/eigen3/Eigen/src/SparseCore/SparseColEtree.h +206 -0
- include/eigen3/Eigen/src/SparseCore/SparseCompressedBase.h +370 -0
- include/eigen3/Eigen/src/SparseCore/SparseCwiseBinaryOp.h +722 -0
- include/eigen3/Eigen/src/SparseCore/SparseCwiseUnaryOp.h +150 -0
- include/eigen3/Eigen/src/SparseCore/SparseDenseProduct.h +342 -0
- include/eigen3/Eigen/src/SparseCore/SparseDiagonalProduct.h +138 -0
- include/eigen3/Eigen/src/SparseCore/SparseDot.h +98 -0
- include/eigen3/Eigen/src/SparseCore/SparseFuzzy.h +29 -0
- include/eigen3/Eigen/src/SparseCore/SparseMap.h +306 -0
- include/eigen3/Eigen/src/SparseCore/SparseMatrix.h +1518 -0
- include/eigen3/Eigen/src/SparseCore/SparseMatrixBase.h +399 -0
- include/eigen3/Eigen/src/SparseCore/SparsePermutation.h +178 -0
- include/eigen3/Eigen/src/SparseCore/SparseProduct.h +182 -0
- include/eigen3/Eigen/src/SparseCore/SparseRedux.h +49 -0
- include/eigen3/Eigen/src/SparseCore/SparseRef.h +397 -0
- include/eigen3/Eigen/src/SparseCore/SparseSelfAdjointView.h +659 -0
- include/eigen3/Eigen/src/SparseCore/SparseSolverBase.h +124 -0
- include/eigen3/Eigen/src/SparseCore/SparseSparseProductWithPruning.h +198 -0
- include/eigen3/Eigen/src/SparseCore/SparseTranspose.h +92 -0
- include/eigen3/Eigen/src/SparseCore/SparseTriangularView.h +189 -0
- include/eigen3/Eigen/src/SparseCore/SparseUtil.h +186 -0
- include/eigen3/Eigen/src/SparseCore/SparseVector.h +480 -0
- include/eigen3/Eigen/src/SparseCore/SparseView.h +254 -0
- include/eigen3/Eigen/src/SparseCore/TriangularSolver.h +315 -0
- include/eigen3/Eigen/src/SparseLU/SparseLU.h +925 -0
- include/eigen3/Eigen/src/SparseLU/SparseLUImpl.h +66 -0
- include/eigen3/Eigen/src/SparseLU/SparseLU_Memory.h +226 -0
- include/eigen3/Eigen/src/SparseLU/SparseLU_Structs.h +110 -0
- include/eigen3/Eigen/src/SparseLU/SparseLU_SupernodalMatrix.h +374 -0
- include/eigen3/Eigen/src/SparseLU/SparseLU_Utils.h +80 -0
- include/eigen3/Eigen/src/SparseLU/SparseLU_column_bmod.h +181 -0
- include/eigen3/Eigen/src/SparseLU/SparseLU_column_dfs.h +179 -0
- include/eigen3/Eigen/src/SparseLU/SparseLU_copy_to_ucol.h +107 -0
- include/eigen3/Eigen/src/SparseLU/SparseLU_heap_relax_snode.h +121 -0
- include/eigen3/Eigen/src/SparseLU/SparseLU_kernel_bmod.h +129 -0
- include/eigen3/Eigen/src/SparseLU/SparseLU_panel_bmod.h +222 -0
- include/eigen3/Eigen/src/SparseLU/SparseLU_panel_dfs.h +258 -0
- include/eigen3/Eigen/src/SparseLU/SparseLU_pivotL.h +137 -0
- include/eigen3/Eigen/src/SparseLU/SparseLU_pruneL.h +136 -0
- include/eigen3/Eigen/src/SparseLU/SparseLU_relax_snode.h +83 -0
- include/eigen3/Eigen/src/SparseQR/SparseQR.h +758 -0
- include/eigen3/Eigen/src/StlSupport/StdDeque.h +116 -0
- include/eigen3/Eigen/src/StlSupport/StdList.h +106 -0
- include/eigen3/Eigen/src/StlSupport/StdVector.h +131 -0
- include/eigen3/Eigen/src/StlSupport/details.h +84 -0
- include/eigen3/Eigen/src/SuperLUSupport/SuperLUSupport.h +1025 -0
- include/eigen3/Eigen/src/UmfPackSupport/UmfPackSupport.h +642 -0
- include/eigen3/Eigen/src/misc/Image.h +82 -0
- include/eigen3/Eigen/src/misc/Kernel.h +79 -0
- include/eigen3/Eigen/src/misc/RealSvd2x2.h +55 -0
- include/eigen3/Eigen/src/misc/blas.h +440 -0
- include/eigen3/Eigen/src/misc/lapack.h +152 -0
- include/eigen3/Eigen/src/misc/lapacke.h +16292 -0
- include/eigen3/Eigen/src/misc/lapacke_mangling.h +17 -0
- include/eigen3/Eigen/src/plugins/ArrayCwiseBinaryOps.h +431 -0
- include/eigen3/Eigen/src/plugins/ArrayCwiseUnaryOps.h +696 -0
- include/eigen3/Eigen/src/plugins/BlockMethods.h +1442 -0
- include/eigen3/Eigen/src/plugins/CommonCwiseBinaryOps.h +115 -0
- include/eigen3/Eigen/src/plugins/CommonCwiseUnaryOps.h +177 -0
- include/eigen3/Eigen/src/plugins/IndexedViewMethods.h +262 -0
- include/eigen3/Eigen/src/plugins/MatrixCwiseBinaryOps.h +184 -0
- include/eigen3/Eigen/src/plugins/MatrixCwiseUnaryOps.h +95 -0
- include/eigen3/Eigen/src/plugins/ReshapedMethods.h +149 -0
- include/eigen3/signature_of_eigen3_matrix_library +1 -0
- include/eigen3/unsupported/Eigen/AdolcForward +159 -0
- include/eigen3/unsupported/Eigen/AlignedVector3 +234 -0
- include/eigen3/unsupported/Eigen/ArpackSupport +30 -0
- include/eigen3/unsupported/Eigen/AutoDiff +48 -0
- include/eigen3/unsupported/Eigen/BVH +95 -0
- include/eigen3/unsupported/Eigen/CXX11/Tensor +137 -0
- include/eigen3/unsupported/Eigen/CXX11/TensorSymmetry +42 -0
- include/eigen3/unsupported/Eigen/CXX11/ThreadPool +74 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/Tensor.h +554 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorArgMax.h +327 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorAssign.h +242 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorBase.h +1176 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorBlock.h +1559 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorBroadcasting.h +1083 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorChipping.h +510 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorConcatenation.h +373 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContraction.h +1019 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionBlocking.h +73 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionCuda.h +6 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionGpu.h +1413 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionMapper.h +575 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionSycl.h +1650 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionThreadPool.h +1679 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorConversion.h +455 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorConvolution.h +1126 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorConvolutionSycl.h +536 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorCostModel.h +213 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorCustomOp.h +342 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDevice.h +137 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceCuda.h +6 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceDefault.h +104 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceGpu.h +389 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceSycl.h +1048 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceThreadPool.h +409 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDimensionList.h +234 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDimensions.h +493 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorEvalTo.h +229 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorEvaluator.h +980 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorExecutor.h +701 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorExpr.h +389 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorFFT.h +669 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorFixedSize.h +377 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorForcedEval.h +232 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorForwardDeclarations.h +191 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorFunctors.h +488 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorGenerator.h +297 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorGlobalFunctions.h +33 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorGpuHipCudaDefines.h +99 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorGpuHipCudaUndefines.h +44 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorIO.h +79 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorImagePatch.h +602 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorIndexList.h +735 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorInflation.h +244 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorInitializer.h +82 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorIntDiv.h +257 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorLayoutSwap.h +213 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorMacros.h +98 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorMap.h +327 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorMeta.h +311 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorMorphing.h +1098 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorPadding.h +705 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorPatch.h +286 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorRandom.h +317 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReduction.h +1000 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReductionCuda.h +6 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReductionGpu.h +973 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReductionSycl.h +582 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorRef.h +454 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReverse.h +462 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorScan.h +528 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorScanSycl.h +513 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorShuffling.h +466 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorStorage.h +157 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorStriding.h +341 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorTrace.h +299 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorTraits.h +264 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorUInt128.h +249 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorVolumePatch.h +628 -0
- include/eigen3/unsupported/Eigen/CXX11/src/TensorSymmetry/DynamicSymmetry.h +293 -0
- include/eigen3/unsupported/Eigen/CXX11/src/TensorSymmetry/StaticSymmetry.h +236 -0
- include/eigen3/unsupported/Eigen/CXX11/src/TensorSymmetry/Symmetry.h +338 -0
- include/eigen3/unsupported/Eigen/CXX11/src/TensorSymmetry/util/TemplateGroupTheory.h +669 -0
- include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/Barrier.h +67 -0
- include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/EventCount.h +249 -0
- include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/NonBlockingThreadPool.h +486 -0
- include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/RunQueue.h +236 -0
- include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/ThreadCancel.h +23 -0
- include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/ThreadEnvironment.h +40 -0
- include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/ThreadLocal.h +301 -0
- include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/ThreadPoolInterface.h +48 -0
- include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/ThreadYield.h +20 -0
- include/eigen3/unsupported/Eigen/CXX11/src/util/CXX11Meta.h +538 -0
- include/eigen3/unsupported/Eigen/CXX11/src/util/CXX11Workarounds.h +88 -0
- include/eigen3/unsupported/Eigen/CXX11/src/util/EmulateArray.h +261 -0
- include/eigen3/unsupported/Eigen/CXX11/src/util/MaxSizeVector.h +158 -0
- include/eigen3/unsupported/Eigen/EulerAngles +43 -0
- include/eigen3/unsupported/Eigen/FFT +420 -0
- include/eigen3/unsupported/Eigen/IterativeSolvers +51 -0
- include/eigen3/unsupported/Eigen/KroneckerProduct +36 -0
- include/eigen3/unsupported/Eigen/LevenbergMarquardt +49 -0
- include/eigen3/unsupported/Eigen/MPRealSupport +213 -0
- include/eigen3/unsupported/Eigen/MatrixFunctions +504 -0
- include/eigen3/unsupported/Eigen/MoreVectorization +24 -0
- include/eigen3/unsupported/Eigen/NonLinearOptimization +140 -0
- include/eigen3/unsupported/Eigen/NumericalDiff +56 -0
- include/eigen3/unsupported/Eigen/OpenGLSupport +322 -0
- include/eigen3/unsupported/Eigen/Polynomials +137 -0
- include/eigen3/unsupported/Eigen/Skyline +39 -0
- include/eigen3/unsupported/Eigen/SparseExtra +54 -0
- include/eigen3/unsupported/Eigen/SpecialFunctions +103 -0
- include/eigen3/unsupported/Eigen/Splines +35 -0
- include/eigen3/unsupported/Eigen/src/AutoDiff/AutoDiffJacobian.h +108 -0
- include/eigen3/unsupported/Eigen/src/AutoDiff/AutoDiffScalar.h +730 -0
- include/eigen3/unsupported/Eigen/src/AutoDiff/AutoDiffVector.h +220 -0
- include/eigen3/unsupported/Eigen/src/BVH/BVAlgorithms.h +293 -0
- include/eigen3/unsupported/Eigen/src/BVH/KdBVH.h +223 -0
- include/eigen3/unsupported/Eigen/src/Eigenvalues/ArpackSelfAdjointEigenSolver.h +790 -0
- include/eigen3/unsupported/Eigen/src/EulerAngles/EulerAngles.h +356 -0
- include/eigen3/unsupported/Eigen/src/EulerAngles/EulerSystem.h +306 -0
- include/eigen3/unsupported/Eigen/src/FFT/ei_fftw_impl.h +261 -0
- include/eigen3/unsupported/Eigen/src/FFT/ei_kissfft_impl.h +449 -0
- include/eigen3/unsupported/Eigen/src/IterativeSolvers/ConstrainedConjGrad.h +187 -0
- include/eigen3/unsupported/Eigen/src/IterativeSolvers/DGMRES.h +511 -0
- include/eigen3/unsupported/Eigen/src/IterativeSolvers/GMRES.h +335 -0
- include/eigen3/unsupported/Eigen/src/IterativeSolvers/IDRS.h +436 -0
- include/eigen3/unsupported/Eigen/src/IterativeSolvers/IncompleteLU.h +90 -0
- include/eigen3/unsupported/Eigen/src/IterativeSolvers/IterationController.h +154 -0
- include/eigen3/unsupported/Eigen/src/IterativeSolvers/MINRES.h +267 -0
- include/eigen3/unsupported/Eigen/src/IterativeSolvers/Scaling.h +193 -0
- include/eigen3/unsupported/Eigen/src/KroneckerProduct/KroneckerTensorProduct.h +305 -0
- include/eigen3/unsupported/Eigen/src/LevenbergMarquardt/LMcovar.h +84 -0
- include/eigen3/unsupported/Eigen/src/LevenbergMarquardt/LMonestep.h +202 -0
- include/eigen3/unsupported/Eigen/src/LevenbergMarquardt/LMpar.h +160 -0
- include/eigen3/unsupported/Eigen/src/LevenbergMarquardt/LMqrsolv.h +188 -0
- include/eigen3/unsupported/Eigen/src/LevenbergMarquardt/LevenbergMarquardt.h +396 -0
- include/eigen3/unsupported/Eigen/src/MatrixFunctions/MatrixExponential.h +441 -0
- include/eigen3/unsupported/Eigen/src/MatrixFunctions/MatrixFunction.h +569 -0
- include/eigen3/unsupported/Eigen/src/MatrixFunctions/MatrixLogarithm.h +373 -0
- include/eigen3/unsupported/Eigen/src/MatrixFunctions/MatrixPower.h +705 -0
- include/eigen3/unsupported/Eigen/src/MatrixFunctions/MatrixSquareRoot.h +368 -0
- include/eigen3/unsupported/Eigen/src/MatrixFunctions/StemFunction.h +117 -0
- include/eigen3/unsupported/Eigen/src/MoreVectorization/MathFunctions.h +95 -0
- include/eigen3/unsupported/Eigen/src/NonLinearOptimization/HybridNonLinearSolver.h +601 -0
- include/eigen3/unsupported/Eigen/src/NonLinearOptimization/LevenbergMarquardt.h +657 -0
- include/eigen3/unsupported/Eigen/src/NonLinearOptimization/chkder.h +66 -0
- include/eigen3/unsupported/Eigen/src/NonLinearOptimization/covar.h +70 -0
- include/eigen3/unsupported/Eigen/src/NonLinearOptimization/dogleg.h +107 -0
- include/eigen3/unsupported/Eigen/src/NonLinearOptimization/fdjac1.h +79 -0
- include/eigen3/unsupported/Eigen/src/NonLinearOptimization/lmpar.h +298 -0
- include/eigen3/unsupported/Eigen/src/NonLinearOptimization/qrsolv.h +91 -0
- include/eigen3/unsupported/Eigen/src/NonLinearOptimization/r1mpyq.h +30 -0
- include/eigen3/unsupported/Eigen/src/NonLinearOptimization/r1updt.h +99 -0
- include/eigen3/unsupported/Eigen/src/NonLinearOptimization/rwupdt.h +49 -0
- include/eigen3/unsupported/Eigen/src/NumericalDiff/NumericalDiff.h +130 -0
- include/eigen3/unsupported/Eigen/src/Polynomials/Companion.h +280 -0
- include/eigen3/unsupported/Eigen/src/Polynomials/PolynomialSolver.h +429 -0
- include/eigen3/unsupported/Eigen/src/Polynomials/PolynomialUtils.h +143 -0
- include/eigen3/unsupported/Eigen/src/Skyline/SkylineInplaceLU.h +352 -0
- include/eigen3/unsupported/Eigen/src/Skyline/SkylineMatrix.h +862 -0
- include/eigen3/unsupported/Eigen/src/Skyline/SkylineMatrixBase.h +212 -0
- include/eigen3/unsupported/Eigen/src/Skyline/SkylineProduct.h +295 -0
- include/eigen3/unsupported/Eigen/src/Skyline/SkylineStorage.h +259 -0
- include/eigen3/unsupported/Eigen/src/Skyline/SkylineUtil.h +89 -0
- include/eigen3/unsupported/Eigen/src/SparseExtra/BlockOfDynamicSparseMatrix.h +122 -0
- include/eigen3/unsupported/Eigen/src/SparseExtra/BlockSparseMatrix.h +1079 -0
- include/eigen3/unsupported/Eigen/src/SparseExtra/DynamicSparseMatrix.h +404 -0
- include/eigen3/unsupported/Eigen/src/SparseExtra/MarketIO.h +282 -0
- include/eigen3/unsupported/Eigen/src/SparseExtra/MatrixMarketIterator.h +247 -0
- include/eigen3/unsupported/Eigen/src/SparseExtra/RandomSetter.h +349 -0
- include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsArrayAPI.h +286 -0
- include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsBFloat16.h +68 -0
- include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h +357 -0
- include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsHalf.h +66 -0
- include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h +1959 -0
- include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsPacketMath.h +118 -0
- include/eigen3/unsupported/Eigen/src/SpecialFunctions/HipVectorCompatibility.h +67 -0
- include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsArrayAPI.h +167 -0
- include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsBFloat16.h +58 -0
- include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h +330 -0
- include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsHalf.h +58 -0
- include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h +2051 -0
- include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsPacketMath.h +79 -0
- include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/AVX/BesselFunctions.h +46 -0
- include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/AVX/SpecialFunctions.h +16 -0
- include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/AVX512/BesselFunctions.h +51 -0
- include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/AVX512/SpecialFunctions.h +16 -0
- include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/GPU/SpecialFunctions.h +369 -0
- include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/NEON/BesselFunctions.h +54 -0
- include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/NEON/SpecialFunctions.h +34 -0
- include/eigen3/unsupported/Eigen/src/Splines/Spline.h +507 -0
- include/eigen3/unsupported/Eigen/src/Splines/SplineFitting.h +431 -0
- include/eigen3/unsupported/Eigen/src/Splines/SplineFwd.h +93 -0
|
@@ -0,0 +1,247 @@
|
|
|
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
|
+
#ifndef EIGEN_INDEXED_VIEW_H
|
|
11
|
+
#define EIGEN_INDEXED_VIEW_H
|
|
12
|
+
|
|
13
|
+
namespace Eigen {
|
|
14
|
+
|
|
15
|
+
namespace internal {
|
|
16
|
+
|
|
17
|
+
template<typename XprType, typename RowIndices, typename ColIndices>
|
|
18
|
+
struct traits<IndexedView<XprType, RowIndices, ColIndices> >
|
|
19
|
+
: traits<XprType>
|
|
20
|
+
{
|
|
21
|
+
enum {
|
|
22
|
+
RowsAtCompileTime = int(array_size<RowIndices>::value),
|
|
23
|
+
ColsAtCompileTime = int(array_size<ColIndices>::value),
|
|
24
|
+
MaxRowsAtCompileTime = RowsAtCompileTime != Dynamic ? int(RowsAtCompileTime) : Dynamic,
|
|
25
|
+
MaxColsAtCompileTime = ColsAtCompileTime != Dynamic ? int(ColsAtCompileTime) : Dynamic,
|
|
26
|
+
|
|
27
|
+
XprTypeIsRowMajor = (int(traits<XprType>::Flags)&RowMajorBit) != 0,
|
|
28
|
+
IsRowMajor = (MaxRowsAtCompileTime==1&&MaxColsAtCompileTime!=1) ? 1
|
|
29
|
+
: (MaxColsAtCompileTime==1&&MaxRowsAtCompileTime!=1) ? 0
|
|
30
|
+
: XprTypeIsRowMajor,
|
|
31
|
+
|
|
32
|
+
RowIncr = int(get_compile_time_incr<RowIndices>::value),
|
|
33
|
+
ColIncr = int(get_compile_time_incr<ColIndices>::value),
|
|
34
|
+
InnerIncr = IsRowMajor ? ColIncr : RowIncr,
|
|
35
|
+
OuterIncr = IsRowMajor ? RowIncr : ColIncr,
|
|
36
|
+
|
|
37
|
+
HasSameStorageOrderAsXprType = (IsRowMajor == XprTypeIsRowMajor),
|
|
38
|
+
XprInnerStride = HasSameStorageOrderAsXprType ? int(inner_stride_at_compile_time<XprType>::ret) : int(outer_stride_at_compile_time<XprType>::ret),
|
|
39
|
+
XprOuterstride = HasSameStorageOrderAsXprType ? int(outer_stride_at_compile_time<XprType>::ret) : int(inner_stride_at_compile_time<XprType>::ret),
|
|
40
|
+
|
|
41
|
+
InnerSize = XprTypeIsRowMajor ? ColsAtCompileTime : RowsAtCompileTime,
|
|
42
|
+
IsBlockAlike = InnerIncr==1 && OuterIncr==1,
|
|
43
|
+
IsInnerPannel = HasSameStorageOrderAsXprType && is_same<AllRange<InnerSize>,typename conditional<XprTypeIsRowMajor,ColIndices,RowIndices>::type>::value,
|
|
44
|
+
|
|
45
|
+
InnerStrideAtCompileTime = InnerIncr<0 || InnerIncr==DynamicIndex || XprInnerStride==Dynamic ? Dynamic : XprInnerStride * InnerIncr,
|
|
46
|
+
OuterStrideAtCompileTime = OuterIncr<0 || OuterIncr==DynamicIndex || XprOuterstride==Dynamic ? Dynamic : XprOuterstride * OuterIncr,
|
|
47
|
+
|
|
48
|
+
ReturnAsScalar = is_same<RowIndices,SingleRange>::value && is_same<ColIndices,SingleRange>::value,
|
|
49
|
+
ReturnAsBlock = (!ReturnAsScalar) && IsBlockAlike,
|
|
50
|
+
ReturnAsIndexedView = (!ReturnAsScalar) && (!ReturnAsBlock),
|
|
51
|
+
|
|
52
|
+
// FIXME we deal with compile-time strides if and only if we have DirectAccessBit flag,
|
|
53
|
+
// but this is too strict regarding negative strides...
|
|
54
|
+
DirectAccessMask = (int(InnerIncr)!=UndefinedIncr && int(OuterIncr)!=UndefinedIncr && InnerIncr>=0 && OuterIncr>=0) ? DirectAccessBit : 0,
|
|
55
|
+
FlagsRowMajorBit = IsRowMajor ? RowMajorBit : 0,
|
|
56
|
+
FlagsLvalueBit = is_lvalue<XprType>::value ? LvalueBit : 0,
|
|
57
|
+
FlagsLinearAccessBit = (RowsAtCompileTime == 1 || ColsAtCompileTime == 1) ? LinearAccessBit : 0,
|
|
58
|
+
Flags = (traits<XprType>::Flags & (HereditaryBits | DirectAccessMask )) | FlagsLvalueBit | FlagsRowMajorBit | FlagsLinearAccessBit
|
|
59
|
+
};
|
|
60
|
+
|
|
61
|
+
typedef Block<XprType,RowsAtCompileTime,ColsAtCompileTime,IsInnerPannel> BlockType;
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
template<typename XprType, typename RowIndices, typename ColIndices, typename StorageKind>
|
|
67
|
+
class IndexedViewImpl;
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
/** \class IndexedView
|
|
71
|
+
* \ingroup Core_Module
|
|
72
|
+
*
|
|
73
|
+
* \brief Expression of a non-sequential sub-matrix defined by arbitrary sequences of row and column indices
|
|
74
|
+
*
|
|
75
|
+
* \tparam XprType the type of the expression in which we are taking the intersections of sub-rows and sub-columns
|
|
76
|
+
* \tparam RowIndices the type of the object defining the sequence of row indices
|
|
77
|
+
* \tparam ColIndices the type of the object defining the sequence of column indices
|
|
78
|
+
*
|
|
79
|
+
* This class represents an expression of a sub-matrix (or sub-vector) defined as the intersection
|
|
80
|
+
* of sub-sets of rows and columns, that are themself defined by generic sequences of row indices \f$ \{r_0,r_1,..r_{m-1}\} \f$
|
|
81
|
+
* and column indices \f$ \{c_0,c_1,..c_{n-1} \}\f$. Let \f$ A \f$ be the nested matrix, then the resulting matrix \f$ B \f$ has \c m
|
|
82
|
+
* rows and \c n columns, and its entries are given by: \f$ B(i,j) = A(r_i,c_j) \f$.
|
|
83
|
+
*
|
|
84
|
+
* The \c RowIndices and \c ColIndices types must be compatible with the following API:
|
|
85
|
+
* \code
|
|
86
|
+
* <integral type> operator[](Index) const;
|
|
87
|
+
* Index size() const;
|
|
88
|
+
* \endcode
|
|
89
|
+
*
|
|
90
|
+
* Typical supported types thus include:
|
|
91
|
+
* - std::vector<int>
|
|
92
|
+
* - std::valarray<int>
|
|
93
|
+
* - std::array<int>
|
|
94
|
+
* - Plain C arrays: int[N]
|
|
95
|
+
* - Eigen::ArrayXi
|
|
96
|
+
* - decltype(ArrayXi::LinSpaced(...))
|
|
97
|
+
* - Any view/expressions of the previous types
|
|
98
|
+
* - Eigen::ArithmeticSequence
|
|
99
|
+
* - Eigen::internal::AllRange (helper for Eigen::all)
|
|
100
|
+
* - Eigen::internal::SingleRange (helper for single index)
|
|
101
|
+
* - etc.
|
|
102
|
+
*
|
|
103
|
+
* In typical usages of %Eigen, this class should never be used directly. It is the return type of
|
|
104
|
+
* DenseBase::operator()(const RowIndices&, const ColIndices&).
|
|
105
|
+
*
|
|
106
|
+
* \sa class Block
|
|
107
|
+
*/
|
|
108
|
+
template<typename XprType, typename RowIndices, typename ColIndices>
|
|
109
|
+
class IndexedView : public IndexedViewImpl<XprType, RowIndices, ColIndices, typename internal::traits<XprType>::StorageKind>
|
|
110
|
+
{
|
|
111
|
+
public:
|
|
112
|
+
typedef typename IndexedViewImpl<XprType, RowIndices, ColIndices, typename internal::traits<XprType>::StorageKind>::Base Base;
|
|
113
|
+
EIGEN_GENERIC_PUBLIC_INTERFACE(IndexedView)
|
|
114
|
+
EIGEN_INHERIT_ASSIGNMENT_OPERATORS(IndexedView)
|
|
115
|
+
|
|
116
|
+
typedef typename internal::ref_selector<XprType>::non_const_type MatrixTypeNested;
|
|
117
|
+
typedef typename internal::remove_all<XprType>::type NestedExpression;
|
|
118
|
+
|
|
119
|
+
template<typename T0, typename T1>
|
|
120
|
+
IndexedView(XprType& xpr, const T0& rowIndices, const T1& colIndices)
|
|
121
|
+
: m_xpr(xpr), m_rowIndices(rowIndices), m_colIndices(colIndices)
|
|
122
|
+
{}
|
|
123
|
+
|
|
124
|
+
/** \returns number of rows */
|
|
125
|
+
Index rows() const { return internal::index_list_size(m_rowIndices); }
|
|
126
|
+
|
|
127
|
+
/** \returns number of columns */
|
|
128
|
+
Index cols() const { return internal::index_list_size(m_colIndices); }
|
|
129
|
+
|
|
130
|
+
/** \returns the nested expression */
|
|
131
|
+
const typename internal::remove_all<XprType>::type&
|
|
132
|
+
nestedExpression() const { return m_xpr; }
|
|
133
|
+
|
|
134
|
+
/** \returns the nested expression */
|
|
135
|
+
typename internal::remove_reference<XprType>::type&
|
|
136
|
+
nestedExpression() { return m_xpr; }
|
|
137
|
+
|
|
138
|
+
/** \returns a const reference to the object storing/generating the row indices */
|
|
139
|
+
const RowIndices& rowIndices() const { return m_rowIndices; }
|
|
140
|
+
|
|
141
|
+
/** \returns a const reference to the object storing/generating the column indices */
|
|
142
|
+
const ColIndices& colIndices() const { return m_colIndices; }
|
|
143
|
+
|
|
144
|
+
protected:
|
|
145
|
+
MatrixTypeNested m_xpr;
|
|
146
|
+
RowIndices m_rowIndices;
|
|
147
|
+
ColIndices m_colIndices;
|
|
148
|
+
};
|
|
149
|
+
|
|
150
|
+
|
|
151
|
+
// Generic API dispatcher
|
|
152
|
+
template<typename XprType, typename RowIndices, typename ColIndices, typename StorageKind>
|
|
153
|
+
class IndexedViewImpl
|
|
154
|
+
: public internal::generic_xpr_base<IndexedView<XprType, RowIndices, ColIndices> >::type
|
|
155
|
+
{
|
|
156
|
+
public:
|
|
157
|
+
typedef typename internal::generic_xpr_base<IndexedView<XprType, RowIndices, ColIndices> >::type Base;
|
|
158
|
+
};
|
|
159
|
+
|
|
160
|
+
namespace internal {
|
|
161
|
+
|
|
162
|
+
|
|
163
|
+
template<typename ArgType, typename RowIndices, typename ColIndices>
|
|
164
|
+
struct unary_evaluator<IndexedView<ArgType, RowIndices, ColIndices>, IndexBased>
|
|
165
|
+
: evaluator_base<IndexedView<ArgType, RowIndices, ColIndices> >
|
|
166
|
+
{
|
|
167
|
+
typedef IndexedView<ArgType, RowIndices, ColIndices> XprType;
|
|
168
|
+
|
|
169
|
+
enum {
|
|
170
|
+
CoeffReadCost = evaluator<ArgType>::CoeffReadCost /* TODO + cost of row/col index */,
|
|
171
|
+
|
|
172
|
+
FlagsLinearAccessBit = (traits<XprType>::RowsAtCompileTime == 1 || traits<XprType>::ColsAtCompileTime == 1) ? LinearAccessBit : 0,
|
|
173
|
+
|
|
174
|
+
FlagsRowMajorBit = traits<XprType>::FlagsRowMajorBit,
|
|
175
|
+
|
|
176
|
+
Flags = (evaluator<ArgType>::Flags & (HereditaryBits & ~RowMajorBit /*| LinearAccessBit | DirectAccessBit*/)) | FlagsLinearAccessBit | FlagsRowMajorBit,
|
|
177
|
+
|
|
178
|
+
Alignment = 0
|
|
179
|
+
};
|
|
180
|
+
|
|
181
|
+
EIGEN_DEVICE_FUNC explicit unary_evaluator(const XprType& xpr) : m_argImpl(xpr.nestedExpression()), m_xpr(xpr)
|
|
182
|
+
{
|
|
183
|
+
EIGEN_INTERNAL_CHECK_COST_VALUE(CoeffReadCost);
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
typedef typename XprType::Scalar Scalar;
|
|
187
|
+
typedef typename XprType::CoeffReturnType CoeffReturnType;
|
|
188
|
+
|
|
189
|
+
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
|
|
190
|
+
CoeffReturnType coeff(Index row, Index col) const
|
|
191
|
+
{
|
|
192
|
+
eigen_assert(m_xpr.rowIndices()[row] >= 0 && m_xpr.rowIndices()[row] < m_xpr.nestedExpression().rows()
|
|
193
|
+
&& m_xpr.colIndices()[col] >= 0 && m_xpr.colIndices()[col] < m_xpr.nestedExpression().cols());
|
|
194
|
+
return m_argImpl.coeff(m_xpr.rowIndices()[row], m_xpr.colIndices()[col]);
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
|
|
198
|
+
Scalar& coeffRef(Index row, Index col)
|
|
199
|
+
{
|
|
200
|
+
eigen_assert(m_xpr.rowIndices()[row] >= 0 && m_xpr.rowIndices()[row] < m_xpr.nestedExpression().rows()
|
|
201
|
+
&& m_xpr.colIndices()[col] >= 0 && m_xpr.colIndices()[col] < m_xpr.nestedExpression().cols());
|
|
202
|
+
return m_argImpl.coeffRef(m_xpr.rowIndices()[row], m_xpr.colIndices()[col]);
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
|
|
206
|
+
Scalar& coeffRef(Index index)
|
|
207
|
+
{
|
|
208
|
+
EIGEN_STATIC_ASSERT_LVALUE(XprType)
|
|
209
|
+
Index row = XprType::RowsAtCompileTime == 1 ? 0 : index;
|
|
210
|
+
Index col = XprType::RowsAtCompileTime == 1 ? index : 0;
|
|
211
|
+
eigen_assert(m_xpr.rowIndices()[row] >= 0 && m_xpr.rowIndices()[row] < m_xpr.nestedExpression().rows()
|
|
212
|
+
&& m_xpr.colIndices()[col] >= 0 && m_xpr.colIndices()[col] < m_xpr.nestedExpression().cols());
|
|
213
|
+
return m_argImpl.coeffRef( m_xpr.rowIndices()[row], m_xpr.colIndices()[col]);
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
|
|
217
|
+
const Scalar& coeffRef(Index index) const
|
|
218
|
+
{
|
|
219
|
+
Index row = XprType::RowsAtCompileTime == 1 ? 0 : index;
|
|
220
|
+
Index col = XprType::RowsAtCompileTime == 1 ? index : 0;
|
|
221
|
+
eigen_assert(m_xpr.rowIndices()[row] >= 0 && m_xpr.rowIndices()[row] < m_xpr.nestedExpression().rows()
|
|
222
|
+
&& m_xpr.colIndices()[col] >= 0 && m_xpr.colIndices()[col] < m_xpr.nestedExpression().cols());
|
|
223
|
+
return m_argImpl.coeffRef( m_xpr.rowIndices()[row], m_xpr.colIndices()[col]);
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
|
|
227
|
+
const CoeffReturnType coeff(Index index) const
|
|
228
|
+
{
|
|
229
|
+
Index row = XprType::RowsAtCompileTime == 1 ? 0 : index;
|
|
230
|
+
Index col = XprType::RowsAtCompileTime == 1 ? index : 0;
|
|
231
|
+
eigen_assert(m_xpr.rowIndices()[row] >= 0 && m_xpr.rowIndices()[row] < m_xpr.nestedExpression().rows()
|
|
232
|
+
&& m_xpr.colIndices()[col] >= 0 && m_xpr.colIndices()[col] < m_xpr.nestedExpression().cols());
|
|
233
|
+
return m_argImpl.coeff( m_xpr.rowIndices()[row], m_xpr.colIndices()[col]);
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
protected:
|
|
237
|
+
|
|
238
|
+
evaluator<ArgType> m_argImpl;
|
|
239
|
+
const XprType& m_xpr;
|
|
240
|
+
|
|
241
|
+
};
|
|
242
|
+
|
|
243
|
+
} // end namespace internal
|
|
244
|
+
|
|
245
|
+
} // end namespace Eigen
|
|
246
|
+
|
|
247
|
+
#endif // EIGEN_INDEXED_VIEW_H
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
// This file is part of Eigen, a lightweight C++ template library
|
|
2
|
+
// for linear algebra.
|
|
3
|
+
//
|
|
4
|
+
// Copyright (C) 2014-2019 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
|
+
#ifndef EIGEN_INVERSE_H
|
|
11
|
+
#define EIGEN_INVERSE_H
|
|
12
|
+
|
|
13
|
+
namespace Eigen {
|
|
14
|
+
|
|
15
|
+
template<typename XprType,typename StorageKind> class InverseImpl;
|
|
16
|
+
|
|
17
|
+
namespace internal {
|
|
18
|
+
|
|
19
|
+
template<typename XprType>
|
|
20
|
+
struct traits<Inverse<XprType> >
|
|
21
|
+
: traits<typename XprType::PlainObject>
|
|
22
|
+
{
|
|
23
|
+
typedef typename XprType::PlainObject PlainObject;
|
|
24
|
+
typedef traits<PlainObject> BaseTraits;
|
|
25
|
+
enum {
|
|
26
|
+
Flags = BaseTraits::Flags & RowMajorBit
|
|
27
|
+
};
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
} // end namespace internal
|
|
31
|
+
|
|
32
|
+
/** \class Inverse
|
|
33
|
+
*
|
|
34
|
+
* \brief Expression of the inverse of another expression
|
|
35
|
+
*
|
|
36
|
+
* \tparam XprType the type of the expression we are taking the inverse
|
|
37
|
+
*
|
|
38
|
+
* This class represents an abstract expression of A.inverse()
|
|
39
|
+
* and most of the time this is the only way it is used.
|
|
40
|
+
*
|
|
41
|
+
*/
|
|
42
|
+
template<typename XprType>
|
|
43
|
+
class Inverse : public InverseImpl<XprType,typename internal::traits<XprType>::StorageKind>
|
|
44
|
+
{
|
|
45
|
+
public:
|
|
46
|
+
typedef typename XprType::StorageIndex StorageIndex;
|
|
47
|
+
typedef typename XprType::Scalar Scalar;
|
|
48
|
+
typedef typename internal::ref_selector<XprType>::type XprTypeNested;
|
|
49
|
+
typedef typename internal::remove_all<XprTypeNested>::type XprTypeNestedCleaned;
|
|
50
|
+
typedef typename internal::ref_selector<Inverse>::type Nested;
|
|
51
|
+
typedef typename internal::remove_all<XprType>::type NestedExpression;
|
|
52
|
+
|
|
53
|
+
explicit EIGEN_DEVICE_FUNC Inverse(const XprType &xpr)
|
|
54
|
+
: m_xpr(xpr)
|
|
55
|
+
{}
|
|
56
|
+
|
|
57
|
+
EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR Index rows() const EIGEN_NOEXCEPT { return m_xpr.cols(); }
|
|
58
|
+
EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR Index cols() const EIGEN_NOEXCEPT { return m_xpr.rows(); }
|
|
59
|
+
|
|
60
|
+
EIGEN_DEVICE_FUNC const XprTypeNestedCleaned& nestedExpression() const { return m_xpr; }
|
|
61
|
+
|
|
62
|
+
protected:
|
|
63
|
+
XprTypeNested m_xpr;
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
// Generic API dispatcher
|
|
67
|
+
template<typename XprType, typename StorageKind>
|
|
68
|
+
class InverseImpl
|
|
69
|
+
: public internal::generic_xpr_base<Inverse<XprType> >::type
|
|
70
|
+
{
|
|
71
|
+
public:
|
|
72
|
+
typedef typename internal::generic_xpr_base<Inverse<XprType> >::type Base;
|
|
73
|
+
typedef typename XprType::Scalar Scalar;
|
|
74
|
+
private:
|
|
75
|
+
|
|
76
|
+
Scalar coeff(Index row, Index col) const;
|
|
77
|
+
Scalar coeff(Index i) const;
|
|
78
|
+
};
|
|
79
|
+
|
|
80
|
+
namespace internal {
|
|
81
|
+
|
|
82
|
+
/** \internal
|
|
83
|
+
* \brief Default evaluator for Inverse expression.
|
|
84
|
+
*
|
|
85
|
+
* This default evaluator for Inverse expression simply evaluate the inverse into a temporary
|
|
86
|
+
* by a call to internal::call_assignment_no_alias.
|
|
87
|
+
* Therefore, inverse implementers only have to specialize Assignment<Dst,Inverse<...>, ...> for
|
|
88
|
+
* there own nested expression.
|
|
89
|
+
*
|
|
90
|
+
* \sa class Inverse
|
|
91
|
+
*/
|
|
92
|
+
template<typename ArgType>
|
|
93
|
+
struct unary_evaluator<Inverse<ArgType> >
|
|
94
|
+
: public evaluator<typename Inverse<ArgType>::PlainObject>
|
|
95
|
+
{
|
|
96
|
+
typedef Inverse<ArgType> InverseType;
|
|
97
|
+
typedef typename InverseType::PlainObject PlainObject;
|
|
98
|
+
typedef evaluator<PlainObject> Base;
|
|
99
|
+
|
|
100
|
+
enum { Flags = Base::Flags | EvalBeforeNestingBit };
|
|
101
|
+
|
|
102
|
+
unary_evaluator(const InverseType& inv_xpr)
|
|
103
|
+
: m_result(inv_xpr.rows(), inv_xpr.cols())
|
|
104
|
+
{
|
|
105
|
+
::new (static_cast<Base*>(this)) Base(m_result);
|
|
106
|
+
internal::call_assignment_no_alias(m_result, inv_xpr);
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
protected:
|
|
110
|
+
PlainObject m_result;
|
|
111
|
+
};
|
|
112
|
+
|
|
113
|
+
} // end namespace internal
|
|
114
|
+
|
|
115
|
+
} // end namespace Eigen
|
|
116
|
+
|
|
117
|
+
#endif // EIGEN_INVERSE_H
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
// This file is part of Eigen, a lightweight C++ template library
|
|
2
|
+
// for linear algebra.
|
|
3
|
+
//
|
|
4
|
+
// Copyright (C) 2007-2010 Benoit Jacob <jacob.benoit.1@gmail.com>
|
|
5
|
+
// Copyright (C) 2008 Gael Guennebaud <gael.guennebaud@inria.fr>
|
|
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
|
+
#ifndef EIGEN_MAP_H
|
|
12
|
+
#define EIGEN_MAP_H
|
|
13
|
+
|
|
14
|
+
namespace Eigen {
|
|
15
|
+
|
|
16
|
+
namespace internal {
|
|
17
|
+
template<typename PlainObjectType, int MapOptions, typename StrideType>
|
|
18
|
+
struct traits<Map<PlainObjectType, MapOptions, StrideType> >
|
|
19
|
+
: public traits<PlainObjectType>
|
|
20
|
+
{
|
|
21
|
+
typedef traits<PlainObjectType> TraitsBase;
|
|
22
|
+
enum {
|
|
23
|
+
PlainObjectTypeInnerSize = ((traits<PlainObjectType>::Flags&RowMajorBit)==RowMajorBit)
|
|
24
|
+
? PlainObjectType::ColsAtCompileTime
|
|
25
|
+
: PlainObjectType::RowsAtCompileTime,
|
|
26
|
+
|
|
27
|
+
InnerStrideAtCompileTime = StrideType::InnerStrideAtCompileTime == 0
|
|
28
|
+
? int(PlainObjectType::InnerStrideAtCompileTime)
|
|
29
|
+
: int(StrideType::InnerStrideAtCompileTime),
|
|
30
|
+
OuterStrideAtCompileTime = StrideType::OuterStrideAtCompileTime == 0
|
|
31
|
+
? (InnerStrideAtCompileTime==Dynamic || PlainObjectTypeInnerSize==Dynamic
|
|
32
|
+
? Dynamic
|
|
33
|
+
: int(InnerStrideAtCompileTime) * int(PlainObjectTypeInnerSize))
|
|
34
|
+
: int(StrideType::OuterStrideAtCompileTime),
|
|
35
|
+
Alignment = int(MapOptions)&int(AlignedMask),
|
|
36
|
+
Flags0 = TraitsBase::Flags & (~NestByRefBit),
|
|
37
|
+
Flags = is_lvalue<PlainObjectType>::value ? int(Flags0) : (int(Flags0) & ~LvalueBit)
|
|
38
|
+
};
|
|
39
|
+
private:
|
|
40
|
+
enum { Options }; // Expressions don't have Options
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
/** \class Map
|
|
45
|
+
* \ingroup Core_Module
|
|
46
|
+
*
|
|
47
|
+
* \brief A matrix or vector expression mapping an existing array of data.
|
|
48
|
+
*
|
|
49
|
+
* \tparam PlainObjectType the equivalent matrix type of the mapped data
|
|
50
|
+
* \tparam MapOptions specifies the pointer alignment in bytes. It can be: \c #Aligned128, \c #Aligned64, \c #Aligned32, \c #Aligned16, \c #Aligned8 or \c #Unaligned.
|
|
51
|
+
* The default is \c #Unaligned.
|
|
52
|
+
* \tparam StrideType optionally specifies strides. By default, Map assumes the memory layout
|
|
53
|
+
* of an ordinary, contiguous array. This can be overridden by specifying strides.
|
|
54
|
+
* The type passed here must be a specialization of the Stride template, see examples below.
|
|
55
|
+
*
|
|
56
|
+
* This class represents a matrix or vector expression mapping an existing array of data.
|
|
57
|
+
* It can be used to let Eigen interface without any overhead with non-Eigen data structures,
|
|
58
|
+
* such as plain C arrays or structures from other libraries. By default, it assumes that the
|
|
59
|
+
* data is laid out contiguously in memory. You can however override this by explicitly specifying
|
|
60
|
+
* inner and outer strides.
|
|
61
|
+
*
|
|
62
|
+
* Here's an example of simply mapping a contiguous array as a \ref TopicStorageOrders "column-major" matrix:
|
|
63
|
+
* \include Map_simple.cpp
|
|
64
|
+
* Output: \verbinclude Map_simple.out
|
|
65
|
+
*
|
|
66
|
+
* If you need to map non-contiguous arrays, you can do so by specifying strides:
|
|
67
|
+
*
|
|
68
|
+
* Here's an example of mapping an array as a vector, specifying an inner stride, that is, the pointer
|
|
69
|
+
* increment between two consecutive coefficients. Here, we're specifying the inner stride as a compile-time
|
|
70
|
+
* fixed value.
|
|
71
|
+
* \include Map_inner_stride.cpp
|
|
72
|
+
* Output: \verbinclude Map_inner_stride.out
|
|
73
|
+
*
|
|
74
|
+
* Here's an example of mapping an array while specifying an outer stride. Here, since we're mapping
|
|
75
|
+
* as a column-major matrix, 'outer stride' means the pointer increment between two consecutive columns.
|
|
76
|
+
* Here, we're specifying the outer stride as a runtime parameter. Note that here \c OuterStride<> is
|
|
77
|
+
* a short version of \c OuterStride<Dynamic> because the default template parameter of OuterStride
|
|
78
|
+
* is \c Dynamic
|
|
79
|
+
* \include Map_outer_stride.cpp
|
|
80
|
+
* Output: \verbinclude Map_outer_stride.out
|
|
81
|
+
*
|
|
82
|
+
* For more details and for an example of specifying both an inner and an outer stride, see class Stride.
|
|
83
|
+
*
|
|
84
|
+
* \b Tip: to change the array of data mapped by a Map object, you can use the C++
|
|
85
|
+
* placement new syntax:
|
|
86
|
+
*
|
|
87
|
+
* Example: \include Map_placement_new.cpp
|
|
88
|
+
* Output: \verbinclude Map_placement_new.out
|
|
89
|
+
*
|
|
90
|
+
* This class is the return type of PlainObjectBase::Map() but can also be used directly.
|
|
91
|
+
*
|
|
92
|
+
* \sa PlainObjectBase::Map(), \ref TopicStorageOrders
|
|
93
|
+
*/
|
|
94
|
+
template<typename PlainObjectType, int MapOptions, typename StrideType> class Map
|
|
95
|
+
: public MapBase<Map<PlainObjectType, MapOptions, StrideType> >
|
|
96
|
+
{
|
|
97
|
+
public:
|
|
98
|
+
|
|
99
|
+
typedef MapBase<Map> Base;
|
|
100
|
+
EIGEN_DENSE_PUBLIC_INTERFACE(Map)
|
|
101
|
+
|
|
102
|
+
typedef typename Base::PointerType PointerType;
|
|
103
|
+
typedef PointerType PointerArgType;
|
|
104
|
+
EIGEN_DEVICE_FUNC
|
|
105
|
+
inline PointerType cast_to_pointer_type(PointerArgType ptr) { return ptr; }
|
|
106
|
+
|
|
107
|
+
EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR
|
|
108
|
+
inline Index innerStride() const
|
|
109
|
+
{
|
|
110
|
+
return StrideType::InnerStrideAtCompileTime != 0 ? m_stride.inner() : 1;
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR
|
|
114
|
+
inline Index outerStride() const
|
|
115
|
+
{
|
|
116
|
+
return StrideType::OuterStrideAtCompileTime != 0 ? m_stride.outer()
|
|
117
|
+
: internal::traits<Map>::OuterStrideAtCompileTime != Dynamic ? Index(internal::traits<Map>::OuterStrideAtCompileTime)
|
|
118
|
+
: IsVectorAtCompileTime ? (this->size() * innerStride())
|
|
119
|
+
: int(Flags)&RowMajorBit ? (this->cols() * innerStride())
|
|
120
|
+
: (this->rows() * innerStride());
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
/** Constructor in the fixed-size case.
|
|
124
|
+
*
|
|
125
|
+
* \param dataPtr pointer to the array to map
|
|
126
|
+
* \param stride optional Stride object, passing the strides.
|
|
127
|
+
*/
|
|
128
|
+
EIGEN_DEVICE_FUNC
|
|
129
|
+
explicit inline Map(PointerArgType dataPtr, const StrideType& stride = StrideType())
|
|
130
|
+
: Base(cast_to_pointer_type(dataPtr)), m_stride(stride)
|
|
131
|
+
{
|
|
132
|
+
PlainObjectType::Base::_check_template_params();
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
/** Constructor in the dynamic-size vector case.
|
|
136
|
+
*
|
|
137
|
+
* \param dataPtr pointer to the array to map
|
|
138
|
+
* \param size the size of the vector expression
|
|
139
|
+
* \param stride optional Stride object, passing the strides.
|
|
140
|
+
*/
|
|
141
|
+
EIGEN_DEVICE_FUNC
|
|
142
|
+
inline Map(PointerArgType dataPtr, Index size, const StrideType& stride = StrideType())
|
|
143
|
+
: Base(cast_to_pointer_type(dataPtr), size), m_stride(stride)
|
|
144
|
+
{
|
|
145
|
+
PlainObjectType::Base::_check_template_params();
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
/** Constructor in the dynamic-size matrix case.
|
|
149
|
+
*
|
|
150
|
+
* \param dataPtr pointer to the array to map
|
|
151
|
+
* \param rows the number of rows of the matrix expression
|
|
152
|
+
* \param cols the number of columns of the matrix expression
|
|
153
|
+
* \param stride optional Stride object, passing the strides.
|
|
154
|
+
*/
|
|
155
|
+
EIGEN_DEVICE_FUNC
|
|
156
|
+
inline Map(PointerArgType dataPtr, Index rows, Index cols, const StrideType& stride = StrideType())
|
|
157
|
+
: Base(cast_to_pointer_type(dataPtr), rows, cols), m_stride(stride)
|
|
158
|
+
{
|
|
159
|
+
PlainObjectType::Base::_check_template_params();
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
EIGEN_INHERIT_ASSIGNMENT_OPERATORS(Map)
|
|
163
|
+
|
|
164
|
+
protected:
|
|
165
|
+
StrideType m_stride;
|
|
166
|
+
};
|
|
167
|
+
|
|
168
|
+
|
|
169
|
+
} // end namespace Eigen
|
|
170
|
+
|
|
171
|
+
#endif // EIGEN_MAP_H
|