@smake/eigen 1.1.0 → 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 -20
- package/eigen/Eigen/CholmodSupport +28 -28
- package/eigen/Eigen/Core +187 -120
- package/eigen/Eigen/Eigenvalues +16 -13
- package/eigen/Eigen/Geometry +18 -18
- package/eigen/Eigen/Householder +9 -7
- package/eigen/Eigen/IterativeLinearSolvers +8 -4
- package/eigen/Eigen/Jacobi +14 -13
- package/eigen/Eigen/KLUSupport +23 -21
- package/eigen/Eigen/LU +15 -16
- package/eigen/Eigen/MetisSupport +12 -12
- package/eigen/Eigen/OrderingMethods +54 -51
- package/eigen/Eigen/PaStiXSupport +23 -21
- package/eigen/Eigen/PardisoSupport +17 -14
- package/eigen/Eigen/QR +18 -20
- package/eigen/Eigen/QtAlignedMalloc +5 -12
- package/eigen/Eigen/SPQRSupport +21 -14
- package/eigen/Eigen/SVD +23 -17
- package/eigen/Eigen/Sparse +1 -2
- package/eigen/Eigen/SparseCholesky +18 -15
- package/eigen/Eigen/SparseCore +18 -17
- package/eigen/Eigen/SparseLU +9 -9
- 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 +366 -405
- package/eigen/Eigen/src/Cholesky/LLT.h +323 -367
- package/eigen/Eigen/src/Cholesky/LLT_LAPACKE.h +81 -56
- package/eigen/Eigen/src/CholmodSupport/CholmodSupport.h +585 -529
- package/eigen/Eigen/src/CholmodSupport/InternalHeaderCheck.h +3 -0
- package/eigen/Eigen/src/Core/ArithmeticSequence.h +143 -317
- package/eigen/Eigen/src/Core/Array.h +329 -370
- package/eigen/Eigen/src/Core/ArrayBase.h +190 -203
- package/eigen/Eigen/src/Core/ArrayWrapper.h +126 -170
- package/eigen/Eigen/src/Core/Assign.h +30 -40
- package/eigen/Eigen/src/Core/AssignEvaluator.h +651 -604
- package/eigen/Eigen/src/Core/Assign_MKL.h +125 -120
- package/eigen/Eigen/src/Core/BandMatrix.h +267 -282
- package/eigen/Eigen/src/Core/Block.h +371 -390
- package/eigen/Eigen/src/Core/CommaInitializer.h +85 -100
- package/eigen/Eigen/src/Core/ConditionEstimator.h +51 -53
- package/eigen/Eigen/src/Core/CoreEvaluators.h +1214 -937
- package/eigen/Eigen/src/Core/CoreIterators.h +72 -63
- package/eigen/Eigen/src/Core/CwiseBinaryOp.h +112 -129
- package/eigen/Eigen/src/Core/CwiseNullaryOp.h +676 -702
- package/eigen/Eigen/src/Core/CwiseTernaryOp.h +77 -103
- package/eigen/Eigen/src/Core/CwiseUnaryOp.h +55 -67
- package/eigen/Eigen/src/Core/CwiseUnaryView.h +127 -92
- package/eigen/Eigen/src/Core/DenseBase.h +630 -658
- package/eigen/Eigen/src/Core/DenseCoeffsBase.h +511 -628
- package/eigen/Eigen/src/Core/DenseStorage.h +511 -590
- package/eigen/Eigen/src/Core/DeviceWrapper.h +153 -0
- package/eigen/Eigen/src/Core/Diagonal.h +168 -207
- package/eigen/Eigen/src/Core/DiagonalMatrix.h +346 -317
- package/eigen/Eigen/src/Core/DiagonalProduct.h +12 -10
- package/eigen/Eigen/src/Core/Dot.h +167 -217
- package/eigen/Eigen/src/Core/EigenBase.h +74 -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 -113
- package/eigen/Eigen/src/Core/Fuzzy.h +82 -105
- package/eigen/Eigen/src/Core/GeneralProduct.h +315 -261
- package/eigen/Eigen/src/Core/GenericPacketMath.h +1182 -520
- package/eigen/Eigen/src/Core/GlobalFunctions.h +193 -157
- package/eigen/Eigen/src/Core/IO.h +131 -156
- package/eigen/Eigen/src/Core/IndexedView.h +209 -125
- 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 +50 -59
- package/eigen/Eigen/src/Core/Map.h +123 -141
- package/eigen/Eigen/src/Core/MapBase.h +255 -282
- package/eigen/Eigen/src/Core/MathFunctions.h +1247 -1201
- package/eigen/Eigen/src/Core/MathFunctionsImpl.h +162 -99
- package/eigen/Eigen/src/Core/Matrix.h +463 -494
- package/eigen/Eigen/src/Core/MatrixBase.h +468 -470
- package/eigen/Eigen/src/Core/NestByValue.h +58 -52
- package/eigen/Eigen/src/Core/NoAlias.h +79 -86
- package/eigen/Eigen/src/Core/NumTraits.h +206 -206
- package/eigen/Eigen/src/Core/PartialReduxEvaluator.h +163 -142
- package/eigen/Eigen/src/Core/PermutationMatrix.h +461 -511
- package/eigen/Eigen/src/Core/PlainObjectBase.h +858 -972
- package/eigen/Eigen/src/Core/Product.h +246 -130
- package/eigen/Eigen/src/Core/ProductEvaluators.h +779 -671
- package/eigen/Eigen/src/Core/Random.h +153 -164
- 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 +334 -314
- package/eigen/Eigen/src/Core/Ref.h +259 -257
- package/eigen/Eigen/src/Core/Replicate.h +92 -104
- package/eigen/Eigen/src/Core/Reshaped.h +215 -271
- package/eigen/Eigen/src/Core/ReturnByValue.h +47 -55
- package/eigen/Eigen/src/Core/Reverse.h +133 -148
- package/eigen/Eigen/src/Core/Select.h +68 -140
- package/eigen/Eigen/src/Core/SelfAdjointView.h +254 -290
- 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 +88 -102
- package/eigen/Eigen/src/Core/SolveTriangular.h +126 -124
- package/eigen/Eigen/src/Core/SolverBase.h +132 -133
- package/eigen/Eigen/src/Core/StableNorm.h +113 -147
- package/eigen/Eigen/src/Core/StlIterators.h +404 -248
- package/eigen/Eigen/src/Core/Stride.h +90 -92
- package/eigen/Eigen/src/Core/Swap.h +70 -39
- package/eigen/Eigen/src/Core/Transpose.h +258 -295
- package/eigen/Eigen/src/Core/Transpositions.h +270 -333
- package/eigen/Eigen/src/Core/TriangularMatrix.h +642 -743
- package/eigen/Eigen/src/Core/VectorBlock.h +59 -72
- package/eigen/Eigen/src/Core/VectorwiseOp.h +653 -704
- package/eigen/Eigen/src/Core/Visitor.h +464 -308
- package/eigen/Eigen/src/Core/arch/AVX/Complex.h +380 -187
- package/eigen/Eigen/src/Core/arch/AVX/MathFunctions.h +65 -163
- package/eigen/Eigen/src/Core/arch/AVX/PacketMath.h +2145 -638
- package/eigen/Eigen/src/Core/arch/AVX/Reductions.h +353 -0
- package/eigen/Eigen/src/Core/arch/AVX/TypeCasting.h +253 -60
- package/eigen/Eigen/src/Core/arch/AVX512/Complex.h +278 -228
- package/eigen/Eigen/src/Core/arch/AVX512/GemmKernel.h +1245 -0
- package/eigen/Eigen/src/Core/arch/AVX512/MathFunctions.h +48 -269
- package/eigen/Eigen/src/Core/arch/AVX512/MathFunctionsFP16.h +75 -0
- package/eigen/Eigen/src/Core/arch/AVX512/PacketMath.h +1597 -754
- 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 +229 -41
- package/eigen/Eigen/src/Core/arch/AVX512/TypeCastingFP16.h +130 -0
- package/eigen/Eigen/src/Core/arch/AltiVec/Complex.h +420 -184
- package/eigen/Eigen/src/Core/arch/AltiVec/MathFunctions.h +40 -49
- package/eigen/Eigen/src/Core/arch/AltiVec/MatrixProduct.h +2962 -2213
- package/eigen/Eigen/src/Core/arch/AltiVec/MatrixProductCommon.h +196 -212
- package/eigen/Eigen/src/Core/arch/AltiVec/MatrixProductMMA.h +713 -441
- 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 +2380 -1362
- package/eigen/Eigen/src/Core/arch/AltiVec/TypeCasting.h +153 -0
- package/eigen/Eigen/src/Core/arch/Default/BFloat16.h +390 -224
- package/eigen/Eigen/src/Core/arch/Default/ConjHelper.h +78 -67
- package/eigen/Eigen/src/Core/arch/Default/GenericPacketMathFunctions.h +1784 -799
- package/eigen/Eigen/src/Core/arch/Default/GenericPacketMathFunctionsFwd.h +167 -50
- package/eigen/Eigen/src/Core/arch/Default/Half.h +528 -379
- package/eigen/Eigen/src/Core/arch/Default/Settings.h +10 -12
- package/eigen/Eigen/src/Core/arch/GPU/Complex.h +244 -0
- package/eigen/Eigen/src/Core/arch/GPU/MathFunctions.h +41 -40
- package/eigen/Eigen/src/Core/arch/GPU/PacketMath.h +550 -523
- package/eigen/Eigen/src/Core/arch/GPU/Tuple.h +268 -0
- package/eigen/Eigen/src/Core/arch/GPU/TypeCasting.h +27 -30
- package/eigen/Eigen/src/Core/arch/HIP/hcc/math_constants.h +8 -8
- 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 +54 -82
- package/eigen/Eigen/src/Core/arch/MSA/MathFunctions.h +84 -92
- package/eigen/Eigen/src/Core/arch/MSA/PacketMath.h +51 -47
- package/eigen/Eigen/src/Core/arch/NEON/Complex.h +454 -306
- package/eigen/Eigen/src/Core/arch/NEON/GeneralBlockPanelKernel.h +175 -115
- package/eigen/Eigen/src/Core/arch/NEON/MathFunctions.h +23 -30
- package/eigen/Eigen/src/Core/arch/NEON/PacketMath.h +4366 -2857
- package/eigen/Eigen/src/Core/arch/NEON/TypeCasting.h +616 -393
- package/eigen/Eigen/src/Core/arch/NEON/UnaryFunctors.h +57 -0
- package/eigen/Eigen/src/Core/arch/SSE/Complex.h +350 -198
- package/eigen/Eigen/src/Core/arch/SSE/MathFunctions.h +38 -149
- package/eigen/Eigen/src/Core/arch/SSE/PacketMath.h +1791 -912
- package/eigen/Eigen/src/Core/arch/SSE/Reductions.h +324 -0
- package/eigen/Eigen/src/Core/arch/SSE/TypeCasting.h +128 -40
- package/eigen/Eigen/src/Core/arch/SVE/MathFunctions.h +10 -6
- package/eigen/Eigen/src/Core/arch/SVE/PacketMath.h +156 -234
- package/eigen/Eigen/src/Core/arch/SVE/TypeCasting.h +6 -3
- package/eigen/Eigen/src/Core/arch/SYCL/InteropHeaders.h +27 -32
- package/eigen/Eigen/src/Core/arch/SYCL/MathFunctions.h +119 -117
- package/eigen/Eigen/src/Core/arch/SYCL/PacketMath.h +325 -419
- package/eigen/Eigen/src/Core/arch/SYCL/TypeCasting.h +15 -17
- package/eigen/Eigen/src/Core/arch/ZVector/Complex.h +325 -181
- package/eigen/Eigen/src/Core/arch/ZVector/MathFunctions.h +94 -83
- package/eigen/Eigen/src/Core/arch/ZVector/PacketMath.h +811 -458
- package/eigen/Eigen/src/Core/functors/AssignmentFunctors.h +121 -124
- package/eigen/Eigen/src/Core/functors/BinaryFunctors.h +576 -370
- package/eigen/Eigen/src/Core/functors/NullaryFunctors.h +194 -109
- package/eigen/Eigen/src/Core/functors/StlFunctors.h +95 -112
- package/eigen/Eigen/src/Core/functors/TernaryFunctors.h +34 -7
- package/eigen/Eigen/src/Core/functors/UnaryFunctors.h +1038 -749
- package/eigen/Eigen/src/Core/products/GeneralBlockPanelKernel.h +1883 -1375
- package/eigen/Eigen/src/Core/products/GeneralMatrixMatrix.h +312 -370
- package/eigen/Eigen/src/Core/products/GeneralMatrixMatrixTriangular.h +189 -176
- package/eigen/Eigen/src/Core/products/GeneralMatrixMatrixTriangular_BLAS.h +84 -81
- package/eigen/Eigen/src/Core/products/GeneralMatrixMatrix_BLAS.h +154 -73
- package/eigen/Eigen/src/Core/products/GeneralMatrixVector.h +292 -337
- package/eigen/Eigen/src/Core/products/GeneralMatrixVector_BLAS.h +80 -77
- package/eigen/Eigen/src/Core/products/Parallelizer.h +207 -105
- package/eigen/Eigen/src/Core/products/SelfadjointMatrixMatrix.h +327 -388
- package/eigen/Eigen/src/Core/products/SelfadjointMatrixMatrix_BLAS.h +206 -224
- package/eigen/Eigen/src/Core/products/SelfadjointMatrixVector.h +138 -147
- 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 -47
- 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 -277
- package/eigen/Eigen/src/Core/products/TriangularSolverMatrix_BLAS.h +108 -109
- package/eigen/Eigen/src/Core/products/TriangularSolverVector.h +68 -94
- package/eigen/Eigen/src/Core/util/Assert.h +158 -0
- package/eigen/Eigen/src/Core/util/BlasUtil.h +342 -303
- package/eigen/Eigen/src/Core/util/ConfigureVectorization.h +348 -317
- package/eigen/Eigen/src/Core/util/Constants.h +297 -262
- package/eigen/Eigen/src/Core/util/DisableStupidWarnings.h +130 -90
- package/eigen/Eigen/src/Core/util/EmulateArray.h +270 -0
- package/eigen/Eigen/src/Core/util/ForwardDeclarations.h +449 -247
- 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 +417 -116
- package/eigen/Eigen/src/Core/util/IntegralConstant.h +211 -204
- package/eigen/Eigen/src/Core/util/MKL_support.h +39 -37
- package/eigen/Eigen/src/Core/util/Macros.h +655 -773
- package/eigen/Eigen/src/Core/util/MaxSizeVector.h +139 -0
- package/eigen/Eigen/src/Core/util/Memory.h +970 -748
- package/eigen/Eigen/src/Core/util/Meta.h +581 -633
- 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 +17 -17
- package/eigen/Eigen/src/Core/util/Serializer.h +209 -0
- package/eigen/Eigen/src/Core/util/StaticAssert.h +50 -166
- package/eigen/Eigen/src/Core/util/SymbolicIndex.h +377 -225
- package/eigen/Eigen/src/Core/util/XprHelper.h +784 -547
- 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 +89 -105
- package/eigen/Eigen/src/Eigenvalues/RealQZ.h +537 -607
- package/eigen/Eigen/src/Eigenvalues/RealSchur.h +342 -381
- package/eigen/Eigen/src/Eigenvalues/RealSchur_LAPACKE.h +41 -35
- package/eigen/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h +541 -595
- package/eigen/Eigen/src/Eigenvalues/SelfAdjointEigenSolver_LAPACKE.h +47 -44
- package/eigen/Eigen/src/Eigenvalues/Tridiagonalization.h +430 -462
- package/eigen/Eigen/src/Geometry/AlignedBox.h +226 -227
- package/eigen/Eigen/src/Geometry/AngleAxis.h +131 -133
- package/eigen/Eigen/src/Geometry/EulerAngles.h +163 -74
- package/eigen/Eigen/src/Geometry/Homogeneous.h +285 -333
- package/eigen/Eigen/src/Geometry/Hyperplane.h +151 -160
- package/eigen/Eigen/src/Geometry/InternalHeaderCheck.h +3 -0
- package/eigen/Eigen/src/Geometry/OrthoMethods.h +168 -146
- package/eigen/Eigen/src/Geometry/ParametrizedLine.h +127 -127
- package/eigen/Eigen/src/Geometry/Quaternion.h +566 -506
- package/eigen/Eigen/src/Geometry/Rotation2D.h +107 -105
- package/eigen/Eigen/src/Geometry/RotationBase.h +148 -145
- package/eigen/Eigen/src/Geometry/Scaling.h +113 -106
- package/eigen/Eigen/src/Geometry/Transform.h +858 -936
- package/eigen/Eigen/src/Geometry/Translation.h +94 -92
- package/eigen/Eigen/src/Geometry/Umeyama.h +79 -84
- package/eigen/Eigen/src/Geometry/arch/Geometry_SIMD.h +90 -104
- package/eigen/Eigen/src/Householder/BlockHouseholder.h +51 -46
- package/eigen/Eigen/src/Householder/Householder.h +102 -124
- package/eigen/Eigen/src/Householder/HouseholderSequence.h +412 -453
- package/eigen/Eigen/src/Householder/InternalHeaderCheck.h +3 -0
- package/eigen/Eigen/src/IterativeLinearSolvers/BasicPreconditioners.h +149 -162
- package/eigen/Eigen/src/IterativeLinearSolvers/BiCGSTAB.h +124 -119
- package/eigen/Eigen/src/IterativeLinearSolvers/ConjugateGradient.h +92 -104
- package/eigen/Eigen/src/IterativeLinearSolvers/IncompleteCholesky.h +251 -243
- package/eigen/Eigen/src/IterativeLinearSolvers/IncompleteLUT.h +224 -228
- package/eigen/Eigen/src/IterativeLinearSolvers/InternalHeaderCheck.h +3 -0
- package/eigen/Eigen/src/IterativeLinearSolvers/IterativeSolverBase.h +178 -227
- package/eigen/Eigen/src/IterativeLinearSolvers/LeastSquareConjugateGradient.h +79 -84
- package/eigen/Eigen/src/IterativeLinearSolvers/SolveWithGuess.h +54 -60
- package/eigen/Eigen/src/Jacobi/InternalHeaderCheck.h +3 -0
- package/eigen/Eigen/src/Jacobi/Jacobi.h +252 -308
- package/eigen/Eigen/src/KLUSupport/InternalHeaderCheck.h +3 -0
- package/eigen/Eigen/src/KLUSupport/KLUSupport.h +208 -227
- package/eigen/Eigen/src/LU/Determinant.h +50 -69
- package/eigen/Eigen/src/LU/FullPivLU.h +545 -596
- package/eigen/Eigen/src/LU/InternalHeaderCheck.h +3 -0
- package/eigen/Eigen/src/LU/InverseImpl.h +206 -285
- package/eigen/Eigen/src/LU/PartialPivLU.h +390 -428
- package/eigen/Eigen/src/LU/PartialPivLU_LAPACKE.h +54 -40
- package/eigen/Eigen/src/LU/arch/InverseSize4.h +72 -70
- 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 +243 -265
- package/eigen/Eigen/src/OrderingMethods/Eigen_Colamd.h +831 -1004
- package/eigen/Eigen/src/OrderingMethods/InternalHeaderCheck.h +3 -0
- package/eigen/Eigen/src/OrderingMethods/Ordering.h +112 -119
- 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 -430
- package/eigen/Eigen/src/QR/ColPivHouseholderQR.h +479 -479
- package/eigen/Eigen/src/QR/ColPivHouseholderQR_LAPACKE.h +120 -56
- package/eigen/Eigen/src/QR/CompleteOrthogonalDecomposition.h +166 -153
- package/eigen/Eigen/src/QR/FullPivHouseholderQR.h +495 -475
- package/eigen/Eigen/src/QR/HouseholderQR.h +394 -285
- 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 +244 -264
- package/eigen/Eigen/src/SVD/BDCSVD.h +817 -713
- 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 +577 -543
- package/eigen/Eigen/src/SVD/JacobiSVD_LAPACKE.h +85 -49
- package/eigen/Eigen/src/SVD/SVDBase.h +242 -182
- package/eigen/Eigen/src/SVD/UpperBidiagonalization.h +200 -235
- package/eigen/Eigen/src/SparseCholesky/InternalHeaderCheck.h +3 -0
- package/eigen/Eigen/src/SparseCholesky/SimplicialCholesky.h +765 -594
- package/eigen/Eigen/src/SparseCholesky/SimplicialCholesky_impl.h +308 -94
- package/eigen/Eigen/src/SparseCore/AmbiVector.h +202 -251
- package/eigen/Eigen/src/SparseCore/CompressedStorage.h +184 -252
- package/eigen/Eigen/src/SparseCore/ConservativeSparseSparseProduct.h +134 -178
- package/eigen/Eigen/src/SparseCore/InternalHeaderCheck.h +3 -0
- package/eigen/Eigen/src/SparseCore/SparseAssign.h +149 -140
- package/eigen/Eigen/src/SparseCore/SparseBlock.h +403 -440
- package/eigen/Eigen/src/SparseCore/SparseColEtree.h +100 -112
- package/eigen/Eigen/src/SparseCore/SparseCompressedBase.h +525 -303
- package/eigen/Eigen/src/SparseCore/SparseCwiseBinaryOp.h +555 -339
- package/eigen/Eigen/src/SparseCore/SparseCwiseUnaryOp.h +100 -108
- package/eigen/Eigen/src/SparseCore/SparseDenseProduct.h +169 -197
- 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 +1603 -1245
- package/eigen/Eigen/src/SparseCore/SparseMatrixBase.h +403 -350
- package/eigen/Eigen/src/SparseCore/SparsePermutation.h +186 -115
- package/eigen/Eigen/src/SparseCore/SparseProduct.h +94 -97
- 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 +370 -416
- 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 +138 -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 +756 -710
- 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 +245 -301
- 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 +89 -100
- 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 +124 -132
- 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 +450 -502
- package/eigen/Eigen/src/StlSupport/StdDeque.h +28 -93
- 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 -730
- 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 +428 -464
- 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 +9972 -16179
- 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.h → BlockMethods.inc} +434 -506
- package/eigen/Eigen/src/plugins/CommonCwiseBinaryOps.inc +116 -0
- package/eigen/Eigen/src/plugins/{CommonCwiseUnaryOps.h → CommonCwiseUnaryOps.inc} +58 -68
- 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/package.json +1 -1
- package/eigen/COPYING.APACHE +0 -203
- package/eigen/COPYING.BSD +0 -26
- package/eigen/COPYING.GPL +0 -674
- package/eigen/COPYING.LGPL +0 -502
- package/eigen/COPYING.MINPACK +0 -51
- package/eigen/COPYING.MPL2 +0 -373
- package/eigen/COPYING.README +0 -18
- package/eigen/Eigen/src/Core/BooleanRedux.h +0 -162
- package/eigen/Eigen/src/Core/arch/CUDA/Complex.h +0 -258
- package/eigen/Eigen/src/Core/arch/Default/TypeCasting.h +0 -120
- package/eigen/Eigen/src/Core/arch/SYCL/SyclMemoryModel.h +0 -694
- package/eigen/Eigen/src/Core/util/NonMPL2.h +0 -3
- 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 -358
- package/eigen/Eigen/src/plugins/ArrayCwiseUnaryOps.h +0 -696
- package/eigen/Eigen/src/plugins/CommonCwiseBinaryOps.h +0 -115
- package/eigen/Eigen/src/plugins/IndexedViewMethods.h +0 -262
- package/eigen/Eigen/src/plugins/MatrixCwiseBinaryOps.h +0 -152
- package/eigen/Eigen/src/plugins/MatrixCwiseUnaryOps.h +0 -95
- package/eigen/Eigen/src/plugins/ReshapedMethods.h +0 -149
- package/eigen/README.md +0 -5
|
@@ -10,6 +10,9 @@
|
|
|
10
10
|
#ifndef EIGEN_TYPE_CASTING_SVE_H
|
|
11
11
|
#define EIGEN_TYPE_CASTING_SVE_H
|
|
12
12
|
|
|
13
|
+
// IWYU pragma: private
|
|
14
|
+
#include "../../InternalHeaderCheck.h"
|
|
15
|
+
|
|
13
16
|
namespace Eigen {
|
|
14
17
|
namespace internal {
|
|
15
18
|
|
|
@@ -25,12 +28,12 @@ struct type_casting_traits<numext::int32_t, float> {
|
|
|
25
28
|
|
|
26
29
|
template <>
|
|
27
30
|
EIGEN_STRONG_INLINE PacketXf pcast<PacketXi, PacketXf>(const PacketXi& a) {
|
|
28
|
-
return
|
|
31
|
+
return svcvt_f32_s32_x(svptrue_b32(), a);
|
|
29
32
|
}
|
|
30
33
|
|
|
31
34
|
template <>
|
|
32
35
|
EIGEN_STRONG_INLINE PacketXi pcast<PacketXf, PacketXi>(const PacketXf& a) {
|
|
33
|
-
return
|
|
36
|
+
return svcvt_s32_f32_x(svptrue_b32(), a);
|
|
34
37
|
}
|
|
35
38
|
|
|
36
39
|
template <>
|
|
@@ -46,4 +49,4 @@ EIGEN_STRONG_INLINE PacketXi preinterpret<PacketXi, PacketXf>(const PacketXf& a)
|
|
|
46
49
|
} // namespace internal
|
|
47
50
|
} // namespace Eigen
|
|
48
51
|
|
|
49
|
-
#endif
|
|
52
|
+
#endif // EIGEN_TYPE_CASTING_SVE_H
|
|
@@ -21,6 +21,9 @@
|
|
|
21
21
|
#ifndef EIGEN_INTEROP_HEADERS_SYCL_H
|
|
22
22
|
#define EIGEN_INTEROP_HEADERS_SYCL_H
|
|
23
23
|
|
|
24
|
+
// IWYU pragma: private
|
|
25
|
+
#include "../../InternalHeaderCheck.h"
|
|
26
|
+
|
|
24
27
|
namespace Eigen {
|
|
25
28
|
|
|
26
29
|
#if !defined(EIGEN_DONT_VECTORIZE_SYCL)
|
|
@@ -33,7 +36,6 @@ struct sycl_packet_traits : default_packet_traits {
|
|
|
33
36
|
Vectorizable = 1,
|
|
34
37
|
AlignedOnScalar = 1,
|
|
35
38
|
size = lengths,
|
|
36
|
-
HasHalfPacket = 0,
|
|
37
39
|
HasDiv = 1,
|
|
38
40
|
HasLog = 1,
|
|
39
41
|
HasExp = 1,
|
|
@@ -76,14 +78,15 @@ struct sycl_packet_traits : default_packet_traits {
|
|
|
76
78
|
};
|
|
77
79
|
|
|
78
80
|
#ifdef SYCL_DEVICE_ONLY
|
|
79
|
-
#define SYCL_PACKET_TRAITS(packet_type, has_blend, unpacket_type, lengths)
|
|
80
|
-
template <>
|
|
81
|
-
struct packet_traits<unpacket_type>
|
|
82
|
-
|
|
83
|
-
typedef packet_type
|
|
84
|
-
typedef packet_type half; \
|
|
81
|
+
#define SYCL_PACKET_TRAITS(packet_type, has_blend, unpacket_type, lengths) \
|
|
82
|
+
template <> \
|
|
83
|
+
struct packet_traits<unpacket_type> : sycl_packet_traits<has_blend, lengths> { \
|
|
84
|
+
typedef packet_type type; \
|
|
85
|
+
typedef packet_type half; \
|
|
85
86
|
};
|
|
86
87
|
|
|
88
|
+
SYCL_PACKET_TRAITS(cl::sycl::cl_half8, 1, Eigen::half, 8)
|
|
89
|
+
SYCL_PACKET_TRAITS(cl::sycl::cl_half8, 1, const Eigen::half, 8)
|
|
87
90
|
SYCL_PACKET_TRAITS(cl::sycl::cl_float4, 1, float, 4)
|
|
88
91
|
SYCL_PACKET_TRAITS(cl::sycl::cl_float4, 1, const float, 4)
|
|
89
92
|
SYCL_PACKET_TRAITS(cl::sycl::cl_double2, 0, double, 2)
|
|
@@ -98,6 +101,7 @@ SYCL_PACKET_TRAITS(cl::sycl::cl_double2, 0, const double, 2)
|
|
|
98
101
|
struct is_arithmetic<packet_type> { \
|
|
99
102
|
enum { value = true }; \
|
|
100
103
|
};
|
|
104
|
+
SYCL_ARITHMETIC(cl::sycl::cl_half8)
|
|
101
105
|
SYCL_ARITHMETIC(cl::sycl::cl_float4)
|
|
102
106
|
SYCL_ARITHMETIC(cl::sycl::cl_double2)
|
|
103
107
|
#undef SYCL_ARITHMETIC
|
|
@@ -109,6 +113,7 @@ SYCL_ARITHMETIC(cl::sycl::cl_double2)
|
|
|
109
113
|
enum { size = lengths, vectorizable = true, alignment = Aligned16 }; \
|
|
110
114
|
typedef packet_type half; \
|
|
111
115
|
};
|
|
116
|
+
SYCL_UNPACKET_TRAITS(cl::sycl::cl_half8, Eigen::half, 8)
|
|
112
117
|
SYCL_UNPACKET_TRAITS(cl::sycl::cl_float4, float, 4)
|
|
113
118
|
SYCL_UNPACKET_TRAITS(cl::sycl::cl_double2, double, 2)
|
|
114
119
|
|
|
@@ -128,15 +133,13 @@ struct PacketWrapper;
|
|
|
128
133
|
#ifndef SYCL_DEVICE_ONLY
|
|
129
134
|
template <typename PacketReturnType, int PacketSize>
|
|
130
135
|
struct PacketWrapper {
|
|
131
|
-
typedef typename ::Eigen::internal::unpacket_traits<PacketReturnType>::type
|
|
132
|
-
Scalar;
|
|
136
|
+
typedef typename ::Eigen::internal::unpacket_traits<PacketReturnType>::type Scalar;
|
|
133
137
|
template <typename Index>
|
|
134
138
|
EIGEN_DEVICE_FUNC static Scalar scalarize(Index, PacketReturnType &) {
|
|
135
139
|
eigen_assert(false && "THERE IS NO PACKETIZE VERSION FOR THE CHOSEN TYPE");
|
|
136
140
|
abort();
|
|
137
141
|
}
|
|
138
|
-
EIGEN_DEVICE_FUNC static PacketReturnType convert_to_packet_type(Scalar in,
|
|
139
|
-
Scalar) {
|
|
142
|
+
EIGEN_DEVICE_FUNC static PacketReturnType convert_to_packet_type(Scalar in, Scalar) {
|
|
140
143
|
return ::Eigen::internal::template plset<PacketReturnType>(in);
|
|
141
144
|
}
|
|
142
145
|
EIGEN_DEVICE_FUNC static void set_packet(PacketReturnType, Scalar *) {
|
|
@@ -148,8 +151,7 @@ struct PacketWrapper {
|
|
|
148
151
|
#elif defined(SYCL_DEVICE_ONLY)
|
|
149
152
|
template <typename PacketReturnType>
|
|
150
153
|
struct PacketWrapper<PacketReturnType, 4> {
|
|
151
|
-
typedef typename ::Eigen::internal::unpacket_traits<PacketReturnType>::type
|
|
152
|
-
Scalar;
|
|
154
|
+
typedef typename ::Eigen::internal::unpacket_traits<PacketReturnType>::type Scalar;
|
|
153
155
|
template <typename Index>
|
|
154
156
|
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE static Scalar scalarize(Index index, PacketReturnType &in) {
|
|
155
157
|
switch (index) {
|
|
@@ -162,15 +164,14 @@ struct PacketWrapper<PacketReturnType, 4> {
|
|
|
162
164
|
case 3:
|
|
163
165
|
return in.w();
|
|
164
166
|
default:
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
167
|
+
// INDEX MUST BE BETWEEN 0 and 3.There is no abort function in SYCL kernel. so we cannot use abort here.
|
|
168
|
+
// The code will never reach here
|
|
169
|
+
__builtin_unreachable();
|
|
168
170
|
}
|
|
169
171
|
__builtin_unreachable();
|
|
170
172
|
}
|
|
171
173
|
|
|
172
|
-
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE static PacketReturnType convert_to_packet_type(
|
|
173
|
-
Scalar in, Scalar other) {
|
|
174
|
+
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE static PacketReturnType convert_to_packet_type(Scalar in, Scalar other) {
|
|
174
175
|
return PacketReturnType(in, other, other, other);
|
|
175
176
|
}
|
|
176
177
|
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE static void set_packet(PacketReturnType &lhs, Scalar *rhs) {
|
|
@@ -180,25 +181,20 @@ struct PacketWrapper<PacketReturnType, 4> {
|
|
|
180
181
|
|
|
181
182
|
template <typename PacketReturnType>
|
|
182
183
|
struct PacketWrapper<PacketReturnType, 1> {
|
|
183
|
-
typedef typename ::Eigen::internal::unpacket_traits<PacketReturnType>::type
|
|
184
|
-
Scalar;
|
|
184
|
+
typedef typename ::Eigen::internal::unpacket_traits<PacketReturnType>::type Scalar;
|
|
185
185
|
template <typename Index>
|
|
186
186
|
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE static Scalar scalarize(Index, PacketReturnType &in) {
|
|
187
187
|
return in;
|
|
188
188
|
}
|
|
189
|
-
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE static PacketReturnType convert_to_packet_type(Scalar in,
|
|
190
|
-
Scalar) {
|
|
189
|
+
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE static PacketReturnType convert_to_packet_type(Scalar in, Scalar) {
|
|
191
190
|
return PacketReturnType(in);
|
|
192
191
|
}
|
|
193
|
-
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE static void set_packet(PacketReturnType &lhs, Scalar *rhs) {
|
|
194
|
-
lhs = rhs[0];
|
|
195
|
-
}
|
|
192
|
+
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE static void set_packet(PacketReturnType &lhs, Scalar *rhs) { lhs = rhs[0]; }
|
|
196
193
|
};
|
|
197
194
|
|
|
198
195
|
template <typename PacketReturnType>
|
|
199
196
|
struct PacketWrapper<PacketReturnType, 2> {
|
|
200
|
-
typedef typename ::Eigen::internal::unpacket_traits<PacketReturnType>::type
|
|
201
|
-
Scalar;
|
|
197
|
+
typedef typename ::Eigen::internal::unpacket_traits<PacketReturnType>::type Scalar;
|
|
202
198
|
template <typename Index>
|
|
203
199
|
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE static Scalar scalarize(Index index, PacketReturnType &in) {
|
|
204
200
|
switch (index) {
|
|
@@ -207,15 +203,14 @@ struct PacketWrapper<PacketReturnType, 2> {
|
|
|
207
203
|
case 1:
|
|
208
204
|
return in.y();
|
|
209
205
|
default:
|
|
210
|
-
//INDEX MUST BE BETWEEN 0 and 1.There is no abort function in SYCL kernel. so we cannot use abort here.
|
|
211
|
-
|
|
206
|
+
// INDEX MUST BE BETWEEN 0 and 1.There is no abort function in SYCL kernel. so we cannot use abort here.
|
|
207
|
+
// The code will never reach here
|
|
212
208
|
__builtin_unreachable();
|
|
213
209
|
}
|
|
214
210
|
__builtin_unreachable();
|
|
215
211
|
}
|
|
216
|
-
|
|
217
|
-
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE static PacketReturnType convert_to_packet_type(
|
|
218
|
-
Scalar in, Scalar other) {
|
|
212
|
+
|
|
213
|
+
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE static PacketReturnType convert_to_packet_type(Scalar in, Scalar other) {
|
|
219
214
|
return PacketReturnType(in, other);
|
|
220
215
|
}
|
|
221
216
|
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE static void set_packet(PacketReturnType &lhs, Scalar *rhs) {
|
|
@@ -20,6 +20,9 @@
|
|
|
20
20
|
|
|
21
21
|
#ifndef EIGEN_MATH_FUNCTIONS_SYCL_H
|
|
22
22
|
#define EIGEN_MATH_FUNCTIONS_SYCL_H
|
|
23
|
+
// IWYU pragma: private
|
|
24
|
+
#include "../../InternalHeaderCheck.h"
|
|
25
|
+
|
|
23
26
|
namespace Eigen {
|
|
24
27
|
|
|
25
28
|
namespace internal {
|
|
@@ -28,267 +31,266 @@ namespace internal {
|
|
|
28
31
|
// introduce conflicts between these packet_traits definitions and the ones
|
|
29
32
|
// we'll use on the host side (SSE, AVX, ...)
|
|
30
33
|
#if defined(SYCL_DEVICE_ONLY)
|
|
31
|
-
#define SYCL_PLOG(packet_type)
|
|
32
|
-
template <>
|
|
33
|
-
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE packet_type plog<packet_type>( \
|
|
34
|
-
|
|
35
|
-
return cl::sycl::log(a); \
|
|
34
|
+
#define SYCL_PLOG(packet_type) \
|
|
35
|
+
template <> \
|
|
36
|
+
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE packet_type plog<packet_type>(const packet_type& a) { \
|
|
37
|
+
return cl::sycl::log(a); \
|
|
36
38
|
}
|
|
37
39
|
|
|
40
|
+
SYCL_PLOG(cl::sycl::cl_half8)
|
|
38
41
|
SYCL_PLOG(cl::sycl::cl_float4)
|
|
39
42
|
SYCL_PLOG(cl::sycl::cl_double2)
|
|
40
43
|
#undef SYCL_PLOG
|
|
41
44
|
|
|
42
|
-
#define SYCL_PLOG1P(packet_type)
|
|
43
|
-
template <>
|
|
44
|
-
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE packet_type plog1p<packet_type>( \
|
|
45
|
-
|
|
46
|
-
return cl::sycl::log1p(a); \
|
|
45
|
+
#define SYCL_PLOG1P(packet_type) \
|
|
46
|
+
template <> \
|
|
47
|
+
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE packet_type plog1p<packet_type>(const packet_type& a) { \
|
|
48
|
+
return cl::sycl::log1p(a); \
|
|
47
49
|
}
|
|
48
50
|
|
|
51
|
+
SYCL_PLOG1P(cl::sycl::cl_half8)
|
|
49
52
|
SYCL_PLOG1P(cl::sycl::cl_float4)
|
|
50
53
|
SYCL_PLOG1P(cl::sycl::cl_double2)
|
|
51
54
|
#undef SYCL_PLOG1P
|
|
52
55
|
|
|
53
|
-
#define SYCL_PLOG10(packet_type)
|
|
54
|
-
template <>
|
|
55
|
-
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE packet_type plog10<packet_type>( \
|
|
56
|
-
|
|
57
|
-
return cl::sycl::log10(a); \
|
|
56
|
+
#define SYCL_PLOG10(packet_type) \
|
|
57
|
+
template <> \
|
|
58
|
+
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE packet_type plog10<packet_type>(const packet_type& a) { \
|
|
59
|
+
return cl::sycl::log10(a); \
|
|
58
60
|
}
|
|
59
61
|
|
|
62
|
+
SYCL_PLOG10(cl::sycl::cl_half8)
|
|
60
63
|
SYCL_PLOG10(cl::sycl::cl_float4)
|
|
61
64
|
SYCL_PLOG10(cl::sycl::cl_double2)
|
|
62
65
|
#undef SYCL_PLOG10
|
|
63
66
|
|
|
64
|
-
#define SYCL_PEXP(packet_type)
|
|
65
|
-
template <>
|
|
66
|
-
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE packet_type pexp<packet_type>( \
|
|
67
|
-
|
|
68
|
-
return cl::sycl::exp(a); \
|
|
67
|
+
#define SYCL_PEXP(packet_type) \
|
|
68
|
+
template <> \
|
|
69
|
+
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE packet_type pexp<packet_type>(const packet_type& a) { \
|
|
70
|
+
return cl::sycl::exp(a); \
|
|
69
71
|
}
|
|
70
72
|
|
|
73
|
+
SYCL_PEXP(cl::sycl::cl_half8)
|
|
74
|
+
SYCL_PEXP(cl::sycl::cl_half)
|
|
71
75
|
SYCL_PEXP(cl::sycl::cl_float4)
|
|
72
76
|
SYCL_PEXP(cl::sycl::cl_float)
|
|
73
77
|
SYCL_PEXP(cl::sycl::cl_double2)
|
|
74
78
|
#undef SYCL_PEXP
|
|
75
79
|
|
|
76
|
-
#define SYCL_PEXPM1(packet_type)
|
|
77
|
-
template <>
|
|
78
|
-
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE packet_type pexpm1<packet_type>( \
|
|
79
|
-
|
|
80
|
-
return cl::sycl::expm1(a); \
|
|
80
|
+
#define SYCL_PEXPM1(packet_type) \
|
|
81
|
+
template <> \
|
|
82
|
+
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE packet_type pexpm1<packet_type>(const packet_type& a) { \
|
|
83
|
+
return cl::sycl::expm1(a); \
|
|
81
84
|
}
|
|
82
85
|
|
|
86
|
+
SYCL_PEXPM1(cl::sycl::cl_half8)
|
|
83
87
|
SYCL_PEXPM1(cl::sycl::cl_float4)
|
|
84
88
|
SYCL_PEXPM1(cl::sycl::cl_double2)
|
|
85
89
|
#undef SYCL_PEXPM1
|
|
86
90
|
|
|
87
|
-
#define SYCL_PSQRT(packet_type)
|
|
88
|
-
template <>
|
|
89
|
-
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE packet_type psqrt<packet_type>( \
|
|
90
|
-
|
|
91
|
-
return cl::sycl::sqrt(a); \
|
|
91
|
+
#define SYCL_PSQRT(packet_type) \
|
|
92
|
+
template <> \
|
|
93
|
+
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE packet_type psqrt<packet_type>(const packet_type& a) { \
|
|
94
|
+
return cl::sycl::sqrt(a); \
|
|
92
95
|
}
|
|
93
96
|
|
|
97
|
+
SYCL_PSQRT(cl::sycl::cl_half8)
|
|
94
98
|
SYCL_PSQRT(cl::sycl::cl_float4)
|
|
95
99
|
SYCL_PSQRT(cl::sycl::cl_double2)
|
|
96
100
|
#undef SYCL_PSQRT
|
|
97
101
|
|
|
98
|
-
#define SYCL_PRSQRT(packet_type)
|
|
99
|
-
template <>
|
|
100
|
-
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE packet_type prsqrt<packet_type>( \
|
|
101
|
-
|
|
102
|
-
return cl::sycl::rsqrt(a); \
|
|
102
|
+
#define SYCL_PRSQRT(packet_type) \
|
|
103
|
+
template <> \
|
|
104
|
+
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE packet_type prsqrt<packet_type>(const packet_type& a) { \
|
|
105
|
+
return cl::sycl::rsqrt(a); \
|
|
103
106
|
}
|
|
104
107
|
|
|
108
|
+
SYCL_PRSQRT(cl::sycl::cl_half8)
|
|
105
109
|
SYCL_PRSQRT(cl::sycl::cl_float4)
|
|
106
110
|
SYCL_PRSQRT(cl::sycl::cl_double2)
|
|
107
111
|
#undef SYCL_PRSQRT
|
|
108
112
|
|
|
109
113
|
/** \internal \returns the hyperbolic sine of \a a (coeff-wise) */
|
|
110
|
-
#define SYCL_PSIN(packet_type)
|
|
111
|
-
template <>
|
|
112
|
-
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE packet_type psin<packet_type>( \
|
|
113
|
-
|
|
114
|
-
return cl::sycl::sin(a); \
|
|
114
|
+
#define SYCL_PSIN(packet_type) \
|
|
115
|
+
template <> \
|
|
116
|
+
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE packet_type psin<packet_type>(const packet_type& a) { \
|
|
117
|
+
return cl::sycl::sin(a); \
|
|
115
118
|
}
|
|
116
119
|
|
|
120
|
+
SYCL_PSIN(cl::sycl::cl_half8)
|
|
117
121
|
SYCL_PSIN(cl::sycl::cl_float4)
|
|
118
122
|
SYCL_PSIN(cl::sycl::cl_double2)
|
|
119
123
|
#undef SYCL_PSIN
|
|
120
124
|
|
|
121
125
|
/** \internal \returns the hyperbolic cosine of \a a (coeff-wise) */
|
|
122
|
-
#define SYCL_PCOS(packet_type)
|
|
123
|
-
template <>
|
|
124
|
-
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE packet_type pcos<packet_type>( \
|
|
125
|
-
|
|
126
|
-
return cl::sycl::cos(a); \
|
|
126
|
+
#define SYCL_PCOS(packet_type) \
|
|
127
|
+
template <> \
|
|
128
|
+
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE packet_type pcos<packet_type>(const packet_type& a) { \
|
|
129
|
+
return cl::sycl::cos(a); \
|
|
127
130
|
}
|
|
128
131
|
|
|
132
|
+
SYCL_PCOS(cl::sycl::cl_half8)
|
|
129
133
|
SYCL_PCOS(cl::sycl::cl_float4)
|
|
130
134
|
SYCL_PCOS(cl::sycl::cl_double2)
|
|
131
135
|
#undef SYCL_PCOS
|
|
132
136
|
|
|
133
137
|
/** \internal \returns the hyperbolic tan of \a a (coeff-wise) */
|
|
134
|
-
#define SYCL_PTAN(packet_type)
|
|
135
|
-
template <>
|
|
136
|
-
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE packet_type ptan<packet_type>( \
|
|
137
|
-
|
|
138
|
-
return cl::sycl::tan(a); \
|
|
138
|
+
#define SYCL_PTAN(packet_type) \
|
|
139
|
+
template <> \
|
|
140
|
+
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE packet_type ptan<packet_type>(const packet_type& a) { \
|
|
141
|
+
return cl::sycl::tan(a); \
|
|
139
142
|
}
|
|
140
143
|
|
|
144
|
+
SYCL_PTAN(cl::sycl::cl_half8)
|
|
141
145
|
SYCL_PTAN(cl::sycl::cl_float4)
|
|
142
146
|
SYCL_PTAN(cl::sycl::cl_double2)
|
|
143
147
|
#undef SYCL_PTAN
|
|
144
148
|
|
|
145
149
|
/** \internal \returns the hyperbolic sine of \a a (coeff-wise) */
|
|
146
|
-
#define SYCL_PASIN(packet_type)
|
|
147
|
-
template <>
|
|
148
|
-
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE packet_type pasin<packet_type>( \
|
|
149
|
-
|
|
150
|
-
return cl::sycl::asin(a); \
|
|
150
|
+
#define SYCL_PASIN(packet_type) \
|
|
151
|
+
template <> \
|
|
152
|
+
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE packet_type pasin<packet_type>(const packet_type& a) { \
|
|
153
|
+
return cl::sycl::asin(a); \
|
|
151
154
|
}
|
|
152
155
|
|
|
156
|
+
SYCL_PASIN(cl::sycl::cl_half8)
|
|
153
157
|
SYCL_PASIN(cl::sycl::cl_float4)
|
|
154
158
|
SYCL_PASIN(cl::sycl::cl_double2)
|
|
155
159
|
#undef SYCL_PASIN
|
|
156
160
|
|
|
157
161
|
/** \internal \returns the hyperbolic cosine of \a a (coeff-wise) */
|
|
158
|
-
#define SYCL_PACOS(packet_type)
|
|
159
|
-
template <>
|
|
160
|
-
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE packet_type pacos<packet_type>( \
|
|
161
|
-
|
|
162
|
-
return cl::sycl::acos(a); \
|
|
162
|
+
#define SYCL_PACOS(packet_type) \
|
|
163
|
+
template <> \
|
|
164
|
+
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE packet_type pacos<packet_type>(const packet_type& a) { \
|
|
165
|
+
return cl::sycl::acos(a); \
|
|
163
166
|
}
|
|
164
167
|
|
|
168
|
+
SYCL_PACOS(cl::sycl::cl_half8)
|
|
165
169
|
SYCL_PACOS(cl::sycl::cl_float4)
|
|
166
170
|
SYCL_PACOS(cl::sycl::cl_double2)
|
|
167
171
|
#undef SYCL_PACOS
|
|
168
172
|
|
|
169
173
|
/** \internal \returns the hyperbolic tan of \a a (coeff-wise) */
|
|
170
|
-
#define SYCL_PATAN(packet_type)
|
|
171
|
-
template <>
|
|
172
|
-
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE packet_type patan<packet_type>( \
|
|
173
|
-
|
|
174
|
-
return cl::sycl::atan(a); \
|
|
174
|
+
#define SYCL_PATAN(packet_type) \
|
|
175
|
+
template <> \
|
|
176
|
+
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE packet_type patan<packet_type>(const packet_type& a) { \
|
|
177
|
+
return cl::sycl::atan(a); \
|
|
175
178
|
}
|
|
176
179
|
|
|
180
|
+
SYCL_PATAN(cl::sycl::cl_half8)
|
|
177
181
|
SYCL_PATAN(cl::sycl::cl_float4)
|
|
178
182
|
SYCL_PATAN(cl::sycl::cl_double2)
|
|
179
183
|
#undef SYCL_PATAN
|
|
180
184
|
|
|
181
185
|
/** \internal \returns the hyperbolic sine of \a a (coeff-wise) */
|
|
182
|
-
#define SYCL_PSINH(packet_type)
|
|
183
|
-
template <>
|
|
184
|
-
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE packet_type psinh<packet_type>( \
|
|
185
|
-
|
|
186
|
-
return cl::sycl::sinh(a); \
|
|
186
|
+
#define SYCL_PSINH(packet_type) \
|
|
187
|
+
template <> \
|
|
188
|
+
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE packet_type psinh<packet_type>(const packet_type& a) { \
|
|
189
|
+
return cl::sycl::sinh(a); \
|
|
187
190
|
}
|
|
188
191
|
|
|
192
|
+
SYCL_PSINH(cl::sycl::cl_half8)
|
|
189
193
|
SYCL_PSINH(cl::sycl::cl_float4)
|
|
190
194
|
SYCL_PSINH(cl::sycl::cl_double2)
|
|
191
195
|
#undef SYCL_PSINH
|
|
192
196
|
|
|
193
197
|
/** \internal \returns the hyperbolic cosine of \a a (coeff-wise) */
|
|
194
|
-
#define SYCL_PCOSH(packet_type)
|
|
195
|
-
template <>
|
|
196
|
-
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE packet_type pcosh<packet_type>( \
|
|
197
|
-
|
|
198
|
-
return cl::sycl::cosh(a); \
|
|
198
|
+
#define SYCL_PCOSH(packet_type) \
|
|
199
|
+
template <> \
|
|
200
|
+
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE packet_type pcosh<packet_type>(const packet_type& a) { \
|
|
201
|
+
return cl::sycl::cosh(a); \
|
|
199
202
|
}
|
|
200
203
|
|
|
204
|
+
SYCL_PCOSH(cl::sycl::cl_half8)
|
|
201
205
|
SYCL_PCOSH(cl::sycl::cl_float4)
|
|
202
206
|
SYCL_PCOSH(cl::sycl::cl_double2)
|
|
203
207
|
#undef SYCL_PCOSH
|
|
204
208
|
|
|
205
209
|
/** \internal \returns the hyperbolic tan of \a a (coeff-wise) */
|
|
206
|
-
#define SYCL_PTANH(packet_type)
|
|
207
|
-
template <>
|
|
208
|
-
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE packet_type ptanh<packet_type>( \
|
|
209
|
-
|
|
210
|
-
return cl::sycl::tanh(a); \
|
|
210
|
+
#define SYCL_PTANH(packet_type) \
|
|
211
|
+
template <> \
|
|
212
|
+
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE packet_type ptanh<packet_type>(const packet_type& a) { \
|
|
213
|
+
return cl::sycl::tanh(a); \
|
|
211
214
|
}
|
|
212
215
|
|
|
216
|
+
SYCL_PTANH(cl::sycl::cl_half8)
|
|
213
217
|
SYCL_PTANH(cl::sycl::cl_float4)
|
|
214
218
|
SYCL_PTANH(cl::sycl::cl_double2)
|
|
215
219
|
#undef SYCL_PTANH
|
|
216
220
|
|
|
217
|
-
#define SYCL_PCEIL(packet_type)
|
|
218
|
-
template <>
|
|
219
|
-
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE packet_type pceil<packet_type>( \
|
|
220
|
-
|
|
221
|
-
return cl::sycl::ceil(a); \
|
|
221
|
+
#define SYCL_PCEIL(packet_type) \
|
|
222
|
+
template <> \
|
|
223
|
+
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE packet_type pceil<packet_type>(const packet_type& a) { \
|
|
224
|
+
return cl::sycl::ceil(a); \
|
|
222
225
|
}
|
|
223
226
|
|
|
227
|
+
SYCL_PCEIL(cl::sycl::cl_half)
|
|
224
228
|
SYCL_PCEIL(cl::sycl::cl_float4)
|
|
225
229
|
SYCL_PCEIL(cl::sycl::cl_double2)
|
|
226
230
|
#undef SYCL_PCEIL
|
|
227
231
|
|
|
228
|
-
#define SYCL_PROUND(packet_type)
|
|
229
|
-
template <>
|
|
230
|
-
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE packet_type pround<packet_type>( \
|
|
231
|
-
|
|
232
|
-
return cl::sycl::round(a); \
|
|
232
|
+
#define SYCL_PROUND(packet_type) \
|
|
233
|
+
template <> \
|
|
234
|
+
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE packet_type pround<packet_type>(const packet_type& a) { \
|
|
235
|
+
return cl::sycl::round(a); \
|
|
233
236
|
}
|
|
234
237
|
|
|
238
|
+
SYCL_PROUND(cl::sycl::cl_half8)
|
|
235
239
|
SYCL_PROUND(cl::sycl::cl_float4)
|
|
236
240
|
SYCL_PROUND(cl::sycl::cl_double2)
|
|
237
241
|
#undef SYCL_PROUND
|
|
238
242
|
|
|
239
|
-
#define SYCL_PRINT(packet_type)
|
|
240
|
-
template <>
|
|
241
|
-
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE packet_type print<packet_type>( \
|
|
242
|
-
|
|
243
|
-
return cl::sycl::rint(a); \
|
|
243
|
+
#define SYCL_PRINT(packet_type) \
|
|
244
|
+
template <> \
|
|
245
|
+
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE packet_type print<packet_type>(const packet_type& a) { \
|
|
246
|
+
return cl::sycl::rint(a); \
|
|
244
247
|
}
|
|
245
248
|
|
|
249
|
+
SYCL_PRINT(cl::sycl::cl_half8)
|
|
246
250
|
SYCL_PRINT(cl::sycl::cl_float4)
|
|
247
251
|
SYCL_PRINT(cl::sycl::cl_double2)
|
|
248
252
|
#undef SYCL_PRINT
|
|
249
253
|
|
|
250
|
-
#define SYCL_FLOOR(packet_type)
|
|
251
|
-
template <>
|
|
252
|
-
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE packet_type pfloor<packet_type>( \
|
|
253
|
-
|
|
254
|
-
return cl::sycl::floor(a); \
|
|
254
|
+
#define SYCL_FLOOR(packet_type) \
|
|
255
|
+
template <> \
|
|
256
|
+
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE packet_type pfloor<packet_type>(const packet_type& a) { \
|
|
257
|
+
return cl::sycl::floor(a); \
|
|
255
258
|
}
|
|
256
259
|
|
|
260
|
+
SYCL_FLOOR(cl::sycl::cl_half8)
|
|
257
261
|
SYCL_FLOOR(cl::sycl::cl_float4)
|
|
258
262
|
SYCL_FLOOR(cl::sycl::cl_double2)
|
|
259
263
|
#undef SYCL_FLOOR
|
|
260
264
|
|
|
261
|
-
#define SYCL_PMIN(packet_type, expr)
|
|
262
|
-
template <>
|
|
263
|
-
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE packet_type pmin<packet_type>( \
|
|
264
|
-
|
|
265
|
-
return expr; \
|
|
265
|
+
#define SYCL_PMIN(packet_type, expr) \
|
|
266
|
+
template <> \
|
|
267
|
+
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE packet_type pmin<packet_type>(const packet_type& a, const packet_type& b) { \
|
|
268
|
+
return expr; \
|
|
266
269
|
}
|
|
267
270
|
|
|
271
|
+
SYCL_PMIN(cl::sycl::cl_half8, cl::sycl::fmin(a, b))
|
|
268
272
|
SYCL_PMIN(cl::sycl::cl_float4, cl::sycl::fmin(a, b))
|
|
269
273
|
SYCL_PMIN(cl::sycl::cl_double2, cl::sycl::fmin(a, b))
|
|
270
274
|
#undef SYCL_PMIN
|
|
271
275
|
|
|
272
|
-
#define SYCL_PMAX(packet_type, expr)
|
|
273
|
-
template <>
|
|
274
|
-
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE packet_type pmax<packet_type>( \
|
|
275
|
-
|
|
276
|
-
return expr; \
|
|
276
|
+
#define SYCL_PMAX(packet_type, expr) \
|
|
277
|
+
template <> \
|
|
278
|
+
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE packet_type pmax<packet_type>(const packet_type& a, const packet_type& b) { \
|
|
279
|
+
return expr; \
|
|
277
280
|
}
|
|
278
281
|
|
|
282
|
+
SYCL_PMAX(cl::sycl::cl_half8, cl::sycl::fmax(a, b))
|
|
279
283
|
SYCL_PMAX(cl::sycl::cl_float4, cl::sycl::fmax(a, b))
|
|
280
284
|
SYCL_PMAX(cl::sycl::cl_double2, cl::sycl::fmax(a, b))
|
|
281
285
|
#undef SYCL_PMAX
|
|
282
286
|
|
|
283
|
-
#define SYCL_PLDEXP(packet_type)
|
|
284
|
-
template <>
|
|
285
|
-
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE packet_type pldexp(
|
|
286
|
-
|
|
287
|
-
return cl::sycl::ldexp( \
|
|
288
|
-
a, exponent.template convert<cl::sycl::cl_int, \
|
|
289
|
-
cl::sycl::rounding_mode::automatic>()); \
|
|
287
|
+
#define SYCL_PLDEXP(packet_type) \
|
|
288
|
+
template <> \
|
|
289
|
+
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE packet_type pldexp(const packet_type& a, const packet_type& exponent) { \
|
|
290
|
+
return cl::sycl::ldexp(a, exponent.template convert<cl::sycl::cl_int, cl::sycl::rounding_mode::automatic>()); \
|
|
290
291
|
}
|
|
291
292
|
|
|
293
|
+
SYCL_PLDEXP(cl::sycl::cl_half8)
|
|
292
294
|
SYCL_PLDEXP(cl::sycl::cl_float4)
|
|
293
295
|
SYCL_PLDEXP(cl::sycl::cl_double2)
|
|
294
296
|
#undef SYCL_PLDEXP
|