pylibsparseir 0.1.0__cp310-cp310-macosx_15_0_arm64.whl → 0.6.0__cp310-cp310-macosx_15_0_arm64.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.
Potentially problematic release.
This version of pylibsparseir might be problematic. Click here for more details.
- include/eigen3/Eigen/Cholesky +45 -0
- include/eigen3/Eigen/CholmodSupport +48 -0
- include/eigen3/Eigen/Core +384 -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 +50 -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 +413 -0
- include/eigen3/Eigen/src/Core/Array.h +417 -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 +448 -0
- include/eigen3/Eigen/src/Core/BooleanRedux.h +162 -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 +258 -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 +318 -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 +237 -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 +2057 -0
- include/eigen3/Eigen/src/Core/MathFunctionsImpl.h +200 -0
- include/eigen3/Eigen/src/Core/Matrix.h +565 -0
- include/eigen3/Eigen/src/Core/MatrixBase.h +547 -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 +335 -0
- include/eigen3/Eigen/src/Core/PartialReduxEvaluator.h +232 -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 +116 -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 +1001 -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 +372 -0
- include/eigen3/Eigen/src/Core/arch/AVX/MathFunctions.h +228 -0
- include/eigen3/Eigen/src/Core/arch/AVX/PacketMath.h +1574 -0
- include/eigen3/Eigen/src/Core/arch/AVX/TypeCasting.h +115 -0
- include/eigen3/Eigen/src/Core/arch/AVX512/Complex.h +422 -0
- include/eigen3/Eigen/src/Core/arch/AVX512/MathFunctions.h +362 -0
- include/eigen3/Eigen/src/Core/arch/AVX512/PacketMath.h +2303 -0
- include/eigen3/Eigen/src/Core/arch/AVX512/TypeCasting.h +89 -0
- include/eigen3/Eigen/src/Core/arch/AltiVec/Complex.h +417 -0
- include/eigen3/Eigen/src/Core/arch/AltiVec/MathFunctions.h +90 -0
- include/eigen3/Eigen/src/Core/arch/AltiVec/MatrixProduct.h +2937 -0
- include/eigen3/Eigen/src/Core/arch/AltiVec/MatrixProductCommon.h +221 -0
- include/eigen3/Eigen/src/Core/arch/AltiVec/MatrixProductMMA.h +629 -0
- include/eigen3/Eigen/src/Core/arch/AltiVec/PacketMath.h +2711 -0
- include/eigen3/Eigen/src/Core/arch/CUDA/Complex.h +258 -0
- include/eigen3/Eigen/src/Core/arch/Default/BFloat16.h +700 -0
- include/eigen3/Eigen/src/Core/arch/Default/ConjHelper.h +117 -0
- include/eigen3/Eigen/src/Core/arch/Default/GenericPacketMathFunctions.h +1649 -0
- include/eigen3/Eigen/src/Core/arch/Default/GenericPacketMathFunctionsFwd.h +110 -0
- include/eigen3/Eigen/src/Core/arch/Default/Half.h +942 -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 +1685 -0
- include/eigen3/Eigen/src/Core/arch/GPU/TypeCasting.h +80 -0
- include/eigen3/Eigen/src/Core/arch/HIP/hcc/math_constants.h +23 -0
- include/eigen3/Eigen/src/Core/arch/MSA/Complex.h +648 -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 +584 -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 +4587 -0
- include/eigen3/Eigen/src/Core/arch/NEON/TypeCasting.h +1419 -0
- include/eigen3/Eigen/src/Core/arch/SSE/Complex.h +351 -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 +426 -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 +317 -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 +518 -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 +512 -0
- include/eigen3/Eigen/src/Core/util/Constants.h +563 -0
- include/eigen3/Eigen/src/Core/util/DisableStupidWarnings.h +106 -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 +1464 -0
- include/eigen3/Eigen/src/Core/util/Memory.h +1163 -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 +346 -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 +418 -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 +558 -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 +561 -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 +1563 -0
- include/eigen3/Eigen/src/Geometry/Translation.h +202 -0
- include/eigen3/Eigen/src/Geometry/Umeyama.h +166 -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 +545 -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 +229 -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 +351 -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 +1366 -0
- include/eigen3/Eigen/src/SVD/JacobiSVD.h +812 -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 +414 -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 +571 -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 +305 -0
- include/eigen3/Eigen/src/SparseCore/SparseMatrix.h +1518 -0
- include/eigen3/Eigen/src/SparseCore/SparseMatrixBase.h +398 -0
- include/eigen3/Eigen/src/SparseCore/SparsePermutation.h +178 -0
- include/eigen3/Eigen/src/SparseCore/SparseProduct.h +181 -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 +478 -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 +923 -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 +375 -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_gemm_kernel.h +280 -0
- include/eigen3/Eigen/src/SparseLU/SparseLU_heap_relax_snode.h +126 -0
- include/eigen3/Eigen/src/SparseLU/SparseLU_kernel_bmod.h +130 -0
- include/eigen3/Eigen/src/SparseLU/SparseLU_panel_bmod.h +223 -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 +358 -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 +152 -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 +46 -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 +329 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorAssign.h +247 -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 +1093 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorChipping.h +518 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorConcatenation.h +377 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContraction.h +1023 -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 +456 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorConvolution.h +1132 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorConvolutionSycl.h +544 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorCostModel.h +214 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorCustomOp.h +347 -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 +236 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDimensions.h +490 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorEvalTo.h +236 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorEvaluator.h +983 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorExecutor.h +703 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorExpr.h +388 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorFFT.h +669 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorFixedSize.h +379 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorForcedEval.h +237 -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 +302 -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 +603 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorIndexList.h +738 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorInflation.h +247 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorInitializer.h +82 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorIntDiv.h +263 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorLayoutSwap.h +216 -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 +1102 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorPadding.h +708 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorPatch.h +291 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorRandom.h +322 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReduction.h +998 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReductionCuda.h +6 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReductionGpu.h +966 -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 +465 -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 +471 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorStorage.h +161 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorStriding.h +346 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorTrace.h +303 -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 +629 -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 +537 -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 +419 -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 +355 -0
- include/eigen3/unsupported/Eigen/src/EulerAngles/EulerSystem.h +305 -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 +428 -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 +2045 -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 +46 -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
- pylibsparseir/__init__.py +31 -0
- pylibsparseir/clean_build_artifacts.py +0 -1
- pylibsparseir/core.py +178 -62
- pylibsparseir/libsparseir.dylib +0 -0
- pylibsparseir-0.6.0.dist-info/METADATA +213 -0
- pylibsparseir-0.6.0.dist-info/RECORD +545 -0
- {pylibsparseir-0.1.0.dist-info → pylibsparseir-0.6.0.dist-info}/WHEEL +1 -1
- pylibsparseir-0.6.0.dist-info/licenses/LICENSE +21 -0
- share/eigen3/cmake/Eigen3Config.cmake +37 -0
- share/eigen3/cmake/Eigen3ConfigVersion.cmake +65 -0
- share/eigen3/cmake/Eigen3Targets.cmake +106 -0
- share/eigen3/cmake/UseEigen3.cmake +6 -0
- share/pkgconfig/eigen3.pc +9 -0
- pylibsparseir/libsparseir.0.4.2.dylib +0 -0
- pylibsparseir/libsparseir.0.dylib +0 -0
- pylibsparseir-0.1.0.dist-info/METADATA +0 -130
- pylibsparseir-0.1.0.dist-info/RECORD +0 -12
- pylibsparseir-0.1.0.dist-info/entry_points.txt +0 -2
- pylibsparseir-0.1.0.dist-info/top_level.txt +0 -1
|
@@ -0,0 +1,465 @@
|
|
|
1
|
+
// This file is part of Eigen, a lightweight C++ template library
|
|
2
|
+
// for linear algebra.
|
|
3
|
+
//
|
|
4
|
+
// Copyright (C) 2014 Navdeep Jaitly <ndjaitly@google.com>
|
|
5
|
+
// Benoit Steiner <benoit.steiner.goog@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
|
+
#ifndef EIGEN_CXX11_TENSOR_TENSOR_REVERSE_H
|
|
12
|
+
#define EIGEN_CXX11_TENSOR_TENSOR_REVERSE_H
|
|
13
|
+
namespace Eigen {
|
|
14
|
+
|
|
15
|
+
/** \class TensorReverse
|
|
16
|
+
* \ingroup CXX11_Tensor_Module
|
|
17
|
+
*
|
|
18
|
+
* \brief Tensor reverse elements class.
|
|
19
|
+
*
|
|
20
|
+
*/
|
|
21
|
+
namespace internal {
|
|
22
|
+
template<typename ReverseDimensions, typename XprType>
|
|
23
|
+
struct traits<TensorReverseOp<ReverseDimensions,
|
|
24
|
+
XprType> > : public traits<XprType>
|
|
25
|
+
{
|
|
26
|
+
typedef typename XprType::Scalar Scalar;
|
|
27
|
+
typedef traits<XprType> XprTraits;
|
|
28
|
+
typedef typename XprTraits::StorageKind StorageKind;
|
|
29
|
+
typedef typename XprTraits::Index Index;
|
|
30
|
+
typedef typename XprType::Nested Nested;
|
|
31
|
+
typedef typename remove_reference<Nested>::type _Nested;
|
|
32
|
+
static const int NumDimensions = XprTraits::NumDimensions;
|
|
33
|
+
static const int Layout = XprTraits::Layout;
|
|
34
|
+
typedef typename XprTraits::PointerType PointerType;
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
template<typename ReverseDimensions, typename XprType>
|
|
38
|
+
struct eval<TensorReverseOp<ReverseDimensions, XprType>, Eigen::Dense>
|
|
39
|
+
{
|
|
40
|
+
typedef const TensorReverseOp<ReverseDimensions, XprType>& type;
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
template<typename ReverseDimensions, typename XprType>
|
|
44
|
+
struct nested<TensorReverseOp<ReverseDimensions, XprType>, 1,
|
|
45
|
+
typename eval<TensorReverseOp<ReverseDimensions, XprType> >::type>
|
|
46
|
+
{
|
|
47
|
+
typedef TensorReverseOp<ReverseDimensions, XprType> type;
|
|
48
|
+
};
|
|
49
|
+
|
|
50
|
+
} // end namespace internal
|
|
51
|
+
|
|
52
|
+
template<typename ReverseDimensions, typename XprType>
|
|
53
|
+
class TensorReverseOp : public TensorBase<TensorReverseOp<ReverseDimensions,
|
|
54
|
+
XprType>, WriteAccessors>
|
|
55
|
+
{
|
|
56
|
+
public:
|
|
57
|
+
typedef TensorBase<TensorReverseOp<ReverseDimensions, XprType>, WriteAccessors>Base;
|
|
58
|
+
typedef typename Eigen::internal::traits<TensorReverseOp>::Scalar Scalar;
|
|
59
|
+
typedef typename Eigen::NumTraits<Scalar>::Real RealScalar;
|
|
60
|
+
typedef typename XprType::CoeffReturnType CoeffReturnType;
|
|
61
|
+
typedef typename Eigen::internal::nested<TensorReverseOp>::type Nested;
|
|
62
|
+
typedef typename Eigen::internal::traits<TensorReverseOp>::StorageKind
|
|
63
|
+
StorageKind;
|
|
64
|
+
typedef typename Eigen::internal::traits<TensorReverseOp>::Index Index;
|
|
65
|
+
|
|
66
|
+
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE TensorReverseOp(
|
|
67
|
+
const XprType& expr, const ReverseDimensions& reverse_dims)
|
|
68
|
+
: m_xpr(expr), m_reverse_dims(reverse_dims) { }
|
|
69
|
+
|
|
70
|
+
EIGEN_DEVICE_FUNC
|
|
71
|
+
const ReverseDimensions& reverse() const { return m_reverse_dims; }
|
|
72
|
+
|
|
73
|
+
EIGEN_DEVICE_FUNC
|
|
74
|
+
const typename internal::remove_all<typename XprType::Nested>::type&
|
|
75
|
+
expression() const { return m_xpr; }
|
|
76
|
+
|
|
77
|
+
EIGEN_TENSOR_INHERIT_ASSIGNMENT_OPERATORS(TensorReverseOp)
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
protected:
|
|
81
|
+
typename XprType::Nested m_xpr;
|
|
82
|
+
const ReverseDimensions m_reverse_dims;
|
|
83
|
+
};
|
|
84
|
+
|
|
85
|
+
// Eval as rvalue
|
|
86
|
+
template<typename ReverseDimensions, typename ArgType, typename Device>
|
|
87
|
+
struct TensorEvaluator<const TensorReverseOp<ReverseDimensions, ArgType>, Device>
|
|
88
|
+
{
|
|
89
|
+
typedef TensorReverseOp<ReverseDimensions, ArgType> XprType;
|
|
90
|
+
typedef typename XprType::Index Index;
|
|
91
|
+
static const int NumDims = internal::array_size<ReverseDimensions>::value;
|
|
92
|
+
typedef DSizes<Index, NumDims> Dimensions;
|
|
93
|
+
typedef typename XprType::Scalar Scalar;
|
|
94
|
+
typedef typename XprType::CoeffReturnType CoeffReturnType;
|
|
95
|
+
typedef typename PacketType<CoeffReturnType, Device>::type PacketReturnType;
|
|
96
|
+
static const int PacketSize = PacketType<CoeffReturnType, Device>::size;
|
|
97
|
+
typedef StorageMemory<CoeffReturnType, Device> Storage;
|
|
98
|
+
typedef typename Storage::Type EvaluatorPointerType;
|
|
99
|
+
|
|
100
|
+
enum {
|
|
101
|
+
IsAligned = false,
|
|
102
|
+
PacketAccess = TensorEvaluator<ArgType, Device>::PacketAccess,
|
|
103
|
+
BlockAccess = NumDims > 0,
|
|
104
|
+
PreferBlockAccess = true,
|
|
105
|
+
Layout = TensorEvaluator<ArgType, Device>::Layout,
|
|
106
|
+
CoordAccess = false, // to be implemented
|
|
107
|
+
RawAccess = false
|
|
108
|
+
};
|
|
109
|
+
|
|
110
|
+
typedef internal::TensorIntDivisor<Index> IndexDivisor;
|
|
111
|
+
|
|
112
|
+
//===- Tensor block evaluation strategy (see TensorBlock.h) -------------===//
|
|
113
|
+
typedef internal::TensorBlockDescriptor<NumDims, Index> TensorBlockDesc;
|
|
114
|
+
typedef internal::TensorBlockScratchAllocator<Device> TensorBlockScratch;
|
|
115
|
+
|
|
116
|
+
typedef typename TensorEvaluator<const ArgType, Device>::TensorBlock
|
|
117
|
+
ArgTensorBlock;
|
|
118
|
+
|
|
119
|
+
typedef typename internal::TensorMaterializedBlock<CoeffReturnType, NumDims,
|
|
120
|
+
Layout, Index>
|
|
121
|
+
TensorBlock;
|
|
122
|
+
//===--------------------------------------------------------------------===//
|
|
123
|
+
|
|
124
|
+
EIGEN_STRONG_INLINE TensorEvaluator(const XprType& op, const Device& device)
|
|
125
|
+
: m_impl(op.expression(), device),
|
|
126
|
+
m_reverse(op.reverse()),
|
|
127
|
+
m_device(device)
|
|
128
|
+
{
|
|
129
|
+
// Reversing a scalar isn't supported yet. It would be a no-op anyway.
|
|
130
|
+
EIGEN_STATIC_ASSERT((NumDims > 0), YOU_MADE_A_PROGRAMMING_MISTAKE);
|
|
131
|
+
|
|
132
|
+
// Compute strides
|
|
133
|
+
m_dimensions = m_impl.dimensions();
|
|
134
|
+
if (static_cast<int>(Layout) == static_cast<int>(ColMajor)) {
|
|
135
|
+
m_strides[0] = 1;
|
|
136
|
+
for (int i = 1; i < NumDims; ++i) {
|
|
137
|
+
m_strides[i] = m_strides[i-1] * m_dimensions[i-1];
|
|
138
|
+
if (m_strides[i] > 0) m_fastStrides[i] = IndexDivisor(m_strides[i]);
|
|
139
|
+
}
|
|
140
|
+
} else {
|
|
141
|
+
m_strides[NumDims-1] = 1;
|
|
142
|
+
for (int i = NumDims - 2; i >= 0; --i) {
|
|
143
|
+
m_strides[i] = m_strides[i+1] * m_dimensions[i+1];
|
|
144
|
+
if (m_strides[i] > 0) m_fastStrides[i] = IndexDivisor(m_strides[i]);
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
|
|
150
|
+
const Dimensions& dimensions() const { return m_dimensions; }
|
|
151
|
+
|
|
152
|
+
EIGEN_STRONG_INLINE bool evalSubExprsIfNeeded(EvaluatorPointerType) {
|
|
153
|
+
m_impl.evalSubExprsIfNeeded(NULL);
|
|
154
|
+
return true;
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
#ifdef EIGEN_USE_THREADS
|
|
158
|
+
template <typename EvalSubExprsCallback>
|
|
159
|
+
EIGEN_STRONG_INLINE void evalSubExprsIfNeededAsync(
|
|
160
|
+
EvaluatorPointerType, EvalSubExprsCallback done) {
|
|
161
|
+
m_impl.evalSubExprsIfNeededAsync(nullptr, [done](bool) { done(true); });
|
|
162
|
+
}
|
|
163
|
+
#endif // EIGEN_USE_THREADS
|
|
164
|
+
|
|
165
|
+
EIGEN_STRONG_INLINE void cleanup() {
|
|
166
|
+
m_impl.cleanup();
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Index reverseIndex(
|
|
170
|
+
Index index) const {
|
|
171
|
+
eigen_assert(index < dimensions().TotalSize());
|
|
172
|
+
Index inputIndex = 0;
|
|
173
|
+
if (static_cast<int>(Layout) == static_cast<int>(ColMajor)) {
|
|
174
|
+
EIGEN_UNROLL_LOOP
|
|
175
|
+
for (int i = NumDims - 1; i > 0; --i) {
|
|
176
|
+
Index idx = index / m_fastStrides[i];
|
|
177
|
+
index -= idx * m_strides[i];
|
|
178
|
+
if (m_reverse[i]) {
|
|
179
|
+
idx = m_dimensions[i] - idx - 1;
|
|
180
|
+
}
|
|
181
|
+
inputIndex += idx * m_strides[i] ;
|
|
182
|
+
}
|
|
183
|
+
if (m_reverse[0]) {
|
|
184
|
+
inputIndex += (m_dimensions[0] - index - 1);
|
|
185
|
+
} else {
|
|
186
|
+
inputIndex += index;
|
|
187
|
+
}
|
|
188
|
+
} else {
|
|
189
|
+
EIGEN_UNROLL_LOOP
|
|
190
|
+
for (int i = 0; i < NumDims - 1; ++i) {
|
|
191
|
+
Index idx = index / m_fastStrides[i];
|
|
192
|
+
index -= idx * m_strides[i];
|
|
193
|
+
if (m_reverse[i]) {
|
|
194
|
+
idx = m_dimensions[i] - idx - 1;
|
|
195
|
+
}
|
|
196
|
+
inputIndex += idx * m_strides[i] ;
|
|
197
|
+
}
|
|
198
|
+
if (m_reverse[NumDims-1]) {
|
|
199
|
+
inputIndex += (m_dimensions[NumDims-1] - index - 1);
|
|
200
|
+
} else {
|
|
201
|
+
inputIndex += index;
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
return inputIndex;
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE CoeffReturnType coeff(
|
|
208
|
+
Index index) const {
|
|
209
|
+
return m_impl.coeff(reverseIndex(index));
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
template<int LoadMode>
|
|
213
|
+
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
|
|
214
|
+
PacketReturnType packet(Index index) const
|
|
215
|
+
{
|
|
216
|
+
EIGEN_STATIC_ASSERT((PacketSize > 1), YOU_MADE_A_PROGRAMMING_MISTAKE)
|
|
217
|
+
eigen_assert(index+PacketSize-1 < dimensions().TotalSize());
|
|
218
|
+
|
|
219
|
+
// TODO(ndjaitly): write a better packing routine that uses
|
|
220
|
+
// local structure.
|
|
221
|
+
EIGEN_ALIGN_MAX typename internal::remove_const<CoeffReturnType>::type
|
|
222
|
+
values[PacketSize];
|
|
223
|
+
EIGEN_UNROLL_LOOP
|
|
224
|
+
for (int i = 0; i < PacketSize; ++i) {
|
|
225
|
+
values[i] = coeff(index+i);
|
|
226
|
+
}
|
|
227
|
+
PacketReturnType rslt = internal::pload<PacketReturnType>(values);
|
|
228
|
+
return rslt;
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
|
|
232
|
+
internal::TensorBlockResourceRequirements getResourceRequirements() const {
|
|
233
|
+
const size_t target_size = m_device.lastLevelCacheSize();
|
|
234
|
+
// Block evaluation reads underlying memory in reverse order, and default
|
|
235
|
+
// cost model does not properly catch this in bytes stored/loaded.
|
|
236
|
+
return internal::TensorBlockResourceRequirements::skewed<Scalar>(
|
|
237
|
+
target_size)
|
|
238
|
+
.addCostPerCoeff({0, 0, 24});
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE TensorBlock
|
|
242
|
+
block(TensorBlockDesc& desc, TensorBlockScratch& scratch,
|
|
243
|
+
bool /*root_of_expr_ast*/ = false) const {
|
|
244
|
+
// TODO(ezhulenev): If underlying tensor expression supports and prefers
|
|
245
|
+
// block evaluation we must use it. Currently we use coeff and packet
|
|
246
|
+
// access into the underlying tensor expression.
|
|
247
|
+
// static const bool useBlockAccessForArgType =
|
|
248
|
+
// TensorEvaluator<ArgType, Device>::BlockAccess &&
|
|
249
|
+
// TensorEvaluator<ArgType, Device>::PreferBlockAccess;
|
|
250
|
+
|
|
251
|
+
static const bool isColMajor =
|
|
252
|
+
static_cast<int>(Layout) == static_cast<int>(ColMajor);
|
|
253
|
+
|
|
254
|
+
static const Index inner_dim_idx = isColMajor ? 0 : NumDims - 1;
|
|
255
|
+
const bool inner_dim_reversed = m_reverse[inner_dim_idx];
|
|
256
|
+
|
|
257
|
+
// Offset in the output block.
|
|
258
|
+
Index block_offset = 0;
|
|
259
|
+
|
|
260
|
+
// Offset in the input Tensor.
|
|
261
|
+
Index input_offset = reverseIndex(desc.offset());
|
|
262
|
+
|
|
263
|
+
// Initialize output block iterator state. Dimension in this array are
|
|
264
|
+
// always in inner_most -> outer_most order (col major layout).
|
|
265
|
+
array<BlockIteratorState, NumDims> it;
|
|
266
|
+
for (int i = 0; i < NumDims; ++i) {
|
|
267
|
+
const int dim = isColMajor ? i : NumDims - 1 - i;
|
|
268
|
+
it[i].size = desc.dimension(dim);
|
|
269
|
+
it[i].count = 0;
|
|
270
|
+
it[i].reverse = m_reverse[dim];
|
|
271
|
+
|
|
272
|
+
it[i].block_stride =
|
|
273
|
+
i == 0 ? 1 : (it[i - 1].size * it[i - 1].block_stride);
|
|
274
|
+
it[i].block_span = it[i].block_stride * (it[i].size - 1);
|
|
275
|
+
|
|
276
|
+
it[i].input_stride = m_strides[dim];
|
|
277
|
+
it[i].input_span = it[i].input_stride * (it[i].size - 1);
|
|
278
|
+
|
|
279
|
+
if (it[i].reverse) {
|
|
280
|
+
it[i].input_stride = -1 * it[i].input_stride;
|
|
281
|
+
it[i].input_span = -1 * it[i].input_span;
|
|
282
|
+
}
|
|
283
|
+
}
|
|
284
|
+
|
|
285
|
+
// If multiple inner dimensions have the same reverse flag, check if we can
|
|
286
|
+
// merge them into a single virtual inner dimension.
|
|
287
|
+
int effective_inner_dim = 0;
|
|
288
|
+
for (int i = 1; i < NumDims; ++i) {
|
|
289
|
+
if (it[i].reverse != it[effective_inner_dim].reverse) break;
|
|
290
|
+
if (it[i].block_stride != it[effective_inner_dim].size) break;
|
|
291
|
+
if (it[i].block_stride != numext::abs(it[i].input_stride)) break;
|
|
292
|
+
|
|
293
|
+
it[i].size = it[effective_inner_dim].size * it[i].size;
|
|
294
|
+
|
|
295
|
+
it[i].block_stride = 1;
|
|
296
|
+
it[i].input_stride = (inner_dim_reversed ? -1 : 1);
|
|
297
|
+
|
|
298
|
+
it[i].block_span = it[i].block_stride * (it[i].size - 1);
|
|
299
|
+
it[i].input_span = it[i].input_stride * (it[i].size - 1);
|
|
300
|
+
|
|
301
|
+
effective_inner_dim = i;
|
|
302
|
+
}
|
|
303
|
+
|
|
304
|
+
eigen_assert(it[effective_inner_dim].block_stride == 1);
|
|
305
|
+
eigen_assert(it[effective_inner_dim].input_stride ==
|
|
306
|
+
(inner_dim_reversed ? -1 : 1));
|
|
307
|
+
|
|
308
|
+
const Index inner_dim_size = it[effective_inner_dim].size;
|
|
309
|
+
|
|
310
|
+
// Prepare storage for the materialized reverse result.
|
|
311
|
+
const typename TensorBlock::Storage block_storage =
|
|
312
|
+
TensorBlock::prepareStorage(desc, scratch);
|
|
313
|
+
CoeffReturnType* block_buffer = block_storage.data();
|
|
314
|
+
|
|
315
|
+
while (it[NumDims - 1].count < it[NumDims - 1].size) {
|
|
316
|
+
// Copy inner-most dimension data from reversed location in input.
|
|
317
|
+
Index dst = block_offset;
|
|
318
|
+
Index src = input_offset;
|
|
319
|
+
|
|
320
|
+
// NOTE(ezhulenev): Adding vectorized path with internal::preverse showed
|
|
321
|
+
// worse results in benchmarks than a simple coefficient loop.
|
|
322
|
+
if (inner_dim_reversed) {
|
|
323
|
+
for (Index i = 0; i < inner_dim_size; ++i) {
|
|
324
|
+
block_buffer[dst] = m_impl.coeff(src);
|
|
325
|
+
++dst;
|
|
326
|
+
--src;
|
|
327
|
+
}
|
|
328
|
+
} else {
|
|
329
|
+
for (Index i = 0; i < inner_dim_size; ++i) {
|
|
330
|
+
block_buffer[dst] = m_impl.coeff(src);
|
|
331
|
+
++dst;
|
|
332
|
+
++src;
|
|
333
|
+
}
|
|
334
|
+
}
|
|
335
|
+
|
|
336
|
+
// For the 1d tensor we need to generate only one inner-most dimension.
|
|
337
|
+
if ((NumDims - effective_inner_dim) == 1) break;
|
|
338
|
+
|
|
339
|
+
// Update offset.
|
|
340
|
+
for (Index i = effective_inner_dim + 1; i < NumDims; ++i) {
|
|
341
|
+
if (++it[i].count < it[i].size) {
|
|
342
|
+
block_offset += it[i].block_stride;
|
|
343
|
+
input_offset += it[i].input_stride;
|
|
344
|
+
break;
|
|
345
|
+
}
|
|
346
|
+
if (i != NumDims - 1) it[i].count = 0;
|
|
347
|
+
block_offset -= it[i].block_span;
|
|
348
|
+
input_offset -= it[i].input_span;
|
|
349
|
+
}
|
|
350
|
+
}
|
|
351
|
+
|
|
352
|
+
return block_storage.AsTensorMaterializedBlock();
|
|
353
|
+
}
|
|
354
|
+
|
|
355
|
+
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE TensorOpCost costPerCoeff(bool vectorized) const {
|
|
356
|
+
double compute_cost = NumDims * (2 * TensorOpCost::AddCost<Index>() +
|
|
357
|
+
2 * TensorOpCost::MulCost<Index>() +
|
|
358
|
+
TensorOpCost::DivCost<Index>());
|
|
359
|
+
for (int i = 0; i < NumDims; ++i) {
|
|
360
|
+
if (m_reverse[i]) {
|
|
361
|
+
compute_cost += 2 * TensorOpCost::AddCost<Index>();
|
|
362
|
+
}
|
|
363
|
+
}
|
|
364
|
+
return m_impl.costPerCoeff(vectorized) +
|
|
365
|
+
TensorOpCost(0, 0, compute_cost, false /* vectorized */, PacketSize);
|
|
366
|
+
}
|
|
367
|
+
|
|
368
|
+
EIGEN_DEVICE_FUNC typename Storage::Type data() const { return NULL; }
|
|
369
|
+
|
|
370
|
+
#ifdef EIGEN_USE_SYCL
|
|
371
|
+
// binding placeholder accessors to a command group handler for SYCL
|
|
372
|
+
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void bind(cl::sycl::handler &cgh) const {
|
|
373
|
+
m_impl.bind(cgh);
|
|
374
|
+
}
|
|
375
|
+
#endif
|
|
376
|
+
|
|
377
|
+
protected:
|
|
378
|
+
Dimensions m_dimensions;
|
|
379
|
+
array<Index, NumDims> m_strides;
|
|
380
|
+
array<IndexDivisor, NumDims> m_fastStrides;
|
|
381
|
+
TensorEvaluator<ArgType, Device> m_impl;
|
|
382
|
+
ReverseDimensions m_reverse;
|
|
383
|
+
const Device EIGEN_DEVICE_REF m_device;
|
|
384
|
+
|
|
385
|
+
private:
|
|
386
|
+
struct BlockIteratorState {
|
|
387
|
+
BlockIteratorState()
|
|
388
|
+
: size(0),
|
|
389
|
+
count(0),
|
|
390
|
+
reverse(false),
|
|
391
|
+
block_stride(0),
|
|
392
|
+
block_span(0),
|
|
393
|
+
input_stride(0),
|
|
394
|
+
input_span(0) {}
|
|
395
|
+
|
|
396
|
+
Index size;
|
|
397
|
+
Index count;
|
|
398
|
+
bool reverse;
|
|
399
|
+
Index block_stride;
|
|
400
|
+
Index block_span;
|
|
401
|
+
Index input_stride;
|
|
402
|
+
Index input_span;
|
|
403
|
+
};
|
|
404
|
+
};
|
|
405
|
+
|
|
406
|
+
// Eval as lvalue
|
|
407
|
+
|
|
408
|
+
template <typename ReverseDimensions, typename ArgType, typename Device>
|
|
409
|
+
struct TensorEvaluator<TensorReverseOp<ReverseDimensions, ArgType>, Device>
|
|
410
|
+
: public TensorEvaluator<const TensorReverseOp<ReverseDimensions, ArgType>,
|
|
411
|
+
Device> {
|
|
412
|
+
typedef TensorEvaluator<const TensorReverseOp<ReverseDimensions, ArgType>,
|
|
413
|
+
Device> Base;
|
|
414
|
+
typedef TensorReverseOp<ReverseDimensions, ArgType> XprType;
|
|
415
|
+
typedef typename XprType::Index Index;
|
|
416
|
+
static const int NumDims = internal::array_size<ReverseDimensions>::value;
|
|
417
|
+
typedef DSizes<Index, NumDims> Dimensions;
|
|
418
|
+
|
|
419
|
+
enum {
|
|
420
|
+
IsAligned = false,
|
|
421
|
+
PacketAccess = TensorEvaluator<ArgType, Device>::PacketAccess,
|
|
422
|
+
BlockAccess = false,
|
|
423
|
+
PreferBlockAccess = false,
|
|
424
|
+
Layout = TensorEvaluator<ArgType, Device>::Layout,
|
|
425
|
+
CoordAccess = false, // to be implemented
|
|
426
|
+
RawAccess = false
|
|
427
|
+
};
|
|
428
|
+
EIGEN_STRONG_INLINE TensorEvaluator(const XprType& op, const Device& device)
|
|
429
|
+
: Base(op, device) {}
|
|
430
|
+
|
|
431
|
+
typedef typename XprType::Scalar Scalar;
|
|
432
|
+
typedef typename XprType::CoeffReturnType CoeffReturnType;
|
|
433
|
+
typedef typename PacketType<CoeffReturnType, Device>::type PacketReturnType;
|
|
434
|
+
static const int PacketSize = PacketType<CoeffReturnType, Device>::size;
|
|
435
|
+
|
|
436
|
+
//===- Tensor block evaluation strategy (see TensorBlock.h) -------------===//
|
|
437
|
+
typedef internal::TensorBlockNotImplemented TensorBlock;
|
|
438
|
+
//===--------------------------------------------------------------------===//
|
|
439
|
+
|
|
440
|
+
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
|
|
441
|
+
const Dimensions& dimensions() const { return this->m_dimensions; }
|
|
442
|
+
|
|
443
|
+
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Scalar& coeffRef(Index index) {
|
|
444
|
+
return this->m_impl.coeffRef(this->reverseIndex(index));
|
|
445
|
+
}
|
|
446
|
+
|
|
447
|
+
template <int StoreMode> EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
|
|
448
|
+
void writePacket(Index index, const PacketReturnType& x) {
|
|
449
|
+
EIGEN_STATIC_ASSERT((PacketSize > 1), YOU_MADE_A_PROGRAMMING_MISTAKE)
|
|
450
|
+
eigen_assert(index+PacketSize-1 < dimensions().TotalSize());
|
|
451
|
+
|
|
452
|
+
// This code is pilfered from TensorMorphing.h
|
|
453
|
+
EIGEN_ALIGN_MAX CoeffReturnType values[PacketSize];
|
|
454
|
+
internal::pstore<CoeffReturnType, PacketReturnType>(values, x);
|
|
455
|
+
EIGEN_UNROLL_LOOP
|
|
456
|
+
for (int i = 0; i < PacketSize; ++i) {
|
|
457
|
+
this->coeffRef(index+i) = values[i];
|
|
458
|
+
}
|
|
459
|
+
}
|
|
460
|
+
};
|
|
461
|
+
|
|
462
|
+
|
|
463
|
+
} // end namespace Eigen
|
|
464
|
+
|
|
465
|
+
#endif // EIGEN_CXX11_TENSOR_TENSOR_REVERSE_H
|