tomoto 0.2.2 → 0.3.0
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +10 -0
- data/README.md +8 -10
- data/ext/tomoto/ct.cpp +11 -11
- data/ext/tomoto/dmr.cpp +14 -13
- data/ext/tomoto/dt.cpp +14 -14
- data/ext/tomoto/extconf.rb +7 -5
- data/ext/tomoto/gdmr.cpp +7 -7
- data/ext/tomoto/hdp.cpp +9 -9
- data/ext/tomoto/hlda.cpp +13 -13
- data/ext/tomoto/hpa.cpp +5 -5
- data/ext/tomoto/lda.cpp +42 -39
- data/ext/tomoto/llda.cpp +6 -6
- data/ext/tomoto/mglda.cpp +15 -15
- data/ext/tomoto/pa.cpp +6 -6
- data/ext/tomoto/plda.cpp +6 -6
- data/ext/tomoto/slda.cpp +8 -8
- data/ext/tomoto/{ext.cpp → tomoto.cpp} +8 -8
- data/ext/tomoto/utils.h +16 -70
- data/lib/tomoto/version.rb +1 -1
- data/lib/tomoto.rb +5 -1
- data/vendor/EigenRand/EigenRand/Core.h +10 -10
- data/vendor/EigenRand/EigenRand/Dists/Basic.h +208 -9
- data/vendor/EigenRand/EigenRand/Dists/Discrete.h +52 -31
- data/vendor/EigenRand/EigenRand/Dists/GammaPoisson.h +9 -8
- data/vendor/EigenRand/EigenRand/Dists/NormalExp.h +28 -21
- data/vendor/EigenRand/EigenRand/EigenRand +11 -6
- data/vendor/EigenRand/EigenRand/Macro.h +13 -7
- data/vendor/EigenRand/EigenRand/MorePacketMath.h +348 -740
- data/vendor/EigenRand/EigenRand/MvDists/Multinomial.h +5 -3
- data/vendor/EigenRand/EigenRand/MvDists/MvNormal.h +9 -3
- data/vendor/EigenRand/EigenRand/PacketFilter.h +11 -253
- data/vendor/EigenRand/EigenRand/PacketRandomEngine.h +21 -47
- data/vendor/EigenRand/EigenRand/RandUtils.h +50 -344
- data/vendor/EigenRand/EigenRand/arch/AVX/MorePacketMath.h +619 -0
- data/vendor/EigenRand/EigenRand/arch/AVX/PacketFilter.h +149 -0
- data/vendor/EigenRand/EigenRand/arch/AVX/RandUtils.h +228 -0
- data/vendor/EigenRand/EigenRand/arch/NEON/MorePacketMath.h +473 -0
- data/vendor/EigenRand/EigenRand/arch/NEON/PacketFilter.h +142 -0
- data/vendor/EigenRand/EigenRand/arch/NEON/RandUtils.h +126 -0
- data/vendor/EigenRand/EigenRand/arch/SSE/MorePacketMath.h +501 -0
- data/vendor/EigenRand/EigenRand/arch/SSE/PacketFilter.h +133 -0
- data/vendor/EigenRand/EigenRand/arch/SSE/RandUtils.h +120 -0
- data/vendor/EigenRand/EigenRand/doc.h +24 -12
- data/vendor/EigenRand/README.md +57 -4
- data/vendor/eigen/COPYING.APACHE +203 -0
- data/vendor/eigen/COPYING.BSD +1 -1
- data/vendor/eigen/COPYING.MINPACK +51 -52
- data/vendor/eigen/Eigen/Cholesky +0 -1
- data/vendor/eigen/Eigen/Core +112 -265
- data/vendor/eigen/Eigen/Eigenvalues +2 -3
- data/vendor/eigen/Eigen/Geometry +5 -8
- data/vendor/eigen/Eigen/Householder +0 -1
- data/vendor/eigen/Eigen/Jacobi +0 -1
- data/vendor/eigen/Eigen/KLUSupport +41 -0
- data/vendor/eigen/Eigen/LU +2 -5
- data/vendor/eigen/Eigen/OrderingMethods +0 -3
- data/vendor/eigen/Eigen/PaStiXSupport +1 -0
- data/vendor/eigen/Eigen/PardisoSupport +0 -0
- data/vendor/eigen/Eigen/QR +2 -3
- data/vendor/eigen/Eigen/QtAlignedMalloc +0 -1
- data/vendor/eigen/Eigen/SVD +0 -1
- data/vendor/eigen/Eigen/Sparse +0 -2
- data/vendor/eigen/Eigen/SparseCholesky +0 -8
- data/vendor/eigen/Eigen/SparseLU +4 -0
- data/vendor/eigen/Eigen/SparseQR +0 -1
- data/vendor/eigen/Eigen/src/Cholesky/LDLT.h +42 -27
- data/vendor/eigen/Eigen/src/Cholesky/LLT.h +39 -23
- data/vendor/eigen/Eigen/src/CholmodSupport/CholmodSupport.h +90 -47
- data/vendor/eigen/Eigen/src/Core/ArithmeticSequence.h +413 -0
- data/vendor/eigen/Eigen/src/Core/Array.h +99 -11
- data/vendor/eigen/Eigen/src/Core/ArrayBase.h +3 -3
- data/vendor/eigen/Eigen/src/Core/ArrayWrapper.h +21 -21
- data/vendor/eigen/Eigen/src/Core/Assign.h +1 -1
- data/vendor/eigen/Eigen/src/Core/AssignEvaluator.h +125 -50
- data/vendor/eigen/Eigen/src/Core/Assign_MKL.h +10 -10
- data/vendor/eigen/Eigen/src/Core/BandMatrix.h +16 -16
- data/vendor/eigen/Eigen/src/Core/Block.h +56 -60
- data/vendor/eigen/Eigen/src/Core/BooleanRedux.h +29 -31
- data/vendor/eigen/Eigen/src/Core/CommaInitializer.h +7 -3
- data/vendor/eigen/Eigen/src/Core/CoreEvaluators.h +325 -272
- data/vendor/eigen/Eigen/src/Core/CoreIterators.h +5 -0
- data/vendor/eigen/Eigen/src/Core/CwiseBinaryOp.h +21 -22
- data/vendor/eigen/Eigen/src/Core/CwiseNullaryOp.h +153 -18
- data/vendor/eigen/Eigen/src/Core/CwiseUnaryOp.h +6 -6
- data/vendor/eigen/Eigen/src/Core/CwiseUnaryView.h +14 -10
- data/vendor/eigen/Eigen/src/Core/DenseBase.h +132 -42
- data/vendor/eigen/Eigen/src/Core/DenseCoeffsBase.h +25 -21
- data/vendor/eigen/Eigen/src/Core/DenseStorage.h +153 -71
- data/vendor/eigen/Eigen/src/Core/Diagonal.h +21 -23
- data/vendor/eigen/Eigen/src/Core/DiagonalMatrix.h +50 -2
- data/vendor/eigen/Eigen/src/Core/DiagonalProduct.h +1 -1
- data/vendor/eigen/Eigen/src/Core/Dot.h +10 -10
- data/vendor/eigen/Eigen/src/Core/EigenBase.h +10 -9
- data/vendor/eigen/Eigen/src/Core/ForceAlignedAccess.h +8 -4
- data/vendor/eigen/Eigen/src/Core/Fuzzy.h +3 -3
- data/vendor/eigen/Eigen/src/Core/GeneralProduct.h +20 -10
- data/vendor/eigen/Eigen/src/Core/GenericPacketMath.h +599 -152
- data/vendor/eigen/Eigen/src/Core/GlobalFunctions.h +40 -33
- data/vendor/eigen/Eigen/src/Core/IO.h +40 -7
- data/vendor/eigen/Eigen/src/Core/IndexedView.h +237 -0
- data/vendor/eigen/Eigen/src/Core/Inverse.h +9 -10
- data/vendor/eigen/Eigen/src/Core/Map.h +7 -7
- data/vendor/eigen/Eigen/src/Core/MapBase.h +10 -3
- data/vendor/eigen/Eigen/src/Core/MathFunctions.h +767 -125
- data/vendor/eigen/Eigen/src/Core/MathFunctionsImpl.h +118 -19
- data/vendor/eigen/Eigen/src/Core/Matrix.h +131 -25
- data/vendor/eigen/Eigen/src/Core/MatrixBase.h +21 -3
- data/vendor/eigen/Eigen/src/Core/NestByValue.h +25 -50
- data/vendor/eigen/Eigen/src/Core/NoAlias.h +4 -3
- data/vendor/eigen/Eigen/src/Core/NumTraits.h +107 -20
- data/vendor/eigen/Eigen/src/Core/PartialReduxEvaluator.h +232 -0
- data/vendor/eigen/Eigen/src/Core/PermutationMatrix.h +3 -31
- data/vendor/eigen/Eigen/src/Core/PlainObjectBase.h +152 -59
- data/vendor/eigen/Eigen/src/Core/Product.h +30 -25
- data/vendor/eigen/Eigen/src/Core/ProductEvaluators.h +192 -125
- data/vendor/eigen/Eigen/src/Core/Random.h +37 -1
- data/vendor/eigen/Eigen/src/Core/Redux.h +180 -170
- data/vendor/eigen/Eigen/src/Core/Ref.h +121 -23
- data/vendor/eigen/Eigen/src/Core/Replicate.h +8 -8
- data/vendor/eigen/Eigen/src/Core/Reshaped.h +454 -0
- data/vendor/eigen/Eigen/src/Core/ReturnByValue.h +7 -5
- data/vendor/eigen/Eigen/src/Core/Reverse.h +18 -12
- data/vendor/eigen/Eigen/src/Core/Select.h +8 -6
- data/vendor/eigen/Eigen/src/Core/SelfAdjointView.h +33 -20
- data/vendor/eigen/Eigen/src/Core/Solve.h +14 -14
- data/vendor/eigen/Eigen/src/Core/SolveTriangular.h +16 -16
- data/vendor/eigen/Eigen/src/Core/SolverBase.h +41 -3
- data/vendor/eigen/Eigen/src/Core/StableNorm.h +100 -70
- data/vendor/eigen/Eigen/src/Core/StlIterators.h +463 -0
- data/vendor/eigen/Eigen/src/Core/Stride.h +9 -4
- data/vendor/eigen/Eigen/src/Core/Swap.h +5 -4
- data/vendor/eigen/Eigen/src/Core/Transpose.h +88 -27
- data/vendor/eigen/Eigen/src/Core/Transpositions.h +26 -47
- data/vendor/eigen/Eigen/src/Core/TriangularMatrix.h +93 -75
- data/vendor/eigen/Eigen/src/Core/VectorBlock.h +5 -5
- data/vendor/eigen/Eigen/src/Core/VectorwiseOp.h +159 -70
- data/vendor/eigen/Eigen/src/Core/Visitor.h +137 -29
- data/vendor/eigen/Eigen/src/Core/arch/AVX/Complex.h +50 -129
- data/vendor/eigen/Eigen/src/Core/arch/AVX/MathFunctions.h +126 -337
- data/vendor/eigen/Eigen/src/Core/arch/AVX/PacketMath.h +1092 -155
- data/vendor/eigen/Eigen/src/Core/arch/AVX/TypeCasting.h +65 -1
- data/vendor/eigen/Eigen/src/Core/arch/AVX512/Complex.h +422 -0
- data/vendor/eigen/Eigen/src/Core/arch/AVX512/MathFunctions.h +207 -236
- data/vendor/eigen/Eigen/src/Core/arch/AVX512/PacketMath.h +1482 -495
- data/vendor/eigen/Eigen/src/Core/arch/AVX512/TypeCasting.h +89 -0
- data/vendor/eigen/Eigen/src/Core/arch/AltiVec/Complex.h +152 -165
- data/vendor/eigen/Eigen/src/Core/arch/AltiVec/MathFunctions.h +19 -251
- data/vendor/eigen/Eigen/src/Core/arch/AltiVec/MatrixProduct.h +2937 -0
- data/vendor/eigen/Eigen/src/Core/arch/AltiVec/MatrixProductCommon.h +221 -0
- data/vendor/eigen/Eigen/src/Core/arch/AltiVec/MatrixProductMMA.h +629 -0
- data/vendor/eigen/Eigen/src/Core/arch/AltiVec/PacketMath.h +2042 -392
- data/vendor/eigen/Eigen/src/Core/arch/CUDA/Complex.h +235 -80
- data/vendor/eigen/Eigen/src/Core/arch/Default/BFloat16.h +700 -0
- data/vendor/eigen/Eigen/src/Core/arch/Default/ConjHelper.h +102 -14
- data/vendor/eigen/Eigen/src/Core/arch/Default/GenericPacketMathFunctions.h +1649 -0
- data/vendor/eigen/Eigen/src/Core/arch/Default/GenericPacketMathFunctionsFwd.h +110 -0
- data/vendor/eigen/Eigen/src/Core/arch/Default/Half.h +942 -0
- data/vendor/eigen/Eigen/src/Core/arch/Default/Settings.h +1 -1
- data/vendor/eigen/Eigen/src/Core/arch/Default/TypeCasting.h +120 -0
- data/vendor/eigen/Eigen/src/Core/arch/{CUDA → GPU}/MathFunctions.h +16 -4
- data/vendor/eigen/Eigen/src/Core/arch/GPU/PacketMath.h +1685 -0
- data/vendor/eigen/Eigen/src/Core/arch/GPU/TypeCasting.h +80 -0
- data/vendor/eigen/Eigen/src/Core/arch/HIP/hcc/math_constants.h +23 -0
- data/vendor/eigen/Eigen/src/Core/arch/MSA/Complex.h +648 -0
- data/vendor/eigen/Eigen/src/Core/arch/MSA/MathFunctions.h +387 -0
- data/vendor/eigen/Eigen/src/Core/arch/MSA/PacketMath.h +1233 -0
- data/vendor/eigen/Eigen/src/Core/arch/NEON/Complex.h +313 -219
- data/vendor/eigen/Eigen/src/Core/arch/NEON/GeneralBlockPanelKernel.h +183 -0
- data/vendor/eigen/Eigen/src/Core/arch/NEON/MathFunctions.h +54 -70
- data/vendor/eigen/Eigen/src/Core/arch/NEON/PacketMath.h +4376 -549
- data/vendor/eigen/Eigen/src/Core/arch/NEON/TypeCasting.h +1419 -0
- data/vendor/eigen/Eigen/src/Core/arch/SSE/Complex.h +59 -179
- data/vendor/eigen/Eigen/src/Core/arch/SSE/MathFunctions.h +65 -428
- data/vendor/eigen/Eigen/src/Core/arch/SSE/PacketMath.h +893 -283
- data/vendor/eigen/Eigen/src/Core/arch/SSE/TypeCasting.h +65 -0
- data/vendor/eigen/Eigen/src/Core/arch/SVE/MathFunctions.h +44 -0
- data/vendor/eigen/Eigen/src/Core/arch/SVE/PacketMath.h +752 -0
- data/vendor/eigen/Eigen/src/Core/arch/SVE/TypeCasting.h +49 -0
- data/vendor/eigen/Eigen/src/Core/arch/SYCL/InteropHeaders.h +232 -0
- data/vendor/eigen/Eigen/src/Core/arch/SYCL/MathFunctions.h +301 -0
- data/vendor/eigen/Eigen/src/Core/arch/SYCL/PacketMath.h +670 -0
- data/vendor/eigen/Eigen/src/Core/arch/SYCL/SyclMemoryModel.h +694 -0
- data/vendor/eigen/Eigen/src/Core/arch/SYCL/TypeCasting.h +85 -0
- data/vendor/eigen/Eigen/src/Core/arch/ZVector/Complex.h +212 -183
- data/vendor/eigen/Eigen/src/Core/arch/ZVector/MathFunctions.h +101 -5
- data/vendor/eigen/Eigen/src/Core/arch/ZVector/PacketMath.h +510 -395
- data/vendor/eigen/Eigen/src/Core/functors/AssignmentFunctors.h +11 -2
- data/vendor/eigen/Eigen/src/Core/functors/BinaryFunctors.h +112 -46
- data/vendor/eigen/Eigen/src/Core/functors/NullaryFunctors.h +31 -30
- data/vendor/eigen/Eigen/src/Core/functors/StlFunctors.h +32 -2
- data/vendor/eigen/Eigen/src/Core/functors/UnaryFunctors.h +355 -16
- data/vendor/eigen/Eigen/src/Core/products/GeneralBlockPanelKernel.h +1075 -586
- data/vendor/eigen/Eigen/src/Core/products/GeneralMatrixMatrix.h +49 -24
- data/vendor/eigen/Eigen/src/Core/products/GeneralMatrixMatrixTriangular.h +41 -35
- data/vendor/eigen/Eigen/src/Core/products/GeneralMatrixMatrixTriangular_BLAS.h +6 -6
- data/vendor/eigen/Eigen/src/Core/products/GeneralMatrixMatrix_BLAS.h +4 -2
- data/vendor/eigen/Eigen/src/Core/products/GeneralMatrixVector.h +382 -483
- data/vendor/eigen/Eigen/src/Core/products/Parallelizer.h +22 -5
- data/vendor/eigen/Eigen/src/Core/products/SelfadjointMatrixMatrix.h +53 -30
- data/vendor/eigen/Eigen/src/Core/products/SelfadjointMatrixMatrix_BLAS.h +16 -8
- data/vendor/eigen/Eigen/src/Core/products/SelfadjointMatrixVector.h +8 -6
- data/vendor/eigen/Eigen/src/Core/products/SelfadjointProduct.h +4 -4
- data/vendor/eigen/Eigen/src/Core/products/SelfadjointRank2Update.h +5 -4
- data/vendor/eigen/Eigen/src/Core/products/TriangularMatrixMatrix.h +33 -27
- data/vendor/eigen/Eigen/src/Core/products/TriangularMatrixMatrix_BLAS.h +14 -12
- data/vendor/eigen/Eigen/src/Core/products/TriangularSolverMatrix.h +36 -34
- data/vendor/eigen/Eigen/src/Core/products/TriangularSolverMatrix_BLAS.h +8 -4
- data/vendor/eigen/Eigen/src/Core/products/TriangularSolverVector.h +13 -10
- data/vendor/eigen/Eigen/src/Core/util/BlasUtil.h +304 -119
- data/vendor/eigen/Eigen/src/Core/util/ConfigureVectorization.h +512 -0
- data/vendor/eigen/Eigen/src/Core/util/Constants.h +25 -9
- data/vendor/eigen/Eigen/src/Core/util/DisableStupidWarnings.h +26 -3
- data/vendor/eigen/Eigen/src/Core/util/ForwardDeclarations.h +29 -9
- data/vendor/eigen/Eigen/src/Core/util/IndexedViewHelper.h +186 -0
- data/vendor/eigen/Eigen/src/Core/util/IntegralConstant.h +272 -0
- data/vendor/eigen/Eigen/src/Core/util/MKL_support.h +8 -1
- data/vendor/eigen/Eigen/src/Core/util/Macros.h +709 -246
- data/vendor/eigen/Eigen/src/Core/util/Memory.h +222 -52
- data/vendor/eigen/Eigen/src/Core/util/Meta.h +355 -77
- data/vendor/eigen/Eigen/src/Core/util/ReenableStupidWarnings.h +5 -1
- data/vendor/eigen/Eigen/src/Core/util/ReshapedHelper.h +51 -0
- data/vendor/eigen/Eigen/src/Core/util/StaticAssert.h +8 -5
- data/vendor/eigen/Eigen/src/Core/util/SymbolicIndex.h +293 -0
- data/vendor/eigen/Eigen/src/Core/util/XprHelper.h +65 -30
- data/vendor/eigen/Eigen/src/Eigenvalues/ComplexEigenSolver.h +1 -1
- data/vendor/eigen/Eigen/src/Eigenvalues/ComplexSchur.h +7 -4
- data/vendor/eigen/Eigen/src/Eigenvalues/EigenSolver.h +2 -2
- data/vendor/eigen/Eigen/src/Eigenvalues/GeneralizedSelfAdjointEigenSolver.h +1 -1
- data/vendor/eigen/Eigen/src/Eigenvalues/HessenbergDecomposition.h +2 -2
- data/vendor/eigen/Eigen/src/Eigenvalues/MatrixBaseEigenvalues.h +2 -2
- data/vendor/eigen/Eigen/src/Eigenvalues/RealQZ.h +9 -6
- data/vendor/eigen/Eigen/src/Eigenvalues/RealSchur.h +21 -9
- data/vendor/eigen/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h +77 -43
- data/vendor/eigen/Eigen/src/Eigenvalues/Tridiagonalization.h +20 -15
- data/vendor/eigen/Eigen/src/Geometry/AlignedBox.h +99 -5
- data/vendor/eigen/Eigen/src/Geometry/AngleAxis.h +4 -4
- data/vendor/eigen/Eigen/src/Geometry/EulerAngles.h +3 -3
- data/vendor/eigen/Eigen/src/Geometry/Homogeneous.h +15 -11
- data/vendor/eigen/Eigen/src/Geometry/Hyperplane.h +1 -1
- data/vendor/eigen/Eigen/src/Geometry/OrthoMethods.h +3 -2
- data/vendor/eigen/Eigen/src/Geometry/ParametrizedLine.h +39 -2
- data/vendor/eigen/Eigen/src/Geometry/Quaternion.h +70 -14
- data/vendor/eigen/Eigen/src/Geometry/Rotation2D.h +3 -3
- data/vendor/eigen/Eigen/src/Geometry/Scaling.h +23 -5
- data/vendor/eigen/Eigen/src/Geometry/Transform.h +88 -67
- data/vendor/eigen/Eigen/src/Geometry/Translation.h +6 -12
- data/vendor/eigen/Eigen/src/Geometry/Umeyama.h +1 -1
- data/vendor/eigen/Eigen/src/Geometry/arch/Geometry_SIMD.h +168 -0
- data/vendor/eigen/Eigen/src/Householder/BlockHouseholder.h +9 -2
- data/vendor/eigen/Eigen/src/Householder/Householder.h +8 -4
- data/vendor/eigen/Eigen/src/Householder/HouseholderSequence.h +123 -48
- data/vendor/eigen/Eigen/src/IterativeLinearSolvers/BasicPreconditioners.h +15 -15
- data/vendor/eigen/Eigen/src/IterativeLinearSolvers/BiCGSTAB.h +7 -23
- data/vendor/eigen/Eigen/src/IterativeLinearSolvers/ConjugateGradient.h +5 -22
- data/vendor/eigen/Eigen/src/IterativeLinearSolvers/IncompleteCholesky.h +41 -47
- data/vendor/eigen/Eigen/src/IterativeLinearSolvers/IncompleteLUT.h +51 -60
- data/vendor/eigen/Eigen/src/IterativeLinearSolvers/IterativeSolverBase.h +70 -20
- data/vendor/eigen/Eigen/src/IterativeLinearSolvers/LeastSquareConjugateGradient.h +2 -20
- data/vendor/eigen/Eigen/src/IterativeLinearSolvers/SolveWithGuess.h +11 -9
- data/vendor/eigen/Eigen/src/Jacobi/Jacobi.h +31 -10
- data/vendor/eigen/Eigen/src/KLUSupport/KLUSupport.h +358 -0
- data/vendor/eigen/Eigen/src/LU/Determinant.h +35 -19
- data/vendor/eigen/Eigen/src/LU/FullPivLU.h +29 -43
- data/vendor/eigen/Eigen/src/LU/InverseImpl.h +25 -8
- data/vendor/eigen/Eigen/src/LU/PartialPivLU.h +71 -58
- data/vendor/eigen/Eigen/src/LU/arch/InverseSize4.h +351 -0
- data/vendor/eigen/Eigen/src/OrderingMethods/Amd.h +7 -17
- data/vendor/eigen/Eigen/src/OrderingMethods/Eigen_Colamd.h +297 -277
- data/vendor/eigen/Eigen/src/OrderingMethods/Ordering.h +6 -10
- data/vendor/eigen/Eigen/src/PaStiXSupport/PaStiXSupport.h +1 -1
- data/vendor/eigen/Eigen/src/PardisoSupport/PardisoSupport.h +9 -7
- data/vendor/eigen/Eigen/src/QR/ColPivHouseholderQR.h +41 -20
- data/vendor/eigen/Eigen/src/QR/CompleteOrthogonalDecomposition.h +100 -27
- data/vendor/eigen/Eigen/src/QR/FullPivHouseholderQR.h +59 -22
- data/vendor/eigen/Eigen/src/QR/HouseholderQR.h +48 -23
- data/vendor/eigen/Eigen/src/SPQRSupport/SuiteSparseQRSupport.h +25 -3
- data/vendor/eigen/Eigen/src/SVD/BDCSVD.h +183 -63
- data/vendor/eigen/Eigen/src/SVD/JacobiSVD.h +22 -14
- data/vendor/eigen/Eigen/src/SVD/SVDBase.h +83 -22
- data/vendor/eigen/Eigen/src/SVD/UpperBidiagonalization.h +3 -3
- data/vendor/eigen/Eigen/src/SparseCholesky/SimplicialCholesky.h +17 -9
- data/vendor/eigen/Eigen/src/SparseCholesky/SimplicialCholesky_impl.h +12 -37
- data/vendor/eigen/Eigen/src/SparseCore/AmbiVector.h +3 -2
- data/vendor/eigen/Eigen/src/SparseCore/CompressedStorage.h +16 -0
- data/vendor/eigen/Eigen/src/SparseCore/ConservativeSparseSparseProduct.h +6 -6
- data/vendor/eigen/Eigen/src/SparseCore/SparseAssign.h +81 -27
- data/vendor/eigen/Eigen/src/SparseCore/SparseBlock.h +25 -57
- data/vendor/eigen/Eigen/src/SparseCore/SparseCompressedBase.h +40 -11
- data/vendor/eigen/Eigen/src/SparseCore/SparseCwiseBinaryOp.h +11 -15
- data/vendor/eigen/Eigen/src/SparseCore/SparseCwiseUnaryOp.h +4 -2
- data/vendor/eigen/Eigen/src/SparseCore/SparseDenseProduct.h +30 -8
- data/vendor/eigen/Eigen/src/SparseCore/SparseMatrix.h +126 -11
- data/vendor/eigen/Eigen/src/SparseCore/SparseMatrixBase.h +5 -12
- data/vendor/eigen/Eigen/src/SparseCore/SparseProduct.h +13 -1
- data/vendor/eigen/Eigen/src/SparseCore/SparseRef.h +7 -7
- data/vendor/eigen/Eigen/src/SparseCore/SparseSelfAdjointView.h +5 -2
- data/vendor/eigen/Eigen/src/SparseCore/SparseUtil.h +8 -0
- data/vendor/eigen/Eigen/src/SparseCore/SparseVector.h +1 -1
- data/vendor/eigen/Eigen/src/SparseCore/SparseView.h +1 -0
- data/vendor/eigen/Eigen/src/SparseLU/SparseLU.h +162 -12
- data/vendor/eigen/Eigen/src/SparseLU/SparseLU_Memory.h +1 -1
- data/vendor/eigen/Eigen/src/SparseLU/SparseLU_SupernodalMatrix.h +76 -2
- data/vendor/eigen/Eigen/src/SparseLU/SparseLU_column_dfs.h +2 -2
- data/vendor/eigen/Eigen/src/SparseLU/SparseLU_gemm_kernel.h +1 -1
- data/vendor/eigen/Eigen/src/SparseLU/SparseLU_panel_bmod.h +1 -1
- data/vendor/eigen/Eigen/src/SparseQR/SparseQR.h +19 -6
- data/vendor/eigen/Eigen/src/StlSupport/StdDeque.h +2 -12
- data/vendor/eigen/Eigen/src/StlSupport/StdList.h +2 -2
- data/vendor/eigen/Eigen/src/StlSupport/StdVector.h +2 -2
- data/vendor/eigen/Eigen/src/SuperLUSupport/SuperLUSupport.h +6 -8
- data/vendor/eigen/Eigen/src/UmfPackSupport/UmfPackSupport.h +175 -39
- data/vendor/eigen/Eigen/src/misc/lapacke.h +5 -4
- data/vendor/eigen/Eigen/src/plugins/ArrayCwiseBinaryOps.h +28 -2
- data/vendor/eigen/Eigen/src/plugins/ArrayCwiseUnaryOps.h +155 -11
- data/vendor/eigen/Eigen/src/plugins/BlockMethods.h +626 -242
- data/vendor/eigen/Eigen/src/plugins/CommonCwiseUnaryOps.h +14 -0
- data/vendor/eigen/Eigen/src/plugins/IndexedViewMethods.h +262 -0
- data/vendor/eigen/Eigen/src/plugins/MatrixCwiseBinaryOps.h +4 -4
- data/vendor/eigen/Eigen/src/plugins/MatrixCwiseUnaryOps.h +10 -0
- data/vendor/eigen/Eigen/src/plugins/ReshapedMethods.h +149 -0
- data/vendor/eigen/README.md +2 -0
- data/vendor/eigen/bench/btl/README +1 -1
- data/vendor/eigen/bench/tensors/README +6 -7
- data/vendor/eigen/ci/README.md +56 -0
- data/vendor/eigen/demos/mix_eigen_and_c/README +1 -1
- data/vendor/eigen/unsupported/Eigen/CXX11/src/Tensor/README.md +213 -158
- data/vendor/eigen/unsupported/README.txt +1 -1
- data/vendor/tomotopy/README.kr.rst +78 -0
- data/vendor/tomotopy/README.rst +75 -0
- data/vendor/tomotopy/src/Labeling/FoRelevance.cpp +2 -2
- data/vendor/tomotopy/src/Labeling/Phraser.hpp +4 -4
- data/vendor/tomotopy/src/TopicModel/CTModel.hpp +7 -3
- data/vendor/tomotopy/src/TopicModel/DMRModel.hpp +7 -3
- data/vendor/tomotopy/src/TopicModel/DTModel.hpp +6 -3
- data/vendor/tomotopy/src/TopicModel/GDMRModel.hpp +2 -2
- data/vendor/tomotopy/src/TopicModel/HDP.h +1 -0
- data/vendor/tomotopy/src/TopicModel/HDPModel.hpp +57 -6
- data/vendor/tomotopy/src/TopicModel/HLDAModel.hpp +6 -3
- data/vendor/tomotopy/src/TopicModel/HPAModel.hpp +3 -2
- data/vendor/tomotopy/src/TopicModel/LDA.h +3 -3
- data/vendor/tomotopy/src/TopicModel/LDACVB0Model.hpp +5 -5
- data/vendor/tomotopy/src/TopicModel/LDAModel.hpp +50 -19
- data/vendor/tomotopy/src/TopicModel/LLDAModel.hpp +6 -2
- data/vendor/tomotopy/src/TopicModel/MGLDAModel.hpp +3 -2
- data/vendor/tomotopy/src/TopicModel/PAModel.hpp +1 -1
- data/vendor/tomotopy/src/TopicModel/PLDAModel.hpp +6 -2
- data/vendor/tomotopy/src/TopicModel/PT.h +3 -1
- data/vendor/tomotopy/src/TopicModel/PTModel.hpp +36 -3
- data/vendor/tomotopy/src/TopicModel/SLDAModel.hpp +6 -3
- data/vendor/tomotopy/src/TopicModel/TopicModel.hpp +55 -26
- data/vendor/tomotopy/src/Utils/AliasMethod.hpp +5 -4
- data/vendor/tomotopy/src/Utils/Dictionary.h +2 -2
- data/vendor/tomotopy/src/Utils/EigenAddonOps.hpp +36 -1
- data/vendor/tomotopy/src/Utils/MultiNormalDistribution.hpp +1 -1
- data/vendor/tomotopy/src/Utils/TruncMultiNormal.hpp +1 -1
- data/vendor/tomotopy/src/Utils/exception.h +6 -0
- data/vendor/tomotopy/src/Utils/math.h +2 -2
- data/vendor/tomotopy/src/Utils/sample.hpp +14 -12
- data/vendor/tomotopy/src/Utils/serializer.hpp +30 -5
- data/vendor/tomotopy/src/Utils/sse_gamma.h +0 -3
- metadata +64 -18
- data/vendor/eigen/Eigen/CMakeLists.txt +0 -19
- data/vendor/eigen/Eigen/src/Core/arch/CUDA/Half.h +0 -674
- data/vendor/eigen/Eigen/src/Core/arch/CUDA/PacketMath.h +0 -333
- data/vendor/eigen/Eigen/src/Core/arch/CUDA/PacketMathHalf.h +0 -1124
- data/vendor/eigen/Eigen/src/Core/arch/CUDA/TypeCasting.h +0 -212
- data/vendor/eigen/Eigen/src/Geometry/arch/Geometry_SSE.h +0 -161
- data/vendor/eigen/Eigen/src/LU/arch/Inverse_SSE.h +0 -338
@@ -1,52 +1,51 @@
|
|
1
|
-
Minpack Copyright Notice (1999) University of Chicago. All rights reserved
|
2
|
-
|
3
|
-
Redistribution and use in source and binary forms, with or
|
4
|
-
without modification, are permitted provided that the
|
5
|
-
following conditions are met:
|
6
|
-
|
7
|
-
1. Redistributions of source code must retain the above
|
8
|
-
copyright notice, this list of conditions and the following
|
9
|
-
disclaimer.
|
10
|
-
|
11
|
-
2. Redistributions in binary form must reproduce the above
|
12
|
-
copyright notice, this list of conditions and the following
|
13
|
-
disclaimer in the documentation and/or other materials
|
14
|
-
provided with the distribution.
|
15
|
-
|
16
|
-
3. The end-user documentation included with the
|
17
|
-
redistribution, if any, must include the following
|
18
|
-
acknowledgment:
|
19
|
-
|
20
|
-
"This product includes software developed by the
|
21
|
-
University of Chicago, as Operator of Argonne National
|
22
|
-
Laboratory.
|
23
|
-
|
24
|
-
Alternately, this acknowledgment may appear in the software
|
25
|
-
itself, if and wherever such third-party acknowledgments
|
26
|
-
normally appear.
|
27
|
-
|
28
|
-
4. WARRANTY DISCLAIMER. THE SOFTWARE IS SUPPLIED "AS IS"
|
29
|
-
WITHOUT WARRANTY OF ANY KIND. THE COPYRIGHT HOLDER, THE
|
30
|
-
UNITED STATES, THE UNITED STATES DEPARTMENT OF ENERGY, AND
|
31
|
-
THEIR EMPLOYEES: (1) DISCLAIM ANY WARRANTIES, EXPRESS OR
|
32
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO ANY IMPLIED WARRANTIES
|
33
|
-
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE
|
34
|
-
OR NON-INFRINGEMENT, (2) DO NOT ASSUME ANY LEGAL LIABILITY
|
35
|
-
OR RESPONSIBILITY FOR THE ACCURACY, COMPLETENESS, OR
|
36
|
-
USEFULNESS OF THE SOFTWARE, (3) DO NOT REPRESENT THAT USE OF
|
37
|
-
THE SOFTWARE WOULD NOT INFRINGE PRIVATELY OWNED RIGHTS, (4)
|
38
|
-
DO NOT WARRANT THAT THE SOFTWARE WILL FUNCTION
|
39
|
-
UNINTERRUPTED, THAT IT IS ERROR-FREE OR THAT ANY ERRORS WILL
|
40
|
-
BE CORRECTED.
|
41
|
-
|
42
|
-
5. LIMITATION OF LIABILITY. IN NO EVENT WILL THE COPYRIGHT
|
43
|
-
HOLDER, THE UNITED STATES, THE UNITED STATES DEPARTMENT OF
|
44
|
-
ENERGY, OR THEIR EMPLOYEES: BE LIABLE FOR ANY INDIRECT,
|
45
|
-
INCIDENTAL, CONSEQUENTIAL, SPECIAL OR PUNITIVE DAMAGES OF
|
46
|
-
ANY KIND OR NATURE, INCLUDING BUT NOT LIMITED TO LOSS OF
|
47
|
-
PROFITS OR LOSS OF DATA, FOR ANY REASON WHATSOEVER, WHETHER
|
48
|
-
SUCH LIABILITY IS ASSERTED ON THE BASIS OF CONTRACT, TORT
|
49
|
-
(INCLUDING NEGLIGENCE OR STRICT LIABILITY), OR OTHERWISE,
|
50
|
-
EVEN IF ANY OF SAID PARTIES HAS BEEN WARNED OF THE
|
51
|
-
POSSIBILITY OF SUCH LOSS OR DAMAGES.
|
52
|
-
|
1
|
+
Minpack Copyright Notice (1999) University of Chicago. All rights reserved
|
2
|
+
|
3
|
+
Redistribution and use in source and binary forms, with or
|
4
|
+
without modification, are permitted provided that the
|
5
|
+
following conditions are met:
|
6
|
+
|
7
|
+
1. Redistributions of source code must retain the above
|
8
|
+
copyright notice, this list of conditions and the following
|
9
|
+
disclaimer.
|
10
|
+
|
11
|
+
2. Redistributions in binary form must reproduce the above
|
12
|
+
copyright notice, this list of conditions and the following
|
13
|
+
disclaimer in the documentation and/or other materials
|
14
|
+
provided with the distribution.
|
15
|
+
|
16
|
+
3. The end-user documentation included with the
|
17
|
+
redistribution, if any, must include the following
|
18
|
+
acknowledgment:
|
19
|
+
|
20
|
+
"This product includes software developed by the
|
21
|
+
University of Chicago, as Operator of Argonne National
|
22
|
+
Laboratory.
|
23
|
+
|
24
|
+
Alternately, this acknowledgment may appear in the software
|
25
|
+
itself, if and wherever such third-party acknowledgments
|
26
|
+
normally appear.
|
27
|
+
|
28
|
+
4. WARRANTY DISCLAIMER. THE SOFTWARE IS SUPPLIED "AS IS"
|
29
|
+
WITHOUT WARRANTY OF ANY KIND. THE COPYRIGHT HOLDER, THE
|
30
|
+
UNITED STATES, THE UNITED STATES DEPARTMENT OF ENERGY, AND
|
31
|
+
THEIR EMPLOYEES: (1) DISCLAIM ANY WARRANTIES, EXPRESS OR
|
32
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO ANY IMPLIED WARRANTIES
|
33
|
+
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE
|
34
|
+
OR NON-INFRINGEMENT, (2) DO NOT ASSUME ANY LEGAL LIABILITY
|
35
|
+
OR RESPONSIBILITY FOR THE ACCURACY, COMPLETENESS, OR
|
36
|
+
USEFULNESS OF THE SOFTWARE, (3) DO NOT REPRESENT THAT USE OF
|
37
|
+
THE SOFTWARE WOULD NOT INFRINGE PRIVATELY OWNED RIGHTS, (4)
|
38
|
+
DO NOT WARRANT THAT THE SOFTWARE WILL FUNCTION
|
39
|
+
UNINTERRUPTED, THAT IT IS ERROR-FREE OR THAT ANY ERRORS WILL
|
40
|
+
BE CORRECTED.
|
41
|
+
|
42
|
+
5. LIMITATION OF LIABILITY. IN NO EVENT WILL THE COPYRIGHT
|
43
|
+
HOLDER, THE UNITED STATES, THE UNITED STATES DEPARTMENT OF
|
44
|
+
ENERGY, OR THEIR EMPLOYEES: BE LIABLE FOR ANY INDIRECT,
|
45
|
+
INCIDENTAL, CONSEQUENTIAL, SPECIAL OR PUNITIVE DAMAGES OF
|
46
|
+
ANY KIND OR NATURE, INCLUDING BUT NOT LIMITED TO LOSS OF
|
47
|
+
PROFITS OR LOSS OF DATA, FOR ANY REASON WHATSOEVER, WHETHER
|
48
|
+
SUCH LIABILITY IS ASSERTED ON THE BASIS OF CONTRACT, TORT
|
49
|
+
(INCLUDING NEGLIGENCE OR STRICT LIABILITY), OR OTHERWISE,
|
50
|
+
EVEN IF ANY OF SAID PARTIES HAS BEEN WARNED OF THE
|
51
|
+
POSSIBILITY OF SUCH LOSS OR DAMAGES.
|
data/vendor/eigen/Eigen/Cholesky
CHANGED
data/vendor/eigen/Eigen/Core
CHANGED
@@ -11,251 +11,55 @@
|
|
11
11
|
#ifndef EIGEN_CORE_H
|
12
12
|
#define EIGEN_CORE_H
|
13
13
|
|
14
|
-
// first thing Eigen does: stop the compiler from
|
14
|
+
// first thing Eigen does: stop the compiler from reporting useless warnings.
|
15
15
|
#include "src/Core/util/DisableStupidWarnings.h"
|
16
16
|
|
17
|
-
|
18
|
-
|
19
|
-
#
|
20
|
-
|
21
|
-
#if defined(__CUDA_ARCH__) && !defined(EIGEN_NO_CUDA)
|
22
|
-
#define EIGEN_CUDA_ARCH __CUDA_ARCH__
|
23
|
-
#endif
|
24
|
-
|
25
|
-
#if defined(__CUDACC_VER_MAJOR__) && (__CUDACC_VER_MAJOR__ >= 9)
|
26
|
-
#define EIGEN_CUDACC_VER ((__CUDACC_VER_MAJOR__ * 10000) + (__CUDACC_VER_MINOR__ * 100))
|
27
|
-
#elif defined(__CUDACC_VER__)
|
28
|
-
#define EIGEN_CUDACC_VER __CUDACC_VER__
|
29
|
-
#else
|
30
|
-
#define EIGEN_CUDACC_VER 0
|
31
|
-
#endif
|
32
|
-
|
33
|
-
// Handle NVCC/CUDA/SYCL
|
34
|
-
#if defined(__CUDACC__) || defined(__SYCL_DEVICE_ONLY__)
|
35
|
-
// Do not try asserts on CUDA and SYCL!
|
36
|
-
#ifndef EIGEN_NO_DEBUG
|
37
|
-
#define EIGEN_NO_DEBUG
|
38
|
-
#endif
|
39
|
-
|
40
|
-
#ifdef EIGEN_INTERNAL_DEBUGGING
|
41
|
-
#undef EIGEN_INTERNAL_DEBUGGING
|
42
|
-
#endif
|
43
|
-
|
44
|
-
#ifdef EIGEN_EXCEPTIONS
|
45
|
-
#undef EIGEN_EXCEPTIONS
|
46
|
-
#endif
|
47
|
-
|
48
|
-
// All functions callable from CUDA code must be qualified with __device__
|
49
|
-
#ifdef __CUDACC__
|
50
|
-
// Do not try to vectorize on CUDA and SYCL!
|
51
|
-
#ifndef EIGEN_DONT_VECTORIZE
|
52
|
-
#define EIGEN_DONT_VECTORIZE
|
53
|
-
#endif
|
54
|
-
|
55
|
-
#define EIGEN_DEVICE_FUNC __host__ __device__
|
56
|
-
// We need cuda_runtime.h to ensure that that EIGEN_USING_STD_MATH macro
|
57
|
-
// works properly on the device side
|
58
|
-
#include <cuda_runtime.h>
|
59
|
-
#else
|
60
|
-
#define EIGEN_DEVICE_FUNC
|
61
|
-
#endif
|
17
|
+
// then include this file where all our macros are defined. It's really important to do it first because
|
18
|
+
// it's where we do all the compiler/OS/arch detections and define most defaults.
|
19
|
+
#include "src/Core/util/Macros.h"
|
62
20
|
|
63
|
-
|
64
|
-
|
21
|
+
// This detects SSE/AVX/NEON/etc. and configure alignment settings
|
22
|
+
#include "src/Core/util/ConfigureVectorization.h"
|
65
23
|
|
24
|
+
// We need cuda_runtime.h/hip_runtime.h to ensure that
|
25
|
+
// the EIGEN_USING_STD macro works properly on the device side
|
26
|
+
#if defined(EIGEN_CUDACC)
|
27
|
+
#include <cuda_runtime.h>
|
28
|
+
#elif defined(EIGEN_HIPCC)
|
29
|
+
#include <hip/hip_runtime.h>
|
66
30
|
#endif
|
67
31
|
|
68
|
-
// When compiling CUDA device code with NVCC, pull in math functions from the
|
69
|
-
// global namespace. In host mode, and when device doee with clang, use the
|
70
|
-
// std versions.
|
71
|
-
#if defined(__CUDA_ARCH__) && defined(__NVCC__)
|
72
|
-
#define EIGEN_USING_STD_MATH(FUNC) using ::FUNC;
|
73
|
-
#else
|
74
|
-
#define EIGEN_USING_STD_MATH(FUNC) using std::FUNC;
|
75
|
-
#endif
|
76
|
-
|
77
|
-
#if (defined(_CPPUNWIND) || defined(__EXCEPTIONS)) && !defined(__CUDA_ARCH__) && !defined(EIGEN_EXCEPTIONS) && !defined(EIGEN_USE_SYCL)
|
78
|
-
#define EIGEN_EXCEPTIONS
|
79
|
-
#endif
|
80
32
|
|
81
33
|
#ifdef EIGEN_EXCEPTIONS
|
82
34
|
#include <new>
|
83
35
|
#endif
|
84
36
|
|
85
|
-
// then include this file where all our macros are defined. It's really important to do it first because
|
86
|
-
// it's where we do all the alignment settings (platform detection and honoring the user's will if he
|
87
|
-
// defined e.g. EIGEN_DONT_ALIGN) so it needs to be done before we do anything with vectorization.
|
88
|
-
#include "src/Core/util/Macros.h"
|
89
|
-
|
90
37
|
// Disable the ipa-cp-clone optimization flag with MinGW 6.x or newer (enabled by default with -O3)
|
91
38
|
// See http://eigen.tuxfamily.org/bz/show_bug.cgi?id=556 for details.
|
92
|
-
#if EIGEN_COMP_MINGW && EIGEN_GNUC_AT_LEAST(4,6)
|
39
|
+
#if EIGEN_COMP_MINGW && EIGEN_GNUC_AT_LEAST(4,6) && EIGEN_GNUC_AT_MOST(5,5)
|
93
40
|
#pragma GCC optimize ("-fno-ipa-cp-clone")
|
94
41
|
#endif
|
95
42
|
|
43
|
+
// Prevent ICC from specializing std::complex operators that silently fail
|
44
|
+
// on device. This allows us to use our own device-compatible specializations
|
45
|
+
// instead.
|
46
|
+
#if defined(EIGEN_COMP_ICC) && defined(EIGEN_GPU_COMPILE_PHASE) \
|
47
|
+
&& !defined(_OVERRIDE_COMPLEX_SPECIALIZATION_)
|
48
|
+
#define _OVERRIDE_COMPLEX_SPECIALIZATION_ 1
|
49
|
+
#endif
|
96
50
|
#include <complex>
|
97
51
|
|
98
52
|
// this include file manages BLAS and MKL related macros
|
99
53
|
// and inclusion of their respective header files
|
100
54
|
#include "src/Core/util/MKL_support.h"
|
101
55
|
|
102
|
-
// if alignment is disabled, then disable vectorization. Note: EIGEN_MAX_ALIGN_BYTES is the proper check, it takes into
|
103
|
-
// account both the user's will (EIGEN_MAX_ALIGN_BYTES,EIGEN_DONT_ALIGN) and our own platform checks
|
104
|
-
#if EIGEN_MAX_ALIGN_BYTES==0
|
105
|
-
#ifndef EIGEN_DONT_VECTORIZE
|
106
|
-
#define EIGEN_DONT_VECTORIZE
|
107
|
-
#endif
|
108
|
-
#endif
|
109
|
-
|
110
|
-
#if EIGEN_COMP_MSVC
|
111
|
-
#include <malloc.h> // for _aligned_malloc -- need it regardless of whether vectorization is enabled
|
112
|
-
#if (EIGEN_COMP_MSVC >= 1500) // 2008 or later
|
113
|
-
// Remember that usage of defined() in a #define is undefined by the standard.
|
114
|
-
// a user reported that in 64-bit mode, MSVC doesn't care to define _M_IX86_FP.
|
115
|
-
#if (defined(_M_IX86_FP) && (_M_IX86_FP >= 2)) || EIGEN_ARCH_x86_64
|
116
|
-
#define EIGEN_SSE2_ON_MSVC_2008_OR_LATER
|
117
|
-
#endif
|
118
|
-
#endif
|
119
|
-
#else
|
120
|
-
// Remember that usage of defined() in a #define is undefined by the standard
|
121
|
-
#if (defined __SSE2__) && ( (!EIGEN_COMP_GNUC) || EIGEN_COMP_ICC || EIGEN_GNUC_AT_LEAST(4,2) )
|
122
|
-
#define EIGEN_SSE2_ON_NON_MSVC_BUT_NOT_OLD_GCC
|
123
|
-
#endif
|
124
|
-
#endif
|
125
|
-
|
126
|
-
#ifndef EIGEN_DONT_VECTORIZE
|
127
|
-
|
128
|
-
#if defined (EIGEN_SSE2_ON_NON_MSVC_BUT_NOT_OLD_GCC) || defined(EIGEN_SSE2_ON_MSVC_2008_OR_LATER)
|
129
|
-
|
130
|
-
// Defines symbols for compile-time detection of which instructions are
|
131
|
-
// used.
|
132
|
-
// EIGEN_VECTORIZE_YY is defined if and only if the instruction set YY is used
|
133
|
-
#define EIGEN_VECTORIZE
|
134
|
-
#define EIGEN_VECTORIZE_SSE
|
135
|
-
#define EIGEN_VECTORIZE_SSE2
|
136
|
-
|
137
|
-
// Detect sse3/ssse3/sse4:
|
138
|
-
// gcc and icc defines __SSE3__, ...
|
139
|
-
// there is no way to know about this on msvc. You can define EIGEN_VECTORIZE_SSE* if you
|
140
|
-
// want to force the use of those instructions with msvc.
|
141
|
-
#ifdef __SSE3__
|
142
|
-
#define EIGEN_VECTORIZE_SSE3
|
143
|
-
#endif
|
144
|
-
#ifdef __SSSE3__
|
145
|
-
#define EIGEN_VECTORIZE_SSSE3
|
146
|
-
#endif
|
147
|
-
#ifdef __SSE4_1__
|
148
|
-
#define EIGEN_VECTORIZE_SSE4_1
|
149
|
-
#endif
|
150
|
-
#ifdef __SSE4_2__
|
151
|
-
#define EIGEN_VECTORIZE_SSE4_2
|
152
|
-
#endif
|
153
|
-
#ifdef __AVX__
|
154
|
-
#define EIGEN_VECTORIZE_AVX
|
155
|
-
#define EIGEN_VECTORIZE_SSE3
|
156
|
-
#define EIGEN_VECTORIZE_SSSE3
|
157
|
-
#define EIGEN_VECTORIZE_SSE4_1
|
158
|
-
#define EIGEN_VECTORIZE_SSE4_2
|
159
|
-
#endif
|
160
|
-
#ifdef __AVX2__
|
161
|
-
#define EIGEN_VECTORIZE_AVX2
|
162
|
-
#endif
|
163
|
-
#ifdef __FMA__
|
164
|
-
#define EIGEN_VECTORIZE_FMA
|
165
|
-
#endif
|
166
|
-
#if defined(__AVX512F__) && defined(EIGEN_ENABLE_AVX512)
|
167
|
-
#define EIGEN_VECTORIZE_AVX512
|
168
|
-
#define EIGEN_VECTORIZE_AVX2
|
169
|
-
#define EIGEN_VECTORIZE_AVX
|
170
|
-
#define EIGEN_VECTORIZE_FMA
|
171
|
-
#ifdef __AVX512DQ__
|
172
|
-
#define EIGEN_VECTORIZE_AVX512DQ
|
173
|
-
#endif
|
174
|
-
#ifdef __AVX512ER__
|
175
|
-
#define EIGEN_VECTORIZE_AVX512ER
|
176
|
-
#endif
|
177
|
-
#endif
|
178
|
-
|
179
|
-
// include files
|
180
|
-
|
181
|
-
// This extern "C" works around a MINGW-w64 compilation issue
|
182
|
-
// https://sourceforge.net/tracker/index.php?func=detail&aid=3018394&group_id=202880&atid=983354
|
183
|
-
// In essence, intrin.h is included by windows.h and also declares intrinsics (just as emmintrin.h etc. below do).
|
184
|
-
// However, intrin.h uses an extern "C" declaration, and g++ thus complains of duplicate declarations
|
185
|
-
// with conflicting linkage. The linkage for intrinsics doesn't matter, but at that stage the compiler doesn't know;
|
186
|
-
// so, to avoid compile errors when windows.h is included after Eigen/Core, ensure intrinsics are extern "C" here too.
|
187
|
-
// notice that since these are C headers, the extern "C" is theoretically needed anyways.
|
188
|
-
extern "C" {
|
189
|
-
// In theory we should only include immintrin.h and not the other *mmintrin.h header files directly.
|
190
|
-
// Doing so triggers some issues with ICC. However old gcc versions seems to not have this file, thus:
|
191
|
-
#if EIGEN_COMP_ICC >= 1110
|
192
|
-
#include <immintrin.h>
|
193
|
-
#else
|
194
|
-
#include <mmintrin.h>
|
195
|
-
#include <emmintrin.h>
|
196
|
-
#include <xmmintrin.h>
|
197
|
-
#ifdef EIGEN_VECTORIZE_SSE3
|
198
|
-
#include <pmmintrin.h>
|
199
|
-
#endif
|
200
|
-
#ifdef EIGEN_VECTORIZE_SSSE3
|
201
|
-
#include <tmmintrin.h>
|
202
|
-
#endif
|
203
|
-
#ifdef EIGEN_VECTORIZE_SSE4_1
|
204
|
-
#include <smmintrin.h>
|
205
|
-
#endif
|
206
|
-
#ifdef EIGEN_VECTORIZE_SSE4_2
|
207
|
-
#include <nmmintrin.h>
|
208
|
-
#endif
|
209
|
-
#if defined(EIGEN_VECTORIZE_AVX) || defined(EIGEN_VECTORIZE_AVX512)
|
210
|
-
#include <immintrin.h>
|
211
|
-
#endif
|
212
|
-
#endif
|
213
|
-
} // end extern "C"
|
214
|
-
#elif defined __VSX__
|
215
|
-
#define EIGEN_VECTORIZE
|
216
|
-
#define EIGEN_VECTORIZE_VSX
|
217
|
-
#include <altivec.h>
|
218
|
-
// We need to #undef all these ugly tokens defined in <altivec.h>
|
219
|
-
// => use __vector instead of vector
|
220
|
-
#undef bool
|
221
|
-
#undef vector
|
222
|
-
#undef pixel
|
223
|
-
#elif defined __ALTIVEC__
|
224
|
-
#define EIGEN_VECTORIZE
|
225
|
-
#define EIGEN_VECTORIZE_ALTIVEC
|
226
|
-
#include <altivec.h>
|
227
|
-
// We need to #undef all these ugly tokens defined in <altivec.h>
|
228
|
-
// => use __vector instead of vector
|
229
|
-
#undef bool
|
230
|
-
#undef vector
|
231
|
-
#undef pixel
|
232
|
-
#elif (defined __ARM_NEON) || (defined __ARM_NEON__)
|
233
|
-
#define EIGEN_VECTORIZE
|
234
|
-
#define EIGEN_VECTORIZE_NEON
|
235
|
-
#include <arm_neon.h>
|
236
|
-
#elif (defined __s390x__ && defined __VEC__)
|
237
|
-
#define EIGEN_VECTORIZE
|
238
|
-
#define EIGEN_VECTORIZE_ZVECTOR
|
239
|
-
#include <vecintrin.h>
|
240
|
-
#endif
|
241
|
-
#endif
|
242
56
|
|
243
|
-
#if defined(
|
244
|
-
|
245
|
-
#define EIGEN_HAS_FP16_C
|
57
|
+
#if defined(EIGEN_HAS_CUDA_FP16) || defined(EIGEN_HAS_HIP_FP16)
|
58
|
+
#define EIGEN_HAS_GPU_FP16
|
246
59
|
#endif
|
247
60
|
|
248
|
-
#if defined
|
249
|
-
#define
|
250
|
-
#include <vector_types.h>
|
251
|
-
#if EIGEN_CUDACC_VER >= 70500
|
252
|
-
#define EIGEN_HAS_CUDA_FP16
|
253
|
-
#endif
|
254
|
-
#endif
|
255
|
-
|
256
|
-
#if defined EIGEN_HAS_CUDA_FP16
|
257
|
-
#include <host_defines.h>
|
258
|
-
#include <cuda_fp16.h>
|
61
|
+
#if defined(EIGEN_HAS_CUDA_BF16) || defined(EIGEN_HAS_HIP_BF16)
|
62
|
+
#define EIGEN_HAS_GPU_BF16
|
259
63
|
#endif
|
260
64
|
|
261
65
|
#if (defined _OPENMP) && (!defined EIGEN_DONT_PARALLELIZE)
|
@@ -279,7 +83,10 @@
|
|
279
83
|
#include <cmath>
|
280
84
|
#include <cassert>
|
281
85
|
#include <functional>
|
282
|
-
#include <
|
86
|
+
#include <sstream>
|
87
|
+
#ifndef EIGEN_NO_IO
|
88
|
+
#include <iosfwd>
|
89
|
+
#endif
|
283
90
|
#include <cstring>
|
284
91
|
#include <string>
|
285
92
|
#include <limits>
|
@@ -287,6 +94,10 @@
|
|
287
94
|
// for min/max:
|
288
95
|
#include <algorithm>
|
289
96
|
|
97
|
+
#if EIGEN_HAS_CXX11
|
98
|
+
#include <array>
|
99
|
+
#endif
|
100
|
+
|
290
101
|
// for std::is_nothrow_move_assignable
|
291
102
|
#ifdef EIGEN_INCLUDE_TYPE_TRAITS
|
292
103
|
#include <type_traits>
|
@@ -302,38 +113,25 @@
|
|
302
113
|
#include <intrin.h>
|
303
114
|
#endif
|
304
115
|
|
305
|
-
|
306
|
-
|
307
|
-
|
308
|
-
|
309
|
-
#
|
310
|
-
|
311
|
-
#
|
312
|
-
|
313
|
-
#
|
314
|
-
|
315
|
-
#
|
316
|
-
|
317
|
-
#
|
318
|
-
|
319
|
-
#
|
320
|
-
|
321
|
-
#
|
322
|
-
return "SSE, SSE2";
|
323
|
-
#elif defined(EIGEN_VECTORIZE_ALTIVEC)
|
324
|
-
return "AltiVec";
|
325
|
-
#elif defined(EIGEN_VECTORIZE_VSX)
|
326
|
-
return "VSX";
|
327
|
-
#elif defined(EIGEN_VECTORIZE_NEON)
|
328
|
-
return "ARM NEON";
|
329
|
-
#elif defined(EIGEN_VECTORIZE_ZVECTOR)
|
330
|
-
return "S390X ZVECTOR";
|
331
|
-
#else
|
332
|
-
return "None";
|
116
|
+
#if defined(EIGEN_USE_SYCL)
|
117
|
+
#undef min
|
118
|
+
#undef max
|
119
|
+
#undef isnan
|
120
|
+
#undef isinf
|
121
|
+
#undef isfinite
|
122
|
+
#include <CL/sycl.hpp>
|
123
|
+
#include <map>
|
124
|
+
#include <memory>
|
125
|
+
#include <utility>
|
126
|
+
#include <thread>
|
127
|
+
#ifndef EIGEN_SYCL_LOCAL_THREAD_DIM0
|
128
|
+
#define EIGEN_SYCL_LOCAL_THREAD_DIM0 16
|
129
|
+
#endif
|
130
|
+
#ifndef EIGEN_SYCL_LOCAL_THREAD_DIM1
|
131
|
+
#define EIGEN_SYCL_LOCAL_THREAD_DIM1 16
|
132
|
+
#endif
|
333
133
|
#endif
|
334
|
-
}
|
335
134
|
|
336
|
-
} // end namespace Eigen
|
337
135
|
|
338
136
|
#if defined EIGEN2_SUPPORT_STAGE40_FULL_EIGEN3_STRICTNESS || defined EIGEN2_SUPPORT_STAGE30_FULL_EIGEN3_API || defined EIGEN2_SUPPORT_STAGE20_RESOLVE_API_CONFLICTS || defined EIGEN2_SUPPORT_STAGE10_FULL_EIGEN2_API || defined EIGEN2_SUPPORT
|
339
137
|
// This will generate an error message:
|
@@ -342,7 +140,7 @@ inline static const char *SimdInstructionSetsInUse(void) {
|
|
342
140
|
|
343
141
|
namespace Eigen {
|
344
142
|
|
345
|
-
// we use size_t frequently and we'll never remember to prepend it with std::
|
143
|
+
// we use size_t frequently and we'll never remember to prepend it with std:: every time just to
|
346
144
|
// ensure QNX/QCC support
|
347
145
|
using std::size_t;
|
348
146
|
// gcc 4.6.0 wants std:: for ptrdiff_t
|
@@ -366,58 +164,90 @@ using std::ptrdiff_t;
|
|
366
164
|
#include "src/Core/util/StaticAssert.h"
|
367
165
|
#include "src/Core/util/XprHelper.h"
|
368
166
|
#include "src/Core/util/Memory.h"
|
167
|
+
#include "src/Core/util/IntegralConstant.h"
|
168
|
+
#include "src/Core/util/SymbolicIndex.h"
|
369
169
|
|
370
170
|
#include "src/Core/NumTraits.h"
|
371
171
|
#include "src/Core/MathFunctions.h"
|
372
172
|
#include "src/Core/GenericPacketMath.h"
|
373
173
|
#include "src/Core/MathFunctionsImpl.h"
|
374
174
|
#include "src/Core/arch/Default/ConjHelper.h"
|
175
|
+
// Generic half float support
|
176
|
+
#include "src/Core/arch/Default/Half.h"
|
177
|
+
#include "src/Core/arch/Default/BFloat16.h"
|
178
|
+
#include "src/Core/arch/Default/TypeCasting.h"
|
179
|
+
#include "src/Core/arch/Default/GenericPacketMathFunctionsFwd.h"
|
375
180
|
|
376
181
|
#if defined EIGEN_VECTORIZE_AVX512
|
377
182
|
#include "src/Core/arch/SSE/PacketMath.h"
|
183
|
+
#include "src/Core/arch/SSE/TypeCasting.h"
|
184
|
+
#include "src/Core/arch/SSE/Complex.h"
|
378
185
|
#include "src/Core/arch/AVX/PacketMath.h"
|
186
|
+
#include "src/Core/arch/AVX/TypeCasting.h"
|
187
|
+
#include "src/Core/arch/AVX/Complex.h"
|
379
188
|
#include "src/Core/arch/AVX512/PacketMath.h"
|
189
|
+
#include "src/Core/arch/AVX512/TypeCasting.h"
|
190
|
+
#include "src/Core/arch/AVX512/Complex.h"
|
191
|
+
#include "src/Core/arch/SSE/MathFunctions.h"
|
192
|
+
#include "src/Core/arch/AVX/MathFunctions.h"
|
380
193
|
#include "src/Core/arch/AVX512/MathFunctions.h"
|
381
194
|
#elif defined EIGEN_VECTORIZE_AVX
|
382
195
|
// Use AVX for floats and doubles, SSE for integers
|
383
196
|
#include "src/Core/arch/SSE/PacketMath.h"
|
197
|
+
#include "src/Core/arch/SSE/TypeCasting.h"
|
384
198
|
#include "src/Core/arch/SSE/Complex.h"
|
385
|
-
#include "src/Core/arch/SSE/MathFunctions.h"
|
386
199
|
#include "src/Core/arch/AVX/PacketMath.h"
|
387
|
-
#include "src/Core/arch/AVX/MathFunctions.h"
|
388
|
-
#include "src/Core/arch/AVX/Complex.h"
|
389
200
|
#include "src/Core/arch/AVX/TypeCasting.h"
|
390
|
-
#include "src/Core/arch/
|
201
|
+
#include "src/Core/arch/AVX/Complex.h"
|
202
|
+
#include "src/Core/arch/SSE/MathFunctions.h"
|
203
|
+
#include "src/Core/arch/AVX/MathFunctions.h"
|
391
204
|
#elif defined EIGEN_VECTORIZE_SSE
|
392
205
|
#include "src/Core/arch/SSE/PacketMath.h"
|
206
|
+
#include "src/Core/arch/SSE/TypeCasting.h"
|
393
207
|
#include "src/Core/arch/SSE/MathFunctions.h"
|
394
208
|
#include "src/Core/arch/SSE/Complex.h"
|
395
|
-
#include "src/Core/arch/SSE/TypeCasting.h"
|
396
209
|
#elif defined(EIGEN_VECTORIZE_ALTIVEC) || defined(EIGEN_VECTORIZE_VSX)
|
397
210
|
#include "src/Core/arch/AltiVec/PacketMath.h"
|
398
211
|
#include "src/Core/arch/AltiVec/MathFunctions.h"
|
399
212
|
#include "src/Core/arch/AltiVec/Complex.h"
|
400
213
|
#elif defined EIGEN_VECTORIZE_NEON
|
401
214
|
#include "src/Core/arch/NEON/PacketMath.h"
|
215
|
+
#include "src/Core/arch/NEON/TypeCasting.h"
|
402
216
|
#include "src/Core/arch/NEON/MathFunctions.h"
|
403
217
|
#include "src/Core/arch/NEON/Complex.h"
|
218
|
+
#elif defined EIGEN_VECTORIZE_SVE
|
219
|
+
#include "src/Core/arch/SVE/PacketMath.h"
|
220
|
+
#include "src/Core/arch/SVE/TypeCasting.h"
|
221
|
+
#include "src/Core/arch/SVE/MathFunctions.h"
|
404
222
|
#elif defined EIGEN_VECTORIZE_ZVECTOR
|
405
223
|
#include "src/Core/arch/ZVector/PacketMath.h"
|
406
224
|
#include "src/Core/arch/ZVector/MathFunctions.h"
|
407
225
|
#include "src/Core/arch/ZVector/Complex.h"
|
226
|
+
#elif defined EIGEN_VECTORIZE_MSA
|
227
|
+
#include "src/Core/arch/MSA/PacketMath.h"
|
228
|
+
#include "src/Core/arch/MSA/MathFunctions.h"
|
229
|
+
#include "src/Core/arch/MSA/Complex.h"
|
408
230
|
#endif
|
409
231
|
|
410
|
-
|
411
|
-
#include "src/Core/arch/
|
412
|
-
#include "src/Core/arch/
|
413
|
-
#include "src/Core/arch/
|
232
|
+
#if defined EIGEN_VECTORIZE_GPU
|
233
|
+
#include "src/Core/arch/GPU/PacketMath.h"
|
234
|
+
#include "src/Core/arch/GPU/MathFunctions.h"
|
235
|
+
#include "src/Core/arch/GPU/TypeCasting.h"
|
236
|
+
#endif
|
414
237
|
|
415
|
-
#if defined
|
416
|
-
#include "src/Core/arch/
|
417
|
-
#include "src/Core/arch/
|
238
|
+
#if defined(EIGEN_USE_SYCL)
|
239
|
+
#include "src/Core/arch/SYCL/SyclMemoryModel.h"
|
240
|
+
#include "src/Core/arch/SYCL/InteropHeaders.h"
|
241
|
+
#if !defined(EIGEN_DONT_VECTORIZE_SYCL)
|
242
|
+
#include "src/Core/arch/SYCL/PacketMath.h"
|
243
|
+
#include "src/Core/arch/SYCL/MathFunctions.h"
|
244
|
+
#include "src/Core/arch/SYCL/TypeCasting.h"
|
245
|
+
#endif
|
418
246
|
#endif
|
419
247
|
|
420
248
|
#include "src/Core/arch/Default/Settings.h"
|
249
|
+
// This file provides generic implementations valid for scalar as well
|
250
|
+
#include "src/Core/arch/Default/GenericPacketMathFunctions.h"
|
421
251
|
|
422
252
|
#include "src/Core/functors/TernaryFunctors.h"
|
423
253
|
#include "src/Core/functors/BinaryFunctors.h"
|
@@ -428,9 +258,16 @@ using std::ptrdiff_t;
|
|
428
258
|
|
429
259
|
// Specialized functors to enable the processing of complex numbers
|
430
260
|
// on CUDA devices
|
261
|
+
#ifdef EIGEN_CUDACC
|
431
262
|
#include "src/Core/arch/CUDA/Complex.h"
|
263
|
+
#endif
|
432
264
|
|
433
|
-
#include "src/Core/
|
265
|
+
#include "src/Core/util/IndexedViewHelper.h"
|
266
|
+
#include "src/Core/util/ReshapedHelper.h"
|
267
|
+
#include "src/Core/ArithmeticSequence.h"
|
268
|
+
#ifndef EIGEN_NO_IO
|
269
|
+
#include "src/Core/IO.h"
|
270
|
+
#endif
|
434
271
|
#include "src/Core/DenseCoeffsBase.h"
|
435
272
|
#include "src/Core/DenseBase.h"
|
436
273
|
#include "src/Core/MatrixBase.h"
|
@@ -471,6 +308,8 @@ using std::ptrdiff_t;
|
|
471
308
|
#include "src/Core/Ref.h"
|
472
309
|
#include "src/Core/Block.h"
|
473
310
|
#include "src/Core/VectorBlock.h"
|
311
|
+
#include "src/Core/IndexedView.h"
|
312
|
+
#include "src/Core/Reshaped.h"
|
474
313
|
#include "src/Core/Transpose.h"
|
475
314
|
#include "src/Core/DiagonalMatrix.h"
|
476
315
|
#include "src/Core/Diagonal.h"
|
@@ -507,13 +346,21 @@ using std::ptrdiff_t;
|
|
507
346
|
#include "src/Core/CoreIterators.h"
|
508
347
|
#include "src/Core/ConditionEstimator.h"
|
509
348
|
|
349
|
+
#if defined(EIGEN_VECTORIZE_ALTIVEC) || defined(EIGEN_VECTORIZE_VSX)
|
350
|
+
#include "src/Core/arch/AltiVec/MatrixProduct.h"
|
351
|
+
#elif defined EIGEN_VECTORIZE_NEON
|
352
|
+
#include "src/Core/arch/NEON/GeneralBlockPanelKernel.h"
|
353
|
+
#endif
|
354
|
+
|
510
355
|
#include "src/Core/BooleanRedux.h"
|
511
356
|
#include "src/Core/Select.h"
|
512
357
|
#include "src/Core/VectorwiseOp.h"
|
358
|
+
#include "src/Core/PartialReduxEvaluator.h"
|
513
359
|
#include "src/Core/Random.h"
|
514
360
|
#include "src/Core/Replicate.h"
|
515
361
|
#include "src/Core/Reverse.h"
|
516
362
|
#include "src/Core/ArrayWrapper.h"
|
363
|
+
#include "src/Core/StlIterators.h"
|
517
364
|
|
518
365
|
#ifdef EIGEN_USE_BLAS
|
519
366
|
#include "src/Core/products/GeneralMatrixMatrix_BLAS.h"
|
@@ -10,14 +10,14 @@
|
|
10
10
|
|
11
11
|
#include "Core"
|
12
12
|
|
13
|
-
#include "src/Core/util/DisableStupidWarnings.h"
|
14
|
-
|
15
13
|
#include "Cholesky"
|
16
14
|
#include "Jacobi"
|
17
15
|
#include "Householder"
|
18
16
|
#include "LU"
|
19
17
|
#include "Geometry"
|
20
18
|
|
19
|
+
#include "src/Core/util/DisableStupidWarnings.h"
|
20
|
+
|
21
21
|
/** \defgroup Eigenvalues_Module Eigenvalues module
|
22
22
|
*
|
23
23
|
*
|
@@ -58,4 +58,3 @@
|
|
58
58
|
#include "src/Core/util/ReenableStupidWarnings.h"
|
59
59
|
|
60
60
|
#endif // EIGEN_EIGENVALUES_MODULE_H
|
61
|
-
/* vim: set filetype=cpp et sw=2 ts=2 ai: */
|
data/vendor/eigen/Eigen/Geometry
CHANGED
@@ -10,12 +10,12 @@
|
|
10
10
|
|
11
11
|
#include "Core"
|
12
12
|
|
13
|
-
#include "src/Core/util/DisableStupidWarnings.h"
|
14
|
-
|
15
13
|
#include "SVD"
|
16
14
|
#include "LU"
|
17
15
|
#include <limits>
|
18
16
|
|
17
|
+
#include "src/Core/util/DisableStupidWarnings.h"
|
18
|
+
|
19
19
|
/** \defgroup Geometry_Module Geometry module
|
20
20
|
*
|
21
21
|
* This module provides support for:
|
@@ -49,14 +49,11 @@
|
|
49
49
|
#include "src/Geometry/AlignedBox.h"
|
50
50
|
#include "src/Geometry/Umeyama.h"
|
51
51
|
|
52
|
-
// Use the SSE optimized version whenever possible.
|
53
|
-
|
54
|
-
#
|
55
|
-
#include "src/Geometry/arch/Geometry_SSE.h"
|
52
|
+
// Use the SSE optimized version whenever possible.
|
53
|
+
#if (defined EIGEN_VECTORIZE_SSE) || (defined EIGEN_VECTORIZE_NEON)
|
54
|
+
#include "src/Geometry/arch/Geometry_SIMD.h"
|
56
55
|
#endif
|
57
56
|
|
58
57
|
#include "src/Core/util/ReenableStupidWarnings.h"
|
59
58
|
|
60
59
|
#endif // EIGEN_GEOMETRY_MODULE_H
|
61
|
-
/* vim: set filetype=cpp et sw=2 ts=2 ai: */
|
62
|
-
|