@smake/eigen 1.0.2 → 1.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/eigen/Eigen/AccelerateSupport +52 -0
- package/eigen/Eigen/Cholesky +18 -21
- package/eigen/Eigen/CholmodSupport +28 -28
- package/eigen/Eigen/Core +235 -326
- package/eigen/Eigen/Eigenvalues +16 -14
- package/eigen/Eigen/Geometry +21 -24
- package/eigen/Eigen/Householder +9 -8
- package/eigen/Eigen/IterativeLinearSolvers +8 -4
- package/eigen/Eigen/Jacobi +14 -14
- package/eigen/Eigen/KLUSupport +43 -0
- package/eigen/Eigen/LU +16 -20
- package/eigen/Eigen/MetisSupport +12 -12
- package/eigen/Eigen/OrderingMethods +54 -54
- package/eigen/Eigen/PaStiXSupport +23 -20
- package/eigen/Eigen/PardisoSupport +17 -14
- package/eigen/Eigen/QR +18 -21
- package/eigen/Eigen/QtAlignedMalloc +5 -13
- package/eigen/Eigen/SPQRSupport +21 -14
- package/eigen/Eigen/SVD +23 -18
- package/eigen/Eigen/Sparse +1 -4
- package/eigen/Eigen/SparseCholesky +18 -23
- package/eigen/Eigen/SparseCore +18 -17
- package/eigen/Eigen/SparseLU +12 -8
- package/eigen/Eigen/SparseQR +16 -14
- package/eigen/Eigen/StdDeque +5 -2
- package/eigen/Eigen/StdList +5 -2
- package/eigen/Eigen/StdVector +5 -2
- package/eigen/Eigen/SuperLUSupport +30 -24
- package/eigen/Eigen/ThreadPool +80 -0
- package/eigen/Eigen/UmfPackSupport +19 -17
- package/eigen/Eigen/Version +14 -0
- package/eigen/Eigen/src/AccelerateSupport/AccelerateSupport.h +423 -0
- package/eigen/Eigen/src/AccelerateSupport/InternalHeaderCheck.h +3 -0
- package/eigen/Eigen/src/Cholesky/InternalHeaderCheck.h +3 -0
- package/eigen/Eigen/src/Cholesky/LDLT.h +377 -401
- package/eigen/Eigen/src/Cholesky/LLT.h +332 -360
- package/eigen/Eigen/src/Cholesky/LLT_LAPACKE.h +81 -56
- package/eigen/Eigen/src/CholmodSupport/CholmodSupport.h +620 -521
- package/eigen/Eigen/src/CholmodSupport/InternalHeaderCheck.h +3 -0
- package/eigen/Eigen/src/Core/ArithmeticSequence.h +239 -0
- package/eigen/Eigen/src/Core/Array.h +341 -294
- package/eigen/Eigen/src/Core/ArrayBase.h +190 -203
- package/eigen/Eigen/src/Core/ArrayWrapper.h +127 -171
- package/eigen/Eigen/src/Core/Assign.h +30 -40
- package/eigen/Eigen/src/Core/AssignEvaluator.h +711 -589
- package/eigen/Eigen/src/Core/Assign_MKL.h +130 -125
- package/eigen/Eigen/src/Core/BandMatrix.h +268 -283
- package/eigen/Eigen/src/Core/Block.h +375 -398
- package/eigen/Eigen/src/Core/CommaInitializer.h +86 -97
- package/eigen/Eigen/src/Core/ConditionEstimator.h +51 -53
- package/eigen/Eigen/src/Core/CoreEvaluators.h +1356 -1026
- package/eigen/Eigen/src/Core/CoreIterators.h +73 -59
- package/eigen/Eigen/src/Core/CwiseBinaryOp.h +114 -132
- package/eigen/Eigen/src/Core/CwiseNullaryOp.h +726 -617
- package/eigen/Eigen/src/Core/CwiseTernaryOp.h +77 -103
- package/eigen/Eigen/src/Core/CwiseUnaryOp.h +56 -68
- package/eigen/Eigen/src/Core/CwiseUnaryView.h +132 -95
- package/eigen/Eigen/src/Core/DenseBase.h +632 -571
- package/eigen/Eigen/src/Core/DenseCoeffsBase.h +511 -624
- package/eigen/Eigen/src/Core/DenseStorage.h +512 -509
- package/eigen/Eigen/src/Core/DeviceWrapper.h +153 -0
- package/eigen/Eigen/src/Core/Diagonal.h +169 -210
- package/eigen/Eigen/src/Core/DiagonalMatrix.h +351 -274
- package/eigen/Eigen/src/Core/DiagonalProduct.h +12 -10
- package/eigen/Eigen/src/Core/Dot.h +172 -222
- package/eigen/Eigen/src/Core/EigenBase.h +75 -85
- package/eigen/Eigen/src/Core/Fill.h +138 -0
- package/eigen/Eigen/src/Core/FindCoeff.h +464 -0
- package/eigen/Eigen/src/Core/ForceAlignedAccess.h +90 -109
- package/eigen/Eigen/src/Core/Fuzzy.h +82 -105
- package/eigen/Eigen/src/Core/GeneralProduct.h +327 -263
- package/eigen/Eigen/src/Core/GenericPacketMath.h +1472 -360
- package/eigen/Eigen/src/Core/GlobalFunctions.h +194 -151
- package/eigen/Eigen/src/Core/IO.h +147 -139
- package/eigen/Eigen/src/Core/IndexedView.h +321 -0
- package/eigen/Eigen/src/Core/InnerProduct.h +260 -0
- package/eigen/Eigen/src/Core/InternalHeaderCheck.h +3 -0
- package/eigen/Eigen/src/Core/Inverse.h +56 -66
- package/eigen/Eigen/src/Core/Map.h +124 -142
- package/eigen/Eigen/src/Core/MapBase.h +256 -281
- package/eigen/Eigen/src/Core/MathFunctions.h +1620 -938
- package/eigen/Eigen/src/Core/MathFunctionsImpl.h +233 -71
- package/eigen/Eigen/src/Core/Matrix.h +491 -416
- package/eigen/Eigen/src/Core/MatrixBase.h +468 -453
- package/eigen/Eigen/src/Core/NestByValue.h +66 -85
- package/eigen/Eigen/src/Core/NoAlias.h +79 -85
- package/eigen/Eigen/src/Core/NumTraits.h +235 -148
- package/eigen/Eigen/src/Core/PartialReduxEvaluator.h +253 -0
- package/eigen/Eigen/src/Core/PermutationMatrix.h +461 -511
- package/eigen/Eigen/src/Core/PlainObjectBase.h +871 -894
- package/eigen/Eigen/src/Core/Product.h +260 -139
- package/eigen/Eigen/src/Core/ProductEvaluators.h +863 -714
- package/eigen/Eigen/src/Core/Random.h +161 -136
- package/eigen/Eigen/src/Core/RandomImpl.h +262 -0
- package/eigen/Eigen/src/Core/RealView.h +250 -0
- package/eigen/Eigen/src/Core/Redux.h +366 -336
- package/eigen/Eigen/src/Core/Ref.h +308 -209
- package/eigen/Eigen/src/Core/Replicate.h +94 -106
- package/eigen/Eigen/src/Core/Reshaped.h +398 -0
- package/eigen/Eigen/src/Core/ReturnByValue.h +49 -55
- package/eigen/Eigen/src/Core/Reverse.h +136 -145
- package/eigen/Eigen/src/Core/Select.h +70 -140
- package/eigen/Eigen/src/Core/SelfAdjointView.h +262 -285
- package/eigen/Eigen/src/Core/SelfCwiseBinaryOp.h +23 -20
- package/eigen/Eigen/src/Core/SkewSymmetricMatrix3.h +382 -0
- package/eigen/Eigen/src/Core/Solve.h +97 -111
- package/eigen/Eigen/src/Core/SolveTriangular.h +131 -129
- package/eigen/Eigen/src/Core/SolverBase.h +138 -101
- package/eigen/Eigen/src/Core/StableNorm.h +156 -160
- package/eigen/Eigen/src/Core/StlIterators.h +619 -0
- package/eigen/Eigen/src/Core/Stride.h +91 -88
- package/eigen/Eigen/src/Core/Swap.h +70 -38
- package/eigen/Eigen/src/Core/Transpose.h +295 -273
- package/eigen/Eigen/src/Core/Transpositions.h +272 -317
- package/eigen/Eigen/src/Core/TriangularMatrix.h +670 -755
- package/eigen/Eigen/src/Core/VectorBlock.h +59 -72
- package/eigen/Eigen/src/Core/VectorwiseOp.h +668 -630
- package/eigen/Eigen/src/Core/Visitor.h +480 -216
- package/eigen/Eigen/src/Core/arch/AVX/Complex.h +407 -293
- package/eigen/Eigen/src/Core/arch/AVX/MathFunctions.h +79 -388
- package/eigen/Eigen/src/Core/arch/AVX/PacketMath.h +2935 -491
- package/eigen/Eigen/src/Core/arch/AVX/Reductions.h +353 -0
- package/eigen/Eigen/src/Core/arch/AVX/TypeCasting.h +279 -22
- package/eigen/Eigen/src/Core/arch/AVX512/Complex.h +472 -0
- package/eigen/Eigen/src/Core/arch/AVX512/GemmKernel.h +1245 -0
- package/eigen/Eigen/src/Core/arch/AVX512/MathFunctions.h +85 -333
- package/eigen/Eigen/src/Core/arch/AVX512/MathFunctionsFP16.h +75 -0
- package/eigen/Eigen/src/Core/arch/AVX512/PacketMath.h +2490 -649
- package/eigen/Eigen/src/Core/arch/AVX512/PacketMathFP16.h +1413 -0
- package/eigen/Eigen/src/Core/arch/AVX512/Reductions.h +297 -0
- package/eigen/Eigen/src/Core/arch/AVX512/TrsmKernel.h +1167 -0
- package/eigen/Eigen/src/Core/arch/AVX512/TrsmUnrolls.inc +1219 -0
- package/eigen/Eigen/src/Core/arch/AVX512/TypeCasting.h +277 -0
- package/eigen/Eigen/src/Core/arch/AVX512/TypeCastingFP16.h +130 -0
- package/eigen/Eigen/src/Core/arch/AltiVec/Complex.h +521 -298
- package/eigen/Eigen/src/Core/arch/AltiVec/MathFunctions.h +39 -280
- package/eigen/Eigen/src/Core/arch/AltiVec/MatrixProduct.h +3686 -0
- package/eigen/Eigen/src/Core/arch/AltiVec/MatrixProductCommon.h +205 -0
- package/eigen/Eigen/src/Core/arch/AltiVec/MatrixProductMMA.h +901 -0
- package/eigen/Eigen/src/Core/arch/AltiVec/MatrixProductMMAbfloat16.h +742 -0
- package/eigen/Eigen/src/Core/arch/AltiVec/MatrixVectorProduct.inc +2818 -0
- package/eigen/Eigen/src/Core/arch/AltiVec/PacketMath.h +3391 -723
- package/eigen/Eigen/src/Core/arch/AltiVec/TypeCasting.h +153 -0
- package/eigen/Eigen/src/Core/arch/Default/BFloat16.h +866 -0
- package/eigen/Eigen/src/Core/arch/Default/ConjHelper.h +113 -14
- package/eigen/Eigen/src/Core/arch/Default/GenericPacketMathFunctions.h +2634 -0
- package/eigen/Eigen/src/Core/arch/Default/GenericPacketMathFunctionsFwd.h +227 -0
- package/eigen/Eigen/src/Core/arch/Default/Half.h +1091 -0
- package/eigen/Eigen/src/Core/arch/Default/Settings.h +11 -13
- package/eigen/Eigen/src/Core/arch/GPU/Complex.h +244 -0
- package/eigen/Eigen/src/Core/arch/GPU/MathFunctions.h +104 -0
- package/eigen/Eigen/src/Core/arch/GPU/PacketMath.h +1712 -0
- package/eigen/Eigen/src/Core/arch/GPU/Tuple.h +268 -0
- package/eigen/Eigen/src/Core/arch/GPU/TypeCasting.h +77 -0
- package/eigen/Eigen/src/Core/arch/HIP/hcc/math_constants.h +23 -0
- package/eigen/Eigen/src/Core/arch/HVX/PacketMath.h +1088 -0
- package/eigen/Eigen/src/Core/arch/LSX/Complex.h +520 -0
- package/eigen/Eigen/src/Core/arch/LSX/GeneralBlockPanelKernel.h +23 -0
- package/eigen/Eigen/src/Core/arch/LSX/MathFunctions.h +43 -0
- package/eigen/Eigen/src/Core/arch/LSX/PacketMath.h +2866 -0
- package/eigen/Eigen/src/Core/arch/LSX/TypeCasting.h +526 -0
- package/eigen/Eigen/src/Core/arch/MSA/Complex.h +620 -0
- package/eigen/Eigen/src/Core/arch/MSA/MathFunctions.h +379 -0
- package/eigen/Eigen/src/Core/arch/MSA/PacketMath.h +1237 -0
- package/eigen/Eigen/src/Core/arch/NEON/Complex.h +531 -289
- package/eigen/Eigen/src/Core/arch/NEON/GeneralBlockPanelKernel.h +243 -0
- package/eigen/Eigen/src/Core/arch/NEON/MathFunctions.h +50 -73
- package/eigen/Eigen/src/Core/arch/NEON/PacketMath.h +5915 -579
- package/eigen/Eigen/src/Core/arch/NEON/TypeCasting.h +1642 -0
- package/eigen/Eigen/src/Core/arch/NEON/UnaryFunctors.h +57 -0
- package/eigen/Eigen/src/Core/arch/SSE/Complex.h +366 -334
- package/eigen/Eigen/src/Core/arch/SSE/MathFunctions.h +40 -514
- package/eigen/Eigen/src/Core/arch/SSE/PacketMath.h +2164 -675
- package/eigen/Eigen/src/Core/arch/SSE/Reductions.h +324 -0
- package/eigen/Eigen/src/Core/arch/SSE/TypeCasting.h +188 -35
- package/eigen/Eigen/src/Core/arch/SVE/MathFunctions.h +48 -0
- package/eigen/Eigen/src/Core/arch/SVE/PacketMath.h +674 -0
- package/eigen/Eigen/src/Core/arch/SVE/TypeCasting.h +52 -0
- package/eigen/Eigen/src/Core/arch/SYCL/InteropHeaders.h +227 -0
- package/eigen/Eigen/src/Core/arch/SYCL/MathFunctions.h +303 -0
- package/eigen/Eigen/src/Core/arch/SYCL/PacketMath.h +576 -0
- package/eigen/Eigen/src/Core/arch/SYCL/TypeCasting.h +83 -0
- package/eigen/Eigen/src/Core/arch/ZVector/Complex.h +434 -261
- package/eigen/Eigen/src/Core/arch/ZVector/MathFunctions.h +160 -53
- package/eigen/Eigen/src/Core/arch/ZVector/PacketMath.h +1073 -605
- package/eigen/Eigen/src/Core/functors/AssignmentFunctors.h +123 -117
- package/eigen/Eigen/src/Core/functors/BinaryFunctors.h +594 -322
- package/eigen/Eigen/src/Core/functors/NullaryFunctors.h +204 -118
- package/eigen/Eigen/src/Core/functors/StlFunctors.h +110 -97
- package/eigen/Eigen/src/Core/functors/TernaryFunctors.h +34 -7
- package/eigen/Eigen/src/Core/functors/UnaryFunctors.h +1158 -530
- package/eigen/Eigen/src/Core/products/GeneralBlockPanelKernel.h +2329 -1333
- package/eigen/Eigen/src/Core/products/GeneralMatrixMatrix.h +328 -364
- package/eigen/Eigen/src/Core/products/GeneralMatrixMatrixTriangular.h +191 -178
- package/eigen/Eigen/src/Core/products/GeneralMatrixMatrixTriangular_BLAS.h +85 -82
- package/eigen/Eigen/src/Core/products/GeneralMatrixMatrix_BLAS.h +154 -73
- package/eigen/Eigen/src/Core/products/GeneralMatrixVector.h +396 -542
- package/eigen/Eigen/src/Core/products/GeneralMatrixVector_BLAS.h +80 -77
- package/eigen/Eigen/src/Core/products/Parallelizer.h +208 -92
- package/eigen/Eigen/src/Core/products/SelfadjointMatrixMatrix.h +331 -375
- package/eigen/Eigen/src/Core/products/SelfadjointMatrixMatrix_BLAS.h +206 -224
- package/eigen/Eigen/src/Core/products/SelfadjointMatrixVector.h +139 -146
- package/eigen/Eigen/src/Core/products/SelfadjointMatrixVector_BLAS.h +58 -61
- package/eigen/Eigen/src/Core/products/SelfadjointProduct.h +71 -71
- package/eigen/Eigen/src/Core/products/SelfadjointRank2Update.h +48 -46
- package/eigen/Eigen/src/Core/products/TriangularMatrixMatrix.h +294 -369
- package/eigen/Eigen/src/Core/products/TriangularMatrixMatrix_BLAS.h +246 -238
- package/eigen/Eigen/src/Core/products/TriangularMatrixVector.h +244 -247
- package/eigen/Eigen/src/Core/products/TriangularMatrixVector_BLAS.h +212 -192
- package/eigen/Eigen/src/Core/products/TriangularSolverMatrix.h +328 -275
- package/eigen/Eigen/src/Core/products/TriangularSolverMatrix_BLAS.h +108 -109
- package/eigen/Eigen/src/Core/products/TriangularSolverVector.h +70 -93
- package/eigen/Eigen/src/Core/util/Assert.h +158 -0
- package/eigen/Eigen/src/Core/util/BlasUtil.h +413 -290
- package/eigen/Eigen/src/Core/util/ConfigureVectorization.h +543 -0
- package/eigen/Eigen/src/Core/util/Constants.h +314 -263
- package/eigen/Eigen/src/Core/util/DisableStupidWarnings.h +130 -78
- package/eigen/Eigen/src/Core/util/EmulateArray.h +270 -0
- package/eigen/Eigen/src/Core/util/ForwardDeclarations.h +450 -224
- package/eigen/Eigen/src/Core/util/GpuHipCudaDefines.inc +101 -0
- package/eigen/Eigen/src/Core/util/GpuHipCudaUndefines.inc +45 -0
- package/eigen/Eigen/src/Core/util/IndexedViewHelper.h +487 -0
- package/eigen/Eigen/src/Core/util/IntegralConstant.h +279 -0
- package/eigen/Eigen/src/Core/util/MKL_support.h +39 -30
- package/eigen/Eigen/src/Core/util/Macros.h +939 -646
- package/eigen/Eigen/src/Core/util/MaxSizeVector.h +139 -0
- package/eigen/Eigen/src/Core/util/Memory.h +1042 -650
- package/eigen/Eigen/src/Core/util/Meta.h +618 -426
- package/eigen/Eigen/src/Core/util/MoreMeta.h +638 -0
- package/eigen/Eigen/src/Core/util/ReenableStupidWarnings.h +32 -19
- package/eigen/Eigen/src/Core/util/ReshapedHelper.h +51 -0
- package/eigen/Eigen/src/Core/util/Serializer.h +209 -0
- package/eigen/Eigen/src/Core/util/StaticAssert.h +51 -164
- package/eigen/Eigen/src/Core/util/SymbolicIndex.h +445 -0
- package/eigen/Eigen/src/Core/util/XprHelper.h +793 -538
- package/eigen/Eigen/src/Eigenvalues/ComplexEigenSolver.h +246 -277
- package/eigen/Eigen/src/Eigenvalues/ComplexSchur.h +299 -319
- package/eigen/Eigen/src/Eigenvalues/ComplexSchur_LAPACKE.h +52 -48
- package/eigen/Eigen/src/Eigenvalues/EigenSolver.h +413 -456
- package/eigen/Eigen/src/Eigenvalues/GeneralizedEigenSolver.h +309 -325
- package/eigen/Eigen/src/Eigenvalues/GeneralizedSelfAdjointEigenSolver.h +157 -171
- package/eigen/Eigen/src/Eigenvalues/HessenbergDecomposition.h +292 -310
- package/eigen/Eigen/src/Eigenvalues/InternalHeaderCheck.h +3 -0
- package/eigen/Eigen/src/Eigenvalues/MatrixBaseEigenvalues.h +91 -107
- package/eigen/Eigen/src/Eigenvalues/RealQZ.h +539 -606
- package/eigen/Eigen/src/Eigenvalues/RealSchur.h +348 -382
- package/eigen/Eigen/src/Eigenvalues/RealSchur_LAPACKE.h +41 -35
- package/eigen/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h +579 -600
- package/eigen/Eigen/src/Eigenvalues/SelfAdjointEigenSolver_LAPACKE.h +47 -44
- package/eigen/Eigen/src/Eigenvalues/Tridiagonalization.h +434 -461
- package/eigen/Eigen/src/Geometry/AlignedBox.h +307 -214
- package/eigen/Eigen/src/Geometry/AngleAxis.h +135 -137
- package/eigen/Eigen/src/Geometry/EulerAngles.h +163 -74
- package/eigen/Eigen/src/Geometry/Homogeneous.h +289 -333
- package/eigen/Eigen/src/Geometry/Hyperplane.h +152 -161
- package/eigen/Eigen/src/Geometry/InternalHeaderCheck.h +3 -0
- package/eigen/Eigen/src/Geometry/OrthoMethods.h +168 -145
- package/eigen/Eigen/src/Geometry/ParametrizedLine.h +141 -104
- package/eigen/Eigen/src/Geometry/Quaternion.h +595 -497
- package/eigen/Eigen/src/Geometry/Rotation2D.h +110 -108
- package/eigen/Eigen/src/Geometry/RotationBase.h +148 -145
- package/eigen/Eigen/src/Geometry/Scaling.h +115 -90
- package/eigen/Eigen/src/Geometry/Transform.h +896 -953
- package/eigen/Eigen/src/Geometry/Translation.h +100 -98
- package/eigen/Eigen/src/Geometry/Umeyama.h +79 -84
- package/eigen/Eigen/src/Geometry/arch/Geometry_SIMD.h +154 -0
- package/eigen/Eigen/src/Householder/BlockHouseholder.h +54 -42
- package/eigen/Eigen/src/Householder/Householder.h +104 -122
- package/eigen/Eigen/src/Householder/HouseholderSequence.h +416 -382
- package/eigen/Eigen/src/Householder/InternalHeaderCheck.h +3 -0
- package/eigen/Eigen/src/IterativeLinearSolvers/BasicPreconditioners.h +153 -166
- package/eigen/Eigen/src/IterativeLinearSolvers/BiCGSTAB.h +127 -138
- package/eigen/Eigen/src/IterativeLinearSolvers/ConjugateGradient.h +95 -124
- package/eigen/Eigen/src/IterativeLinearSolvers/IncompleteCholesky.h +269 -267
- package/eigen/Eigen/src/IterativeLinearSolvers/IncompleteLUT.h +246 -259
- package/eigen/Eigen/src/IterativeLinearSolvers/InternalHeaderCheck.h +3 -0
- package/eigen/Eigen/src/IterativeLinearSolvers/IterativeSolverBase.h +218 -217
- package/eigen/Eigen/src/IterativeLinearSolvers/LeastSquareConjugateGradient.h +80 -103
- package/eigen/Eigen/src/IterativeLinearSolvers/SolveWithGuess.h +59 -63
- package/eigen/Eigen/src/Jacobi/InternalHeaderCheck.h +3 -0
- package/eigen/Eigen/src/Jacobi/Jacobi.h +256 -291
- package/eigen/Eigen/src/KLUSupport/InternalHeaderCheck.h +3 -0
- package/eigen/Eigen/src/KLUSupport/KLUSupport.h +339 -0
- package/eigen/Eigen/src/LU/Determinant.h +60 -63
- package/eigen/Eigen/src/LU/FullPivLU.h +561 -626
- package/eigen/Eigen/src/LU/InternalHeaderCheck.h +3 -0
- package/eigen/Eigen/src/LU/InverseImpl.h +213 -275
- package/eigen/Eigen/src/LU/PartialPivLU.h +407 -435
- package/eigen/Eigen/src/LU/PartialPivLU_LAPACKE.h +54 -40
- package/eigen/Eigen/src/LU/arch/InverseSize4.h +353 -0
- package/eigen/Eigen/src/MetisSupport/InternalHeaderCheck.h +3 -0
- package/eigen/Eigen/src/MetisSupport/MetisSupport.h +81 -93
- package/eigen/Eigen/src/OrderingMethods/Amd.h +250 -282
- package/eigen/Eigen/src/OrderingMethods/Eigen_Colamd.h +950 -1103
- package/eigen/Eigen/src/OrderingMethods/InternalHeaderCheck.h +3 -0
- package/eigen/Eigen/src/OrderingMethods/Ordering.h +111 -122
- package/eigen/Eigen/src/PaStiXSupport/InternalHeaderCheck.h +3 -0
- package/eigen/Eigen/src/PaStiXSupport/PaStiXSupport.h +524 -570
- package/eigen/Eigen/src/PardisoSupport/InternalHeaderCheck.h +3 -0
- package/eigen/Eigen/src/PardisoSupport/PardisoSupport.h +385 -429
- package/eigen/Eigen/src/QR/ColPivHouseholderQR.h +494 -473
- package/eigen/Eigen/src/QR/ColPivHouseholderQR_LAPACKE.h +120 -56
- package/eigen/Eigen/src/QR/CompleteOrthogonalDecomposition.h +223 -137
- package/eigen/Eigen/src/QR/FullPivHouseholderQR.h +517 -460
- package/eigen/Eigen/src/QR/HouseholderQR.h +412 -278
- package/eigen/Eigen/src/QR/HouseholderQR_LAPACKE.h +32 -23
- package/eigen/Eigen/src/QR/InternalHeaderCheck.h +3 -0
- package/eigen/Eigen/src/SPQRSupport/InternalHeaderCheck.h +3 -0
- package/eigen/Eigen/src/SPQRSupport/SuiteSparseQRSupport.h +263 -261
- package/eigen/Eigen/src/SVD/BDCSVD.h +872 -679
- package/eigen/Eigen/src/SVD/BDCSVD_LAPACKE.h +174 -0
- package/eigen/Eigen/src/SVD/InternalHeaderCheck.h +3 -0
- package/eigen/Eigen/src/SVD/JacobiSVD.h +585 -543
- package/eigen/Eigen/src/SVD/JacobiSVD_LAPACKE.h +85 -49
- package/eigen/Eigen/src/SVD/SVDBase.h +281 -160
- package/eigen/Eigen/src/SVD/UpperBidiagonalization.h +202 -237
- package/eigen/Eigen/src/SparseCholesky/InternalHeaderCheck.h +3 -0
- package/eigen/Eigen/src/SparseCholesky/SimplicialCholesky.h +769 -590
- package/eigen/Eigen/src/SparseCholesky/SimplicialCholesky_impl.h +318 -129
- package/eigen/Eigen/src/SparseCore/AmbiVector.h +202 -251
- package/eigen/Eigen/src/SparseCore/CompressedStorage.h +184 -236
- package/eigen/Eigen/src/SparseCore/ConservativeSparseSparseProduct.h +140 -184
- package/eigen/Eigen/src/SparseCore/InternalHeaderCheck.h +3 -0
- package/eigen/Eigen/src/SparseCore/SparseAssign.h +174 -111
- package/eigen/Eigen/src/SparseCore/SparseBlock.h +408 -477
- package/eigen/Eigen/src/SparseCore/SparseColEtree.h +100 -112
- package/eigen/Eigen/src/SparseCore/SparseCompressedBase.h +531 -280
- package/eigen/Eigen/src/SparseCore/SparseCwiseBinaryOp.h +559 -347
- package/eigen/Eigen/src/SparseCore/SparseCwiseUnaryOp.h +100 -108
- package/eigen/Eigen/src/SparseCore/SparseDenseProduct.h +185 -191
- package/eigen/Eigen/src/SparseCore/SparseDiagonalProduct.h +71 -71
- package/eigen/Eigen/src/SparseCore/SparseDot.h +49 -47
- package/eigen/Eigen/src/SparseCore/SparseFuzzy.h +13 -11
- package/eigen/Eigen/src/SparseCore/SparseMap.h +243 -253
- package/eigen/Eigen/src/SparseCore/SparseMatrix.h +1614 -1142
- package/eigen/Eigen/src/SparseCore/SparseMatrixBase.h +403 -357
- package/eigen/Eigen/src/SparseCore/SparsePermutation.h +186 -115
- package/eigen/Eigen/src/SparseCore/SparseProduct.h +100 -91
- package/eigen/Eigen/src/SparseCore/SparseRedux.h +22 -24
- package/eigen/Eigen/src/SparseCore/SparseRef.h +268 -295
- package/eigen/Eigen/src/SparseCore/SparseSelfAdjointView.h +371 -414
- package/eigen/Eigen/src/SparseCore/SparseSolverBase.h +78 -87
- package/eigen/Eigen/src/SparseCore/SparseSparseProductWithPruning.h +81 -95
- package/eigen/Eigen/src/SparseCore/SparseTranspose.h +62 -71
- package/eigen/Eigen/src/SparseCore/SparseTriangularView.h +132 -144
- package/eigen/Eigen/src/SparseCore/SparseUtil.h +146 -115
- package/eigen/Eigen/src/SparseCore/SparseVector.h +426 -372
- package/eigen/Eigen/src/SparseCore/SparseView.h +164 -193
- package/eigen/Eigen/src/SparseCore/TriangularSolver.h +129 -170
- package/eigen/Eigen/src/SparseLU/InternalHeaderCheck.h +3 -0
- package/eigen/Eigen/src/SparseLU/SparseLU.h +814 -618
- package/eigen/Eigen/src/SparseLU/SparseLUImpl.h +61 -48
- package/eigen/Eigen/src/SparseLU/SparseLU_Memory.h +102 -118
- package/eigen/Eigen/src/SparseLU/SparseLU_Structs.h +38 -35
- package/eigen/Eigen/src/SparseLU/SparseLU_SupernodalMatrix.h +273 -255
- package/eigen/Eigen/src/SparseLU/SparseLU_Utils.h +44 -49
- package/eigen/Eigen/src/SparseLU/SparseLU_column_bmod.h +104 -108
- package/eigen/Eigen/src/SparseLU/SparseLU_column_dfs.h +90 -101
- package/eigen/Eigen/src/SparseLU/SparseLU_copy_to_ucol.h +57 -58
- package/eigen/Eigen/src/SparseLU/SparseLU_heap_relax_snode.h +43 -55
- package/eigen/Eigen/src/SparseLU/SparseLU_kernel_bmod.h +74 -71
- package/eigen/Eigen/src/SparseLU/SparseLU_panel_bmod.h +125 -133
- package/eigen/Eigen/src/SparseLU/SparseLU_panel_dfs.h +136 -159
- package/eigen/Eigen/src/SparseLU/SparseLU_pivotL.h +51 -52
- package/eigen/Eigen/src/SparseLU/SparseLU_pruneL.h +67 -73
- package/eigen/Eigen/src/SparseLU/SparseLU_relax_snode.h +24 -26
- package/eigen/Eigen/src/SparseQR/InternalHeaderCheck.h +3 -0
- package/eigen/Eigen/src/SparseQR/SparseQR.h +451 -490
- package/eigen/Eigen/src/StlSupport/StdDeque.h +28 -105
- package/eigen/Eigen/src/StlSupport/StdList.h +28 -84
- package/eigen/Eigen/src/StlSupport/StdVector.h +28 -108
- package/eigen/Eigen/src/StlSupport/details.h +48 -50
- package/eigen/Eigen/src/SuperLUSupport/InternalHeaderCheck.h +3 -0
- package/eigen/Eigen/src/SuperLUSupport/SuperLUSupport.h +634 -732
- package/eigen/Eigen/src/ThreadPool/Barrier.h +70 -0
- package/eigen/Eigen/src/ThreadPool/CoreThreadPoolDevice.h +336 -0
- package/eigen/Eigen/src/ThreadPool/EventCount.h +241 -0
- package/eigen/Eigen/src/ThreadPool/ForkJoin.h +140 -0
- package/eigen/Eigen/src/ThreadPool/InternalHeaderCheck.h +4 -0
- package/eigen/Eigen/src/ThreadPool/NonBlockingThreadPool.h +587 -0
- package/eigen/Eigen/src/ThreadPool/RunQueue.h +230 -0
- package/eigen/Eigen/src/ThreadPool/ThreadCancel.h +21 -0
- package/eigen/Eigen/src/ThreadPool/ThreadEnvironment.h +43 -0
- package/eigen/Eigen/src/ThreadPool/ThreadLocal.h +289 -0
- package/eigen/Eigen/src/ThreadPool/ThreadPoolInterface.h +50 -0
- package/eigen/Eigen/src/ThreadPool/ThreadYield.h +16 -0
- package/eigen/Eigen/src/UmfPackSupport/InternalHeaderCheck.h +3 -0
- package/eigen/Eigen/src/UmfPackSupport/UmfPackSupport.h +480 -380
- package/eigen/Eigen/src/misc/Image.h +41 -43
- package/eigen/Eigen/src/misc/InternalHeaderCheck.h +3 -0
- package/eigen/Eigen/src/misc/Kernel.h +39 -41
- package/eigen/Eigen/src/misc/RealSvd2x2.h +19 -21
- package/eigen/Eigen/src/misc/blas.h +83 -426
- package/eigen/Eigen/src/misc/lapacke.h +9976 -16182
- package/eigen/Eigen/src/misc/lapacke_helpers.h +163 -0
- package/eigen/Eigen/src/misc/lapacke_mangling.h +4 -5
- package/eigen/Eigen/src/plugins/ArrayCwiseBinaryOps.inc +344 -0
- package/eigen/Eigen/src/plugins/ArrayCwiseUnaryOps.inc +544 -0
- package/eigen/Eigen/src/plugins/BlockMethods.inc +1370 -0
- package/eigen/Eigen/src/plugins/CommonCwiseBinaryOps.inc +116 -0
- package/eigen/Eigen/src/plugins/CommonCwiseUnaryOps.inc +167 -0
- package/eigen/Eigen/src/plugins/IndexedViewMethods.inc +192 -0
- package/eigen/Eigen/src/plugins/InternalHeaderCheck.inc +3 -0
- package/eigen/Eigen/src/plugins/MatrixCwiseBinaryOps.inc +331 -0
- package/eigen/Eigen/src/plugins/MatrixCwiseUnaryOps.inc +118 -0
- package/eigen/Eigen/src/plugins/ReshapedMethods.inc +133 -0
- package/lib/LibEigen.d.ts +4 -0
- package/lib/LibEigen.js +14 -0
- package/lib/index.d.ts +1 -1
- package/lib/index.js +7 -3
- package/package.json +2 -10
- package/eigen/Eigen/CMakeLists.txt +0 -19
- package/eigen/Eigen/src/Core/BooleanRedux.h +0 -164
- package/eigen/Eigen/src/Core/arch/CUDA/Complex.h +0 -103
- package/eigen/Eigen/src/Core/arch/CUDA/Half.h +0 -675
- package/eigen/Eigen/src/Core/arch/CUDA/MathFunctions.h +0 -91
- package/eigen/Eigen/src/Core/arch/CUDA/PacketMath.h +0 -333
- package/eigen/Eigen/src/Core/arch/CUDA/PacketMathHalf.h +0 -1124
- package/eigen/Eigen/src/Core/arch/CUDA/TypeCasting.h +0 -212
- package/eigen/Eigen/src/Core/util/NonMPL2.h +0 -3
- package/eigen/Eigen/src/Geometry/arch/Geometry_SSE.h +0 -161
- package/eigen/Eigen/src/LU/arch/Inverse_SSE.h +0 -338
- package/eigen/Eigen/src/SparseCore/MappedSparseMatrix.h +0 -67
- package/eigen/Eigen/src/SparseLU/SparseLU_gemm_kernel.h +0 -280
- package/eigen/Eigen/src/misc/lapack.h +0 -152
- package/eigen/Eigen/src/plugins/ArrayCwiseBinaryOps.h +0 -332
- package/eigen/Eigen/src/plugins/ArrayCwiseUnaryOps.h +0 -552
- package/eigen/Eigen/src/plugins/BlockMethods.h +0 -1058
- package/eigen/Eigen/src/plugins/CommonCwiseBinaryOps.h +0 -115
- package/eigen/Eigen/src/plugins/CommonCwiseUnaryOps.h +0 -163
- package/eigen/Eigen/src/plugins/MatrixCwiseBinaryOps.h +0 -152
- package/eigen/Eigen/src/plugins/MatrixCwiseUnaryOps.h +0 -85
- package/lib/eigen.d.ts +0 -2
- package/lib/eigen.js +0 -15
|
@@ -1,94 +1,146 @@
|
|
|
1
1
|
#ifndef EIGEN_WARNINGS_DISABLED
|
|
2
2
|
#define EIGEN_WARNINGS_DISABLED
|
|
3
3
|
|
|
4
|
-
#
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
4
|
+
#if defined(_MSC_VER)
|
|
5
|
+
// 4100 - unreferenced formal parameter (occurred e.g. in aligned_allocator::destroy(pointer p))
|
|
6
|
+
// 4101 - unreferenced local variable
|
|
7
|
+
// 4127 - conditional expression is constant
|
|
8
|
+
// 4181 - qualifier applied to reference type ignored
|
|
9
|
+
// 4211 - nonstandard extension used : redefined extern to static
|
|
10
|
+
// 4244 - 'argument' : conversion from 'type1' to 'type2', possible loss of data
|
|
11
|
+
// 4273 - QtAlignedMalloc, inconsistent DLL linkage
|
|
12
|
+
// 4324 - structure was padded due to declspec(align())
|
|
13
|
+
// 4503 - decorated name length exceeded, name was truncated
|
|
14
|
+
// 4512 - assignment operator could not be generated
|
|
15
|
+
// 4522 - 'class' : multiple assignment operators specified
|
|
16
|
+
// 4700 - uninitialized local variable 'xyz' used
|
|
17
|
+
// 4714 - function marked as __forceinline not inlined
|
|
18
|
+
// 4717 - 'function' : recursive on all control paths, function will cause runtime stack overflow
|
|
19
|
+
// 4800 - 'type' : forcing value to bool 'true' or 'false' (performance warning)
|
|
20
|
+
#ifndef EIGEN_PERMANENTLY_DISABLE_STUPID_WARNINGS
|
|
21
|
+
#pragma warning(push)
|
|
22
|
+
#endif
|
|
23
|
+
#pragma warning(disable : 4100 4101 4127 4181 4211 4244 4273 4324 4503 4512 4522 4700 4714 4717 4800)
|
|
24
|
+
// We currently rely on has_denorm in tests, and need it defined correctly for half/bfloat16.
|
|
25
|
+
#ifndef _SILENCE_CXX23_DENORM_DEPRECATION_WARNING
|
|
26
|
+
#define EIGEN_REENABLE_CXX23_DENORM_DEPRECATION_WARNING 1
|
|
27
|
+
#define _SILENCE_CXX23_DENORM_DEPRECATION_WARNING
|
|
28
|
+
#endif
|
|
24
29
|
|
|
25
30
|
#elif defined __INTEL_COMPILER
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
31
|
+
// 2196 - routine is both "inline" and "noinline" ("noinline" assumed)
|
|
32
|
+
// ICC 12 generates this warning even without any inline keyword, when defining class methods 'inline' i.e.
|
|
33
|
+
// inside of class body typedef that may be a reference type.
|
|
34
|
+
// 279 - controlling expression is constant
|
|
35
|
+
// ICC 12 generates this warning on assert(constant_expression_depending_on_template_params) and frankly this is
|
|
36
|
+
// a legitimate use case.
|
|
37
|
+
// 1684 - conversion from pointer to same-sized integral type (potential portability problem)
|
|
38
|
+
// 2259 - non-pointer conversion from "Eigen::Index={ptrdiff_t={long}}" to "int" may lose significant bits
|
|
39
|
+
#ifndef EIGEN_PERMANENTLY_DISABLE_STUPID_WARNINGS
|
|
40
|
+
#pragma warning push
|
|
41
|
+
#endif
|
|
42
|
+
#pragma warning disable 2196 279 1684 2259
|
|
37
43
|
|
|
38
44
|
#elif defined __clang__
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
+
#ifndef EIGEN_PERMANENTLY_DISABLE_STUPID_WARNINGS
|
|
46
|
+
#pragma clang diagnostic push
|
|
47
|
+
#endif
|
|
48
|
+
#if defined(__has_warning)
|
|
49
|
+
// -Wconstant-logical-operand - warning: use of logical && with constant operand; switch to bitwise & or remove constant
|
|
50
|
+
// this is really a stupid warning as it warns on compile-time expressions involving enums
|
|
51
|
+
#if __has_warning("-Wconstant-logical-operand")
|
|
52
|
+
#pragma clang diagnostic ignored "-Wconstant-logical-operand"
|
|
53
|
+
#endif
|
|
54
|
+
#if __has_warning("-Wimplicit-int-float-conversion")
|
|
55
|
+
#pragma clang diagnostic ignored "-Wimplicit-int-float-conversion"
|
|
56
|
+
#endif
|
|
57
|
+
#if (defined(__ALTIVEC__) || defined(__VSX__)) && (!defined(__STDC_VERSION__) || (__STDC_VERSION__ < 201112L))
|
|
58
|
+
// warning: generic selections are a C11-specific feature
|
|
59
|
+
// ignoring warnings thrown at vec_ctf in Altivec/PacketMath.h
|
|
60
|
+
#if __has_warning("-Wc11-extensions")
|
|
61
|
+
#pragma clang diagnostic ignored "-Wc11-extensions"
|
|
62
|
+
#endif
|
|
63
|
+
#endif
|
|
64
|
+
#endif
|
|
45
65
|
|
|
46
|
-
#elif defined __GNUC__
|
|
66
|
+
#elif defined __GNUC__ && !defined(__FUJITSU)
|
|
47
67
|
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
68
|
+
#if (!defined(EIGEN_PERMANENTLY_DISABLE_STUPID_WARNINGS)) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6))
|
|
69
|
+
#pragma GCC diagnostic push
|
|
70
|
+
#endif
|
|
71
|
+
// g++ warns about local variables shadowing member functions, which is too strict
|
|
72
|
+
#pragma GCC diagnostic ignored "-Wshadow"
|
|
73
|
+
#if __GNUC__ == 4 && __GNUC_MINOR__ < 8
|
|
74
|
+
// Until g++-4.7 there are warnings when comparing unsigned int vs 0, even in templated functions:
|
|
75
|
+
#pragma GCC diagnostic ignored "-Wtype-limits"
|
|
76
|
+
#endif
|
|
77
|
+
#if __GNUC__ >= 6
|
|
78
|
+
#pragma GCC diagnostic ignored "-Wignored-attributes"
|
|
79
|
+
#endif
|
|
80
|
+
#if __GNUC__ == 7
|
|
81
|
+
// See: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89325
|
|
82
|
+
#pragma GCC diagnostic ignored "-Wattributes"
|
|
83
|
+
#endif
|
|
64
84
|
#endif
|
|
65
85
|
|
|
66
|
-
#if defined __NVCC__
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
86
|
+
#if defined __NVCC__ && defined __CUDACC__
|
|
87
|
+
// MSVC 14.16 (required by CUDA 9.*) does not support the _Pragma keyword, so
|
|
88
|
+
// we instead use Microsoft's __pragma extension.
|
|
89
|
+
#if defined _MSC_VER
|
|
90
|
+
#define EIGEN_MAKE_PRAGMA(X) __pragma(#X)
|
|
91
|
+
#else
|
|
92
|
+
#define EIGEN_MAKE_PRAGMA(X) _Pragma(#X)
|
|
93
|
+
#endif
|
|
94
|
+
#if defined __NVCC_DIAG_PRAGMA_SUPPORT__
|
|
95
|
+
#define EIGEN_NV_DIAG_SUPPRESS(X) EIGEN_MAKE_PRAGMA(nv_diag_suppress X)
|
|
96
|
+
#else
|
|
97
|
+
#define EIGEN_NV_DIAG_SUPPRESS(X) EIGEN_MAKE_PRAGMA(diag_suppress X)
|
|
98
|
+
#endif
|
|
99
|
+
|
|
100
|
+
EIGEN_NV_DIAG_SUPPRESS(boolean_controlling_expr_is_constant)
|
|
101
|
+
// Disable the "statement is unreachable" message
|
|
102
|
+
EIGEN_NV_DIAG_SUPPRESS(code_is_unreachable)
|
|
103
|
+
// Disable the "dynamic initialization in unreachable code" message
|
|
104
|
+
EIGEN_NV_DIAG_SUPPRESS(initialization_not_reachable)
|
|
105
|
+
// Disable the "invalid error number" message that we get with older versions of nvcc
|
|
106
|
+
EIGEN_NV_DIAG_SUPPRESS(1222)
|
|
107
|
+
// Disable the "calling a __host__ function from a __host__ __device__ function is not allowed" messages (yes, there are
|
|
108
|
+
// many of them and they seem to change with every version of the compiler)
|
|
109
|
+
EIGEN_NV_DIAG_SUPPRESS(2527)
|
|
110
|
+
EIGEN_NV_DIAG_SUPPRESS(2529)
|
|
111
|
+
EIGEN_NV_DIAG_SUPPRESS(2651)
|
|
112
|
+
EIGEN_NV_DIAG_SUPPRESS(2653)
|
|
113
|
+
EIGEN_NV_DIAG_SUPPRESS(2668)
|
|
114
|
+
EIGEN_NV_DIAG_SUPPRESS(2669)
|
|
115
|
+
EIGEN_NV_DIAG_SUPPRESS(2670)
|
|
116
|
+
EIGEN_NV_DIAG_SUPPRESS(2671)
|
|
117
|
+
EIGEN_NV_DIAG_SUPPRESS(2735)
|
|
118
|
+
EIGEN_NV_DIAG_SUPPRESS(2737)
|
|
119
|
+
EIGEN_NV_DIAG_SUPPRESS(2739)
|
|
120
|
+
EIGEN_NV_DIAG_SUPPRESS(2885)
|
|
121
|
+
EIGEN_NV_DIAG_SUPPRESS(2888)
|
|
122
|
+
EIGEN_NV_DIAG_SUPPRESS(2976)
|
|
123
|
+
EIGEN_NV_DIAG_SUPPRESS(2979)
|
|
124
|
+
EIGEN_NV_DIAG_SUPPRESS(20011)
|
|
125
|
+
EIGEN_NV_DIAG_SUPPRESS(20014)
|
|
126
|
+
// Disable the "// __device__ annotation is ignored on a function(...) that is
|
|
127
|
+
// explicitly defaulted on its first declaration" message.
|
|
128
|
+
// The __device__ annotation seems to actually be needed in some cases,
|
|
129
|
+
// otherwise resulting in kernel runtime errors.
|
|
130
|
+
EIGEN_NV_DIAG_SUPPRESS(2886)
|
|
131
|
+
EIGEN_NV_DIAG_SUPPRESS(2929)
|
|
132
|
+
EIGEN_NV_DIAG_SUPPRESS(2977)
|
|
133
|
+
EIGEN_NV_DIAG_SUPPRESS(20012)
|
|
134
|
+
#undef EIGEN_NV_DIAG_SUPPRESS
|
|
135
|
+
#undef EIGEN_MAKE_PRAGMA
|
|
84
136
|
#endif
|
|
85
137
|
|
|
86
138
|
#else
|
|
87
139
|
// warnings already disabled:
|
|
88
|
-
#
|
|
89
|
-
#
|
|
90
|
-
#
|
|
91
|
-
#
|
|
92
|
-
#
|
|
140
|
+
#ifndef EIGEN_WARNINGS_DISABLED_2
|
|
141
|
+
#define EIGEN_WARNINGS_DISABLED_2
|
|
142
|
+
#elif defined(EIGEN_INTERNAL_DEBUGGING)
|
|
143
|
+
#error "Do not include \"DisableStupidWarnings.h\" recursively more than twice!"
|
|
144
|
+
#endif
|
|
93
145
|
|
|
94
|
-
#endif
|
|
146
|
+
#endif // not EIGEN_WARNINGS_DISABLED
|
|
@@ -0,0 +1,270 @@
|
|
|
1
|
+
// This file is part of Eigen, a lightweight C++ template library
|
|
2
|
+
// for linear algebra.
|
|
3
|
+
//
|
|
4
|
+
// Copyright (C) 2014 Benoit Steiner <benoit.steiner.goog@gmail.com>
|
|
5
|
+
//
|
|
6
|
+
// This Source Code Form is subject to the terms of the Mozilla
|
|
7
|
+
// Public License v. 2.0. If a copy of the MPL was not distributed
|
|
8
|
+
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
9
|
+
|
|
10
|
+
#ifndef EIGEN_EMULATE_ARRAY_H
|
|
11
|
+
#define EIGEN_EMULATE_ARRAY_H
|
|
12
|
+
|
|
13
|
+
// CUDA doesn't support the STL containers, so we use our own instead.
|
|
14
|
+
#if defined(EIGEN_GPUCC) || defined(EIGEN_AVOID_STL_ARRAY)
|
|
15
|
+
|
|
16
|
+
namespace Eigen {
|
|
17
|
+
template <typename T, size_t n>
|
|
18
|
+
class array {
|
|
19
|
+
public:
|
|
20
|
+
typedef T value_type;
|
|
21
|
+
typedef T* iterator;
|
|
22
|
+
typedef const T* const_iterator;
|
|
23
|
+
|
|
24
|
+
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE iterator begin() { return values; }
|
|
25
|
+
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const_iterator begin() const { return values; }
|
|
26
|
+
|
|
27
|
+
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE iterator end() { return values + n; }
|
|
28
|
+
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const_iterator end() const { return values + n; }
|
|
29
|
+
|
|
30
|
+
typedef std::reverse_iterator<iterator> reverse_iterator;
|
|
31
|
+
typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
|
|
32
|
+
|
|
33
|
+
EIGEN_STRONG_INLINE reverse_iterator rbegin() { return reverse_iterator(end()); }
|
|
34
|
+
EIGEN_STRONG_INLINE const_reverse_iterator rbegin() const { return const_reverse_iterator(end()); }
|
|
35
|
+
|
|
36
|
+
EIGEN_STRONG_INLINE reverse_iterator rend() { return reverse_iterator(begin()); }
|
|
37
|
+
EIGEN_STRONG_INLINE const_reverse_iterator rend() const { return const_reverse_iterator(begin()); }
|
|
38
|
+
|
|
39
|
+
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE T& operator[](size_t index) {
|
|
40
|
+
eigen_internal_assert(index < size());
|
|
41
|
+
return values[index];
|
|
42
|
+
}
|
|
43
|
+
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const T& operator[](size_t index) const {
|
|
44
|
+
eigen_internal_assert(index < size());
|
|
45
|
+
return values[index];
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE T& at(size_t index) {
|
|
49
|
+
eigen_assert(index < size());
|
|
50
|
+
return values[index];
|
|
51
|
+
}
|
|
52
|
+
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const T& at(size_t index) const {
|
|
53
|
+
eigen_assert(index < size());
|
|
54
|
+
return values[index];
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE T& front() { return values[0]; }
|
|
58
|
+
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const T& front() const { return values[0]; }
|
|
59
|
+
|
|
60
|
+
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE T& back() { return values[n - 1]; }
|
|
61
|
+
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const T& back() const { return values[n - 1]; }
|
|
62
|
+
|
|
63
|
+
EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE static std::size_t size() { return n; }
|
|
64
|
+
|
|
65
|
+
T values[n];
|
|
66
|
+
|
|
67
|
+
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE array() {}
|
|
68
|
+
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE array(const T& v) {
|
|
69
|
+
EIGEN_STATIC_ASSERT(n == 1, YOU_MADE_A_PROGRAMMING_MISTAKE)
|
|
70
|
+
values[0] = v;
|
|
71
|
+
}
|
|
72
|
+
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE array(const T& v1, const T& v2) {
|
|
73
|
+
EIGEN_STATIC_ASSERT(n == 2, YOU_MADE_A_PROGRAMMING_MISTAKE)
|
|
74
|
+
values[0] = v1;
|
|
75
|
+
values[1] = v2;
|
|
76
|
+
}
|
|
77
|
+
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE array(const T& v1, const T& v2, const T& v3) {
|
|
78
|
+
EIGEN_STATIC_ASSERT(n == 3, YOU_MADE_A_PROGRAMMING_MISTAKE)
|
|
79
|
+
values[0] = v1;
|
|
80
|
+
values[1] = v2;
|
|
81
|
+
values[2] = v3;
|
|
82
|
+
}
|
|
83
|
+
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE array(const T& v1, const T& v2, const T& v3, const T& v4) {
|
|
84
|
+
EIGEN_STATIC_ASSERT(n == 4, YOU_MADE_A_PROGRAMMING_MISTAKE)
|
|
85
|
+
values[0] = v1;
|
|
86
|
+
values[1] = v2;
|
|
87
|
+
values[2] = v3;
|
|
88
|
+
values[3] = v4;
|
|
89
|
+
}
|
|
90
|
+
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE array(const T& v1, const T& v2, const T& v3, const T& v4, const T& v5) {
|
|
91
|
+
EIGEN_STATIC_ASSERT(n == 5, YOU_MADE_A_PROGRAMMING_MISTAKE)
|
|
92
|
+
values[0] = v1;
|
|
93
|
+
values[1] = v2;
|
|
94
|
+
values[2] = v3;
|
|
95
|
+
values[3] = v4;
|
|
96
|
+
values[4] = v5;
|
|
97
|
+
}
|
|
98
|
+
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE array(const T& v1, const T& v2, const T& v3, const T& v4, const T& v5,
|
|
99
|
+
const T& v6) {
|
|
100
|
+
EIGEN_STATIC_ASSERT(n == 6, YOU_MADE_A_PROGRAMMING_MISTAKE)
|
|
101
|
+
values[0] = v1;
|
|
102
|
+
values[1] = v2;
|
|
103
|
+
values[2] = v3;
|
|
104
|
+
values[3] = v4;
|
|
105
|
+
values[4] = v5;
|
|
106
|
+
values[5] = v6;
|
|
107
|
+
}
|
|
108
|
+
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE array(const T& v1, const T& v2, const T& v3, const T& v4, const T& v5,
|
|
109
|
+
const T& v6, const T& v7) {
|
|
110
|
+
EIGEN_STATIC_ASSERT(n == 7, YOU_MADE_A_PROGRAMMING_MISTAKE)
|
|
111
|
+
values[0] = v1;
|
|
112
|
+
values[1] = v2;
|
|
113
|
+
values[2] = v3;
|
|
114
|
+
values[3] = v4;
|
|
115
|
+
values[4] = v5;
|
|
116
|
+
values[5] = v6;
|
|
117
|
+
values[6] = v7;
|
|
118
|
+
}
|
|
119
|
+
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE array(const T& v1, const T& v2, const T& v3, const T& v4, const T& v5,
|
|
120
|
+
const T& v6, const T& v7, const T& v8) {
|
|
121
|
+
EIGEN_STATIC_ASSERT(n == 8, YOU_MADE_A_PROGRAMMING_MISTAKE)
|
|
122
|
+
values[0] = v1;
|
|
123
|
+
values[1] = v2;
|
|
124
|
+
values[2] = v3;
|
|
125
|
+
values[3] = v4;
|
|
126
|
+
values[4] = v5;
|
|
127
|
+
values[5] = v6;
|
|
128
|
+
values[6] = v7;
|
|
129
|
+
values[7] = v8;
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE array(std::initializer_list<T> l) {
|
|
133
|
+
eigen_assert(l.size() == n);
|
|
134
|
+
internal::smart_copy(l.begin(), l.end(), values);
|
|
135
|
+
}
|
|
136
|
+
};
|
|
137
|
+
|
|
138
|
+
// Specialize array for zero size
|
|
139
|
+
template <typename T>
|
|
140
|
+
class array<T, 0> {
|
|
141
|
+
public:
|
|
142
|
+
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE T& operator[](size_t) {
|
|
143
|
+
eigen_assert(false && "Can't index a zero size array");
|
|
144
|
+
return dummy;
|
|
145
|
+
}
|
|
146
|
+
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const T& operator[](size_t) const {
|
|
147
|
+
eigen_assert(false && "Can't index a zero size array");
|
|
148
|
+
return dummy;
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE T& front() {
|
|
152
|
+
eigen_assert(false && "Can't index a zero size array");
|
|
153
|
+
return dummy;
|
|
154
|
+
}
|
|
155
|
+
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const T& front() const {
|
|
156
|
+
eigen_assert(false && "Can't index a zero size array");
|
|
157
|
+
return dummy;
|
|
158
|
+
}
|
|
159
|
+
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE T& back() {
|
|
160
|
+
eigen_assert(false && "Can't index a zero size array");
|
|
161
|
+
return dummy;
|
|
162
|
+
}
|
|
163
|
+
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const T& back() const {
|
|
164
|
+
eigen_assert(false && "Can't index a zero size array");
|
|
165
|
+
return dummy;
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
static EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE std::size_t size() { return 0; }
|
|
169
|
+
|
|
170
|
+
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE array() : dummy() {}
|
|
171
|
+
|
|
172
|
+
EIGEN_DEVICE_FUNC array(std::initializer_list<T> l) : dummy() {
|
|
173
|
+
EIGEN_UNUSED_VARIABLE(l);
|
|
174
|
+
eigen_assert(l.size() == 0);
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
private:
|
|
178
|
+
T dummy;
|
|
179
|
+
};
|
|
180
|
+
|
|
181
|
+
// Comparison operator
|
|
182
|
+
// Todo: implement !=, <, <=, >, and >=
|
|
183
|
+
template <class T, std::size_t N>
|
|
184
|
+
EIGEN_DEVICE_FUNC bool operator==(const array<T, N>& lhs, const array<T, N>& rhs) {
|
|
185
|
+
for (std::size_t i = 0; i < N; ++i) {
|
|
186
|
+
if (lhs[i] != rhs[i]) {
|
|
187
|
+
return false;
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
return true;
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
namespace internal {
|
|
194
|
+
template <std::size_t I_, class T, std::size_t N>
|
|
195
|
+
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE T& array_get(array<T, N>& a) {
|
|
196
|
+
return a[I_];
|
|
197
|
+
}
|
|
198
|
+
template <std::size_t I_, class T, std::size_t N>
|
|
199
|
+
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const T& array_get(const array<T, N>& a) {
|
|
200
|
+
return a[I_];
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
template <class T, std::size_t N>
|
|
204
|
+
struct array_size<array<T, N> > {
|
|
205
|
+
static constexpr Index value = N;
|
|
206
|
+
};
|
|
207
|
+
template <class T, std::size_t N>
|
|
208
|
+
struct array_size<array<T, N>&> {
|
|
209
|
+
static constexpr Index value = N;
|
|
210
|
+
};
|
|
211
|
+
template <class T, std::size_t N>
|
|
212
|
+
struct array_size<const array<T, N> > {
|
|
213
|
+
static constexpr Index value = N;
|
|
214
|
+
};
|
|
215
|
+
template <class T, std::size_t N>
|
|
216
|
+
struct array_size<const array<T, N>&> {
|
|
217
|
+
static constexpr Index value = N;
|
|
218
|
+
};
|
|
219
|
+
|
|
220
|
+
} // end namespace internal
|
|
221
|
+
} // end namespace Eigen
|
|
222
|
+
|
|
223
|
+
#else
|
|
224
|
+
|
|
225
|
+
// The compiler supports c++11, and we're not targeting cuda: use std::array as Eigen::array
|
|
226
|
+
#include <array>
|
|
227
|
+
|
|
228
|
+
namespace Eigen {
|
|
229
|
+
|
|
230
|
+
template <typename T, std::size_t N>
|
|
231
|
+
using array = std::array<T, N>;
|
|
232
|
+
|
|
233
|
+
namespace internal {
|
|
234
|
+
/* std::get is only constexpr in C++14, not yet in C++11
|
|
235
|
+
* - libstdc++ from version 4.7 onwards has it nevertheless,
|
|
236
|
+
* so use that
|
|
237
|
+
* - libstdc++ older versions: use _M_instance directly
|
|
238
|
+
* - libc++ all versions so far: use __elems_ directly
|
|
239
|
+
* - all other libs: use std::get to be portable, but
|
|
240
|
+
* this may not be constexpr
|
|
241
|
+
*/
|
|
242
|
+
#if defined(__GLIBCXX__) && __GLIBCXX__ < 20120322
|
|
243
|
+
#define STD_GET_ARR_HACK a._M_instance[I_]
|
|
244
|
+
#elif defined(_LIBCPP_VERSION)
|
|
245
|
+
#define STD_GET_ARR_HACK a.__elems_[I_]
|
|
246
|
+
#else
|
|
247
|
+
#define STD_GET_ARR_HACK std::template get<I_, T, N>(a)
|
|
248
|
+
#endif
|
|
249
|
+
|
|
250
|
+
template <std::size_t I_, class T, std::size_t N>
|
|
251
|
+
constexpr T& array_get(std::array<T, N>& a) {
|
|
252
|
+
return (T&)STD_GET_ARR_HACK;
|
|
253
|
+
}
|
|
254
|
+
template <std::size_t I_, class T, std::size_t N>
|
|
255
|
+
constexpr T&& array_get(std::array<T, N>&& a) {
|
|
256
|
+
return (T&&)STD_GET_ARR_HACK;
|
|
257
|
+
}
|
|
258
|
+
template <std::size_t I_, class T, std::size_t N>
|
|
259
|
+
constexpr T const& array_get(std::array<T, N> const& a) {
|
|
260
|
+
return (T const&)STD_GET_ARR_HACK;
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
#undef STD_GET_ARR_HACK
|
|
264
|
+
|
|
265
|
+
} // end namespace internal
|
|
266
|
+
} // end namespace Eigen
|
|
267
|
+
|
|
268
|
+
#endif
|
|
269
|
+
|
|
270
|
+
#endif // EIGEN_EMULATE_ARRAY_H
|