From 53e86dae9dd1336b93921eff6e43da8f6ac690c4 Mon Sep 17 00:00:00 2001 From: Dario Sassi Date: Wed, 8 Aug 2018 11:15:42 +0000 Subject: [PATCH] Extern : - aggiornamento lua a 5.3.5 - aggiornamento Eigen a 3.3.5. --- Eigen/Cholesky | 5 + Eigen/Core | 23 +- Eigen/Eigenvalues | 4 + Eigen/LU | 4 + Eigen/QR | 4 + Eigen/QtAlignedMalloc | 2 +- Eigen/SVD | 4 + Eigen/src/Cholesky/LDLT.h | 11 +- Eigen/src/Cholesky/LLT.h | 26 +- Eigen/src/Core/AssignEvaluator.h | 4 +- Eigen/src/Core/Assign_MKL.h | 6 +- Eigen/src/Core/CoreEvaluators.h | 39 ++- Eigen/src/Core/Diagonal.h | 5 +- Eigen/src/Core/Dot.h | 17 +- Eigen/src/Core/GeneralProduct.h | 21 +- Eigen/src/Core/Map.h | 17 +- Eigen/src/Core/MathFunctions.h | 28 +- Eigen/src/Core/MathFunctionsImpl.h | 23 ++ Eigen/src/Core/MatrixBase.h | 9 - Eigen/src/Core/PlainObjectBase.h | 4 + Eigen/src/Core/Product.h | 10 +- Eigen/src/Core/ProductEvaluators.h | 31 ++- Eigen/src/Core/Redux.h | 2 +- Eigen/src/Core/Ref.h | 2 + Eigen/src/Core/SelfAdjointView.h | 6 +- Eigen/src/Core/SelfCwiseBinaryOp.h | 4 - Eigen/src/Core/StableNorm.h | 2 +- Eigen/src/Core/Transpositions.h | 2 +- Eigen/src/Core/arch/AVX/Complex.h | 36 +-- Eigen/src/Core/arch/AVX/PacketMath.h | 11 +- Eigen/src/Core/arch/AVX512/MathFunctions.h | 33 +-- Eigen/src/Core/arch/AVX512/PacketMath.h | 6 +- Eigen/src/Core/arch/AltiVec/Complex.h | 35 +-- Eigen/src/Core/arch/AltiVec/PacketMath.h | 44 ++- Eigen/src/Core/arch/CUDA/Half.h | 64 +++-- Eigen/src/Core/arch/CUDA/PacketMathHalf.h | 2 +- Eigen/src/Core/arch/Default/ConjHelper.h | 29 ++ Eigen/src/Core/arch/NEON/Complex.h | 12 +- Eigen/src/Core/arch/NEON/PacketMath.h | 31 +++ Eigen/src/Core/arch/SSE/Complex.h | 40 +-- Eigen/src/Core/arch/SSE/PacketMath.h | 22 +- Eigen/src/Core/arch/SSE/TypeCasting.h | 28 +- Eigen/src/Core/arch/ZVector/Complex.h | 3 + Eigen/src/Core/functors/BinaryFunctors.h | 25 +- Eigen/src/Core/functors/StlFunctors.h | 4 + .../GeneralMatrixMatrixTriangular_BLAS.h | 8 +- .../Core/products/GeneralMatrixMatrix_BLAS.h | 19 +- Eigen/src/Core/products/GeneralMatrixVector.h | 8 +- .../Core/products/GeneralMatrixVector_BLAS.h | 19 +- .../products/SelfadjointMatrixMatrix_BLAS.h | 48 ++-- .../products/SelfadjointMatrixVector_BLAS.h | 9 +- .../Core/products/TriangularMatrixMatrix.h | 35 ++- .../products/TriangularMatrixMatrix_BLAS.h | 39 ++- .../Core/products/TriangularMatrixVector.h | 22 +- .../products/TriangularMatrixVector_BLAS.h | 46 ++-- .../products/TriangularSolverMatrix_BLAS.h | 40 ++- Eigen/src/Core/util/MKL_support.h | 10 +- Eigen/src/Core/util/Macros.h | 19 +- Eigen/src/Core/util/Memory.h | 14 +- Eigen/src/Core/util/Meta.h | 20 ++ Eigen/src/Core/util/StaticAssert.h | 120 ++++---- .../src/Eigenvalues/GeneralizedEigenSolver.h | 5 +- Eigen/src/Eigenvalues/RealSchur.h | 4 +- .../SelfAdjointEigenSolver_LAPACKE.h | 23 +- Eigen/src/Geometry/AngleAxis.h | 2 +- Eigen/src/Geometry/Quaternion.h | 29 +- .../BasicPreconditioners.h | 2 +- Eigen/src/Jacobi/Jacobi.h | 256 ++++++++++-------- Eigen/src/LU/InverseImpl.h | 2 +- Eigen/src/PaStiXSupport/PaStiXSupport.h | 8 +- Eigen/src/SVD/BDCSVD.h | 33 ++- Eigen/src/SVD/JacobiSVD_LAPACKE.h | 5 +- Eigen/src/SparseCore/AmbiVector.h | 2 +- .../ConservativeSparseSparseProduct.h | 67 +++-- Eigen/src/SparseCore/SparseSelfAdjointView.h | 8 +- .../SparseSparseProductWithPruning.h | 22 +- Eigen/src/SparseQR/SparseQR.h | 26 +- Lua/Include/lauxlib.h | 4 +- Lua/Include/lua.h | 8 +- Lua/Include/luaconf.h | 9 +- Lua/Include/lualib.h | 2 +- Lua/Lib/lua53D32.lib | Bin 30124 -> 30124 bytes Lua/Lib/lua53D32.pdb | Bin 1224704 -> 1093632 bytes Lua/Lib/lua53D64.lib | Bin 29402 -> 29402 bytes Lua/Lib/lua53D64.pdb | Bin 1150976 -> 1011712 bytes Lua/Lib/lua53R32.lib | Bin 29652 -> 29652 bytes Lua/Lib/lua53R64.lib | Bin 28930 -> 28930 bytes 87 files changed, 1032 insertions(+), 701 deletions(-) create mode 100644 Eigen/src/Core/arch/Default/ConjHelper.h diff --git a/Eigen/Cholesky b/Eigen/Cholesky index 369d1f5..1332b54 100644 --- a/Eigen/Cholesky +++ b/Eigen/Cholesky @@ -9,6 +9,7 @@ #define EIGEN_CHOLESKY_MODULE_H #include "Core" +#include "Jacobi" #include "src/Core/util/DisableStupidWarnings.h" @@ -31,7 +32,11 @@ #include "src/Cholesky/LLT.h" #include "src/Cholesky/LDLT.h" #ifdef EIGEN_USE_LAPACKE +#ifdef EIGEN_USE_MKL +#include "mkl_lapacke.h" +#else #include "src/misc/lapacke.h" +#endif #include "src/Cholesky/LLT_LAPACKE.h" #endif diff --git a/Eigen/Core b/Eigen/Core index 0f7fa63..4d4901e 100644 --- a/Eigen/Core +++ b/Eigen/Core @@ -14,6 +14,22 @@ // first thing Eigen does: stop the compiler from committing suicide #include "src/Core/util/DisableStupidWarnings.h" +#if defined(__CUDACC__) && !defined(EIGEN_NO_CUDA) + #define EIGEN_CUDACC __CUDACC__ +#endif + +#if defined(__CUDA_ARCH__) && !defined(EIGEN_NO_CUDA) + #define EIGEN_CUDA_ARCH __CUDA_ARCH__ +#endif + +#if defined(__CUDACC_VER_MAJOR__) && (__CUDACC_VER_MAJOR__ >= 9) +#define EIGEN_CUDACC_VER ((__CUDACC_VER_MAJOR__ * 10000) + (__CUDACC_VER_MINOR__ * 100)) +#elif defined(__CUDACC_VER__) +#define EIGEN_CUDACC_VER __CUDACC_VER__ +#else +#define EIGEN_CUDACC_VER 0 +#endif + // Handle NVCC/CUDA/SYCL #if defined(__CUDACC__) || defined(__SYCL_DEVICE_ONLY__) // Do not try asserts on CUDA and SYCL! @@ -155,6 +171,9 @@ #ifdef __AVX512DQ__ #define EIGEN_VECTORIZE_AVX512DQ #endif + #ifdef __AVX512ER__ + #define EIGEN_VECTORIZE_AVX512ER + #endif #endif // include files @@ -229,7 +248,7 @@ #if defined __CUDACC__ #define EIGEN_VECTORIZE_CUDA #include - #if defined __CUDACC_VER__ && __CUDACC_VER__ >= 70500 + #if EIGEN_CUDACC_VER >= 70500 #define EIGEN_HAS_CUDA_FP16 #endif #endif @@ -352,6 +371,7 @@ using std::ptrdiff_t; #include "src/Core/MathFunctions.h" #include "src/Core/GenericPacketMath.h" #include "src/Core/MathFunctionsImpl.h" +#include "src/Core/arch/Default/ConjHelper.h" #if defined EIGEN_VECTORIZE_AVX512 #include "src/Core/arch/SSE/PacketMath.h" @@ -367,6 +387,7 @@ using std::ptrdiff_t; #include "src/Core/arch/AVX/MathFunctions.h" #include "src/Core/arch/AVX/Complex.h" #include "src/Core/arch/AVX/TypeCasting.h" + #include "src/Core/arch/SSE/TypeCasting.h" #elif defined EIGEN_VECTORIZE_SSE #include "src/Core/arch/SSE/PacketMath.h" #include "src/Core/arch/SSE/MathFunctions.h" diff --git a/Eigen/Eigenvalues b/Eigen/Eigenvalues index 009e529..f3f661b 100644 --- a/Eigen/Eigenvalues +++ b/Eigen/Eigenvalues @@ -45,7 +45,11 @@ #include "src/Eigenvalues/GeneralizedEigenSolver.h" #include "src/Eigenvalues/MatrixBaseEigenvalues.h" #ifdef EIGEN_USE_LAPACKE +#ifdef EIGEN_USE_MKL +#include "mkl_lapacke.h" +#else #include "src/misc/lapacke.h" +#endif #include "src/Eigenvalues/RealSchur_LAPACKE.h" #include "src/Eigenvalues/ComplexSchur_LAPACKE.h" #include "src/Eigenvalues/SelfAdjointEigenSolver_LAPACKE.h" diff --git a/Eigen/LU b/Eigen/LU index 6f6c556..6418a86 100644 --- a/Eigen/LU +++ b/Eigen/LU @@ -28,7 +28,11 @@ #include "src/LU/FullPivLU.h" #include "src/LU/PartialPivLU.h" #ifdef EIGEN_USE_LAPACKE +#ifdef EIGEN_USE_MKL +#include "mkl_lapacke.h" +#else #include "src/misc/lapacke.h" +#endif #include "src/LU/PartialPivLU_LAPACKE.h" #endif #include "src/LU/Determinant.h" diff --git a/Eigen/QR b/Eigen/QR index 80838e3..c7e9144 100644 --- a/Eigen/QR +++ b/Eigen/QR @@ -36,7 +36,11 @@ #include "src/QR/ColPivHouseholderQR.h" #include "src/QR/CompleteOrthogonalDecomposition.h" #ifdef EIGEN_USE_LAPACKE +#ifdef EIGEN_USE_MKL +#include "mkl_lapacke.h" +#else #include "src/misc/lapacke.h" +#endif #include "src/QR/HouseholderQR_LAPACKE.h" #include "src/QR/ColPivHouseholderQR_LAPACKE.h" #endif diff --git a/Eigen/QtAlignedMalloc b/Eigen/QtAlignedMalloc index c6571f1..4f07df0 100644 --- a/Eigen/QtAlignedMalloc +++ b/Eigen/QtAlignedMalloc @@ -27,7 +27,7 @@ void qFree(void *ptr) void *qRealloc(void *ptr, std::size_t size) { void* newPtr = Eigen::internal::aligned_malloc(size); - memcpy(newPtr, ptr, size); + std::memcpy(newPtr, ptr, size); Eigen::internal::aligned_free(ptr); return newPtr; } diff --git a/Eigen/SVD b/Eigen/SVD index 86143c2..5d0e75f 100644 --- a/Eigen/SVD +++ b/Eigen/SVD @@ -37,7 +37,11 @@ #include "src/SVD/JacobiSVD.h" #include "src/SVD/BDCSVD.h" #if defined(EIGEN_USE_LAPACKE) && !defined(EIGEN_USE_LAPACKE_STRICT) +#ifdef EIGEN_USE_MKL +#include "mkl_lapacke.h" +#else #include "src/misc/lapacke.h" +#endif #include "src/SVD/JacobiSVD_LAPACKE.h" #endif diff --git a/Eigen/src/Cholesky/LDLT.h b/Eigen/src/Cholesky/LDLT.h index fcee7b2..0313a54 100644 --- a/Eigen/src/Cholesky/LDLT.h +++ b/Eigen/src/Cholesky/LDLT.h @@ -248,7 +248,7 @@ template class LDLT /** \brief Reports whether previous computation was successful. * * \returns \c Success if computation was succesful, - * \c NumericalIssue if the matrix.appears to be negative. + * \c NumericalIssue if the factorization failed because of a zero pivot. */ ComputationInfo info() const { @@ -376,6 +376,8 @@ template<> struct ldlt_inplace if((rs>0) && pivot_is_valid) A21 /= realAkk; + else if(rs>0) + ret = ret && (A21.array()==Scalar(0)).all(); if(found_zero_pivot && pivot_is_valid) ret = false; // factorization failed else if(!pivot_is_valid) found_zero_pivot = true; @@ -568,13 +570,14 @@ void LDLT<_MatrixType,_UpLo>::_solve_impl(const RhsType &rhs, DstType &dst) cons // more precisely, use pseudo-inverse of D (see bug 241) using std::abs; const typename Diagonal::RealReturnType vecD(vectorD()); - // In some previous versions, tolerance was set to the max of 1/highest and the maximal diagonal entry * epsilon - // as motivated by LAPACK's xGELSS: + // In some previous versions, tolerance was set to the max of 1/highest (or rather numeric_limits::min()) + // and the maximal diagonal entry * epsilon as motivated by LAPACK's xGELSS: // RealScalar tolerance = numext::maxi(vecD.array().abs().maxCoeff() * NumTraits::epsilon(),RealScalar(1) / NumTraits::highest()); // However, LDLT is not rank revealing, and so adjusting the tolerance wrt to the highest // diagonal element is not well justified and leads to numerical issues in some cases. // Moreover, Lapack's xSYTRS routines use 0 for the tolerance. - RealScalar tolerance = RealScalar(1) / NumTraits::highest(); + // Using numeric_limits::min() gives us more robustness to denormals. + RealScalar tolerance = (std::numeric_limits::min)(); for (Index i = 0; i < vecD.size(); ++i) { diff --git a/Eigen/src/Cholesky/LLT.h b/Eigen/src/Cholesky/LLT.h index 87ca8d4..e1624d2 100644 --- a/Eigen/src/Cholesky/LLT.h +++ b/Eigen/src/Cholesky/LLT.h @@ -24,7 +24,7 @@ template struct LLT_Traits; * * \tparam _MatrixType the type of the matrix of which we are computing the LL^T Cholesky decomposition * \tparam _UpLo the triangular part that will be used for the decompositon: Lower (default) or Upper. - * The other triangular part won't be read. + * The other triangular part won't be read. * * This class performs a LL^T Cholesky decomposition of a symmetric, positive definite * matrix A such that A = LL^* = U^*U, where L is lower triangular. @@ -41,14 +41,18 @@ template struct LLT_Traits; * Example: \include LLT_example.cpp * Output: \verbinclude LLT_example.out * + * \b Performance: for best performance, it is recommended to use a column-major storage format + * with the Lower triangular part (the default), or, equivalently, a row-major storage format + * with the Upper triangular part. Otherwise, you might get a 20% slowdown for the full factorization + * step, and rank-updates can be up to 3 times slower. + * * This class supports the \link InplaceDecomposition inplace decomposition \endlink mechanism. * + * Note that during the decomposition, only the lower (or upper, as defined by _UpLo) triangular part of A is considered. + * Therefore, the strict lower part does not have to store correct values. + * * \sa MatrixBase::llt(), SelfAdjointView::llt(), class LDLT */ - /* HEY THIS DOX IS DISABLED BECAUSE THERE's A BUG EITHER HERE OR IN LDLT ABOUT THAT (OR BOTH) - * Note that during the decomposition, only the upper triangular part of A is considered. Therefore, - * the strict lower part does not have to store correct values. - */ template class LLT { public: @@ -146,7 +150,7 @@ template class LLT } template - void solveInPlace(MatrixBase &bAndX) const; + void solveInPlace(const MatrixBase &bAndX) const; template LLT& compute(const EigenBase& matrix); @@ -177,7 +181,7 @@ template class LLT /** \brief Reports whether previous computation was successful. * * \returns \c Success if computation was succesful, - * \c NumericalIssue if the matrix.appears to be negative. + * \c NumericalIssue if the matrix.appears not to be positive definite. */ ComputationInfo info() const { @@ -425,7 +429,8 @@ LLT& LLT::compute(const EigenBase eigen_assert(a.rows()==a.cols()); const Index size = a.rows(); m_matrix.resize(size, size); - m_matrix = a.derived(); + if (!internal::is_same_dense(m_matrix, a.derived())) + m_matrix = a.derived(); // Compute matrix L1 norm = max abs column sum. m_l1_norm = RealScalar(0); @@ -485,11 +490,14 @@ void LLT<_MatrixType,_UpLo>::_solve_impl(const RhsType &rhs, DstType &dst) const * * This version avoids a copy when the right hand side matrix b is not needed anymore. * + * \warning The parameter is only marked 'const' to make the C++ compiler accept a temporary expression here. + * This function will const_cast it, so constness isn't honored here. + * * \sa LLT::solve(), MatrixBase::llt() */ template template -void LLT::solveInPlace(MatrixBase &bAndX) const +void LLT::solveInPlace(const MatrixBase &bAndX) const { eigen_assert(m_isInitialized && "LLT is not initialized."); eigen_assert(m_matrix.rows()==bAndX.rows()); diff --git a/Eigen/src/Core/AssignEvaluator.h b/Eigen/src/Core/AssignEvaluator.h index b0ec7b7..dbe435d 100644 --- a/Eigen/src/Core/AssignEvaluator.h +++ b/Eigen/src/Core/AssignEvaluator.h @@ -39,7 +39,7 @@ public: enum { DstAlignment = DstEvaluator::Alignment, SrcAlignment = SrcEvaluator::Alignment, - DstHasDirectAccess = DstFlags & DirectAccessBit, + DstHasDirectAccess = (DstFlags & DirectAccessBit) == DirectAccessBit, JointAlignment = EIGEN_PLAIN_ENUM_MIN(DstAlignment,SrcAlignment) }; @@ -83,7 +83,7 @@ private: && int(OuterStride)!=Dynamic && int(OuterStride)%int(InnerPacketSize)==0 && (EIGEN_UNALIGNED_VECTORIZE || int(JointAlignment)>=int(InnerRequiredAlignment)), MayLinearize = bool(StorageOrdersAgree) && (int(DstFlags) & int(SrcFlags) & LinearAccessBit), - MayLinearVectorize = bool(MightVectorize) && MayLinearize && DstHasDirectAccess + MayLinearVectorize = bool(MightVectorize) && bool(MayLinearize) && bool(DstHasDirectAccess) && (EIGEN_UNALIGNED_VECTORIZE || (int(DstAlignment)>=int(LinearRequiredAlignment)) || MaxSizeAtCompileTime == Dynamic), /* If the destination isn't aligned, we have to do runtime checks and we don't unroll, so it's only good for large enough sizes. */ diff --git a/Eigen/src/Core/Assign_MKL.h b/Eigen/src/Core/Assign_MKL.h index 6c2ab92..6866095 100644 --- a/Eigen/src/Core/Assign_MKL.h +++ b/Eigen/src/Core/Assign_MKL.h @@ -84,7 +84,8 @@ class vml_assign_traits struct Assignment, SrcXprNested>, assign_op, \ Dense2Dense, typename enable_if::EnableVml>::type> { \ typedef CwiseUnaryOp, SrcXprNested> SrcXprType; \ - static void run(DstXprType &dst, const SrcXprType &src, const assign_op &/*func*/) { \ + static void run(DstXprType &dst, const SrcXprType &src, const assign_op &func) { \ + resize_if_allowed(dst, src, func); \ eigen_assert(dst.rows() == src.rows() && dst.cols() == src.cols()); \ if(vml_assign_traits::Traversal==LinearTraversal) { \ VMLOP(dst.size(), (const VMLTYPE*)src.nestedExpression().data(), \ @@ -144,7 +145,8 @@ EIGEN_MKL_VML_DECLARE_UNARY_CALLS_REAL(ceil, Ceil, _) Dense2Dense, typename enable_if::EnableVml>::type> { \ typedef CwiseBinaryOp, SrcXprNested, \ const CwiseNullaryOp,Plain> > SrcXprType; \ - static void run(DstXprType &dst, const SrcXprType &src, const assign_op &/*func*/) { \ + static void run(DstXprType &dst, const SrcXprType &src, const assign_op &func) { \ + resize_if_allowed(dst, src, func); \ eigen_assert(dst.rows() == src.rows() && dst.cols() == src.cols()); \ VMLTYPE exponent = reinterpret_cast(src.rhs().functor().m_other); \ if(vml_assign_traits::Traversal==LinearTraversal) \ diff --git a/Eigen/src/Core/CoreEvaluators.h b/Eigen/src/Core/CoreEvaluators.h index f7c1eff..910889e 100644 --- a/Eigen/src/Core/CoreEvaluators.h +++ b/Eigen/src/Core/CoreEvaluators.h @@ -977,7 +977,7 @@ struct evaluator > OuterStrideAtCompileTime = HasSameStorageOrderAsArgType ? int(outer_stride_at_compile_time::ret) : int(inner_stride_at_compile_time::ret), - MaskPacketAccessBit = (InnerStrideAtCompileTime == 1) ? PacketAccessBit : 0, + MaskPacketAccessBit = (InnerStrideAtCompileTime == 1 || HasSameStorageOrderAsArgType) ? PacketAccessBit : 0, FlagsLinearAccessBit = (RowsAtCompileTime == 1 || ColsAtCompileTime == 1 || (InnerPanel && (evaluator::Flags&LinearAccessBit))) ? LinearAccessBit : 0, FlagsRowMajorBit = XprType::Flags&RowMajorBit, @@ -987,7 +987,9 @@ struct evaluator > Flags = Flags0 | FlagsLinearAccessBit | FlagsRowMajorBit, PacketAlignment = unpacket_traits::alignment, - Alignment0 = (InnerPanel && (OuterStrideAtCompileTime!=Dynamic) && (((OuterStrideAtCompileTime * int(sizeof(Scalar))) % int(PacketAlignment)) == 0)) ? int(PacketAlignment) : 0, + Alignment0 = (InnerPanel && (OuterStrideAtCompileTime!=Dynamic) + && (OuterStrideAtCompileTime!=0) + && (((OuterStrideAtCompileTime * int(sizeof(Scalar))) % int(PacketAlignment)) == 0)) ? int(PacketAlignment) : 0, Alignment = EIGEN_PLAIN_ENUM_MIN(evaluator::Alignment, Alignment0) }; typedef block_evaluator block_evaluator_type; @@ -1018,14 +1020,16 @@ struct unary_evaluator, IndexBa EIGEN_DEVICE_FUNC explicit unary_evaluator(const XprType& block) : m_argImpl(block.nestedExpression()), m_startRow(block.startRow()), - m_startCol(block.startCol()) + m_startCol(block.startCol()), + m_linear_offset(InnerPanel?(XprType::IsRowMajor ? block.startRow()*block.cols() : block.startCol()*block.rows()):0) { } typedef typename XprType::Scalar Scalar; typedef typename XprType::CoeffReturnType CoeffReturnType; enum { - RowsAtCompileTime = XprType::RowsAtCompileTime + RowsAtCompileTime = XprType::RowsAtCompileTime, + ForwardLinearAccess = InnerPanel && bool(evaluator::Flags&LinearAccessBit) }; EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE @@ -1037,7 +1041,10 @@ struct unary_evaluator, IndexBa EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE CoeffReturnType coeff(Index index) const { - return coeff(RowsAtCompileTime == 1 ? 0 : index, RowsAtCompileTime == 1 ? index : 0); + if (ForwardLinearAccess) + return m_argImpl.coeff(m_linear_offset.value() + index); + else + return coeff(RowsAtCompileTime == 1 ? 0 : index, RowsAtCompileTime == 1 ? index : 0); } EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE @@ -1049,7 +1056,10 @@ struct unary_evaluator, IndexBa EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Scalar& coeffRef(Index index) { - return coeffRef(RowsAtCompileTime == 1 ? 0 : index, RowsAtCompileTime == 1 ? index : 0); + if (ForwardLinearAccess) + return m_argImpl.coeffRef(m_linear_offset.value() + index); + else + return coeffRef(RowsAtCompileTime == 1 ? 0 : index, RowsAtCompileTime == 1 ? index : 0); } template @@ -1063,8 +1073,11 @@ struct unary_evaluator, IndexBa EIGEN_STRONG_INLINE PacketType packet(Index index) const { - return packet(RowsAtCompileTime == 1 ? 0 : index, - RowsAtCompileTime == 1 ? index : 0); + if (ForwardLinearAccess) + return m_argImpl.template packet(m_linear_offset.value() + index); + else + return packet(RowsAtCompileTime == 1 ? 0 : index, + RowsAtCompileTime == 1 ? index : 0); } template @@ -1078,15 +1091,19 @@ struct unary_evaluator, IndexBa EIGEN_STRONG_INLINE void writePacket(Index index, const PacketType& x) { - return writePacket(RowsAtCompileTime == 1 ? 0 : index, - RowsAtCompileTime == 1 ? index : 0, - x); + if (ForwardLinearAccess) + return m_argImpl.template writePacket(m_linear_offset.value() + index, x); + else + return writePacket(RowsAtCompileTime == 1 ? 0 : index, + RowsAtCompileTime == 1 ? index : 0, + x); } protected: evaluator m_argImpl; const variable_if_dynamic m_startRow; const variable_if_dynamic m_startCol; + const variable_if_dynamic m_linear_offset; }; // TODO: This evaluator does not actually use the child evaluator; diff --git a/Eigen/src/Core/Diagonal.h b/Eigen/src/Core/Diagonal.h index 49e7112..afcaf35 100644 --- a/Eigen/src/Core/Diagonal.h +++ b/Eigen/src/Core/Diagonal.h @@ -70,7 +70,10 @@ template class Diagonal EIGEN_DENSE_PUBLIC_INTERFACE(Diagonal) EIGEN_DEVICE_FUNC - explicit inline Diagonal(MatrixType& matrix, Index a_index = DiagIndex) : m_matrix(matrix), m_index(a_index) {} + explicit inline Diagonal(MatrixType& matrix, Index a_index = DiagIndex) : m_matrix(matrix), m_index(a_index) + { + eigen_assert( a_index <= m_matrix.cols() && -a_index <= m_matrix.rows() ); + } EIGEN_INHERIT_ASSIGNMENT_OPERATORS(Diagonal) diff --git a/Eigen/src/Core/Dot.h b/Eigen/src/Core/Dot.h index 06ef18b..1fe7a84 100644 --- a/Eigen/src/Core/Dot.h +++ b/Eigen/src/Core/Dot.h @@ -31,7 +31,8 @@ struct dot_nocheck typedef scalar_conj_product_op::Scalar,typename traits::Scalar> conj_prod; typedef typename conj_prod::result_type ResScalar; EIGEN_DEVICE_FUNC - static inline ResScalar run(const MatrixBase& a, const MatrixBase& b) + EIGEN_STRONG_INLINE + static ResScalar run(const MatrixBase& a, const MatrixBase& b) { return a.template binaryExpr(b).sum(); } @@ -43,7 +44,8 @@ struct dot_nocheck typedef scalar_conj_product_op::Scalar,typename traits::Scalar> conj_prod; typedef typename conj_prod::result_type ResScalar; EIGEN_DEVICE_FUNC - static inline ResScalar run(const MatrixBase& a, const MatrixBase& b) + EIGEN_STRONG_INLINE + static ResScalar run(const MatrixBase& a, const MatrixBase& b) { return a.transpose().template binaryExpr(b).sum(); } @@ -65,6 +67,7 @@ struct dot_nocheck template template EIGEN_DEVICE_FUNC +EIGEN_STRONG_INLINE typename ScalarBinaryOpTraits::Scalar,typename internal::traits::Scalar>::ReturnType MatrixBase::dot(const MatrixBase& other) const { @@ -102,7 +105,7 @@ EIGEN_STRONG_INLINE typename NumTraits::Scala * \sa lpNorm(), dot(), squaredNorm() */ template -inline typename NumTraits::Scalar>::Real MatrixBase::norm() const +EIGEN_STRONG_INLINE typename NumTraits::Scalar>::Real MatrixBase::norm() const { return numext::sqrt(squaredNorm()); } @@ -117,7 +120,7 @@ inline typename NumTraits::Scalar>::Real Matr * \sa norm(), normalize() */ template -inline const typename MatrixBase::PlainObject +EIGEN_STRONG_INLINE const typename MatrixBase::PlainObject MatrixBase::normalized() const { typedef typename internal::nested_eval::type _Nested; @@ -139,7 +142,7 @@ MatrixBase::normalized() const * \sa norm(), normalized() */ template -inline void MatrixBase::normalize() +EIGEN_STRONG_INLINE void MatrixBase::normalize() { RealScalar z = squaredNorm(); // NOTE: after extensive benchmarking, this conditional does not impact performance, at least on recent x86 CPU @@ -160,7 +163,7 @@ inline void MatrixBase::normalize() * \sa stableNorm(), stableNormalize(), normalized() */ template -inline const typename MatrixBase::PlainObject +EIGEN_STRONG_INLINE const typename MatrixBase::PlainObject MatrixBase::stableNormalized() const { typedef typename internal::nested_eval::type _Nested; @@ -185,7 +188,7 @@ MatrixBase::stableNormalized() const * \sa stableNorm(), stableNormalized(), normalize() */ template -inline void MatrixBase::stableNormalize() +EIGEN_STRONG_INLINE void MatrixBase::stableNormalize() { RealScalar w = cwiseAbs().maxCoeff(); RealScalar z = (derived()/w).squaredNorm(); diff --git a/Eigen/src/Core/GeneralProduct.h b/Eigen/src/Core/GeneralProduct.h index 0f16cd8..6f0cc80 100644 --- a/Eigen/src/Core/GeneralProduct.h +++ b/Eigen/src/Core/GeneralProduct.h @@ -24,12 +24,17 @@ template struct product_type_selector; template struct product_size_category { - enum { is_large = MaxSize == Dynamic || - Size >= EIGEN_CACHEFRIENDLY_PRODUCT_THRESHOLD || - (Size==Dynamic && MaxSize>=EIGEN_CACHEFRIENDLY_PRODUCT_THRESHOLD), - value = is_large ? Large - : Size == 1 ? 1 - : Small + enum { + #ifndef EIGEN_CUDA_ARCH + is_large = MaxSize == Dynamic || + Size >= EIGEN_CACHEFRIENDLY_PRODUCT_THRESHOLD || + (Size==Dynamic && MaxSize>=EIGEN_CACHEFRIENDLY_PRODUCT_THRESHOLD), + #else + is_large = 0, + #endif + value = is_large ? Large + : Size == 1 ? 1 + : Small }; }; @@ -379,8 +384,6 @@ template<> struct gemv_dense_selector * * \sa lazyProduct(), operator*=(const MatrixBase&), Cwise::operator*() */ -#ifndef __CUDACC__ - template template inline const Product @@ -412,8 +415,6 @@ MatrixBase::operator*(const MatrixBase &other) const return Product(derived(), other.derived()); } -#endif // __CUDACC__ - /** \returns an expression of the matrix product of \c *this and \a other without implicit evaluation. * * The returned product will behave like any other expressions: the coefficients of the product will be diff --git a/Eigen/src/Core/Map.h b/Eigen/src/Core/Map.h index 06d1967..548bf9a 100644 --- a/Eigen/src/Core/Map.h +++ b/Eigen/src/Core/Map.h @@ -20,11 +20,17 @@ struct traits > { typedef traits TraitsBase; enum { + PlainObjectTypeInnerSize = ((traits::Flags&RowMajorBit)==RowMajorBit) + ? PlainObjectType::ColsAtCompileTime + : PlainObjectType::RowsAtCompileTime, + InnerStrideAtCompileTime = StrideType::InnerStrideAtCompileTime == 0 ? int(PlainObjectType::InnerStrideAtCompileTime) : int(StrideType::InnerStrideAtCompileTime), OuterStrideAtCompileTime = StrideType::OuterStrideAtCompileTime == 0 - ? int(PlainObjectType::OuterStrideAtCompileTime) + ? (InnerStrideAtCompileTime==Dynamic || PlainObjectTypeInnerSize==Dynamic + ? Dynamic + : int(InnerStrideAtCompileTime) * int(PlainObjectTypeInnerSize)) : int(StrideType::OuterStrideAtCompileTime), Alignment = int(MapOptions)&int(AlignedMask), Flags0 = TraitsBase::Flags & (~NestByRefBit), @@ -107,10 +113,11 @@ template class Ma EIGEN_DEVICE_FUNC inline Index outerStride() const { - return StrideType::OuterStrideAtCompileTime != 0 ? m_stride.outer() - : IsVectorAtCompileTime ? this->size() - : int(Flags)&RowMajorBit ? this->cols() - : this->rows(); + return int(StrideType::OuterStrideAtCompileTime) != 0 ? m_stride.outer() + : int(internal::traits::OuterStrideAtCompileTime) != Dynamic ? Index(internal::traits::OuterStrideAtCompileTime) + : IsVectorAtCompileTime ? (this->size() * innerStride()) + : (int(Flags)&RowMajorBit) ? (this->cols() * innerStride()) + : (this->rows() * innerStride()); } /** Constructor in the fixed-size case. diff --git a/Eigen/src/Core/MathFunctions.h b/Eigen/src/Core/MathFunctions.h index a648aa0..6eb974d 100644 --- a/Eigen/src/Core/MathFunctions.h +++ b/Eigen/src/Core/MathFunctions.h @@ -348,31 +348,7 @@ struct norm1_retval * Implementation of hypot * ****************************************************************************/ -template -struct hypot_impl -{ - typedef typename NumTraits::Real RealScalar; - static inline RealScalar run(const Scalar& x, const Scalar& y) - { - EIGEN_USING_STD_MATH(abs); - EIGEN_USING_STD_MATH(sqrt); - RealScalar _x = abs(x); - RealScalar _y = abs(y); - Scalar p, qp; - if(_x>_y) - { - p = _x; - qp = _y / p; - } - else - { - p = _y; - qp = _x / p; - } - if(p==RealScalar(0)) return RealScalar(0); - return p * sqrt(RealScalar(1) + qp*qp); - } -}; +template struct hypot_impl; template struct hypot_retval @@ -495,7 +471,7 @@ namespace std_fallback { typedef typename NumTraits::Real RealScalar; EIGEN_USING_STD_MATH(log); Scalar x1p = RealScalar(1) + x; - return ( x1p == Scalar(1) ) ? x : x * ( log(x1p) / (x1p - RealScalar(1)) ); + return numext::equal_strict(x1p, Scalar(1)) ? x : x * ( log(x1p) / (x1p - RealScalar(1)) ); } } diff --git a/Eigen/src/Core/MathFunctionsImpl.h b/Eigen/src/Core/MathFunctionsImpl.h index 3c9ef22..9c1ceb0 100644 --- a/Eigen/src/Core/MathFunctionsImpl.h +++ b/Eigen/src/Core/MathFunctionsImpl.h @@ -71,6 +71,29 @@ T generic_fast_tanh_float(const T& a_x) return pdiv(p, q); } +template +EIGEN_STRONG_INLINE +RealScalar positive_real_hypot(const RealScalar& x, const RealScalar& y) +{ + EIGEN_USING_STD_MATH(sqrt); + RealScalar p, qp; + p = numext::maxi(x,y); + if(p==RealScalar(0)) return RealScalar(0); + qp = numext::mini(y,x) / p; + return p * sqrt(RealScalar(1) + qp*qp); +} + +template +struct hypot_impl +{ + typedef typename NumTraits::Real RealScalar; + static inline RealScalar run(const Scalar& x, const Scalar& y) + { + EIGEN_USING_STD_MATH(abs); + return positive_real_hypot(abs(x), abs(y)); + } +}; + } // end namespace internal } // end namespace Eigen diff --git a/Eigen/src/Core/MatrixBase.h b/Eigen/src/Core/MatrixBase.h index ce41218..05db488 100644 --- a/Eigen/src/Core/MatrixBase.h +++ b/Eigen/src/Core/MatrixBase.h @@ -160,20 +160,11 @@ template class MatrixBase EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Derived& operator-=(const MatrixBase& other); -#ifdef __CUDACC__ template EIGEN_DEVICE_FUNC - const Product - operator*(const MatrixBase &other) const - { return this->lazyProduct(other); } -#else - - template const Product operator*(const MatrixBase &other) const; -#endif - template EIGEN_DEVICE_FUNC const Product diff --git a/Eigen/src/Core/PlainObjectBase.h b/Eigen/src/Core/PlainObjectBase.h index 77f4f60..1dc7e22 100644 --- a/Eigen/src/Core/PlainObjectBase.h +++ b/Eigen/src/Core/PlainObjectBase.h @@ -577,6 +577,10 @@ class PlainObjectBase : public internal::dense_xpr_base::type * while the AlignedMap() functions return aligned Map objects and thus should be called only with 16-byte-aligned * \a data pointers. * + * Here is an example using strides: + * \include Matrix_Map_stride.cpp + * Output: \verbinclude Matrix_Map_stride.out + * * \see class Map */ //@{ diff --git a/Eigen/src/Core/Product.h b/Eigen/src/Core/Product.h index ae0c94b..676c480 100644 --- a/Eigen/src/Core/Product.h +++ b/Eigen/src/Core/Product.h @@ -97,8 +97,8 @@ class Product : public ProductImpl<_Lhs,_Rhs,Option, && "if you wanted a coeff-wise or a dot product use the respective explicit functions"); } - EIGEN_DEVICE_FUNC inline Index rows() const { return m_lhs.rows(); } - EIGEN_DEVICE_FUNC inline Index cols() const { return m_rhs.cols(); } + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Index rows() const { return m_lhs.rows(); } + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Index cols() const { return m_rhs.cols(); } EIGEN_DEVICE_FUNC const LhsNestedCleaned& lhs() const { return m_lhs; } EIGEN_DEVICE_FUNC const RhsNestedCleaned& rhs() const { return m_rhs; } @@ -127,7 +127,7 @@ public: using Base::derived; typedef typename Base::Scalar Scalar; - operator const Scalar() const + EIGEN_STRONG_INLINE operator const Scalar() const { return internal::evaluator(derived()).coeff(0,0); } @@ -162,7 +162,7 @@ class ProductImpl public: - EIGEN_DEVICE_FUNC Scalar coeff(Index row, Index col) const + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Scalar coeff(Index row, Index col) const { EIGEN_STATIC_ASSERT(EnableCoeff, THIS_METHOD_IS_ONLY_FOR_INNER_OR_LAZY_PRODUCTS); eigen_assert( (Option==LazyProduct) || (this->rows() == 1 && this->cols() == 1) ); @@ -170,7 +170,7 @@ class ProductImpl return internal::evaluator(derived()).coeff(row,col); } - EIGEN_DEVICE_FUNC Scalar coeff(Index i) const + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Scalar coeff(Index i) const { EIGEN_STATIC_ASSERT(EnableCoeff, THIS_METHOD_IS_ONLY_FOR_INNER_OR_LAZY_PRODUCTS); eigen_assert( (Option==LazyProduct) || (this->rows() == 1 && this->cols() == 1) ); diff --git a/Eigen/src/Core/ProductEvaluators.h b/Eigen/src/Core/ProductEvaluators.h index c42725d..9b99bd7 100644 --- a/Eigen/src/Core/ProductEvaluators.h +++ b/Eigen/src/Core/ProductEvaluators.h @@ -32,7 +32,7 @@ struct evaluator > typedef Product XprType; typedef product_evaluator Base; - EIGEN_DEVICE_FUNC explicit evaluator(const XprType& xpr) : Base(xpr) {} + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE explicit evaluator(const XprType& xpr) : Base(xpr) {} }; // Catch "scalar * ( A * B )" and transform it to "(A*scalar) * B" @@ -55,7 +55,7 @@ struct evaluator, const Product > XprType; typedef evaluator > Base; - EIGEN_DEVICE_FUNC explicit evaluator(const XprType& xpr) + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE explicit evaluator(const XprType& xpr) : Base(xpr.lhs().functor().m_other * xpr.rhs().lhs() * xpr.rhs().rhs()) {} }; @@ -68,7 +68,7 @@ struct evaluator, DiagIndex> > typedef Diagonal, DiagIndex> XprType; typedef evaluator, DiagIndex> > Base; - EIGEN_DEVICE_FUNC explicit evaluator(const XprType& xpr) + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE explicit evaluator(const XprType& xpr) : Base(Diagonal, DiagIndex>( Product(xpr.nestedExpression().lhs(), xpr.nestedExpression().rhs()), xpr.index() )) @@ -246,19 +246,19 @@ template struct generic_product_impl { template - static inline void evalTo(Dst& dst, const Lhs& lhs, const Rhs& rhs) + static EIGEN_STRONG_INLINE void evalTo(Dst& dst, const Lhs& lhs, const Rhs& rhs) { dst.coeffRef(0,0) = (lhs.transpose().cwiseProduct(rhs)).sum(); } template - static inline void addTo(Dst& dst, const Lhs& lhs, const Rhs& rhs) + static EIGEN_STRONG_INLINE void addTo(Dst& dst, const Lhs& lhs, const Rhs& rhs) { dst.coeffRef(0,0) += (lhs.transpose().cwiseProduct(rhs)).sum(); } template - static void subTo(Dst& dst, const Lhs& lhs, const Rhs& rhs) + static EIGEN_STRONG_INLINE void subTo(Dst& dst, const Lhs& lhs, const Rhs& rhs) { dst.coeffRef(0,0) -= (lhs.transpose().cwiseProduct(rhs)).sum(); } }; @@ -312,25 +312,25 @@ struct generic_product_impl }; template - static inline void evalTo(Dst& dst, const Lhs& lhs, const Rhs& rhs) + static EIGEN_STRONG_INLINE void evalTo(Dst& dst, const Lhs& lhs, const Rhs& rhs) { internal::outer_product_selector_run(dst, lhs, rhs, set(), is_row_major()); } template - static inline void addTo(Dst& dst, const Lhs& lhs, const Rhs& rhs) + static EIGEN_STRONG_INLINE void addTo(Dst& dst, const Lhs& lhs, const Rhs& rhs) { internal::outer_product_selector_run(dst, lhs, rhs, add(), is_row_major()); } template - static inline void subTo(Dst& dst, const Lhs& lhs, const Rhs& rhs) + static EIGEN_STRONG_INLINE void subTo(Dst& dst, const Lhs& lhs, const Rhs& rhs) { internal::outer_product_selector_run(dst, lhs, rhs, sub(), is_row_major()); } template - static inline void scaleAndAddTo(Dst& dst, const Lhs& lhs, const Rhs& rhs, const Scalar& alpha) + static EIGEN_STRONG_INLINE void scaleAndAddTo(Dst& dst, const Lhs& lhs, const Rhs& rhs, const Scalar& alpha) { internal::outer_product_selector_run(dst, lhs, rhs, adds(alpha), is_row_major()); } @@ -785,7 +785,11 @@ public: _Vectorizable = bool(int(MatrixFlags)&PacketAccessBit) && _SameTypes && (_ScalarAccessOnDiag || (bool(int(DiagFlags)&PacketAccessBit))), _LinearAccessMask = (MatrixType::RowsAtCompileTime==1 || MatrixType::ColsAtCompileTime==1) ? LinearAccessBit : 0, Flags = ((HereditaryBits|_LinearAccessMask) & (unsigned int)(MatrixFlags)) | (_Vectorizable ? PacketAccessBit : 0), - Alignment = evaluator::Alignment + Alignment = evaluator::Alignment, + + AsScalarProduct = (DiagonalType::SizeAtCompileTime==1) + || (DiagonalType::SizeAtCompileTime==Dynamic && MatrixType::RowsAtCompileTime==1 && ProductOrder==OnTheLeft) + || (DiagonalType::SizeAtCompileTime==Dynamic && MatrixType::ColsAtCompileTime==1 && ProductOrder==OnTheRight) }; diagonal_product_evaluator_base(const MatrixType &mat, const DiagonalType &diag) @@ -797,7 +801,10 @@ public: EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Scalar coeff(Index idx) const { - return m_diagImpl.coeff(idx) * m_matImpl.coeff(idx); + if(AsScalarProduct) + return m_diagImpl.coeff(0) * m_matImpl.coeff(idx); + else + return m_diagImpl.coeff(idx) * m_matImpl.coeff(idx); } protected: diff --git a/Eigen/src/Core/Redux.h b/Eigen/src/Core/Redux.h index b6e8f88..760e9f8 100644 --- a/Eigen/src/Core/Redux.h +++ b/Eigen/src/Core/Redux.h @@ -407,7 +407,7 @@ protected: */ template template -typename internal::traits::Scalar +EIGEN_STRONG_INLINE typename internal::traits::Scalar DenseBase::redux(const Func& func) const { eigen_assert(this->rows()>0 && this->cols()>0 && "you are using an empty matrix"); diff --git a/Eigen/src/Core/Ref.h b/Eigen/src/Core/Ref.h index bdf24f5..9c6e3c5 100644 --- a/Eigen/src/Core/Ref.h +++ b/Eigen/src/Core/Ref.h @@ -95,6 +95,8 @@ protected: template EIGEN_DEVICE_FUNC void construct(Expression& expr) { + EIGEN_STATIC_ASSERT_SAME_MATRIX_SIZE(PlainObjectType,Expression); + if(PlainObjectType::RowsAtCompileTime==1) { eigen_assert(expr.rows()==1 || expr.cols()==1); diff --git a/Eigen/src/Core/SelfAdjointView.h b/Eigen/src/Core/SelfAdjointView.h index 504c98f..b2e51f3 100644 --- a/Eigen/src/Core/SelfAdjointView.h +++ b/Eigen/src/Core/SelfAdjointView.h @@ -71,7 +71,9 @@ template class SelfAdjointView EIGEN_DEVICE_FUNC explicit inline SelfAdjointView(MatrixType& matrix) : m_matrix(matrix) - {} + { + EIGEN_STATIC_ASSERT(UpLo==Lower || UpLo==Upper,SELFADJOINTVIEW_ACCEPTS_UPPER_AND_LOWER_MODE_ONLY); + } EIGEN_DEVICE_FUNC inline Index rows() const { return m_matrix.rows(); } @@ -189,7 +191,7 @@ template class SelfAdjointView TriangularView >::type(tmp2); } - typedef SelfAdjointView ConjugateReturnType; + typedef SelfAdjointView ConjugateReturnType; /** \sa MatrixBase::conjugate() const */ EIGEN_DEVICE_FUNC inline const ConjugateReturnType conjugate() const diff --git a/Eigen/src/Core/SelfCwiseBinaryOp.h b/Eigen/src/Core/SelfCwiseBinaryOp.h index 50099df..7c89c2e 100644 --- a/Eigen/src/Core/SelfCwiseBinaryOp.h +++ b/Eigen/src/Core/SelfCwiseBinaryOp.h @@ -17,7 +17,6 @@ namespace Eigen { template EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Derived& DenseBase::operator*=(const Scalar& other) { - typedef typename Derived::PlainObject PlainObject; internal::call_assignment(this->derived(), PlainObject::Constant(rows(),cols(),other), internal::mul_assign_op()); return derived(); } @@ -25,7 +24,6 @@ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Derived& DenseBase::operator*=(co template EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Derived& ArrayBase::operator+=(const Scalar& other) { - typedef typename Derived::PlainObject PlainObject; internal::call_assignment(this->derived(), PlainObject::Constant(rows(),cols(),other), internal::add_assign_op()); return derived(); } @@ -33,7 +31,6 @@ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Derived& ArrayBase::operator+=(co template EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Derived& ArrayBase::operator-=(const Scalar& other) { - typedef typename Derived::PlainObject PlainObject; internal::call_assignment(this->derived(), PlainObject::Constant(rows(),cols(),other), internal::sub_assign_op()); return derived(); } @@ -41,7 +38,6 @@ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Derived& ArrayBase::operator-=(co template EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Derived& DenseBase::operator/=(const Scalar& other) { - typedef typename Derived::PlainObject PlainObject; internal::call_assignment(this->derived(), PlainObject::Constant(rows(),cols(),other), internal::div_assign_op()); return derived(); } diff --git a/Eigen/src/Core/StableNorm.h b/Eigen/src/Core/StableNorm.h index be04ed4..88c8d98 100644 --- a/Eigen/src/Core/StableNorm.h +++ b/Eigen/src/Core/StableNorm.h @@ -165,7 +165,7 @@ MatrixBase::stableNorm() const typedef typename internal::nested_eval::type DerivedCopy; typedef typename internal::remove_all::type DerivedCopyClean; - DerivedCopy copy(derived()); + const DerivedCopy copy(derived()); enum { CanAlign = ( (int(DerivedCopyClean::Flags)&DirectAccessBit) diff --git a/Eigen/src/Core/Transpositions.h b/Eigen/src/Core/Transpositions.h index 19c17bb..86da5af 100644 --- a/Eigen/src/Core/Transpositions.h +++ b/Eigen/src/Core/Transpositions.h @@ -384,7 +384,7 @@ class Transpose > const Product operator*(const MatrixBase& matrix, const Transpose& trt) { - return Product(matrix.derived(), trt.derived()); + return Product(matrix.derived(), trt); } /** \returns the \a matrix with the inverse transpositions applied to the rows. diff --git a/Eigen/src/Core/arch/AVX/Complex.h b/Eigen/src/Core/arch/AVX/Complex.h index 99439c8..7fa6196 100644 --- a/Eigen/src/Core/arch/AVX/Complex.h +++ b/Eigen/src/Core/arch/AVX/Complex.h @@ -204,23 +204,7 @@ template<> struct conj_helper } }; -template<> struct conj_helper -{ - EIGEN_STRONG_INLINE Packet4cf pmadd(const Packet8f& x, const Packet4cf& y, const Packet4cf& c) const - { return padd(c, pmul(x,y)); } - - EIGEN_STRONG_INLINE Packet4cf pmul(const Packet8f& x, const Packet4cf& y) const - { return Packet4cf(Eigen::internal::pmul(x, y.v)); } -}; - -template<> struct conj_helper -{ - EIGEN_STRONG_INLINE Packet4cf pmadd(const Packet4cf& x, const Packet8f& y, const Packet4cf& c) const - { return padd(c, pmul(x,y)); } - - EIGEN_STRONG_INLINE Packet4cf pmul(const Packet4cf& x, const Packet8f& y) const - { return Packet4cf(Eigen::internal::pmul(x.v, y)); } -}; +EIGEN_MAKE_CONJ_HELPER_CPLX_REAL(Packet4cf,Packet8f) template<> EIGEN_STRONG_INLINE Packet4cf pdiv(const Packet4cf& a, const Packet4cf& b) { @@ -400,23 +384,7 @@ template<> struct conj_helper } }; -template<> struct conj_helper -{ - EIGEN_STRONG_INLINE Packet2cd pmadd(const Packet4d& x, const Packet2cd& y, const Packet2cd& c) const - { return padd(c, pmul(x,y)); } - - EIGEN_STRONG_INLINE Packet2cd pmul(const Packet4d& x, const Packet2cd& y) const - { return Packet2cd(Eigen::internal::pmul(x, y.v)); } -}; - -template<> struct conj_helper -{ - EIGEN_STRONG_INLINE Packet2cd pmadd(const Packet2cd& x, const Packet4d& y, const Packet2cd& c) const - { return padd(c, pmul(x,y)); } - - EIGEN_STRONG_INLINE Packet2cd pmul(const Packet2cd& x, const Packet4d& y) const - { return Packet2cd(Eigen::internal::pmul(x.v, y)); } -}; +EIGEN_MAKE_CONJ_HELPER_CPLX_REAL(Packet2cd,Packet4d) template<> EIGEN_STRONG_INLINE Packet2cd pdiv(const Packet2cd& a, const Packet2cd& b) { diff --git a/Eigen/src/Core/arch/AVX/PacketMath.h b/Eigen/src/Core/arch/AVX/PacketMath.h index 195d40f..61c3dfc 100644 --- a/Eigen/src/Core/arch/AVX/PacketMath.h +++ b/Eigen/src/Core/arch/AVX/PacketMath.h @@ -308,9 +308,9 @@ template<> EIGEN_STRONG_INLINE void pstore1(int* to, const int& a) } #ifndef EIGEN_VECTORIZE_AVX512 -template<> EIGEN_STRONG_INLINE void prefetch(const float* addr) { _mm_prefetch((const char*)(addr), _MM_HINT_T0); } -template<> EIGEN_STRONG_INLINE void prefetch(const double* addr) { _mm_prefetch((const char*)(addr), _MM_HINT_T0); } -template<> EIGEN_STRONG_INLINE void prefetch(const int* addr) { _mm_prefetch((const char*)(addr), _MM_HINT_T0); } +template<> EIGEN_STRONG_INLINE void prefetch(const float* addr) { _mm_prefetch((SsePrefetchPtrType)(addr), _MM_HINT_T0); } +template<> EIGEN_STRONG_INLINE void prefetch(const double* addr) { _mm_prefetch((SsePrefetchPtrType)(addr), _MM_HINT_T0); } +template<> EIGEN_STRONG_INLINE void prefetch(const int* addr) { _mm_prefetch((SsePrefetchPtrType)(addr), _MM_HINT_T0); } #endif template<> EIGEN_STRONG_INLINE float pfirst(const Packet8f& a) { @@ -333,9 +333,12 @@ template<> EIGEN_STRONG_INLINE Packet4d preverse(const Packet4d& a) { __m256d tmp = _mm256_shuffle_pd(a,a,5); return _mm256_permute2f128_pd(tmp, tmp, 1); - + #if 0 + // This version is unlikely to be faster as _mm256_shuffle_ps and _mm256_permute_pd + // exhibit the same latency/throughput, but it is here for future reference/benchmarking... __m256d swap_halves = _mm256_permute2f128_pd(a,a,1); return _mm256_permute_pd(swap_halves,5); + #endif } // pabs should be ok diff --git a/Eigen/src/Core/arch/AVX512/MathFunctions.h b/Eigen/src/Core/arch/AVX512/MathFunctions.h index 399be0e..9c1717f 100644 --- a/Eigen/src/Core/arch/AVX512/MathFunctions.h +++ b/Eigen/src/Core/arch/AVX512/MathFunctions.h @@ -88,9 +88,9 @@ plog(const Packet16f& _x) { // x = x + x - 1.0; // } else { x = x - 1.0; } __mmask16 mask = _mm512_cmp_ps_mask(x, p16f_cephes_SQRTHF, _CMP_LT_OQ); - Packet16f tmp = _mm512_mask_blend_ps(mask, x, _mm512_setzero_ps()); + Packet16f tmp = _mm512_mask_blend_ps(mask, _mm512_setzero_ps(), x); x = psub(x, p16f_1); - e = psub(e, _mm512_mask_blend_ps(mask, p16f_1, _mm512_setzero_ps())); + e = psub(e, _mm512_mask_blend_ps(mask, _mm512_setzero_ps(), p16f_1)); x = padd(x, tmp); Packet16f x2 = pmul(x, x); @@ -119,8 +119,9 @@ plog(const Packet16f& _x) { x = padd(x, y2); // Filter out invalid inputs, i.e. negative arg will be NAN, 0 will be -INF. - return _mm512_mask_blend_ps(iszero_mask, p16f_minus_inf, - _mm512_mask_blend_ps(invalid_mask, p16f_nan, x)); + return _mm512_mask_blend_ps(iszero_mask, + _mm512_mask_blend_ps(invalid_mask, x, p16f_nan), + p16f_minus_inf); } #endif @@ -266,8 +267,7 @@ psqrt(const Packet16f& _x) { // select only the inverse sqrt of positive normal inputs (denormals are // flushed to zero and cause infs as well). __mmask16 non_zero_mask = _mm512_cmp_ps_mask(_x, p16f_flt_min, _CMP_GE_OQ); - Packet16f x = _mm512_mask_blend_ps(non_zero_mask, _mm512_rsqrt14_ps(_x), - _mm512_setzero_ps()); + Packet16f x = _mm512_mask_blend_ps(non_zero_mask, _mm512_setzero_ps(), _mm512_rsqrt14_ps(_x)); // Do a single step of Newton's iteration. x = pmul(x, pmadd(neg_half, pmul(x, x), p16f_one_point_five)); @@ -289,8 +289,7 @@ psqrt(const Packet8d& _x) { // select only the inverse sqrt of positive normal inputs (denormals are // flushed to zero and cause infs as well). __mmask8 non_zero_mask = _mm512_cmp_pd_mask(_x, p8d_dbl_min, _CMP_GE_OQ); - Packet8d x = _mm512_mask_blend_pd(non_zero_mask, _mm512_rsqrt14_pd(_x), - _mm512_setzero_pd()); + Packet8d x = _mm512_mask_blend_pd(non_zero_mask, _mm512_setzero_pd(), _mm512_rsqrt14_pd(_x)); // Do a first step of Newton's iteration. x = pmul(x, pmadd(neg_half, pmul(x, x), p8d_one_point_five)); @@ -333,20 +332,18 @@ prsqrt(const Packet16f& _x) { // select only the inverse sqrt of positive normal inputs (denormals are // flushed to zero and cause infs as well). __mmask16 le_zero_mask = _mm512_cmp_ps_mask(_x, p16f_flt_min, _CMP_LT_OQ); - Packet16f x = _mm512_mask_blend_ps(le_zero_mask, _mm512_setzero_ps(), - _mm512_rsqrt14_ps(_x)); + Packet16f x = _mm512_mask_blend_ps(le_zero_mask, _mm512_rsqrt14_ps(_x), _mm512_setzero_ps()); // Fill in NaNs and Infs for the negative/zero entries. __mmask16 neg_mask = _mm512_cmp_ps_mask(_x, _mm512_setzero_ps(), _CMP_LT_OQ); Packet16f infs_and_nans = _mm512_mask_blend_ps( - neg_mask, p16f_nan, - _mm512_mask_blend_ps(le_zero_mask, p16f_inf, _mm512_setzero_ps())); + neg_mask, _mm512_mask_blend_ps(le_zero_mask, _mm512_setzero_ps(), p16f_inf), p16f_nan); // Do a single step of Newton's iteration. x = pmul(x, pmadd(neg_half, pmul(x, x), p16f_one_point_five)); // Insert NaNs and Infs in all the right places. - return _mm512_mask_blend_ps(le_zero_mask, infs_and_nans, x); + return _mm512_mask_blend_ps(le_zero_mask, x, infs_and_nans); } template <> @@ -363,14 +360,12 @@ prsqrt(const Packet8d& _x) { // select only the inverse sqrt of positive normal inputs (denormals are // flushed to zero and cause infs as well). __mmask8 le_zero_mask = _mm512_cmp_pd_mask(_x, p8d_dbl_min, _CMP_LT_OQ); - Packet8d x = _mm512_mask_blend_pd(le_zero_mask, _mm512_setzero_pd(), - _mm512_rsqrt14_pd(_x)); + Packet8d x = _mm512_mask_blend_pd(le_zero_mask, _mm512_rsqrt14_pd(_x), _mm512_setzero_pd()); // Fill in NaNs and Infs for the negative/zero entries. __mmask8 neg_mask = _mm512_cmp_pd_mask(_x, _mm512_setzero_pd(), _CMP_LT_OQ); Packet8d infs_and_nans = _mm512_mask_blend_pd( - neg_mask, p8d_nan, - _mm512_mask_blend_pd(le_zero_mask, p8d_inf, _mm512_setzero_pd())); + neg_mask, _mm512_mask_blend_pd(le_zero_mask, _mm512_setzero_pd(), p8d_inf), p8d_nan); // Do a first step of Newton's iteration. x = pmul(x, pmadd(neg_half, pmul(x, x), p8d_one_point_five)); @@ -379,9 +374,9 @@ prsqrt(const Packet8d& _x) { x = pmul(x, pmadd(neg_half, pmul(x, x), p8d_one_point_five)); // Insert NaNs and Infs in all the right places. - return _mm512_mask_blend_pd(le_zero_mask, infs_and_nans, x); + return _mm512_mask_blend_pd(le_zero_mask, x, infs_and_nans); } -#else +#elif defined(EIGEN_VECTORIZE_AVX512ER) template <> EIGEN_STRONG_INLINE Packet16f prsqrt(const Packet16f& x) { return _mm512_rsqrt28_ps(x); diff --git a/Eigen/src/Core/arch/AVX512/PacketMath.h b/Eigen/src/Core/arch/AVX512/PacketMath.h index f6500a1..8970524 100644 --- a/Eigen/src/Core/arch/AVX512/PacketMath.h +++ b/Eigen/src/Core/arch/AVX512/PacketMath.h @@ -618,9 +618,9 @@ EIGEN_STRONG_INLINE void pstore1(int* to, const int& a) { pstore(to, pa); } -template<> EIGEN_STRONG_INLINE void prefetch(const float* addr) { _mm_prefetch((const char*)(addr), _MM_HINT_T0); } -template<> EIGEN_STRONG_INLINE void prefetch(const double* addr) { _mm_prefetch((const char*)(addr), _MM_HINT_T0); } -template<> EIGEN_STRONG_INLINE void prefetch(const int* addr) { _mm_prefetch((const char*)(addr), _MM_HINT_T0); } +template<> EIGEN_STRONG_INLINE void prefetch(const float* addr) { _mm_prefetch((SsePrefetchPtrType)(addr), _MM_HINT_T0); } +template<> EIGEN_STRONG_INLINE void prefetch(const double* addr) { _mm_prefetch((SsePrefetchPtrType)(addr), _MM_HINT_T0); } +template<> EIGEN_STRONG_INLINE void prefetch(const int* addr) { _mm_prefetch((SsePrefetchPtrType)(addr), _MM_HINT_T0); } template <> EIGEN_STRONG_INLINE float pfirst(const Packet16f& a) { diff --git a/Eigen/src/Core/arch/AltiVec/Complex.h b/Eigen/src/Core/arch/AltiVec/Complex.h index 67db2f8..3e66573 100644 --- a/Eigen/src/Core/arch/AltiVec/Complex.h +++ b/Eigen/src/Core/arch/AltiVec/Complex.h @@ -224,23 +224,7 @@ template<> struct conj_helper } }; -template<> struct conj_helper -{ - EIGEN_STRONG_INLINE Packet2cf pmadd(const Packet4f& x, const Packet2cf& y, const Packet2cf& c) const - { return padd(c, pmul(x,y)); } - - EIGEN_STRONG_INLINE Packet2cf pmul(const Packet4f& x, const Packet2cf& y) const - { return Packet2cf(internal::pmul(x, y.v)); } -}; - -template<> struct conj_helper -{ - EIGEN_STRONG_INLINE Packet2cf pmadd(const Packet2cf& x, const Packet4f& y, const Packet2cf& c) const - { return padd(c, pmul(x,y)); } - - EIGEN_STRONG_INLINE Packet2cf pmul(const Packet2cf& x, const Packet4f& y) const - { return Packet2cf(internal::pmul(x.v, y)); } -}; +EIGEN_MAKE_CONJ_HELPER_CPLX_REAL(Packet2cf,Packet4f) template<> EIGEN_STRONG_INLINE Packet2cf pdiv(const Packet2cf& a, const Packet2cf& b) { @@ -416,23 +400,8 @@ template<> struct conj_helper return pconj(internal::pmul(a, b)); } }; -template<> struct conj_helper -{ - EIGEN_STRONG_INLINE Packet1cd pmadd(const Packet2d& x, const Packet1cd& y, const Packet1cd& c) const - { return padd(c, pmul(x,y)); } - EIGEN_STRONG_INLINE Packet1cd pmul(const Packet2d& x, const Packet1cd& y) const - { return Packet1cd(internal::pmul(x, y.v)); } -}; - -template<> struct conj_helper -{ - EIGEN_STRONG_INLINE Packet1cd pmadd(const Packet1cd& x, const Packet2d& y, const Packet1cd& c) const - { return padd(c, pmul(x,y)); } - - EIGEN_STRONG_INLINE Packet1cd pmul(const Packet1cd& x, const Packet2d& y) const - { return Packet1cd(internal::pmul(x.v, y)); } -}; +EIGEN_MAKE_CONJ_HELPER_CPLX_REAL(Packet1cd,Packet2d) template<> EIGEN_STRONG_INLINE Packet1cd pdiv(const Packet1cd& a, const Packet1cd& b) { diff --git a/Eigen/src/Core/arch/AltiVec/PacketMath.h b/Eigen/src/Core/arch/AltiVec/PacketMath.h index b3f1ea1..08a27d1 100644 --- a/Eigen/src/Core/arch/AltiVec/PacketMath.h +++ b/Eigen/src/Core/arch/AltiVec/PacketMath.h @@ -103,7 +103,7 @@ static Packet16uc p16uc_PSET32_WODD = vec_sld((Packet16uc) vec_splat((Packet4u static Packet16uc p16uc_PSET32_WEVEN = vec_sld(p16uc_DUPLICATE32_HI, (Packet16uc) vec_splat((Packet4ui)p16uc_FORWARD, 3), 8);//{ 4,5,6,7, 4,5,6,7, 12,13,14,15, 12,13,14,15 }; static Packet16uc p16uc_HALF64_0_16 = vec_sld((Packet16uc)p4i_ZERO, vec_splat((Packet16uc) vec_abs(p4i_MINUS16), 3), 8); //{ 0,0,0,0, 0,0,0,0, 16,16,16,16, 16,16,16,16}; #else -static Packet16uc p16uc_FORWARD = p16uc_REVERSE32; +static Packet16uc p16uc_FORWARD = p16uc_REVERSE32; static Packet16uc p16uc_REVERSE64 = { 8,9,10,11, 12,13,14,15, 0,1,2,3, 4,5,6,7 }; static Packet16uc p16uc_PSET32_WODD = vec_sld((Packet16uc) vec_splat((Packet4ui)p16uc_FORWARD, 1), (Packet16uc) vec_splat((Packet4ui)p16uc_FORWARD, 3), 8);//{ 0,1,2,3, 0,1,2,3, 8,9,10,11, 8,9,10,11 }; static Packet16uc p16uc_PSET32_WEVEN = vec_sld((Packet16uc) vec_splat((Packet4ui)p16uc_FORWARD, 0), (Packet16uc) vec_splat((Packet4ui)p16uc_FORWARD, 2), 8);//{ 4,5,6,7, 4,5,6,7, 12,13,14,15, 12,13,14,15 }; @@ -388,10 +388,28 @@ template<> EIGEN_STRONG_INLINE Packet4i pdiv(const Packet4i& /*a*/, co template<> EIGEN_STRONG_INLINE Packet4f pmadd(const Packet4f& a, const Packet4f& b, const Packet4f& c) { return vec_madd(a,b,c); } template<> EIGEN_STRONG_INLINE Packet4i pmadd(const Packet4i& a, const Packet4i& b, const Packet4i& c) { return a*b + c; } -template<> EIGEN_STRONG_INLINE Packet4f pmin(const Packet4f& a, const Packet4f& b) { return vec_min(a, b); } +template<> EIGEN_STRONG_INLINE Packet4f pmin(const Packet4f& a, const Packet4f& b) +{ + #ifdef __VSX__ + Packet4f ret; + __asm__ ("xvcmpgesp %x0,%x1,%x2\n\txxsel %x0,%x1,%x2,%x0" : "=&wa" (ret) : "wa" (a), "wa" (b)); + return ret; + #else + return vec_min(a, b); + #endif +} template<> EIGEN_STRONG_INLINE Packet4i pmin(const Packet4i& a, const Packet4i& b) { return vec_min(a, b); } -template<> EIGEN_STRONG_INLINE Packet4f pmax(const Packet4f& a, const Packet4f& b) { return vec_max(a, b); } +template<> EIGEN_STRONG_INLINE Packet4f pmax(const Packet4f& a, const Packet4f& b) +{ + #ifdef __VSX__ + Packet4f ret; + __asm__ ("xvcmpgtsp %x0,%x2,%x1\n\txxsel %x0,%x1,%x2,%x0" : "=&wa" (ret) : "wa" (a), "wa" (b)); + return ret; + #else + return vec_max(a, b); + #endif +} template<> EIGEN_STRONG_INLINE Packet4i pmax(const Packet4i& a, const Packet4i& b) { return vec_max(a, b); } template<> EIGEN_STRONG_INLINE Packet4f pand(const Packet4f& a, const Packet4f& b) { return vec_and(a, b); } @@ -764,7 +782,7 @@ typedef __vector __bool long Packet2bl; static Packet2l p2l_ONE = { 1, 1 }; static Packet2l p2l_ZERO = reinterpret_cast(p4i_ZERO); -static Packet2d p2d_ONE = { 1.0, 1.0 }; +static Packet2d p2d_ONE = { 1.0, 1.0 }; static Packet2d p2d_ZERO = reinterpret_cast(p4f_ZERO); static Packet2d p2d_MZERO = { -0.0, -0.0 }; @@ -910,9 +928,19 @@ template<> EIGEN_STRONG_INLINE Packet2d pdiv(const Packet2d& a, const // for some weird raisons, it has to be overloaded for packet of integers template<> EIGEN_STRONG_INLINE Packet2d pmadd(const Packet2d& a, const Packet2d& b, const Packet2d& c) { return vec_madd(a, b, c); } -template<> EIGEN_STRONG_INLINE Packet2d pmin(const Packet2d& a, const Packet2d& b) { return vec_min(a, b); } +template<> EIGEN_STRONG_INLINE Packet2d pmin(const Packet2d& a, const Packet2d& b) +{ + Packet2d ret; + __asm__ ("xvcmpgedp %x0,%x1,%x2\n\txxsel %x0,%x1,%x2,%x0" : "=&wa" (ret) : "wa" (a), "wa" (b)); + return ret; + } -template<> EIGEN_STRONG_INLINE Packet2d pmax(const Packet2d& a, const Packet2d& b) { return vec_max(a, b); } +template<> EIGEN_STRONG_INLINE Packet2d pmax(const Packet2d& a, const Packet2d& b) +{ + Packet2d ret; + __asm__ ("xvcmpgtdp %x0,%x2,%x1\n\txxsel %x0,%x1,%x2,%x0" : "=&wa" (ret) : "wa" (a), "wa" (b)); + return ret; +} template<> EIGEN_STRONG_INLINE Packet2d pand(const Packet2d& a, const Packet2d& b) { return vec_and(a, b); } @@ -969,7 +997,7 @@ template<> EIGEN_STRONG_INLINE Packet2d preduxp(const Packet2d* vecs) Packet2d v[2], sum; v[0] = vecs[0] + reinterpret_cast(vec_sld(reinterpret_cast(vecs[0]), reinterpret_cast(vecs[0]), 8)); v[1] = vecs[1] + reinterpret_cast(vec_sld(reinterpret_cast(vecs[1]), reinterpret_cast(vecs[1]), 8)); - + #ifdef _BIG_ENDIAN sum = reinterpret_cast(vec_sld(reinterpret_cast(v[0]), reinterpret_cast(v[1]), 8)); #else @@ -1022,7 +1050,7 @@ ptranspose(PacketBlock& kernel) { template<> EIGEN_STRONG_INLINE Packet2d pblend(const Selector<2>& ifPacket, const Packet2d& thenPacket, const Packet2d& elsePacket) { Packet2l select = { ifPacket.select[0], ifPacket.select[1] }; - Packet2bl mask = vec_cmpeq(reinterpret_cast(select), reinterpret_cast(p2l_ONE)); + Packet2bl mask = reinterpret_cast( vec_cmpeq(reinterpret_cast(select), reinterpret_cast(p2l_ONE)) ); return vec_sel(elsePacket, thenPacket, mask); } #endif // __VSX__ diff --git a/Eigen/src/Core/arch/CUDA/Half.h b/Eigen/src/Core/arch/CUDA/Half.h index 294c517..02ac0c2 100644 --- a/Eigen/src/Core/arch/CUDA/Half.h +++ b/Eigen/src/Core/arch/CUDA/Half.h @@ -147,55 +147,55 @@ namespace half_impl { // versions to get the ALU speed increased), but you do save the // conversion steps back and forth. -__device__ half operator + (const half& a, const half& b) { +EIGEN_STRONG_INLINE __device__ half operator + (const half& a, const half& b) { return __hadd(a, b); } -__device__ half operator * (const half& a, const half& b) { +EIGEN_STRONG_INLINE __device__ half operator * (const half& a, const half& b) { return __hmul(a, b); } -__device__ half operator - (const half& a, const half& b) { +EIGEN_STRONG_INLINE __device__ half operator - (const half& a, const half& b) { return __hsub(a, b); } -__device__ half operator / (const half& a, const half& b) { +EIGEN_STRONG_INLINE __device__ half operator / (const half& a, const half& b) { float num = __half2float(a); float denom = __half2float(b); return __float2half(num / denom); } -__device__ half operator - (const half& a) { +EIGEN_STRONG_INLINE __device__ half operator - (const half& a) { return __hneg(a); } -__device__ half& operator += (half& a, const half& b) { +EIGEN_STRONG_INLINE __device__ half& operator += (half& a, const half& b) { a = a + b; return a; } -__device__ half& operator *= (half& a, const half& b) { +EIGEN_STRONG_INLINE __device__ half& operator *= (half& a, const half& b) { a = a * b; return a; } -__device__ half& operator -= (half& a, const half& b) { +EIGEN_STRONG_INLINE __device__ half& operator -= (half& a, const half& b) { a = a - b; return a; } -__device__ half& operator /= (half& a, const half& b) { +EIGEN_STRONG_INLINE __device__ half& operator /= (half& a, const half& b) { a = a / b; return a; } -__device__ bool operator == (const half& a, const half& b) { +EIGEN_STRONG_INLINE __device__ bool operator == (const half& a, const half& b) { return __heq(a, b); } -__device__ bool operator != (const half& a, const half& b) { +EIGEN_STRONG_INLINE __device__ bool operator != (const half& a, const half& b) { return __hne(a, b); } -__device__ bool operator < (const half& a, const half& b) { +EIGEN_STRONG_INLINE __device__ bool operator < (const half& a, const half& b) { return __hlt(a, b); } -__device__ bool operator <= (const half& a, const half& b) { +EIGEN_STRONG_INLINE __device__ bool operator <= (const half& a, const half& b) { return __hle(a, b); } -__device__ bool operator > (const half& a, const half& b) { +EIGEN_STRONG_INLINE __device__ bool operator > (const half& a, const half& b) { return __hgt(a, b); } -__device__ bool operator >= (const half& a, const half& b) { +EIGEN_STRONG_INLINE __device__ bool operator >= (const half& a, const half& b) { return __hge(a, b); } @@ -238,10 +238,10 @@ EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC half& operator /= (half& a, const half& b) return a; } EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bool operator == (const half& a, const half& b) { - return float(a) == float(b); + return numext::equal_strict(float(a),float(b)); } EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bool operator != (const half& a, const half& b) { - return float(a) != float(b); + return numext::not_equal_strict(float(a), float(b)); } EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bool operator < (const half& a, const half& b) { return float(a) < float(b); @@ -386,11 +386,15 @@ EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC half abs(const half& a) { return result; } EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC half exp(const half& a) { - return half(::expf(float(a))); +#if EIGEN_CUDACC_VER >= 80000 && defined EIGEN_CUDA_ARCH && EIGEN_CUDA_ARCH >= 530 + return half(hexp(a)); +#else + return half(::expf(float(a))); +#endif } EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC half log(const half& a) { -#if defined(EIGEN_HAS_CUDA_FP16) && defined __CUDACC_VER__ && __CUDACC_VER__ >= 80000 && defined(__CUDA_ARCH__) && __CUDA_ARCH__ >= 530 - return Eigen::half(::hlog(a)); +#if defined(EIGEN_HAS_CUDA_FP16) && EIGEN_CUDACC_VER >= 80000 && defined(EIGEN_CUDA_ARCH) && EIGEN_CUDA_ARCH >= 530 + return half(::hlog(a)); #else return half(::logf(float(a))); #endif @@ -402,7 +406,11 @@ EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC half log10(const half& a) { return half(::log10f(float(a))); } EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC half sqrt(const half& a) { - return half(::sqrtf(float(a))); +#if EIGEN_CUDACC_VER >= 80000 && defined EIGEN_CUDA_ARCH && EIGEN_CUDA_ARCH >= 530 + return half(hsqrt(a)); +#else + return half(::sqrtf(float(a))); +#endif } EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC half pow(const half& a, const half& b) { return half(::powf(float(a), float(b))); @@ -420,10 +428,18 @@ EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC half tanh(const half& a) { return half(::tanhf(float(a))); } EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC half floor(const half& a) { +#if EIGEN_CUDACC_VER >= 80000 && defined EIGEN_CUDA_ARCH && EIGEN_CUDA_ARCH >= 300 + return half(hfloor(a)); +#else return half(::floorf(float(a))); +#endif } EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC half ceil(const half& a) { +#if EIGEN_CUDACC_VER >= 80000 && defined EIGEN_CUDA_ARCH && EIGEN_CUDA_ARCH >= 300 + return half(hceil(a)); +#else return half(::ceilf(float(a))); +#endif } EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC half (min)(const half& a, const half& b) { @@ -493,8 +509,8 @@ struct numeric_limits { static const bool is_bounded = false; static const bool is_modulo = false; static const int digits = 11; - static const int digits10 = 2; - //static const int max_digits10 = ; + static const int digits10 = 3; // according to http://half.sourceforge.net/structstd_1_1numeric__limits_3_01half__float_1_1half_01_4.html + static const int max_digits10 = 5; // according to http://half.sourceforge.net/structstd_1_1numeric__limits_3_01half__float_1_1half_01_4.html static const int radix = 2; static const int min_exponent = -13; static const int min_exponent10 = -4; @@ -557,7 +573,7 @@ EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC Eigen::half exph(const Eigen::half& a) { return Eigen::half(::expf(float(a))); } EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC Eigen::half logh(const Eigen::half& a) { -#if defined __CUDACC_VER__ && __CUDACC_VER__ >= 80000 && defined(__CUDA_ARCH__) && __CUDA_ARCH__ >= 530 +#if EIGEN_CUDACC_VER >= 80000 && defined(EIGEN_CUDA_ARCH) && EIGEN_CUDA_ARCH >= 530 return Eigen::half(::hlog(a)); #else return Eigen::half(::logf(float(a))); diff --git a/Eigen/src/Core/arch/CUDA/PacketMathHalf.h b/Eigen/src/Core/arch/CUDA/PacketMathHalf.h index ae54225..943e0b0 100644 --- a/Eigen/src/Core/arch/CUDA/PacketMathHalf.h +++ b/Eigen/src/Core/arch/CUDA/PacketMathHalf.h @@ -275,7 +275,7 @@ template<> __device__ EIGEN_STRONG_INLINE half2 plog1p(const half2& a) { return __floats2half2_rn(r1, r2); } -#if defined __CUDACC_VER__ && __CUDACC_VER__ >= 80000 && defined __CUDA_ARCH__ && __CUDA_ARCH__ >= 530 +#if EIGEN_CUDACC_VER >= 80000 && defined EIGEN_CUDA_ARCH && EIGEN_CUDA_ARCH >= 530 template<> __device__ EIGEN_STRONG_INLINE half2 plog(const half2& a) { diff --git a/Eigen/src/Core/arch/Default/ConjHelper.h b/Eigen/src/Core/arch/Default/ConjHelper.h new file mode 100644 index 0000000..4cfe34e --- /dev/null +++ b/Eigen/src/Core/arch/Default/ConjHelper.h @@ -0,0 +1,29 @@ + +// This file is part of Eigen, a lightweight C++ template library +// for linear algebra. +// +// Copyright (C) 2017 Gael Guennebaud +// +// This Source Code Form is subject to the terms of the Mozilla +// Public License v. 2.0. If a copy of the MPL was not distributed +// with this file, You can obtain one at http://mozilla.org/MPL/2.0/. + +#ifndef EIGEN_ARCH_CONJ_HELPER_H +#define EIGEN_ARCH_CONJ_HELPER_H + +#define EIGEN_MAKE_CONJ_HELPER_CPLX_REAL(PACKET_CPLX, PACKET_REAL) \ + template<> struct conj_helper { \ + EIGEN_STRONG_INLINE PACKET_CPLX pmadd(const PACKET_REAL& x, const PACKET_CPLX& y, const PACKET_CPLX& c) const \ + { return padd(c, pmul(x,y)); } \ + EIGEN_STRONG_INLINE PACKET_CPLX pmul(const PACKET_REAL& x, const PACKET_CPLX& y) const \ + { return PACKET_CPLX(Eigen::internal::pmul(x, y.v)); } \ + }; \ + \ + template<> struct conj_helper { \ + EIGEN_STRONG_INLINE PACKET_CPLX pmadd(const PACKET_CPLX& x, const PACKET_REAL& y, const PACKET_CPLX& c) const \ + { return padd(c, pmul(x,y)); } \ + EIGEN_STRONG_INLINE PACKET_CPLX pmul(const PACKET_CPLX& x, const PACKET_REAL& y) const \ + { return PACKET_CPLX(Eigen::internal::pmul(x.v, y)); } \ + }; + +#endif // EIGEN_ARCH_CONJ_HELPER_H diff --git a/Eigen/src/Core/arch/NEON/Complex.h b/Eigen/src/Core/arch/NEON/Complex.h index 57e9b43..306a309 100644 --- a/Eigen/src/Core/arch/NEON/Complex.h +++ b/Eigen/src/Core/arch/NEON/Complex.h @@ -67,7 +67,7 @@ template<> struct unpacket_traits { typedef std::complex type; template<> EIGEN_STRONG_INLINE Packet2cf pset1(const std::complex& from) { float32x2_t r64; - r64 = vld1_f32((float *)&from); + r64 = vld1_f32((const float *)&from); return Packet2cf(vcombine_f32(r64, r64)); } @@ -142,7 +142,7 @@ template<> EIGEN_DEVICE_FUNC inline void pscatter, Packet2cf to[stride*1] = std::complex(vgetq_lane_f32(from.v, 2), vgetq_lane_f32(from.v, 3)); } -template<> EIGEN_STRONG_INLINE void prefetch >(const std::complex * addr) { EIGEN_ARM_PREFETCH((float *)addr); } +template<> EIGEN_STRONG_INLINE void prefetch >(const std::complex * addr) { EIGEN_ARM_PREFETCH((const float *)addr); } template<> EIGEN_STRONG_INLINE std::complex pfirst(const Packet2cf& a) { @@ -265,6 +265,8 @@ template<> struct conj_helper } }; +EIGEN_MAKE_CONJ_HELPER_CPLX_REAL(Packet2cf,Packet4f) + template<> EIGEN_STRONG_INLINE Packet2cf pdiv(const Packet2cf& a, const Packet2cf& b) { // TODO optimize it for NEON @@ -275,7 +277,7 @@ template<> EIGEN_STRONG_INLINE Packet2cf pdiv(const Packet2cf& a, con s = vmulq_f32(b.v, b.v); rev_s = vrev64q_f32(s); - return Packet2cf(pdiv(res.v, vaddq_f32(s,rev_s))); + return Packet2cf(pdiv(res.v, vaddq_f32(s,rev_s))); } EIGEN_DEVICE_FUNC inline void @@ -381,7 +383,7 @@ template<> EIGEN_STRONG_INLINE Packet1cd ploaddup(const std::complex< template<> EIGEN_STRONG_INLINE void pstore >(std::complex * to, const Packet1cd& from) { EIGEN_DEBUG_ALIGNED_STORE pstore((double*)to, from.v); } template<> EIGEN_STRONG_INLINE void pstoreu >(std::complex * to, const Packet1cd& from) { EIGEN_DEBUG_UNALIGNED_STORE pstoreu((double*)to, from.v); } -template<> EIGEN_STRONG_INLINE void prefetch >(const std::complex * addr) { EIGEN_ARM_PREFETCH((double *)addr); } +template<> EIGEN_STRONG_INLINE void prefetch >(const std::complex * addr) { EIGEN_ARM_PREFETCH((const double *)addr); } template<> EIGEN_DEVICE_FUNC inline Packet1cd pgather, Packet1cd>(const std::complex* from, Index stride) { @@ -456,6 +458,8 @@ template<> struct conj_helper } }; +EIGEN_MAKE_CONJ_HELPER_CPLX_REAL(Packet1cd,Packet2d) + template<> EIGEN_STRONG_INLINE Packet1cd pdiv(const Packet1cd& a, const Packet1cd& b) { // TODO optimize it for NEON diff --git a/Eigen/src/Core/arch/NEON/PacketMath.h b/Eigen/src/Core/arch/NEON/PacketMath.h index 836fbc0..3d5ed0d 100644 --- a/Eigen/src/Core/arch/NEON/PacketMath.h +++ b/Eigen/src/Core/arch/NEON/PacketMath.h @@ -36,12 +36,43 @@ namespace internal { #endif #endif +#if EIGEN_COMP_MSVC + +// In MSVC's arm_neon.h header file, all NEON vector types +// are aliases to the same underlying type __n128. +// We thus have to wrap them to make them different C++ types. +// (See also bug 1428) + +template +struct eigen_packet_wrapper +{ + operator T&() { return m_val; } + operator const T&() const { return m_val; } + eigen_packet_wrapper() {} + eigen_packet_wrapper(const T &v) : m_val(v) {} + eigen_packet_wrapper& operator=(const T &v) { + m_val = v; + return *this; + } + + T m_val; +}; +typedef eigen_packet_wrapper Packet2f; +typedef eigen_packet_wrapper Packet4f; +typedef eigen_packet_wrapper Packet4i; +typedef eigen_packet_wrapper Packet2i; +typedef eigen_packet_wrapper Packet4ui; + +#else + typedef float32x2_t Packet2f; typedef float32x4_t Packet4f; typedef int32x4_t Packet4i; typedef int32x2_t Packet2i; typedef uint32x4_t Packet4ui; +#endif // EIGEN_COMP_MSVC + #define _EIGEN_DECLARE_CONST_Packet4f(NAME,X) \ const Packet4f p4f_##NAME = pset1(X) diff --git a/Eigen/src/Core/arch/SSE/Complex.h b/Eigen/src/Core/arch/SSE/Complex.h index 5607fe0..d075043 100644 --- a/Eigen/src/Core/arch/SSE/Complex.h +++ b/Eigen/src/Core/arch/SSE/Complex.h @@ -128,7 +128,7 @@ template<> EIGEN_DEVICE_FUNC inline void pscatter, Packet2cf _mm_cvtss_f32(_mm_shuffle_ps(from.v, from.v, 3))); } -template<> EIGEN_STRONG_INLINE void prefetch >(const std::complex * addr) { _mm_prefetch((const char*)(addr), _MM_HINT_T0); } +template<> EIGEN_STRONG_INLINE void prefetch >(const std::complex * addr) { _mm_prefetch((SsePrefetchPtrType)(addr), _MM_HINT_T0); } template<> EIGEN_STRONG_INLINE std::complex pfirst(const Packet2cf& a) { @@ -229,23 +229,7 @@ template<> struct conj_helper } }; -template<> struct conj_helper -{ - EIGEN_STRONG_INLINE Packet2cf pmadd(const Packet4f& x, const Packet2cf& y, const Packet2cf& c) const - { return padd(c, pmul(x,y)); } - - EIGEN_STRONG_INLINE Packet2cf pmul(const Packet4f& x, const Packet2cf& y) const - { return Packet2cf(Eigen::internal::pmul(x, y.v)); } -}; - -template<> struct conj_helper -{ - EIGEN_STRONG_INLINE Packet2cf pmadd(const Packet2cf& x, const Packet4f& y, const Packet2cf& c) const - { return padd(c, pmul(x,y)); } - - EIGEN_STRONG_INLINE Packet2cf pmul(const Packet2cf& x, const Packet4f& y) const - { return Packet2cf(Eigen::internal::pmul(x.v, y)); } -}; +EIGEN_MAKE_CONJ_HELPER_CPLX_REAL(Packet2cf,Packet4f) template<> EIGEN_STRONG_INLINE Packet2cf pdiv(const Packet2cf& a, const Packet2cf& b) { @@ -340,7 +324,7 @@ template<> EIGEN_STRONG_INLINE Packet1cd ploaddup(const std::complex< template<> EIGEN_STRONG_INLINE void pstore >(std::complex * to, const Packet1cd& from) { EIGEN_DEBUG_ALIGNED_STORE pstore((double*)to, Packet2d(from.v)); } template<> EIGEN_STRONG_INLINE void pstoreu >(std::complex * to, const Packet1cd& from) { EIGEN_DEBUG_UNALIGNED_STORE pstoreu((double*)to, Packet2d(from.v)); } -template<> EIGEN_STRONG_INLINE void prefetch >(const std::complex * addr) { _mm_prefetch((const char*)(addr), _MM_HINT_T0); } +template<> EIGEN_STRONG_INLINE void prefetch >(const std::complex * addr) { _mm_prefetch((SsePrefetchPtrType)(addr), _MM_HINT_T0); } template<> EIGEN_STRONG_INLINE std::complex pfirst(const Packet1cd& a) { @@ -430,23 +414,7 @@ template<> struct conj_helper } }; -template<> struct conj_helper -{ - EIGEN_STRONG_INLINE Packet1cd pmadd(const Packet2d& x, const Packet1cd& y, const Packet1cd& c) const - { return padd(c, pmul(x,y)); } - - EIGEN_STRONG_INLINE Packet1cd pmul(const Packet2d& x, const Packet1cd& y) const - { return Packet1cd(Eigen::internal::pmul(x, y.v)); } -}; - -template<> struct conj_helper -{ - EIGEN_STRONG_INLINE Packet1cd pmadd(const Packet1cd& x, const Packet2d& y, const Packet1cd& c) const - { return padd(c, pmul(x,y)); } - - EIGEN_STRONG_INLINE Packet1cd pmul(const Packet1cd& x, const Packet2d& y) const - { return Packet1cd(Eigen::internal::pmul(x.v, y)); } -}; +EIGEN_MAKE_CONJ_HELPER_CPLX_REAL(Packet1cd,Packet2d) template<> EIGEN_STRONG_INLINE Packet1cd pdiv(const Packet1cd& a, const Packet1cd& b) { diff --git a/Eigen/src/Core/arch/SSE/PacketMath.h b/Eigen/src/Core/arch/SSE/PacketMath.h index 3832de1..5e652cc 100644 --- a/Eigen/src/Core/arch/SSE/PacketMath.h +++ b/Eigen/src/Core/arch/SSE/PacketMath.h @@ -409,10 +409,16 @@ template<> EIGEN_STRONG_INLINE void pstore1(double* to, const double& pstore(to, Packet2d(vec2d_swizzle1(pa,0,0))); } +#if EIGEN_COMP_PGI +typedef const void * SsePrefetchPtrType; +#else +typedef const char * SsePrefetchPtrType; +#endif + #ifndef EIGEN_VECTORIZE_AVX -template<> EIGEN_STRONG_INLINE void prefetch(const float* addr) { _mm_prefetch((const char*)(addr), _MM_HINT_T0); } -template<> EIGEN_STRONG_INLINE void prefetch(const double* addr) { _mm_prefetch((const char*)(addr), _MM_HINT_T0); } -template<> EIGEN_STRONG_INLINE void prefetch(const int* addr) { _mm_prefetch((const char*)(addr), _MM_HINT_T0); } +template<> EIGEN_STRONG_INLINE void prefetch(const float* addr) { _mm_prefetch((SsePrefetchPtrType)(addr), _MM_HINT_T0); } +template<> EIGEN_STRONG_INLINE void prefetch(const double* addr) { _mm_prefetch((SsePrefetchPtrType)(addr), _MM_HINT_T0); } +template<> EIGEN_STRONG_INLINE void prefetch(const int* addr) { _mm_prefetch((SsePrefetchPtrType)(addr), _MM_HINT_T0); } #endif #if EIGEN_COMP_MSVC_STRICT && EIGEN_OS_WIN64 @@ -876,4 +882,14 @@ template<> EIGEN_STRONG_INLINE double pmadd(const double& a, const double& b, co } // end namespace Eigen +#if EIGEN_COMP_PGI +// PGI++ does not define the following intrinsics in C++ mode. +static inline __m128 _mm_castpd_ps (__m128d x) { return reinterpret_cast<__m128&>(x); } +static inline __m128i _mm_castpd_si128(__m128d x) { return reinterpret_cast<__m128i&>(x); } +static inline __m128d _mm_castps_pd (__m128 x) { return reinterpret_cast<__m128d&>(x); } +static inline __m128i _mm_castps_si128(__m128 x) { return reinterpret_cast<__m128i&>(x); } +static inline __m128 _mm_castsi128_ps(__m128i x) { return reinterpret_cast<__m128&>(x); } +static inline __m128d _mm_castsi128_pd(__m128i x) { return reinterpret_cast<__m128d&>(x); } +#endif + #endif // EIGEN_PACKET_MATH_SSE_H diff --git a/Eigen/src/Core/arch/SSE/TypeCasting.h b/Eigen/src/Core/arch/SSE/TypeCasting.h index c848932..c6ca8c7 100644 --- a/Eigen/src/Core/arch/SSE/TypeCasting.h +++ b/Eigen/src/Core/arch/SSE/TypeCasting.h @@ -14,6 +14,7 @@ namespace Eigen { namespace internal { +#ifndef EIGEN_VECTORIZE_AVX template <> struct type_casting_traits { enum { @@ -23,11 +24,6 @@ struct type_casting_traits { }; }; -template<> EIGEN_STRONG_INLINE Packet4i pcast(const Packet4f& a) { - return _mm_cvttps_epi32(a); -} - - template <> struct type_casting_traits { enum { @@ -37,11 +33,6 @@ struct type_casting_traits { }; }; -template<> EIGEN_STRONG_INLINE Packet4f pcast(const Packet4i& a) { - return _mm_cvtepi32_ps(a); -} - - template <> struct type_casting_traits { enum { @@ -51,10 +42,6 @@ struct type_casting_traits { }; }; -template<> EIGEN_STRONG_INLINE Packet4f pcast(const Packet2d& a, const Packet2d& b) { - return _mm_shuffle_ps(_mm_cvtpd_ps(a), _mm_cvtpd_ps(b), (1 << 2) | (1 << 6)); -} - template <> struct type_casting_traits { enum { @@ -63,6 +50,19 @@ struct type_casting_traits { TgtCoeffRatio = 2 }; }; +#endif + +template<> EIGEN_STRONG_INLINE Packet4i pcast(const Packet4f& a) { + return _mm_cvttps_epi32(a); +} + +template<> EIGEN_STRONG_INLINE Packet4f pcast(const Packet4i& a) { + return _mm_cvtepi32_ps(a); +} + +template<> EIGEN_STRONG_INLINE Packet4f pcast(const Packet2d& a, const Packet2d& b) { + return _mm_shuffle_ps(_mm_cvtpd_ps(a), _mm_cvtpd_ps(b), (1 << 2) | (1 << 6)); +} template<> EIGEN_STRONG_INLINE Packet2d pcast(const Packet4f& a) { // Simply discard the second half of the input diff --git a/Eigen/src/Core/arch/ZVector/Complex.h b/Eigen/src/Core/arch/ZVector/Complex.h index d39d2d1..1bfb733 100644 --- a/Eigen/src/Core/arch/ZVector/Complex.h +++ b/Eigen/src/Core/arch/ZVector/Complex.h @@ -336,6 +336,9 @@ template<> struct conj_helper } }; +EIGEN_MAKE_CONJ_HELPER_CPLX_REAL(Packet2cf,Packet4f) +EIGEN_MAKE_CONJ_HELPER_CPLX_REAL(Packet1cd,Packet2d) + template<> EIGEN_STRONG_INLINE Packet1cd pdiv(const Packet1cd& a, const Packet1cd& b) { // TODO optimize it for AltiVec diff --git a/Eigen/src/Core/functors/BinaryFunctors.h b/Eigen/src/Core/functors/BinaryFunctors.h index 96747ba..3eae6b8 100644 --- a/Eigen/src/Core/functors/BinaryFunctors.h +++ b/Eigen/src/Core/functors/BinaryFunctors.h @@ -255,7 +255,7 @@ struct scalar_cmp_op : binary_op_base struct scalar_hypot_op : binary_op_base { EIGEN_EMPTY_STRUCT_CTOR(scalar_hypot_op) -// typedef typename NumTraits::Real result_type; - EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Scalar operator() (const Scalar& _x, const Scalar& _y) const + + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Scalar operator() (const Scalar &x, const Scalar &y) const { - EIGEN_USING_STD_MATH(sqrt) - Scalar p, qp; - if(_x>_y) - { - p = _x; - qp = _y / p; - } - else - { - p = _y; - qp = _x / p; - } - return p * sqrt(Scalar(1) + qp*qp); + // This functor is used by hypotNorm only for which it is faster to first apply abs + // on all coefficients prior to reduction through hypot. + // This way we avoid calling abs on positive and real entries, and this also permits + // to seamlessly handle complexes. Otherwise we would have to handle both real and complexes + // through the same functor... + return internal::positive_real_hypot(x,y); } }; template diff --git a/Eigen/src/Core/functors/StlFunctors.h b/Eigen/src/Core/functors/StlFunctors.h index 6df3fa5..9c1d758 100644 --- a/Eigen/src/Core/functors/StlFunctors.h +++ b/Eigen/src/Core/functors/StlFunctors.h @@ -83,13 +83,17 @@ struct functor_traits > { enum { Cost = functor_traits::Cost, PacketAccess = false }; }; #endif +#if (__cplusplus < 201703L) && (EIGEN_COMP_MSVC < 1910) +// std::unary_negate is deprecated since c++17 and will be removed in c++20 template struct functor_traits > { enum { Cost = 1 + functor_traits::Cost, PacketAccess = false }; }; +// std::binary_negate is deprecated since c++17 and will be removed in c++20 template struct functor_traits > { enum { Cost = 1 + functor_traits::Cost, PacketAccess = false }; }; +#endif #ifdef EIGEN_STDEXT_SUPPORT diff --git a/Eigen/src/Core/products/GeneralMatrixMatrixTriangular_BLAS.h b/Eigen/src/Core/products/GeneralMatrixMatrixTriangular_BLAS.h index 41e18ff..9176a13 100644 --- a/Eigen/src/Core/products/GeneralMatrixMatrixTriangular_BLAS.h +++ b/Eigen/src/Core/products/GeneralMatrixMatrixTriangular_BLAS.h @@ -88,7 +88,7 @@ struct general_matrix_matrix_rankupdate(lhsStride), ldc=convert_index(resStride), n=convert_index(size), k=convert_index(depth); \ char uplo=((IsLower) ? 'L' : 'U'), trans=((AStorageOrder==RowMajor) ? 'T':'N'); \ EIGTYPE beta(1); \ - BLASFUNC(&uplo, &trans, &n, &k, &numext::real_ref(alpha), lhs, &lda, &numext::real_ref(beta), res, &ldc); \ + BLASFUNC(&uplo, &trans, &n, &k, (const BLASTYPE*)&numext::real_ref(alpha), lhs, &lda, (const BLASTYPE*)&numext::real_ref(beta), res, &ldc); \ } \ }; @@ -125,9 +125,13 @@ struct general_matrix_matrix_rankupdate(b_tmp.outerStride()); \ } else b = _rhs; \ \ - BLASPREFIX##gemm_(&transa, &transb, &m, &n, &k, &numext::real_ref(alpha), (const BLASTYPE*)a, &lda, (const BLASTYPE*)b, &ldb, &numext::real_ref(beta), (BLASTYPE*)res, &ldc); \ + BLASFUNC(&transa, &transb, &m, &n, &k, (const BLASTYPE*)&numext::real_ref(alpha), (const BLASTYPE*)a, &lda, (const BLASTYPE*)b, &ldb, (const BLASTYPE*)&numext::real_ref(beta), (BLASTYPE*)res, &ldc); \ }}; -GEMM_SPECIALIZATION(double, d, double, d) -GEMM_SPECIALIZATION(float, f, float, s) -GEMM_SPECIALIZATION(dcomplex, cd, double, z) -GEMM_SPECIALIZATION(scomplex, cf, float, c) +#ifdef EIGEN_USE_MKL +GEMM_SPECIALIZATION(double, d, double, dgemm) +GEMM_SPECIALIZATION(float, f, float, sgemm) +GEMM_SPECIALIZATION(dcomplex, cd, MKL_Complex16, zgemm) +GEMM_SPECIALIZATION(scomplex, cf, MKL_Complex8, cgemm) +#else +GEMM_SPECIALIZATION(double, d, double, dgemm_) +GEMM_SPECIALIZATION(float, f, float, sgemm_) +GEMM_SPECIALIZATION(dcomplex, cd, double, zgemm_) +GEMM_SPECIALIZATION(scomplex, cf, float, cgemm_) +#endif } // end namespase internal diff --git a/Eigen/src/Core/products/GeneralMatrixVector.h b/Eigen/src/Core/products/GeneralMatrixVector.h index 3c1a7fc..a597c1f 100644 --- a/Eigen/src/Core/products/GeneralMatrixVector.h +++ b/Eigen/src/Core/products/GeneralMatrixVector.h @@ -183,8 +183,8 @@ EIGEN_DONT_INLINE void general_matrix_vector_product \ struct general_matrix_vector_product_gemv \ { \ @@ -113,14 +113,21 @@ static void run( \ x_ptr=x_tmp.data(); \ incx=1; \ } else x_ptr=rhs; \ - BLASPREFIX##gemv_(&trans, &m, &n, &numext::real_ref(alpha), (const BLASTYPE*)lhs, &lda, (const BLASTYPE*)x_ptr, &incx, &numext::real_ref(beta), (BLASTYPE*)res, &incy); \ + BLASFUNC(&trans, &m, &n, (const BLASTYPE*)&numext::real_ref(alpha), (const BLASTYPE*)lhs, &lda, (const BLASTYPE*)x_ptr, &incx, (const BLASTYPE*)&numext::real_ref(beta), (BLASTYPE*)res, &incy); \ }\ }; -EIGEN_BLAS_GEMV_SPECIALIZATION(double, double, d) -EIGEN_BLAS_GEMV_SPECIALIZATION(float, float, s) -EIGEN_BLAS_GEMV_SPECIALIZATION(dcomplex, double, z) -EIGEN_BLAS_GEMV_SPECIALIZATION(scomplex, float, c) +#ifdef EIGEN_USE_MKL +EIGEN_BLAS_GEMV_SPECIALIZATION(double, double, dgemv) +EIGEN_BLAS_GEMV_SPECIALIZATION(float, float, sgemv) +EIGEN_BLAS_GEMV_SPECIALIZATION(dcomplex, MKL_Complex16, zgemv) +EIGEN_BLAS_GEMV_SPECIALIZATION(scomplex, MKL_Complex8 , cgemv) +#else +EIGEN_BLAS_GEMV_SPECIALIZATION(double, double, dgemv_) +EIGEN_BLAS_GEMV_SPECIALIZATION(float, float, sgemv_) +EIGEN_BLAS_GEMV_SPECIALIZATION(dcomplex, double, zgemv_) +EIGEN_BLAS_GEMV_SPECIALIZATION(scomplex, float, cgemv_) +#endif } // end namespase internal diff --git a/Eigen/src/Core/products/SelfadjointMatrixMatrix_BLAS.h b/Eigen/src/Core/products/SelfadjointMatrixMatrix_BLAS.h index a45238d..9a53185 100644 --- a/Eigen/src/Core/products/SelfadjointMatrixMatrix_BLAS.h +++ b/Eigen/src/Core/products/SelfadjointMatrixMatrix_BLAS.h @@ -40,7 +40,7 @@ namespace internal { /* Optimized selfadjoint matrix * matrix (?SYMM/?HEMM) product */ -#define EIGEN_BLAS_SYMM_L(EIGTYPE, BLASTYPE, EIGPREFIX, BLASPREFIX) \ +#define EIGEN_BLAS_SYMM_L(EIGTYPE, BLASTYPE, EIGPREFIX, BLASFUNC) \ template \ @@ -81,13 +81,13 @@ struct product_selfadjoint_matrix(b_tmp.outerStride()); \ } else b = _rhs; \ \ - BLASPREFIX##symm_(&side, &uplo, &m, &n, &numext::real_ref(alpha), (const BLASTYPE*)a, &lda, (const BLASTYPE*)b, &ldb, &numext::real_ref(beta), (BLASTYPE*)res, &ldc); \ + BLASFUNC(&side, &uplo, &m, &n, (const BLASTYPE*)&numext::real_ref(alpha), (const BLASTYPE*)a, &lda, (const BLASTYPE*)b, &ldb, (const BLASTYPE*)&numext::real_ref(beta), (BLASTYPE*)res, &ldc); \ \ } \ }; -#define EIGEN_BLAS_HEMM_L(EIGTYPE, BLASTYPE, EIGPREFIX, BLASPREFIX) \ +#define EIGEN_BLAS_HEMM_L(EIGTYPE, BLASTYPE, EIGPREFIX, BLASFUNC) \ template \ @@ -144,20 +144,26 @@ struct product_selfadjoint_matrix(b_tmp.outerStride()); \ } \ \ - BLASPREFIX##hemm_(&side, &uplo, &m, &n, &numext::real_ref(alpha), (const BLASTYPE*)a, &lda, (const BLASTYPE*)b, &ldb, &numext::real_ref(beta), (BLASTYPE*)res, &ldc); \ + BLASFUNC(&side, &uplo, &m, &n, (const BLASTYPE*)&numext::real_ref(alpha), (const BLASTYPE*)a, &lda, (const BLASTYPE*)b, &ldb, (const BLASTYPE*)&numext::real_ref(beta), (BLASTYPE*)res, &ldc); \ \ } \ }; -EIGEN_BLAS_SYMM_L(double, double, d, d) -EIGEN_BLAS_SYMM_L(float, float, f, s) -EIGEN_BLAS_HEMM_L(dcomplex, double, cd, z) -EIGEN_BLAS_HEMM_L(scomplex, float, cf, c) - +#ifdef EIGEN_USE_MKL +EIGEN_BLAS_SYMM_L(double, double, d, dsymm) +EIGEN_BLAS_SYMM_L(float, float, f, ssymm) +EIGEN_BLAS_HEMM_L(dcomplex, MKL_Complex16, cd, zhemm) +EIGEN_BLAS_HEMM_L(scomplex, MKL_Complex8, cf, chemm) +#else +EIGEN_BLAS_SYMM_L(double, double, d, dsymm_) +EIGEN_BLAS_SYMM_L(float, float, f, ssymm_) +EIGEN_BLAS_HEMM_L(dcomplex, double, cd, zhemm_) +EIGEN_BLAS_HEMM_L(scomplex, float, cf, chemm_) +#endif /* Optimized matrix * selfadjoint matrix (?SYMM/?HEMM) product */ -#define EIGEN_BLAS_SYMM_R(EIGTYPE, BLASTYPE, EIGPREFIX, BLASPREFIX) \ +#define EIGEN_BLAS_SYMM_R(EIGTYPE, BLASTYPE, EIGPREFIX, BLASFUNC) \ template \ @@ -197,13 +203,13 @@ struct product_selfadjoint_matrix(b_tmp.outerStride()); \ } else b = _lhs; \ \ - BLASPREFIX##symm_(&side, &uplo, &m, &n, &numext::real_ref(alpha), (const BLASTYPE*)a, &lda, (const BLASTYPE*)b, &ldb, &numext::real_ref(beta), (BLASTYPE*)res, &ldc); \ + BLASFUNC(&side, &uplo, &m, &n, (const BLASTYPE*)&numext::real_ref(alpha), (const BLASTYPE*)a, &lda, (const BLASTYPE*)b, &ldb, (const BLASTYPE*)&numext::real_ref(beta), (BLASTYPE*)res, &ldc); \ \ } \ }; -#define EIGEN_BLAS_HEMM_R(EIGTYPE, BLASTYPE, EIGPREFIX, BLASPREFIX) \ +#define EIGEN_BLAS_HEMM_R(EIGTYPE, BLASTYPE, EIGPREFIX, BLASFUNC) \ template \ @@ -259,15 +265,21 @@ struct product_selfadjoint_matrix(b_tmp.outerStride()); \ } \ \ - BLASPREFIX##hemm_(&side, &uplo, &m, &n, &numext::real_ref(alpha), (const BLASTYPE*)a, &lda, (const BLASTYPE*)b, &ldb, &numext::real_ref(beta), (BLASTYPE*)res, &ldc); \ + BLASFUNC(&side, &uplo, &m, &n, (const BLASTYPE*)&numext::real_ref(alpha), (const BLASTYPE*)a, &lda, (const BLASTYPE*)b, &ldb, (const BLASTYPE*)&numext::real_ref(beta), (BLASTYPE*)res, &ldc); \ } \ }; -EIGEN_BLAS_SYMM_R(double, double, d, d) -EIGEN_BLAS_SYMM_R(float, float, f, s) -EIGEN_BLAS_HEMM_R(dcomplex, double, cd, z) -EIGEN_BLAS_HEMM_R(scomplex, float, cf, c) - +#ifdef EIGEN_USE_MKL +EIGEN_BLAS_SYMM_R(double, double, d, dsymm) +EIGEN_BLAS_SYMM_R(float, float, f, ssymm) +EIGEN_BLAS_HEMM_R(dcomplex, MKL_Complex16, cd, zhemm) +EIGEN_BLAS_HEMM_R(scomplex, MKL_Complex8, cf, chemm) +#else +EIGEN_BLAS_SYMM_R(double, double, d, dsymm_) +EIGEN_BLAS_SYMM_R(float, float, f, ssymm_) +EIGEN_BLAS_HEMM_R(dcomplex, double, cd, zhemm_) +EIGEN_BLAS_HEMM_R(scomplex, float, cf, chemm_) +#endif } // end namespace internal } // end namespace Eigen diff --git a/Eigen/src/Core/products/SelfadjointMatrixVector_BLAS.h b/Eigen/src/Core/products/SelfadjointMatrixVector_BLAS.h index 38f23ac..1238345 100644 --- a/Eigen/src/Core/products/SelfadjointMatrixVector_BLAS.h +++ b/Eigen/src/Core/products/SelfadjointMatrixVector_BLAS.h @@ -95,14 +95,21 @@ const EIGTYPE* _rhs, EIGTYPE* res, EIGTYPE alpha) \ x_tmp=map_x.conjugate(); \ x_ptr=x_tmp.data(); \ } else x_ptr=_rhs; \ - BLASFUNC(&uplo, &n, &numext::real_ref(alpha), (const BLASTYPE*)lhs, &lda, (const BLASTYPE*)x_ptr, &incx, &numext::real_ref(beta), (BLASTYPE*)res, &incy); \ + BLASFUNC(&uplo, &n, (const BLASTYPE*)&numext::real_ref(alpha), (const BLASTYPE*)lhs, &lda, (const BLASTYPE*)x_ptr, &incx, (const BLASTYPE*)&numext::real_ref(beta), (BLASTYPE*)res, &incy); \ }\ }; +#ifdef EIGEN_USE_MKL +EIGEN_BLAS_SYMV_SPECIALIZATION(double, double, dsymv) +EIGEN_BLAS_SYMV_SPECIALIZATION(float, float, ssymv) +EIGEN_BLAS_SYMV_SPECIALIZATION(dcomplex, MKL_Complex16, zhemv) +EIGEN_BLAS_SYMV_SPECIALIZATION(scomplex, MKL_Complex8, chemv) +#else EIGEN_BLAS_SYMV_SPECIALIZATION(double, double, dsymv_) EIGEN_BLAS_SYMV_SPECIALIZATION(float, float, ssymv_) EIGEN_BLAS_SYMV_SPECIALIZATION(dcomplex, double, zhemv_) EIGEN_BLAS_SYMV_SPECIALIZATION(scomplex, float, chemv_) +#endif } // end namespace internal diff --git a/Eigen/src/Core/products/TriangularMatrixMatrix.h b/Eigen/src/Core/products/TriangularMatrixMatrix.h index 6ec5a8a..f784507 100644 --- a/Eigen/src/Core/products/TriangularMatrixMatrix.h +++ b/Eigen/src/Core/products/TriangularMatrixMatrix.h @@ -137,7 +137,13 @@ EIGEN_DONT_INLINE void product_triangular_matrix_matrix triangularBuffer((internal::constructor_without_unaligned_array_assert())); + // To work around an "error: member reference base type 'Matrix<...> + // (Eigen::internal::constructor_without_unaligned_array_assert (*)())' is + // not a structure or union" compilation error in nvcc (tested V8.0.61), + // create a dummy internal::constructor_without_unaligned_array_assert + // object to pass to the Matrix constructor. + internal::constructor_without_unaligned_array_assert a; + Matrix triangularBuffer(a); triangularBuffer.setZero(); if((Mode&ZeroDiag)==ZeroDiag) triangularBuffer.diagonal().setZero(); @@ -284,7 +290,8 @@ EIGEN_DONT_INLINE void product_triangular_matrix_matrix triangularBuffer((internal::constructor_without_unaligned_array_assert())); + internal::constructor_without_unaligned_array_assert a; + Matrix triangularBuffer(a); triangularBuffer.setZero(); if((Mode&ZeroDiag)==ZeroDiag) triangularBuffer.diagonal().setZero(); @@ -393,7 +400,9 @@ struct triangular_product_impl { template static void run(Dest& dst, const Lhs &a_lhs, const Rhs &a_rhs, const typename Dest::Scalar& alpha) { - typedef typename Dest::Scalar Scalar; + typedef typename Lhs::Scalar LhsScalar; + typedef typename Rhs::Scalar RhsScalar; + typedef typename Dest::Scalar Scalar; typedef internal::blas_traits LhsBlasTraits; typedef typename LhsBlasTraits::DirectLinearAccessType ActualLhsType; @@ -405,8 +414,9 @@ struct triangular_product_impl typename internal::add_const_on_value_type::type lhs = LhsBlasTraits::extract(a_lhs); typename internal::add_const_on_value_type::type rhs = RhsBlasTraits::extract(a_rhs); - Scalar actualAlpha = alpha * LhsBlasTraits::extractScalarFactor(a_lhs) - * RhsBlasTraits::extractScalarFactor(a_rhs); + LhsScalar lhs_alpha = LhsBlasTraits::extractScalarFactor(a_lhs); + RhsScalar rhs_alpha = RhsBlasTraits::extractScalarFactor(a_rhs); + Scalar actualAlpha = alpha * lhs_alpha * rhs_alpha; typedef internal::gemm_blocking_space<(Dest::Flags&RowMajorBit) ? RowMajor : ColMajor,Scalar,Scalar, Lhs::MaxRowsAtCompileTime, Rhs::MaxColsAtCompileTime, Lhs::MaxColsAtCompileTime,4> BlockingType; @@ -431,6 +441,21 @@ struct triangular_product_impl &dst.coeffRef(0,0), dst.outerStride(), // result info actualAlpha, blocking ); + + // Apply correction if the diagonal is unit and a scalar factor was nested: + if ((Mode&UnitDiag)==UnitDiag) + { + if (LhsIsTriangular && lhs_alpha!=LhsScalar(1)) + { + Index diagSize = (std::min)(lhs.rows(),lhs.cols()); + dst.topRows(diagSize) -= ((lhs_alpha-LhsScalar(1))*a_rhs).topRows(diagSize); + } + else if ((!LhsIsTriangular) && rhs_alpha!=RhsScalar(1)) + { + Index diagSize = (std::min)(rhs.rows(),rhs.cols()); + dst.leftCols(diagSize) -= (rhs_alpha-RhsScalar(1))*a_lhs.leftCols(diagSize); + } + } } }; diff --git a/Eigen/src/Core/products/TriangularMatrixMatrix_BLAS.h b/Eigen/src/Core/products/TriangularMatrixMatrix_BLAS.h index aecded6..a25197a 100644 --- a/Eigen/src/Core/products/TriangularMatrixMatrix_BLAS.h +++ b/Eigen/src/Core/products/TriangularMatrixMatrix_BLAS.h @@ -75,7 +75,7 @@ EIGEN_BLAS_TRMM_SPECIALIZE(scomplex, true) EIGEN_BLAS_TRMM_SPECIALIZE(scomplex, false) // implements col-major += alpha * op(triangular) * op(general) -#define EIGEN_BLAS_TRMM_L(EIGTYPE, BLASTYPE, EIGPREFIX, BLASPREFIX) \ +#define EIGEN_BLAS_TRMM_L(EIGTYPE, BLASTYPE, EIGPREFIX, BLASFUNC) \ template \ @@ -172,7 +172,7 @@ struct product_triangular_matrix_matrix_trmm > res_tmp(res,rows,cols,OuterStride<>(resStride)); \ @@ -180,13 +180,20 @@ struct product_triangular_matrix_matrix_trmm \ @@ -282,7 +289,7 @@ struct product_triangular_matrix_matrix_trmm > res_tmp(res,rows,cols,OuterStride<>(resStride)); \ @@ -290,11 +297,17 @@ struct product_triangular_matrix_matrix_trmm struct trmv_selector typename internal::add_const_on_value_type::type actualLhs = LhsBlasTraits::extract(lhs); typename internal::add_const_on_value_type::type actualRhs = RhsBlasTraits::extract(rhs); - ResScalar actualAlpha = alpha * LhsBlasTraits::extractScalarFactor(lhs) - * RhsBlasTraits::extractScalarFactor(rhs); + LhsScalar lhs_alpha = LhsBlasTraits::extractScalarFactor(lhs); + RhsScalar rhs_alpha = RhsBlasTraits::extractScalarFactor(rhs); + ResScalar actualAlpha = alpha * lhs_alpha * rhs_alpha; enum { // FIXME find a way to allow an inner stride on the result if packet_traits::size==1 @@ -274,6 +275,12 @@ template struct trmv_selector else dest = MappedDest(actualDestPtr, dest.size()); } + + if ( ((Mode&UnitDiag)==UnitDiag) && (lhs_alpha!=LhsScalar(1)) ) + { + Index diagSize = (std::min)(lhs.rows(),lhs.cols()); + dest.head(diagSize) -= (lhs_alpha-LhsScalar(1))*rhs.head(diagSize); + } } }; @@ -295,8 +302,9 @@ template struct trmv_selector typename add_const::type actualLhs = LhsBlasTraits::extract(lhs); typename add_const::type actualRhs = RhsBlasTraits::extract(rhs); - ResScalar actualAlpha = alpha * LhsBlasTraits::extractScalarFactor(lhs) - * RhsBlasTraits::extractScalarFactor(rhs); + LhsScalar lhs_alpha = LhsBlasTraits::extractScalarFactor(lhs); + RhsScalar rhs_alpha = RhsBlasTraits::extractScalarFactor(rhs); + ResScalar actualAlpha = alpha * lhs_alpha * rhs_alpha; enum { DirectlyUseRhs = ActualRhsTypeCleaned::InnerStrideAtCompileTime==1 @@ -326,6 +334,12 @@ template struct trmv_selector actualRhsPtr,1, dest.data(),dest.innerStride(), actualAlpha); + + if ( ((Mode&UnitDiag)==UnitDiag) && (lhs_alpha!=LhsScalar(1)) ) + { + Index diagSize = (std::min)(lhs.rows(),lhs.cols()); + dest.head(diagSize) -= (lhs_alpha-LhsScalar(1))*rhs.head(diagSize); + } } }; diff --git a/Eigen/src/Core/products/TriangularMatrixVector_BLAS.h b/Eigen/src/Core/products/TriangularMatrixVector_BLAS.h index 07bf26c..3d47a2b 100644 --- a/Eigen/src/Core/products/TriangularMatrixVector_BLAS.h +++ b/Eigen/src/Core/products/TriangularMatrixVector_BLAS.h @@ -71,7 +71,7 @@ EIGEN_BLAS_TRMV_SPECIALIZE(dcomplex) EIGEN_BLAS_TRMV_SPECIALIZE(scomplex) // implements col-major: res += alpha * op(triangular) * vector -#define EIGEN_BLAS_TRMV_CM(EIGTYPE, BLASTYPE, EIGPREFIX, BLASPREFIX) \ +#define EIGEN_BLAS_TRMV_CM(EIGTYPE, BLASTYPE, EIGPREFIX, BLASPREFIX, BLASPOSTFIX) \ template \ struct triangular_matrix_vector_product_trmv { \ enum { \ @@ -121,10 +121,10 @@ struct triangular_matrix_vector_product_trmv(size); \ n = convert_index(cols-size); \ } \ - BLASPREFIX##gemv_(&trans, &m, &n, &numext::real_ref(alpha), (const BLASTYPE*)a, &lda, (const BLASTYPE*)x, &incx, &numext::real_ref(beta), (BLASTYPE*)y, &incy); \ + BLASPREFIX##gemv##BLASPOSTFIX(&trans, &m, &n, (const BLASTYPE*)&numext::real_ref(alpha), (const BLASTYPE*)a, &lda, (const BLASTYPE*)x, &incx, (const BLASTYPE*)&numext::real_ref(beta), (BLASTYPE*)y, &incy); \ } \ } \ }; -EIGEN_BLAS_TRMV_CM(double, double, d, d) -EIGEN_BLAS_TRMV_CM(dcomplex, double, cd, z) -EIGEN_BLAS_TRMV_CM(float, float, f, s) -EIGEN_BLAS_TRMV_CM(scomplex, float, cf, c) +#ifdef EIGEN_USE_MKL +EIGEN_BLAS_TRMV_CM(double, double, d, d,) +EIGEN_BLAS_TRMV_CM(dcomplex, MKL_Complex16, cd, z,) +EIGEN_BLAS_TRMV_CM(float, float, f, s,) +EIGEN_BLAS_TRMV_CM(scomplex, MKL_Complex8, cf, c,) +#else +EIGEN_BLAS_TRMV_CM(double, double, d, d, _) +EIGEN_BLAS_TRMV_CM(dcomplex, double, cd, z, _) +EIGEN_BLAS_TRMV_CM(float, float, f, s, _) +EIGEN_BLAS_TRMV_CM(scomplex, float, cf, c, _) +#endif // implements row-major: res += alpha * op(triangular) * vector -#define EIGEN_BLAS_TRMV_RM(EIGTYPE, BLASTYPE, EIGPREFIX, BLASPREFIX) \ +#define EIGEN_BLAS_TRMV_RM(EIGTYPE, BLASTYPE, EIGPREFIX, BLASPREFIX, BLASPOSTFIX) \ template \ struct triangular_matrix_vector_product_trmv { \ enum { \ @@ -203,10 +210,10 @@ struct triangular_matrix_vector_product_trmv(size); \ n = convert_index(cols-size); \ } \ - BLASPREFIX##gemv_(&trans, &n, &m, &numext::real_ref(alpha), (const BLASTYPE*)a, &lda, (const BLASTYPE*)x, &incx, &numext::real_ref(beta), (BLASTYPE*)y, &incy); \ + BLASPREFIX##gemv##BLASPOSTFIX(&trans, &n, &m, (const BLASTYPE*)&numext::real_ref(alpha), (const BLASTYPE*)a, &lda, (const BLASTYPE*)x, &incx, (const BLASTYPE*)&numext::real_ref(beta), (BLASTYPE*)y, &incy); \ } \ } \ }; -EIGEN_BLAS_TRMV_RM(double, double, d, d) -EIGEN_BLAS_TRMV_RM(dcomplex, double, cd, z) -EIGEN_BLAS_TRMV_RM(float, float, f, s) -EIGEN_BLAS_TRMV_RM(scomplex, float, cf, c) +#ifdef EIGEN_USE_MKL +EIGEN_BLAS_TRMV_RM(double, double, d, d,) +EIGEN_BLAS_TRMV_RM(dcomplex, MKL_Complex16, cd, z,) +EIGEN_BLAS_TRMV_RM(float, float, f, s,) +EIGEN_BLAS_TRMV_RM(scomplex, MKL_Complex8, cf, c,) +#else +EIGEN_BLAS_TRMV_RM(double, double, d, d,_) +EIGEN_BLAS_TRMV_RM(dcomplex, double, cd, z,_) +EIGEN_BLAS_TRMV_RM(float, float, f, s,_) +EIGEN_BLAS_TRMV_RM(scomplex, float, cf, c,_) +#endif } // end namespase internal diff --git a/Eigen/src/Core/products/TriangularSolverMatrix_BLAS.h b/Eigen/src/Core/products/TriangularSolverMatrix_BLAS.h index 88c0fb7..f077511 100644 --- a/Eigen/src/Core/products/TriangularSolverMatrix_BLAS.h +++ b/Eigen/src/Core/products/TriangularSolverMatrix_BLAS.h @@ -38,7 +38,7 @@ namespace Eigen { namespace internal { // implements LeftSide op(triangular)^-1 * general -#define EIGEN_BLAS_TRSM_L(EIGTYPE, BLASTYPE, BLASPREFIX) \ +#define EIGEN_BLAS_TRSM_L(EIGTYPE, BLASTYPE, BLASFUNC) \ template \ struct triangular_solve_matrix \ { \ @@ -80,18 +80,24 @@ struct triangular_solve_matrix \ struct triangular_solve_matrix \ { \ @@ -133,16 +139,22 @@ struct triangular_solve_matrix /*Check IMKL version for compatibility: < 10.3 is not usable with Eigen*/ @@ -108,6 +109,10 @@ #endif #endif +#if defined(EIGEN_USE_BLAS) && !defined(EIGEN_USE_MKL) +#include "../../misc/blas.h" +#endif + namespace Eigen { typedef std::complex dcomplex; @@ -121,8 +126,5 @@ typedef int BlasIndex; } // end namespace Eigen -#if defined(EIGEN_USE_BLAS) -#include "../../misc/blas.h" -#endif #endif // EIGEN_MKL_SUPPORT_H diff --git a/Eigen/src/Core/util/Macros.h b/Eigen/src/Core/util/Macros.h index 38d6ddb..02d21d2 100644 --- a/Eigen/src/Core/util/Macros.h +++ b/Eigen/src/Core/util/Macros.h @@ -13,7 +13,7 @@ #define EIGEN_WORLD_VERSION 3 #define EIGEN_MAJOR_VERSION 3 -#define EIGEN_MINOR_VERSION 4 +#define EIGEN_MINOR_VERSION 5 #define EIGEN_VERSION_AT_LEAST(x,y,z) (EIGEN_WORLD_VERSION>x || (EIGEN_WORLD_VERSION>=x && \ (EIGEN_MAJOR_VERSION>y || (EIGEN_MAJOR_VERSION>=y && \ @@ -399,7 +399,7 @@ // Does the compiler support variadic templates? #ifndef EIGEN_HAS_VARIADIC_TEMPLATES #if EIGEN_MAX_CPP_VER>=11 && (__cplusplus > 199711L || EIGEN_COMP_MSVC >= 1900) \ - && ( !defined(__NVCC__) || !EIGEN_ARCH_ARM_OR_ARM64 || (defined __CUDACC_VER__ && __CUDACC_VER__ >= 80000) ) + && (!defined(__NVCC__) || !EIGEN_ARCH_ARM_OR_ARM64 || (EIGEN_CUDACC_VER >= 80000) ) // ^^ Disable the use of variadic templates when compiling with versions of nvcc older than 8.0 on ARM devices: // this prevents nvcc from crashing when compiling Eigen on Tegra X1 #define EIGEN_HAS_VARIADIC_TEMPLATES 1 @@ -413,7 +413,7 @@ #ifdef __CUDACC__ // Const expressions are supported provided that c++11 is enabled and we're using either clang or nvcc 7.5 or above -#if EIGEN_MAX_CPP_VER>=14 && (__cplusplus > 199711L && defined(__CUDACC_VER__) && (EIGEN_COMP_CLANG || __CUDACC_VER__ >= 70500)) +#if EIGEN_MAX_CPP_VER>=14 && (__cplusplus > 199711L && (EIGEN_COMP_CLANG || EIGEN_CUDACC_VER >= 70500)) #define EIGEN_HAS_CONSTEXPR 1 #endif #elif EIGEN_MAX_CPP_VER>=14 && (__has_feature(cxx_relaxed_constexpr) || (defined(__cplusplus) && __cplusplus >= 201402L) || \ @@ -487,11 +487,13 @@ // EIGEN_STRONG_INLINE is a stronger version of the inline, using __forceinline on MSVC, // but it still doesn't use GCC's always_inline. This is useful in (common) situations where MSVC needs forceinline // but GCC is still doing fine with just inline. +#ifndef EIGEN_STRONG_INLINE #if EIGEN_COMP_MSVC || EIGEN_COMP_ICC #define EIGEN_STRONG_INLINE __forceinline #else #define EIGEN_STRONG_INLINE inline #endif +#endif // EIGEN_ALWAYS_INLINE is the stronget, it has the effect of making the function inline and adding every possible // attribute to maximize inlining. This should only be used when really necessary: in particular, @@ -812,7 +814,8 @@ namespace Eigen { // just an empty macro ! #define EIGEN_EMPTY -#if EIGEN_COMP_MSVC_STRICT && (EIGEN_COMP_MSVC < 1900 || defined(__CUDACC_VER__)) // for older MSVC versions, as well as 1900 && CUDA 8, using the base operator is sufficient (cf Bugs 1000, 1324) +#if EIGEN_COMP_MSVC_STRICT && (EIGEN_COMP_MSVC < 1900 || EIGEN_CUDACC_VER>0) + // for older MSVC versions, as well as 1900 && CUDA 8, using the base operator is sufficient (cf Bugs 1000, 1324) #define EIGEN_INHERIT_ASSIGNMENT_EQUAL_OPERATOR(Derived) \ using Base::operator =; #elif EIGEN_COMP_CLANG // workaround clang bug (see http://forum.kde.org/viewtopic.php?f=74&t=102653) @@ -986,7 +989,13 @@ namespace Eigen { # define EIGEN_NOEXCEPT # define EIGEN_NOEXCEPT_IF(x) # define EIGEN_NO_THROW throw() -# define EIGEN_EXCEPTION_SPEC(X) throw(X) +# if EIGEN_COMP_MSVC + // MSVC does not support exception specifications (warning C4290), + // and they are deprecated in c++11 anyway. +# define EIGEN_EXCEPTION_SPEC(X) throw() +# else +# define EIGEN_EXCEPTION_SPEC(X) throw(X) +# endif #endif #endif // EIGEN_MACROS_H diff --git a/Eigen/src/Core/util/Memory.h b/Eigen/src/Core/util/Memory.h index c634d7e..66cdbd8 100644 --- a/Eigen/src/Core/util/Memory.h +++ b/Eigen/src/Core/util/Memory.h @@ -70,7 +70,7 @@ inline void throw_std_bad_alloc() throw std::bad_alloc(); #else std::size_t huge = static_cast(-1); - new int[huge]; + ::operator new(huge); #endif } @@ -493,7 +493,7 @@ template struct smart_copy_helper { IntPtr size = IntPtr(end)-IntPtr(start); if(size==0) return; eigen_internal_assert(start!=0 && end!=0 && target!=0); - memcpy(target, start, size); + std::memcpy(target, start, size); } }; @@ -696,7 +696,15 @@ template void swap(scoped_array &a,scoped_array &b) /** \class aligned_allocator * \ingroup Core_Module * -* \brief STL compatible allocator to use with with 16 byte aligned types +* \brief STL compatible allocator to use with types requiring a non standrad alignment. +* +* The memory is aligned as for dynamically aligned matrix/array types such as MatrixXd. +* By default, it will thus provide at least 16 bytes alignment and more in following cases: +* - 32 bytes alignment if AVX is enabled. +* - 64 bytes alignment if AVX512 is enabled. +* +* This can be controled using the \c EIGEN_MAX_ALIGN_BYTES macro as documented +* \link TopicPreprocessorDirectivesPerformance there \endlink. * * Example: * \code diff --git a/Eigen/src/Core/util/Meta.h b/Eigen/src/Core/util/Meta.h index 7f63707..1d73f05 100644 --- a/Eigen/src/Core/util/Meta.h +++ b/Eigen/src/Core/util/Meta.h @@ -485,6 +485,26 @@ T div_ceil(const T &a, const T &b) return (a+b-1) / b; } +// The aim of the following functions is to bypass -Wfloat-equal warnings +// when we really want a strict equality comparison on floating points. +template EIGEN_STRONG_INLINE +bool equal_strict(const X& x,const Y& y) { return x == y; } + +template<> EIGEN_STRONG_INLINE +bool equal_strict(const float& x,const float& y) { return std::equal_to()(x,y); } + +template<> EIGEN_STRONG_INLINE +bool equal_strict(const double& x,const double& y) { return std::equal_to()(x,y); } + +template EIGEN_STRONG_INLINE +bool not_equal_strict(const X& x,const Y& y) { return x != y; } + +template<> EIGEN_STRONG_INLINE +bool not_equal_strict(const float& x,const float& y) { return std::not_equal_to()(x,y); } + +template<> EIGEN_STRONG_INLINE +bool not_equal_strict(const double& x,const double& y) { return std::not_equal_to()(x,y); } + } // end namespace numext } // end namespace Eigen diff --git a/Eigen/src/Core/util/StaticAssert.h b/Eigen/src/Core/util/StaticAssert.h index 983361a..500e477 100644 --- a/Eigen/src/Core/util/StaticAssert.h +++ b/Eigen/src/Core/util/StaticAssert.h @@ -24,6 +24,7 @@ * */ +#ifndef EIGEN_STATIC_ASSERT #ifndef EIGEN_NO_STATIC_ASSERT #if EIGEN_MAX_CPP_VER>=11 && (__has_feature(cxx_static_assert) || (defined(__cplusplus) && __cplusplus >= 201103L) || (EIGEN_COMP_MSVC >= 1600)) @@ -44,64 +45,65 @@ struct static_assertion { enum { - YOU_TRIED_CALLING_A_VECTOR_METHOD_ON_A_MATRIX, - YOU_MIXED_VECTORS_OF_DIFFERENT_SIZES, - YOU_MIXED_MATRICES_OF_DIFFERENT_SIZES, - THIS_METHOD_IS_ONLY_FOR_VECTORS_OF_A_SPECIFIC_SIZE, - THIS_METHOD_IS_ONLY_FOR_MATRICES_OF_A_SPECIFIC_SIZE, - THIS_METHOD_IS_ONLY_FOR_OBJECTS_OF_A_SPECIFIC_SIZE, - OUT_OF_RANGE_ACCESS, - YOU_MADE_A_PROGRAMMING_MISTAKE, - EIGEN_INTERNAL_ERROR_PLEASE_FILE_A_BUG_REPORT, - EIGEN_INTERNAL_COMPILATION_ERROR_OR_YOU_MADE_A_PROGRAMMING_MISTAKE, - YOU_CALLED_A_FIXED_SIZE_METHOD_ON_A_DYNAMIC_SIZE_MATRIX_OR_VECTOR, - YOU_CALLED_A_DYNAMIC_SIZE_METHOD_ON_A_FIXED_SIZE_MATRIX_OR_VECTOR, - UNALIGNED_LOAD_AND_STORE_OPERATIONS_UNIMPLEMENTED_ON_ALTIVEC, - THIS_FUNCTION_IS_NOT_FOR_INTEGER_NUMERIC_TYPES, - FLOATING_POINT_ARGUMENT_PASSED__INTEGER_WAS_EXPECTED, - NUMERIC_TYPE_MUST_BE_REAL, - COEFFICIENT_WRITE_ACCESS_TO_SELFADJOINT_NOT_SUPPORTED, - WRITING_TO_TRIANGULAR_PART_WITH_UNIT_DIAGONAL_IS_NOT_SUPPORTED, - THIS_METHOD_IS_ONLY_FOR_FIXED_SIZE, - INVALID_MATRIX_PRODUCT, - INVALID_VECTOR_VECTOR_PRODUCT__IF_YOU_WANTED_A_DOT_OR_COEFF_WISE_PRODUCT_YOU_MUST_USE_THE_EXPLICIT_FUNCTIONS, - INVALID_MATRIX_PRODUCT__IF_YOU_WANTED_A_COEFF_WISE_PRODUCT_YOU_MUST_USE_THE_EXPLICIT_FUNCTION, - YOU_MIXED_DIFFERENT_NUMERIC_TYPES__YOU_NEED_TO_USE_THE_CAST_METHOD_OF_MATRIXBASE_TO_CAST_NUMERIC_TYPES_EXPLICITLY, - THIS_METHOD_IS_ONLY_FOR_COLUMN_MAJOR_MATRICES, - THIS_METHOD_IS_ONLY_FOR_ROW_MAJOR_MATRICES, - INVALID_MATRIX_TEMPLATE_PARAMETERS, - INVALID_MATRIXBASE_TEMPLATE_PARAMETERS, - BOTH_MATRICES_MUST_HAVE_THE_SAME_STORAGE_ORDER, - THIS_METHOD_IS_ONLY_FOR_DIAGONAL_MATRIX, - THE_MATRIX_OR_EXPRESSION_THAT_YOU_PASSED_DOES_NOT_HAVE_THE_EXPECTED_TYPE, - THIS_METHOD_IS_ONLY_FOR_EXPRESSIONS_WITH_DIRECT_MEMORY_ACCESS_SUCH_AS_MAP_OR_PLAIN_MATRICES, - YOU_ALREADY_SPECIFIED_THIS_STRIDE, - INVALID_STORAGE_ORDER_FOR_THIS_VECTOR_EXPRESSION, - THE_BRACKET_OPERATOR_IS_ONLY_FOR_VECTORS__USE_THE_PARENTHESIS_OPERATOR_INSTEAD, - PACKET_ACCESS_REQUIRES_TO_HAVE_INNER_STRIDE_FIXED_TO_1, - THIS_METHOD_IS_ONLY_FOR_SPECIFIC_TRANSFORMATIONS, - YOU_CANNOT_MIX_ARRAYS_AND_MATRICES, - YOU_PERFORMED_AN_INVALID_TRANSFORMATION_CONVERSION, - THIS_EXPRESSION_IS_NOT_A_LVALUE__IT_IS_READ_ONLY, - YOU_ARE_TRYING_TO_USE_AN_INDEX_BASED_ACCESSOR_ON_AN_EXPRESSION_THAT_DOES_NOT_SUPPORT_THAT, - THIS_METHOD_IS_ONLY_FOR_1x1_EXPRESSIONS, - THIS_METHOD_IS_ONLY_FOR_INNER_OR_LAZY_PRODUCTS, - THIS_METHOD_IS_ONLY_FOR_EXPRESSIONS_OF_BOOL, - THIS_METHOD_IS_ONLY_FOR_ARRAYS_NOT_MATRICES, - YOU_PASSED_A_ROW_VECTOR_BUT_A_COLUMN_VECTOR_WAS_EXPECTED, - YOU_PASSED_A_COLUMN_VECTOR_BUT_A_ROW_VECTOR_WAS_EXPECTED, - THE_INDEX_TYPE_MUST_BE_A_SIGNED_TYPE, - THE_STORAGE_ORDER_OF_BOTH_SIDES_MUST_MATCH, - OBJECT_ALLOCATED_ON_STACK_IS_TOO_BIG, - IMPLICIT_CONVERSION_TO_SCALAR_IS_FOR_INNER_PRODUCT_ONLY, - STORAGE_LAYOUT_DOES_NOT_MATCH, - EIGEN_INTERNAL_ERROR_PLEASE_FILE_A_BUG_REPORT__INVALID_COST_VALUE, - THIS_COEFFICIENT_ACCESSOR_TAKING_ONE_ACCESS_IS_ONLY_FOR_EXPRESSIONS_ALLOWING_LINEAR_ACCESS, - MATRIX_FREE_CONJUGATE_GRADIENT_IS_COMPATIBLE_WITH_UPPER_UNION_LOWER_MODE_ONLY, - THIS_TYPE_IS_NOT_SUPPORTED, - STORAGE_KIND_MUST_MATCH, - STORAGE_INDEX_MUST_MATCH, - CHOLMOD_SUPPORTS_DOUBLE_PRECISION_ONLY + YOU_TRIED_CALLING_A_VECTOR_METHOD_ON_A_MATRIX=1, + YOU_MIXED_VECTORS_OF_DIFFERENT_SIZES=1, + YOU_MIXED_MATRICES_OF_DIFFERENT_SIZES=1, + THIS_METHOD_IS_ONLY_FOR_VECTORS_OF_A_SPECIFIC_SIZE=1, + THIS_METHOD_IS_ONLY_FOR_MATRICES_OF_A_SPECIFIC_SIZE=1, + THIS_METHOD_IS_ONLY_FOR_OBJECTS_OF_A_SPECIFIC_SIZE=1, + OUT_OF_RANGE_ACCESS=1, + YOU_MADE_A_PROGRAMMING_MISTAKE=1, + EIGEN_INTERNAL_ERROR_PLEASE_FILE_A_BUG_REPORT=1, + EIGEN_INTERNAL_COMPILATION_ERROR_OR_YOU_MADE_A_PROGRAMMING_MISTAKE=1, + YOU_CALLED_A_FIXED_SIZE_METHOD_ON_A_DYNAMIC_SIZE_MATRIX_OR_VECTOR=1, + YOU_CALLED_A_DYNAMIC_SIZE_METHOD_ON_A_FIXED_SIZE_MATRIX_OR_VECTOR=1, + UNALIGNED_LOAD_AND_STORE_OPERATIONS_UNIMPLEMENTED_ON_ALTIVEC=1, + THIS_FUNCTION_IS_NOT_FOR_INTEGER_NUMERIC_TYPES=1, + FLOATING_POINT_ARGUMENT_PASSED__INTEGER_WAS_EXPECTED=1, + NUMERIC_TYPE_MUST_BE_REAL=1, + COEFFICIENT_WRITE_ACCESS_TO_SELFADJOINT_NOT_SUPPORTED=1, + WRITING_TO_TRIANGULAR_PART_WITH_UNIT_DIAGONAL_IS_NOT_SUPPORTED=1, + THIS_METHOD_IS_ONLY_FOR_FIXED_SIZE=1, + INVALID_MATRIX_PRODUCT=1, + INVALID_VECTOR_VECTOR_PRODUCT__IF_YOU_WANTED_A_DOT_OR_COEFF_WISE_PRODUCT_YOU_MUST_USE_THE_EXPLICIT_FUNCTIONS=1, + INVALID_MATRIX_PRODUCT__IF_YOU_WANTED_A_COEFF_WISE_PRODUCT_YOU_MUST_USE_THE_EXPLICIT_FUNCTION=1, + YOU_MIXED_DIFFERENT_NUMERIC_TYPES__YOU_NEED_TO_USE_THE_CAST_METHOD_OF_MATRIXBASE_TO_CAST_NUMERIC_TYPES_EXPLICITLY=1, + THIS_METHOD_IS_ONLY_FOR_COLUMN_MAJOR_MATRICES=1, + THIS_METHOD_IS_ONLY_FOR_ROW_MAJOR_MATRICES=1, + INVALID_MATRIX_TEMPLATE_PARAMETERS=1, + INVALID_MATRIXBASE_TEMPLATE_PARAMETERS=1, + BOTH_MATRICES_MUST_HAVE_THE_SAME_STORAGE_ORDER=1, + THIS_METHOD_IS_ONLY_FOR_DIAGONAL_MATRIX=1, + THE_MATRIX_OR_EXPRESSION_THAT_YOU_PASSED_DOES_NOT_HAVE_THE_EXPECTED_TYPE=1, + THIS_METHOD_IS_ONLY_FOR_EXPRESSIONS_WITH_DIRECT_MEMORY_ACCESS_SUCH_AS_MAP_OR_PLAIN_MATRICES=1, + YOU_ALREADY_SPECIFIED_THIS_STRIDE=1, + INVALID_STORAGE_ORDER_FOR_THIS_VECTOR_EXPRESSION=1, + THE_BRACKET_OPERATOR_IS_ONLY_FOR_VECTORS__USE_THE_PARENTHESIS_OPERATOR_INSTEAD=1, + PACKET_ACCESS_REQUIRES_TO_HAVE_INNER_STRIDE_FIXED_TO_1=1, + THIS_METHOD_IS_ONLY_FOR_SPECIFIC_TRANSFORMATIONS=1, + YOU_CANNOT_MIX_ARRAYS_AND_MATRICES=1, + YOU_PERFORMED_AN_INVALID_TRANSFORMATION_CONVERSION=1, + THIS_EXPRESSION_IS_NOT_A_LVALUE__IT_IS_READ_ONLY=1, + YOU_ARE_TRYING_TO_USE_AN_INDEX_BASED_ACCESSOR_ON_AN_EXPRESSION_THAT_DOES_NOT_SUPPORT_THAT=1, + THIS_METHOD_IS_ONLY_FOR_1x1_EXPRESSIONS=1, + THIS_METHOD_IS_ONLY_FOR_INNER_OR_LAZY_PRODUCTS=1, + THIS_METHOD_IS_ONLY_FOR_EXPRESSIONS_OF_BOOL=1, + THIS_METHOD_IS_ONLY_FOR_ARRAYS_NOT_MATRICES=1, + YOU_PASSED_A_ROW_VECTOR_BUT_A_COLUMN_VECTOR_WAS_EXPECTED=1, + YOU_PASSED_A_COLUMN_VECTOR_BUT_A_ROW_VECTOR_WAS_EXPECTED=1, + THE_INDEX_TYPE_MUST_BE_A_SIGNED_TYPE=1, + THE_STORAGE_ORDER_OF_BOTH_SIDES_MUST_MATCH=1, + OBJECT_ALLOCATED_ON_STACK_IS_TOO_BIG=1, + IMPLICIT_CONVERSION_TO_SCALAR_IS_FOR_INNER_PRODUCT_ONLY=1, + STORAGE_LAYOUT_DOES_NOT_MATCH=1, + EIGEN_INTERNAL_ERROR_PLEASE_FILE_A_BUG_REPORT__INVALID_COST_VALUE=1, + THIS_COEFFICIENT_ACCESSOR_TAKING_ONE_ACCESS_IS_ONLY_FOR_EXPRESSIONS_ALLOWING_LINEAR_ACCESS=1, + MATRIX_FREE_CONJUGATE_GRADIENT_IS_COMPATIBLE_WITH_UPPER_UNION_LOWER_MODE_ONLY=1, + THIS_TYPE_IS_NOT_SUPPORTED=1, + STORAGE_KIND_MUST_MATCH=1, + STORAGE_INDEX_MUST_MATCH=1, + CHOLMOD_SUPPORTS_DOUBLE_PRECISION_ONLY=1, + SELFADJOINTVIEW_ACCEPTS_UPPER_AND_LOWER_MODE_ONLY=1 }; }; @@ -131,7 +133,7 @@ #define EIGEN_STATIC_ASSERT(CONDITION,MSG) eigen_assert((CONDITION) && #MSG); #endif // EIGEN_NO_STATIC_ASSERT - +#endif // EIGEN_STATIC_ASSERT // static assertion failing if the type \a TYPE is not a vector type #define EIGEN_STATIC_ASSERT_VECTOR_ONLY(TYPE) \ diff --git a/Eigen/src/Eigenvalues/GeneralizedEigenSolver.h b/Eigen/src/Eigenvalues/GeneralizedEigenSolver.h index 36a91df..87d789b 100644 --- a/Eigen/src/Eigenvalues/GeneralizedEigenSolver.h +++ b/Eigen/src/Eigenvalues/GeneralizedEigenSolver.h @@ -311,7 +311,6 @@ GeneralizedEigenSolver::compute(const MatrixType& A, const MatrixTyp // Aliases: Map v(reinterpret_cast(m_tmp.data()), size); ComplexVectorType &cv = m_tmp; - const MatrixType &mZ = m_realQZ.matrixZ(); const MatrixType &mS = m_realQZ.matrixS(); const MatrixType &mT = m_realQZ.matrixT(); @@ -351,7 +350,7 @@ GeneralizedEigenSolver::compute(const MatrixType& A, const MatrixTyp } } } - m_eivec.col(i).real().noalias() = mZ.transpose() * v; + m_eivec.col(i).real().noalias() = m_realQZ.matrixZ().transpose() * v; m_eivec.col(i).real().normalize(); m_eivec.col(i).imag().setConstant(0); } @@ -400,7 +399,7 @@ GeneralizedEigenSolver::compute(const MatrixType& A, const MatrixTyp / (alpha*mT.coeffRef(j,j) - static_cast(beta*mS.coeffRef(j,j))); } } - m_eivec.col(i+1).noalias() = (mZ.transpose() * cv); + m_eivec.col(i+1).noalias() = (m_realQZ.matrixZ().transpose() * cv); m_eivec.col(i+1).normalize(); m_eivec.col(i) = m_eivec.col(i+1).conjugate(); } diff --git a/Eigen/src/Eigenvalues/RealSchur.h b/Eigen/src/Eigenvalues/RealSchur.h index f5c8604..17ea903 100644 --- a/Eigen/src/Eigenvalues/RealSchur.h +++ b/Eigen/src/Eigenvalues/RealSchur.h @@ -303,7 +303,7 @@ RealSchur& RealSchur::computeFromHessenberg(const HessMa Scalar exshift(0); // sum of exceptional shifts Scalar norm = computeNormOfT(); - if(norm!=0) + if(norm!=Scalar(0)) { while (iu >= 0) { @@ -327,7 +327,7 @@ RealSchur& RealSchur::computeFromHessenberg(const HessMa else // No convergence yet { // The firstHouseholderVector vector has to be initialized to something to get rid of a silly GCC warning (-O1 -Wall -DNDEBUG ) - Vector3s firstHouseholderVector(0,0,0), shiftInfo; + Vector3s firstHouseholderVector = Vector3s::Zero(), shiftInfo; computeShift(iu, iter, exshift, shiftInfo); iter = iter + 1; totalIter = totalIter + 1; diff --git a/Eigen/src/Eigenvalues/SelfAdjointEigenSolver_LAPACKE.h b/Eigen/src/Eigenvalues/SelfAdjointEigenSolver_LAPACKE.h index 3891cf8..b0c947d 100644 --- a/Eigen/src/Eigenvalues/SelfAdjointEigenSolver_LAPACKE.h +++ b/Eigen/src/Eigenvalues/SelfAdjointEigenSolver_LAPACKE.h @@ -37,7 +37,7 @@ namespace Eigen { /** \internal Specialization for the data types supported by LAPACKe */ -#define EIGEN_LAPACKE_EIG_SELFADJ(EIGTYPE, LAPACKE_TYPE, LAPACKE_RTYPE, LAPACKE_NAME, EIGCOLROW, LAPACKE_COLROW ) \ +#define EIGEN_LAPACKE_EIG_SELFADJ_2(EIGTYPE, LAPACKE_TYPE, LAPACKE_RTYPE, LAPACKE_NAME, EIGCOLROW ) \ template<> template inline \ SelfAdjointEigenSolver >& \ SelfAdjointEigenSolver >::compute(const EigenBase& matrix, int options) \ @@ -47,7 +47,7 @@ SelfAdjointEigenSolver >::compute(c && (options&EigVecMask)!=EigVecMask \ && "invalid option parameter"); \ bool computeEigenvectors = (options&ComputeEigenvectors)==ComputeEigenvectors; \ - lapack_int n = internal::convert_index(matrix.cols()), lda, matrix_order, info; \ + lapack_int n = internal::convert_index(matrix.cols()), lda, info; \ m_eivalues.resize(n,1); \ m_subdiag.resize(n-1); \ m_eivec = matrix; \ @@ -63,27 +63,24 @@ SelfAdjointEigenSolver >::compute(c } \ \ lda = internal::convert_index(m_eivec.outerStride()); \ - matrix_order=LAPACKE_COLROW; \ char jobz, uplo='L'/*, range='A'*/; \ jobz = computeEigenvectors ? 'V' : 'N'; \ \ - info = LAPACKE_##LAPACKE_NAME( matrix_order, jobz, uplo, n, (LAPACKE_TYPE*)m_eivec.data(), lda, (LAPACKE_RTYPE*)m_eivalues.data() ); \ + info = LAPACKE_##LAPACKE_NAME( LAPACK_COL_MAJOR, jobz, uplo, n, (LAPACKE_TYPE*)m_eivec.data(), lda, (LAPACKE_RTYPE*)m_eivalues.data() ); \ m_info = (info==0) ? Success : NoConvergence; \ m_isInitialized = true; \ m_eigenvectorsOk = computeEigenvectors; \ return *this; \ } +#define EIGEN_LAPACKE_EIG_SELFADJ(EIGTYPE, LAPACKE_TYPE, LAPACKE_RTYPE, LAPACKE_NAME ) \ + EIGEN_LAPACKE_EIG_SELFADJ_2(EIGTYPE, LAPACKE_TYPE, LAPACKE_RTYPE, LAPACKE_NAME, ColMajor ) \ + EIGEN_LAPACKE_EIG_SELFADJ_2(EIGTYPE, LAPACKE_TYPE, LAPACKE_RTYPE, LAPACKE_NAME, RowMajor ) -EIGEN_LAPACKE_EIG_SELFADJ(double, double, double, dsyev, ColMajor, LAPACK_COL_MAJOR) -EIGEN_LAPACKE_EIG_SELFADJ(float, float, float, ssyev, ColMajor, LAPACK_COL_MAJOR) -EIGEN_LAPACKE_EIG_SELFADJ(dcomplex, lapack_complex_double, double, zheev, ColMajor, LAPACK_COL_MAJOR) -EIGEN_LAPACKE_EIG_SELFADJ(scomplex, lapack_complex_float, float, cheev, ColMajor, LAPACK_COL_MAJOR) - -EIGEN_LAPACKE_EIG_SELFADJ(double, double, double, dsyev, RowMajor, LAPACK_ROW_MAJOR) -EIGEN_LAPACKE_EIG_SELFADJ(float, float, float, ssyev, RowMajor, LAPACK_ROW_MAJOR) -EIGEN_LAPACKE_EIG_SELFADJ(dcomplex, lapack_complex_double, double, zheev, RowMajor, LAPACK_ROW_MAJOR) -EIGEN_LAPACKE_EIG_SELFADJ(scomplex, lapack_complex_float, float, cheev, RowMajor, LAPACK_ROW_MAJOR) +EIGEN_LAPACKE_EIG_SELFADJ(double, double, double, dsyev) +EIGEN_LAPACKE_EIG_SELFADJ(float, float, float, ssyev) +EIGEN_LAPACKE_EIG_SELFADJ(dcomplex, lapack_complex_double, double, zheev) +EIGEN_LAPACKE_EIG_SELFADJ(scomplex, lapack_complex_float, float, cheev) } // end namespace Eigen diff --git a/Eigen/src/Geometry/AngleAxis.h b/Eigen/src/Geometry/AngleAxis.h index 0af3c1b..83ee1be 100644 --- a/Eigen/src/Geometry/AngleAxis.h +++ b/Eigen/src/Geometry/AngleAxis.h @@ -178,7 +178,7 @@ EIGEN_DEVICE_FUNC AngleAxis& AngleAxis::operator=(const Quaterni if (n != Scalar(0)) { m_angle = Scalar(2)*atan2(n, abs(q.w())); - if(q.w() < 0) + if(q.w() < Scalar(0)) n = -n; m_axis = q.vec() / n; } diff --git a/Eigen/src/Geometry/Quaternion.h b/Eigen/src/Geometry/Quaternion.h index 3e5a9ba..c3fd8c3 100644 --- a/Eigen/src/Geometry/Quaternion.h +++ b/Eigen/src/Geometry/Quaternion.h @@ -43,6 +43,11 @@ class QuaternionBase : public RotationBase typedef typename internal::traits::Scalar Scalar; typedef typename NumTraits::Real RealScalar; typedef typename internal::traits::Coefficients Coefficients; + typedef typename Coefficients::CoeffReturnType CoeffReturnType; + typedef typename internal::conditional::Flags&LvalueBit), + Scalar&, CoeffReturnType>::type NonConstCoeffReturnType; + + enum { Flags = Eigen::internal::traits::Flags }; @@ -58,22 +63,22 @@ class QuaternionBase : public RotationBase /** \returns the \c x coefficient */ - EIGEN_DEVICE_FUNC inline Scalar x() const { return this->derived().coeffs().coeff(0); } + EIGEN_DEVICE_FUNC inline CoeffReturnType x() const { return this->derived().coeffs().coeff(0); } /** \returns the \c y coefficient */ - EIGEN_DEVICE_FUNC inline Scalar y() const { return this->derived().coeffs().coeff(1); } + EIGEN_DEVICE_FUNC inline CoeffReturnType y() const { return this->derived().coeffs().coeff(1); } /** \returns the \c z coefficient */ - EIGEN_DEVICE_FUNC inline Scalar z() const { return this->derived().coeffs().coeff(2); } + EIGEN_DEVICE_FUNC inline CoeffReturnType z() const { return this->derived().coeffs().coeff(2); } /** \returns the \c w coefficient */ - EIGEN_DEVICE_FUNC inline Scalar w() const { return this->derived().coeffs().coeff(3); } + EIGEN_DEVICE_FUNC inline CoeffReturnType w() const { return this->derived().coeffs().coeff(3); } - /** \returns a reference to the \c x coefficient */ - EIGEN_DEVICE_FUNC inline Scalar& x() { return this->derived().coeffs().coeffRef(0); } - /** \returns a reference to the \c y coefficient */ - EIGEN_DEVICE_FUNC inline Scalar& y() { return this->derived().coeffs().coeffRef(1); } - /** \returns a reference to the \c z coefficient */ - EIGEN_DEVICE_FUNC inline Scalar& z() { return this->derived().coeffs().coeffRef(2); } - /** \returns a reference to the \c w coefficient */ - EIGEN_DEVICE_FUNC inline Scalar& w() { return this->derived().coeffs().coeffRef(3); } + /** \returns a reference to the \c x coefficient (if Derived is a non-const lvalue) */ + EIGEN_DEVICE_FUNC inline NonConstCoeffReturnType x() { return this->derived().coeffs().x(); } + /** \returns a reference to the \c y coefficient (if Derived is a non-const lvalue) */ + EIGEN_DEVICE_FUNC inline NonConstCoeffReturnType y() { return this->derived().coeffs().y(); } + /** \returns a reference to the \c z coefficient (if Derived is a non-const lvalue) */ + EIGEN_DEVICE_FUNC inline NonConstCoeffReturnType z() { return this->derived().coeffs().z(); } + /** \returns a reference to the \c w coefficient (if Derived is a non-const lvalue) */ + EIGEN_DEVICE_FUNC inline NonConstCoeffReturnType w() { return this->derived().coeffs().w(); } /** \returns a read-only vector expression of the imaginary part (x,y,z) */ EIGEN_DEVICE_FUNC inline const VectorBlock vec() const { return coeffs().template head<3>(); } diff --git a/Eigen/src/IterativeLinearSolvers/BasicPreconditioners.h b/Eigen/src/IterativeLinearSolvers/BasicPreconditioners.h index facdaf8..f66c846 100644 --- a/Eigen/src/IterativeLinearSolvers/BasicPreconditioners.h +++ b/Eigen/src/IterativeLinearSolvers/BasicPreconditioners.h @@ -168,7 +168,7 @@ class LeastSquareDiagonalPreconditioner : public DiagonalPreconditioner<_Scalar> { for(Index j=0; jRealScalar(0)) m_invdiag(j) = RealScalar(1)/sum; else diff --git a/Eigen/src/Jacobi/Jacobi.h b/Eigen/src/Jacobi/Jacobi.h index c30326e..437e666 100644 --- a/Eigen/src/Jacobi/Jacobi.h +++ b/Eigen/src/Jacobi/Jacobi.h @@ -298,16 +298,144 @@ inline void MatrixBase::applyOnTheRight(Index p, Index q, const JacobiR } namespace internal { + +template +struct apply_rotation_in_the_plane_selector +{ + static inline void run(Scalar *x, Index incrx, Scalar *y, Index incry, Index size, OtherScalar c, OtherScalar s) + { + for(Index i=0; i +struct apply_rotation_in_the_plane_selector +{ + static inline void run(Scalar *x, Index incrx, Scalar *y, Index incry, Index size, OtherScalar c, OtherScalar s) + { + enum { + PacketSize = packet_traits::size, + OtherPacketSize = packet_traits::size + }; + typedef typename packet_traits::type Packet; + typedef typename packet_traits::type OtherPacket; + + /*** dynamic-size vectorized paths ***/ + if(SizeAtCompileTime == Dynamic && ((incrx==1 && incry==1) || PacketSize == 1)) + { + // both vectors are sequentially stored in memory => vectorization + enum { Peeling = 2 }; + + Index alignedStart = internal::first_default_aligned(y, size); + Index alignedEnd = alignedStart + ((size-alignedStart)/PacketSize)*PacketSize; + + const OtherPacket pc = pset1(c); + const OtherPacket ps = pset1(s); + conj_helper::IsComplex,false> pcj; + conj_helper pm; + + for(Index i=0; i(px); + Packet yi = pload(py); + pstore(px, padd(pm.pmul(pc,xi),pcj.pmul(ps,yi))); + pstore(py, psub(pcj.pmul(pc,yi),pm.pmul(ps,xi))); + px += PacketSize; + py += PacketSize; + } + } + else + { + Index peelingEnd = alignedStart + ((size-alignedStart)/(Peeling*PacketSize))*(Peeling*PacketSize); + for(Index i=alignedStart; i(px); + Packet xi1 = ploadu(px+PacketSize); + Packet yi = pload (py); + Packet yi1 = pload (py+PacketSize); + pstoreu(px, padd(pm.pmul(pc,xi),pcj.pmul(ps,yi))); + pstoreu(px+PacketSize, padd(pm.pmul(pc,xi1),pcj.pmul(ps,yi1))); + pstore (py, psub(pcj.pmul(pc,yi),pm.pmul(ps,xi))); + pstore (py+PacketSize, psub(pcj.pmul(pc,yi1),pm.pmul(ps,xi1))); + px += Peeling*PacketSize; + py += Peeling*PacketSize; + } + if(alignedEnd!=peelingEnd) + { + Packet xi = ploadu(x+peelingEnd); + Packet yi = pload (y+peelingEnd); + pstoreu(x+peelingEnd, padd(pm.pmul(pc,xi),pcj.pmul(ps,yi))); + pstore (y+peelingEnd, psub(pcj.pmul(pc,yi),pm.pmul(ps,xi))); + } + } + + for(Index i=alignedEnd; i0) // FIXME should be compared to the required alignment + { + const OtherPacket pc = pset1(c); + const OtherPacket ps = pset1(s); + conj_helper::IsComplex,false> pcj; + conj_helper pm; + Scalar* EIGEN_RESTRICT px = x; + Scalar* EIGEN_RESTRICT py = y; + for(Index i=0; i(px); + Packet yi = pload(py); + pstore(px, padd(pm.pmul(pc,xi),pcj.pmul(ps,yi))); + pstore(py, psub(pcj.pmul(pc,yi),pm.pmul(ps,xi))); + px += PacketSize; + py += PacketSize; + } + } + + /*** non-vectorized path ***/ + else + { + apply_rotation_in_the_plane_selector::run(x,incrx,y,incry,size,c,s); + } + } +}; + template void /*EIGEN_DONT_INLINE*/ apply_rotation_in_the_plane(DenseBase& xpr_x, DenseBase& xpr_y, const JacobiRotation& j) { typedef typename VectorX::Scalar Scalar; - enum { - PacketSize = packet_traits::size, - OtherPacketSize = packet_traits::size - }; - typedef typename packet_traits::type Packet; - typedef typename packet_traits::type OtherPacket; + const bool Vectorizable = (VectorX::Flags & VectorY::Flags & PacketAccessBit) + && (int(packet_traits::size) == int(packet_traits::size)); + eigen_assert(xpr_x.size() == xpr_y.size()); Index size = xpr_x.size(); Index incrx = xpr_x.derived().innerStride(); @@ -321,117 +449,11 @@ void /*EIGEN_DONT_INLINE*/ apply_rotation_in_the_plane(DenseBase& xpr_x if (c==OtherScalar(1) && s==OtherScalar(0)) return; - /*** dynamic-size vectorized paths ***/ - - if(VectorX::SizeAtCompileTime == Dynamic && - (VectorX::Flags & VectorY::Flags & PacketAccessBit) && - (PacketSize == OtherPacketSize) && - ((incrx==1 && incry==1) || PacketSize == 1)) - { - // both vectors are sequentially stored in memory => vectorization - enum { Peeling = 2 }; - - Index alignedStart = internal::first_default_aligned(y, size); - Index alignedEnd = alignedStart + ((size-alignedStart)/PacketSize)*PacketSize; - - const OtherPacket pc = pset1(c); - const OtherPacket ps = pset1(s); - conj_helper::IsComplex,false> pcj; - conj_helper pm; - - for(Index i=0; i(px); - Packet yi = pload(py); - pstore(px, padd(pm.pmul(pc,xi),pcj.pmul(ps,yi))); - pstore(py, psub(pcj.pmul(pc,yi),pm.pmul(ps,xi))); - px += PacketSize; - py += PacketSize; - } - } - else - { - Index peelingEnd = alignedStart + ((size-alignedStart)/(Peeling*PacketSize))*(Peeling*PacketSize); - for(Index i=alignedStart; i(px); - Packet xi1 = ploadu(px+PacketSize); - Packet yi = pload (py); - Packet yi1 = pload (py+PacketSize); - pstoreu(px, padd(pm.pmul(pc,xi),pcj.pmul(ps,yi))); - pstoreu(px+PacketSize, padd(pm.pmul(pc,xi1),pcj.pmul(ps,yi1))); - pstore (py, psub(pcj.pmul(pc,yi),pm.pmul(ps,xi))); - pstore (py+PacketSize, psub(pcj.pmul(pc,yi1),pm.pmul(ps,xi1))); - px += Peeling*PacketSize; - py += Peeling*PacketSize; - } - if(alignedEnd!=peelingEnd) - { - Packet xi = ploadu(x+peelingEnd); - Packet yi = pload (y+peelingEnd); - pstoreu(x+peelingEnd, padd(pm.pmul(pc,xi),pcj.pmul(ps,yi))); - pstore (y+peelingEnd, psub(pcj.pmul(pc,yi),pm.pmul(ps,xi))); - } - } - - for(Index i=alignedEnd; i::Alignment, evaluator::Alignment)>0)) // FIXME should be compared to the required alignment - { - const OtherPacket pc = pset1(c); - const OtherPacket ps = pset1(s); - conj_helper::IsComplex,false> pcj; - conj_helper pm; - Scalar* EIGEN_RESTRICT px = x; - Scalar* EIGEN_RESTRICT py = y; - for(Index i=0; i(px); - Packet yi = pload(py); - pstore(px, padd(pm.pmul(pc,xi),pcj.pmul(ps,yi))); - pstore(py, psub(pcj.pmul(pc,yi),pm.pmul(ps,xi))); - px += PacketSize; - py += PacketSize; - } - } - - /*** non-vectorized path ***/ - else - { - for(Index i=0; i::Alignment, evaluator::Alignment), + Vectorizable>::run(x,incrx,y,incry,size,c,s); } } // end namespace internal diff --git a/Eigen/src/LU/InverseImpl.h b/Eigen/src/LU/InverseImpl.h index 018f99b..f49f233 100644 --- a/Eigen/src/LU/InverseImpl.h +++ b/Eigen/src/LU/InverseImpl.h @@ -404,7 +404,7 @@ inline void MatrixBase::computeInverseWithCheck( const RealScalar& absDeterminantThreshold ) const { - RealScalar determinant; + Scalar determinant; // i'd love to put some static assertions there, but SFINAE means that they have no effect... eigen_assert(rows() == cols()); computeInverseAndDetWithCheck(inverse,determinant,invertible,absDeterminantThreshold); diff --git a/Eigen/src/PaStiXSupport/PaStiXSupport.h b/Eigen/src/PaStiXSupport/PaStiXSupport.h index d2ebfd7..160d8a5 100644 --- a/Eigen/src/PaStiXSupport/PaStiXSupport.h +++ b/Eigen/src/PaStiXSupport/PaStiXSupport.h @@ -64,28 +64,28 @@ namespace internal typedef typename _MatrixType::StorageIndex StorageIndex; }; - void eigen_pastix(pastix_data_t **pastix_data, int pastix_comm, int n, int *ptr, int *idx, float *vals, int *perm, int * invp, float *x, int nbrhs, int *iparm, double *dparm) + inline void eigen_pastix(pastix_data_t **pastix_data, int pastix_comm, int n, int *ptr, int *idx, float *vals, int *perm, int * invp, float *x, int nbrhs, int *iparm, double *dparm) { if (n == 0) { ptr = NULL; idx = NULL; vals = NULL; } if (nbrhs == 0) {x = NULL; nbrhs=1;} s_pastix(pastix_data, pastix_comm, n, ptr, idx, vals, perm, invp, x, nbrhs, iparm, dparm); } - void eigen_pastix(pastix_data_t **pastix_data, int pastix_comm, int n, int *ptr, int *idx, double *vals, int *perm, int * invp, double *x, int nbrhs, int *iparm, double *dparm) + inline void eigen_pastix(pastix_data_t **pastix_data, int pastix_comm, int n, int *ptr, int *idx, double *vals, int *perm, int * invp, double *x, int nbrhs, int *iparm, double *dparm) { if (n == 0) { ptr = NULL; idx = NULL; vals = NULL; } if (nbrhs == 0) {x = NULL; nbrhs=1;} d_pastix(pastix_data, pastix_comm, n, ptr, idx, vals, perm, invp, x, nbrhs, iparm, dparm); } - void eigen_pastix(pastix_data_t **pastix_data, int pastix_comm, int n, int *ptr, int *idx, std::complex *vals, int *perm, int * invp, std::complex *x, int nbrhs, int *iparm, double *dparm) + inline void eigen_pastix(pastix_data_t **pastix_data, int pastix_comm, int n, int *ptr, int *idx, std::complex *vals, int *perm, int * invp, std::complex *x, int nbrhs, int *iparm, double *dparm) { if (n == 0) { ptr = NULL; idx = NULL; vals = NULL; } if (nbrhs == 0) {x = NULL; nbrhs=1;} c_pastix(pastix_data, pastix_comm, n, ptr, idx, reinterpret_cast(vals), perm, invp, reinterpret_cast(x), nbrhs, iparm, dparm); } - void eigen_pastix(pastix_data_t **pastix_data, int pastix_comm, int n, int *ptr, int *idx, std::complex *vals, int *perm, int * invp, std::complex *x, int nbrhs, int *iparm, double *dparm) + inline void eigen_pastix(pastix_data_t **pastix_data, int pastix_comm, int n, int *ptr, int *idx, std::complex *vals, int *perm, int * invp, std::complex *x, int nbrhs, int *iparm, double *dparm) { if (n == 0) { ptr = NULL; idx = NULL; vals = NULL; } if (nbrhs == 0) {x = NULL; nbrhs=1;} diff --git a/Eigen/src/SVD/BDCSVD.h b/Eigen/src/SVD/BDCSVD.h index d7a4271..1134d66 100644 --- a/Eigen/src/SVD/BDCSVD.h +++ b/Eigen/src/SVD/BDCSVD.h @@ -11,7 +11,7 @@ // Copyright (C) 2013 Jean Ceccato // Copyright (C) 2013 Pierre Zoppitelli // Copyright (C) 2013 Jitse Niesen -// Copyright (C) 2014-2016 Gael Guennebaud +// Copyright (C) 2014-2017 Gael Guennebaud // // Source Code Form is subject to the terms of the Mozilla // Public License v. 2.0. If a copy of the MPL was not distributed @@ -696,7 +696,9 @@ typename BDCSVD::RealScalar BDCSVD::secularEq(RealScalar for(Index i=0; i::computeSingVals(const ArrayRef& col0, const ArrayRef& d { using std::abs; using std::swap; + using std::sqrt; Index n = col0.size(); Index actual_n = n; + // Note that here actual_n is computed based on col0(i)==0 instead of diag(i)==0 as above + // because 1) we have diag(i)==0 => col0(i)==0 and 2) if col0(i)==0, then diag(i) is already a singular value. while(actual_n>1 && col0(actual_n-1)==Literal(0)) --actual_n; for (Index k = 0; k < n; ++k) @@ -732,7 +737,9 @@ void BDCSVD::computeSingVals(const ArrayRef& col0, const ArrayRef& d right = (diag(actual_n-1) + col0.matrix().norm()); else { - // Skip deflated singular values + // Skip deflated singular values, + // recall that at this stage we assume that z[j]!=0 and all entries for which z[j]==0 have been put aside. + // This should be equivalent to using perm[] Index l = k+1; while(col0(l)==Literal(0)) { ++l; eigen_internal_assert(l::computeSingVals(const ArrayRef& col0, const ArrayRef& d RealScalar leftShifted, rightShifted; if (shift == left) { - leftShifted = (std::numeric_limits::min)(); + // to avoid overflow, we must have mu > max(real_min, |z(k)|/sqrt(real_max)), + // the factor 2 is to be more conservative + leftShifted = numext::maxi( (std::numeric_limits::min)(), Literal(2) * abs(col0(k)) / sqrt((std::numeric_limits::max)()) ); + + // check that we did it right: + eigen_internal_assert( (numext::isfinite)( (col0(k)/leftShifted)*(col0(k)/(diag(k)+shift+leftShifted)) ) ); // I don't understand why the case k==0 would be special there: - // if (k == 0) rightShifted = right - left; else - rightShifted = (k==actual_n-1) ? right : ((right - left) * RealScalar(0.6)); // theoretically we can take 0.5, but let's be safe + // if (k == 0) rightShifted = right - left; else + rightShifted = (k==actual_n-1) ? right : ((right - left) * RealScalar(0.51)); // theoretically we can take 0.5, but let's be safe } else { - leftShifted = -(right - left) * RealScalar(0.6); - rightShifted = -(std::numeric_limits::min)(); + leftShifted = -(right - left) * RealScalar(0.51); + if(k+1( (std::numeric_limits::min)(), abs(col0(k+1)) / sqrt((std::numeric_limits::max)()) ); + else + rightShifted = -(std::numeric_limits::min)(); } RealScalar fLeft = secularEq(leftShifted, col0, diag, perm, diagShifted, shift); @@ -980,7 +995,7 @@ void BDCSVD::deflation43(Index firstCol, Index shift, Index i, Index Index start = firstCol + shift; RealScalar c = m_computed(start, start); RealScalar s = m_computed(start+i, start); - RealScalar r = sqrt(numext::abs2(c) + numext::abs2(s)); + RealScalar r = numext::hypot(c,s); if (r == Literal(0)) { m_computed(start+i, start+i) = Literal(0); diff --git a/Eigen/src/SVD/JacobiSVD_LAPACKE.h b/Eigen/src/SVD/JacobiSVD_LAPACKE.h index 5027215..ff0516f 100644 --- a/Eigen/src/SVD/JacobiSVD_LAPACKE.h +++ b/Eigen/src/SVD/JacobiSVD_LAPACKE.h @@ -61,9 +61,10 @@ JacobiSVD, ColPiv u = (LAPACKE_TYPE*)m_matrixU.data(); \ } else { ldu=1; u=&dummy; }\ MatrixType localV; \ - ldvt = (m_computeFullV) ? internal::convert_index(m_cols) : (m_computeThinV) ? internal::convert_index(m_diagSize) : 1; \ + lapack_int vt_rows = (m_computeFullV) ? internal::convert_index(m_cols) : (m_computeThinV) ? internal::convert_index(m_diagSize) : 1; \ if (computeV()) { \ - localV.resize(ldvt, m_cols); \ + localV.resize(vt_rows, m_cols); \ + ldvt = internal::convert_index(localV.outerStride()); \ vt = (LAPACKE_TYPE*)localV.data(); \ } else { ldvt=1; vt=&dummy; }\ Matrix superb; superb.resize(m_diagSize, 1); \ diff --git a/Eigen/src/SparseCore/AmbiVector.h b/Eigen/src/SparseCore/AmbiVector.h index 8a5cc91..e0295f2 100644 --- a/Eigen/src/SparseCore/AmbiVector.h +++ b/Eigen/src/SparseCore/AmbiVector.h @@ -94,7 +94,7 @@ class AmbiVector Index allocSize = m_allocatedElements * sizeof(ListEl); allocSize = (allocSize + sizeof(Scalar) - 1)/sizeof(Scalar); Scalar* newBuffer = new Scalar[allocSize]; - memcpy(newBuffer, m_buffer, copyElements * sizeof(ListEl)); + std::memcpy(newBuffer, m_buffer, copyElements * sizeof(ListEl)); delete[] m_buffer; m_buffer = newBuffer; } diff --git a/Eigen/src/SparseCore/ConservativeSparseSparseProduct.h b/Eigen/src/SparseCore/ConservativeSparseSparseProduct.h index 492eb0a..9db119b 100644 --- a/Eigen/src/SparseCore/ConservativeSparseSparseProduct.h +++ b/Eigen/src/SparseCore/ConservativeSparseSparseProduct.h @@ -17,7 +17,9 @@ namespace internal { template static void conservative_sparse_sparse_product_impl(const Lhs& lhs, const Rhs& rhs, ResultType& res, bool sortedInsertion = false) { - typedef typename remove_all::type::Scalar Scalar; + typedef typename remove_all::type::Scalar LhsScalar; + typedef typename remove_all::type::Scalar RhsScalar; + typedef typename remove_all::type::Scalar ResScalar; // make sure to call innerSize/outerSize since we fake the storage order. Index rows = lhs.innerSize(); @@ -25,7 +27,7 @@ static void conservative_sparse_sparse_product_impl(const Lhs& lhs, const Rhs& r eigen_assert(lhs.outerSize() == rhs.innerSize()); ei_declare_aligned_stack_constructed_variable(bool, mask, rows, 0); - ei_declare_aligned_stack_constructed_variable(Scalar, values, rows, 0); + ei_declare_aligned_stack_constructed_variable(ResScalar, values, rows, 0); ei_declare_aligned_stack_constructed_variable(Index, indices, rows, 0); std::memset(mask,0,sizeof(bool)*rows); @@ -51,12 +53,12 @@ static void conservative_sparse_sparse_product_impl(const Lhs& lhs, const Rhs& r Index nnz = 0; for (typename evaluator::InnerIterator rhsIt(rhsEval, j); rhsIt; ++rhsIt) { - Scalar y = rhsIt.value(); + RhsScalar y = rhsIt.value(); Index k = rhsIt.index(); for (typename evaluator::InnerIterator lhsIt(lhsEval, k); lhsIt; ++lhsIt) { Index i = lhsIt.index(); - Scalar x = lhsIt.value(); + LhsScalar x = lhsIt.value(); if(!mask[i]) { mask[i] = true; @@ -166,11 +168,12 @@ struct conservative_sparse_sparse_product_selector RowMajorMatrix; - RowMajorMatrix rhsRow = rhs; - RowMajorMatrix resRow(lhs.rows(), rhs.cols()); - internal::conservative_sparse_sparse_product_impl(rhsRow, lhs, resRow); - res = resRow; + typedef SparseMatrix RowMajorRhs; + typedef SparseMatrix RowMajorRes; + RowMajorRhs rhsRow = rhs; + RowMajorRes resRow(lhs.rows(), rhs.cols()); + internal::conservative_sparse_sparse_product_impl(rhsRow, lhs, resRow); + res = resRow; } }; @@ -179,10 +182,11 @@ struct conservative_sparse_sparse_product_selector RowMajorMatrix; - RowMajorMatrix lhsRow = lhs; - RowMajorMatrix resRow(lhs.rows(), rhs.cols()); - internal::conservative_sparse_sparse_product_impl(rhs, lhsRow, resRow); + typedef SparseMatrix RowMajorLhs; + typedef SparseMatrix RowMajorRes; + RowMajorLhs lhsRow = lhs; + RowMajorRes resRow(lhs.rows(), rhs.cols()); + internal::conservative_sparse_sparse_product_impl(rhs, lhsRow, resRow); res = resRow; } }; @@ -219,10 +223,11 @@ struct conservative_sparse_sparse_product_selector ColMajorMatrix; - ColMajorMatrix lhsCol = lhs; - ColMajorMatrix resCol(lhs.rows(), rhs.cols()); - internal::conservative_sparse_sparse_product_impl(lhsCol, rhs, resCol); + typedef SparseMatrix ColMajorLhs; + typedef SparseMatrix ColMajorRes; + ColMajorLhs lhsCol = lhs; + ColMajorRes resCol(lhs.rows(), rhs.cols()); + internal::conservative_sparse_sparse_product_impl(lhsCol, rhs, resCol); res = resCol; } }; @@ -232,10 +237,11 @@ struct conservative_sparse_sparse_product_selector ColMajorMatrix; - ColMajorMatrix rhsCol = rhs; - ColMajorMatrix resCol(lhs.rows(), rhs.cols()); - internal::conservative_sparse_sparse_product_impl(lhs, rhsCol, resCol); + typedef SparseMatrix ColMajorRhs; + typedef SparseMatrix ColMajorRes; + ColMajorRhs rhsCol = rhs; + ColMajorRes resCol(lhs.rows(), rhs.cols()); + internal::conservative_sparse_sparse_product_impl(lhs, rhsCol, resCol); res = resCol; } }; @@ -263,7 +269,8 @@ namespace internal { template static void sparse_sparse_to_dense_product_impl(const Lhs& lhs, const Rhs& rhs, ResultType& res) { - typedef typename remove_all::type::Scalar Scalar; + typedef typename remove_all::type::Scalar LhsScalar; + typedef typename remove_all::type::Scalar RhsScalar; Index cols = rhs.outerSize(); eigen_assert(lhs.outerSize() == rhs.innerSize()); @@ -274,12 +281,12 @@ static void sparse_sparse_to_dense_product_impl(const Lhs& lhs, const Rhs& rhs, { for (typename evaluator::InnerIterator rhsIt(rhsEval, j); rhsIt; ++rhsIt) { - Scalar y = rhsIt.value(); + RhsScalar y = rhsIt.value(); Index k = rhsIt.index(); for (typename evaluator::InnerIterator lhsIt(lhsEval, k); lhsIt; ++lhsIt) { Index i = lhsIt.index(); - Scalar x = lhsIt.value(); + LhsScalar x = lhsIt.value(); res.coeffRef(i,j) += x * y; } } @@ -310,9 +317,9 @@ struct sparse_sparse_to_dense_product_selector ColMajorMatrix; - ColMajorMatrix lhsCol(lhs); - internal::sparse_sparse_to_dense_product_impl(lhsCol, rhs, res); + typedef SparseMatrix ColMajorLhs; + ColMajorLhs lhsCol(lhs); + internal::sparse_sparse_to_dense_product_impl(lhsCol, rhs, res); } }; @@ -321,9 +328,9 @@ struct sparse_sparse_to_dense_product_selector ColMajorMatrix; - ColMajorMatrix rhsCol(rhs); - internal::sparse_sparse_to_dense_product_impl(lhs, rhsCol, res); + typedef SparseMatrix ColMajorRhs; + ColMajorRhs rhsCol(rhs); + internal::sparse_sparse_to_dense_product_impl(lhs, rhsCol, res); } }; diff --git a/Eigen/src/SparseCore/SparseSelfAdjointView.h b/Eigen/src/SparseCore/SparseSelfAdjointView.h index 5ab64f1..65611b3 100644 --- a/Eigen/src/SparseCore/SparseSelfAdjointView.h +++ b/Eigen/src/SparseCore/SparseSelfAdjointView.h @@ -311,7 +311,7 @@ inline void sparse_selfadjoint_time_dense_product(const SparseLhsType& lhs, cons while (i && i.index()::type::Scalar Scalar; + typedef typename remove_all::type::Scalar RhsScalar; + typedef typename remove_all::type::Scalar ResScalar; typedef typename remove_all::type::StorageIndex StorageIndex; // make sure to call innerSize/outerSize since we fake the storage order. @@ -31,7 +32,7 @@ static void sparse_sparse_product_with_pruning_impl(const Lhs& lhs, const Rhs& r eigen_assert(lhs.outerSize() == rhs.innerSize()); // allocate a temporary buffer - AmbiVector tempVector(rows); + AmbiVector tempVector(rows); // mimics a resizeByInnerOuter: if(ResultType::IsRowMajor) @@ -63,14 +64,14 @@ static void sparse_sparse_product_with_pruning_impl(const Lhs& lhs, const Rhs& r { // FIXME should be written like this: tmp += rhsIt.value() * lhs.col(rhsIt.index()) tempVector.restart(); - Scalar x = rhsIt.value(); + RhsScalar x = rhsIt.value(); for (typename evaluator::InnerIterator lhsIt(lhsEval, rhsIt.index()); lhsIt; ++lhsIt) { tempVector.coeffRef(lhsIt.index()) += lhsIt.value() * x; } } res.startVec(j); - for (typename AmbiVector::Iterator it(tempVector,tolerance); it; ++it) + for (typename AmbiVector::Iterator it(tempVector,tolerance); it; ++it) res.insertBackByOuterInner(j,it.index()) = it.value(); } res.finalize(); @@ -85,7 +86,6 @@ struct sparse_sparse_product_with_pruning_selector; template struct sparse_sparse_product_with_pruning_selector { - typedef typename traits::type>::Scalar Scalar; typedef typename ResultType::RealScalar RealScalar; static void run(const Lhs& lhs, const Rhs& rhs, ResultType& res, const RealScalar& tolerance) @@ -129,8 +129,8 @@ struct sparse_sparse_product_with_pruning_selector ColMajorMatrixLhs; - typedef SparseMatrix ColMajorMatrixRhs; + typedef SparseMatrix ColMajorMatrixLhs; + typedef SparseMatrix ColMajorMatrixRhs; ColMajorMatrixLhs colLhs(lhs); ColMajorMatrixRhs colRhs(rhs); internal::sparse_sparse_product_with_pruning_impl(colLhs, colRhs, res, tolerance); @@ -149,7 +149,7 @@ struct sparse_sparse_product_with_pruning_selector RowMajorMatrixLhs; + typedef SparseMatrix RowMajorMatrixLhs; RowMajorMatrixLhs rowLhs(lhs); sparse_sparse_product_with_pruning_selector(rowLhs,rhs,res,tolerance); } @@ -161,7 +161,7 @@ struct sparse_sparse_product_with_pruning_selector RowMajorMatrixRhs; + typedef SparseMatrix RowMajorMatrixRhs; RowMajorMatrixRhs rowRhs(rhs); sparse_sparse_product_with_pruning_selector(lhs,rowRhs,res,tolerance); } @@ -173,7 +173,7 @@ struct sparse_sparse_product_with_pruning_selector ColMajorMatrixRhs; + typedef SparseMatrix ColMajorMatrixRhs; ColMajorMatrixRhs colRhs(rhs); internal::sparse_sparse_product_with_pruning_impl(lhs, colRhs, res, tolerance); } @@ -185,7 +185,7 @@ struct sparse_sparse_product_with_pruning_selector ColMajorMatrixLhs; + typedef SparseMatrix ColMajorMatrixLhs; ColMajorMatrixLhs colLhs(lhs); internal::sparse_sparse_product_with_pruning_impl(colLhs, rhs, res, tolerance); } diff --git a/Eigen/src/SparseQR/SparseQR.h b/Eigen/src/SparseQR/SparseQR.h index 2d4498b..7409fca 100644 --- a/Eigen/src/SparseQR/SparseQR.h +++ b/Eigen/src/SparseQR/SparseQR.h @@ -52,7 +52,7 @@ namespace internal { * rank-revealing permutations. Use colsPermutation() to get it. * * Q is the orthogonal matrix represented as products of Householder reflectors. - * Use matrixQ() to get an expression and matrixQ().transpose() to get the transpose. + * Use matrixQ() to get an expression and matrixQ().adjoint() to get the adjoint. * You can then apply it to a vector. * * R is the sparse triangular or trapezoidal matrix. The later occurs when A is rank-deficient. @@ -65,6 +65,7 @@ namespace internal { * \implsparsesolverconcept * * \warning The input sparse matrix A must be in compressed mode (see SparseMatrix::makeCompressed()). + * \warning For complex matrices matrixQ().transpose() will actually return the adjoint matrix. * */ template @@ -196,9 +197,9 @@ class SparseQR : public SparseSolverBase > Index rank = this->rank(); - // Compute Q^T * b; + // Compute Q^* * b; typename Dest::PlainObject y, b; - y = this->matrixQ().transpose() * B; + y = this->matrixQ().adjoint() * B; b = y; // Solve with the triangular matrix R @@ -604,7 +605,7 @@ struct SparseQR_QProduct : ReturnByValue @@ -668,13 +672,14 @@ struct SparseQRMatrixQReturnType : public EigenBase(m_qr,other.derived(),false); } + // To use for operations with the adjoint of Q SparseQRMatrixQTransposeReturnType adjoint() const { return SparseQRMatrixQTransposeReturnType(m_qr); } inline Index rows() const { return m_qr.rows(); } - inline Index cols() const { return (std::min)(m_qr.rows(),m_qr.cols()); } - // To use for operations with the transpose of Q + inline Index cols() const { return m_qr.rows(); } + // To use for operations with the transpose of Q FIXME this is the same as adjoint at the moment SparseQRMatrixQTransposeReturnType transpose() const { return SparseQRMatrixQTransposeReturnType(m_qr); @@ -682,6 +687,7 @@ struct SparseQRMatrixQReturnType : public EigenBase struct SparseQRMatrixQTransposeReturnType { @@ -712,7 +718,7 @@ struct Assignment, internal: typedef typename DstXprType::StorageIndex StorageIndex; static void run(DstXprType &dst, const SrcXprType &src, const internal::assign_op &/*func*/) { - typename DstXprType::PlainObject idMat(src.m_qr.rows(), src.m_qr.rows()); + typename DstXprType::PlainObject idMat(src.rows(), src.cols()); idMat.setIdentity(); // Sort the sparse householder reflectors if needed const_cast(&src.m_qr)->_sort_matrix_Q(); diff --git a/Lua/Include/lauxlib.h b/Lua/Include/lauxlib.h index 6debb14..9857d3a 100644 --- a/Lua/Include/lauxlib.h +++ b/Lua/Include/lauxlib.h @@ -1,12 +1,14 @@ /* -** $Id: lauxlib.h,v 1.131 2016/12/06 14:54:31 roberto Exp $ +** $Id: lauxlib.h,v 1.131.1.1 2017/04/19 17:20:42 roberto Exp $ ** Auxiliary functions for building Lua libraries ** See Copyright Notice in lua.h */ + #ifndef lauxlib_h #define lauxlib_h + #include #include diff --git a/Lua/Include/lua.h b/Lua/Include/lua.h index 26c0e2d..c236e36 100644 --- a/Lua/Include/lua.h +++ b/Lua/Include/lua.h @@ -1,5 +1,5 @@ /* -** $Id: lua.h,v 1.332 2016/12/22 15:51:20 roberto Exp $ +** $Id: lua.h,v 1.332.1.2 2018/06/13 16:58:17 roberto Exp $ ** Lua - A Scripting Language ** Lua.org, PUC-Rio, Brazil (http://www.lua.org) ** See Copyright Notice at the end of this file @@ -19,11 +19,11 @@ #define LUA_VERSION_MAJOR "5" #define LUA_VERSION_MINOR "3" #define LUA_VERSION_NUM 503 -#define LUA_VERSION_RELEASE "4" +#define LUA_VERSION_RELEASE "5" #define LUA_VERSION "Lua " LUA_VERSION_MAJOR "." LUA_VERSION_MINOR #define LUA_RELEASE LUA_VERSION "." LUA_VERSION_RELEASE -#define LUA_COPYRIGHT LUA_RELEASE " Copyright (C) 1994-2017 Lua.org, PUC-Rio" +#define LUA_COPYRIGHT LUA_RELEASE " Copyright (C) 1994-2018 Lua.org, PUC-Rio" #define LUA_AUTHORS "R. Ierusalimschy, L. H. de Figueiredo, W. Celes" @@ -460,7 +460,7 @@ struct lua_Debug { /****************************************************************************** -* Copyright (C) 1994-2017 Lua.org, PUC-Rio. +* Copyright (C) 1994-2018 Lua.org, PUC-Rio. * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the diff --git a/Lua/Include/luaconf.h b/Lua/Include/luaconf.h index f37bea0..9eeeea6 100644 --- a/Lua/Include/luaconf.h +++ b/Lua/Include/luaconf.h @@ -1,5 +1,5 @@ /* -** $Id: luaconf.h,v 1.259 2016/12/22 13:08:50 roberto Exp $ +** $Id: luaconf.h,v 1.259.1.1 2017/04/19 17:29:57 roberto Exp $ ** Configuration file for Lua ** See Copyright Notice in lua.h */ @@ -620,6 +620,13 @@ #endif +/* +@@ lua_pointer2str converts a pointer to a readable string in a +** non-specified way. +*/ +#define lua_pointer2str(buff,sz,p) l_sprintf(buff,sz,"%p",p) + + /* @@ lua_number2strx converts a float to an hexadecimal numeric string. ** In C99, 'sprintf' (with format specifiers '%a'/'%A') does that. diff --git a/Lua/Include/lualib.h b/Lua/Include/lualib.h index 6c0bc4c..f5304aa 100644 --- a/Lua/Include/lualib.h +++ b/Lua/Include/lualib.h @@ -1,5 +1,5 @@ /* -** $Id: lualib.h,v 1.45 2017/01/12 17:14:26 roberto Exp $ +** $Id: lualib.h,v 1.45.1.1 2017/04/19 17:20:42 roberto Exp $ ** Lua standard libraries ** See Copyright Notice in lua.h */ diff --git a/Lua/Lib/lua53D32.lib b/Lua/Lib/lua53D32.lib index 6a5bb9df90004a9099a3c594e6779f30ac723348..aad7ef50f3faf463247f510b51bbe4175418e1a0 100644 GIT binary patch delta 3565 zcmZ`*T}V@57@naa*2U7uEWsfw#tKoV%lw_2f2mF9U+L6o=HHsR{6i#2s0)dR;Ws2C zA|j#-3Bw2p86nX{-Kd0gQ7}Rz@Ybsk=^S^y_dMS?yM5m0Jn!@VeBXDL_TrZI;sWOq zEtV@edHFfH%w{?BzQC6z04wWhQvz}^zVW5kz2dbT#0f<9C|{o-hd!}QYX)1*-xb4a zR(<5l4QnQRX>g=6Pg%-Qh?xos)Qlm?FQrY=(#Zzv1 zE@XEqN{a$2)j%CQW``WKD`WOpPQzkE(RVsfg%302fDs2cYOVlO=+8n$tgP{s5K&zs z%9n+OE5VDP-&lnzRf_je6-?2y}CnyMW{OE+N#5XnoU-0rII`X?gIW7AQ+3IPbd3H2H*Ql3Y5hZS}3%FG0 z3m4QWdza4J(QTO_-IgWNZJCpm!tB)sHMvmWbdy$ryG>9arE)eyDl)s;47L;lksH?7 z0&7Y9U<>d$I^PN)P0QB`3276yThTJ!Fcoc(P$=_58+=0@&Ab6wxfS+Q6a9xMc^S9~ zxd)SqksDV5Y4bglQMQbc1;sN0tY; zgg)0qlX{TLpN#1qXt?Zyp0AxAD4hn>(hGcQ?dM)_N1n~Mw9p`;q;RN-4)tj%Y-ys! zw}DH#Z!}STKXQ35X8NHvs(2SsX(f~8U$b;+lq0%CoyRxX>ltS@mr1>EsQ%CZWTC}3 z4Z?C#mcSt77Upm;s5J-Q5b&wmpF@z5_Q5_3lNYp?he4ZE3|>%?`Se@%*b5Ij9nS+V zc#-*Z6o&3VX7aNwpuGDPK2Ra;Wlc1F1h~}0IYcSj{s?%Grf^E0U#c{}Sw26uS#m)g zAIW{Y3rWb3brevc*jJ;Fh?YR_hh_?I=Zqf~ftvpZ`Q)Yk9%LmitBBIyk#P)%%G(

LXunS~KBGgDaKwl%yPoSXO?%`jOvmilB=E>Qd170xNJi>eEDjA!=}$PRTwEI-M>- zm&n4Vv#h@`LqjZBsFlK41gInyG3hTVR24Y7U=zSp_OMf_)E6@nj*d`w>g`(H2_Y(U z^J+2h<;bIACHqpbO*QN9P)ayma!o}ArRkC=CGxZ@Miiw+N36OxFygSJvWumPCv&M8 zvbz|OcpbnmJLJr!Mac3;2VKJiUyIrWlhZ%Cgi2WQjl>sXBXR$0+*7$OWs4fxZ z%fiCt;6>1{uRxUw#e1j%rfA?D%c+DulJ^&t;GNL;DnQAHuL^vS=WrEz;Ahi)T?<_k zP`+QLYS=H@x&We^)k$+^|a7D+v}lg)XT4k64%@ST&nX` z1Jo&dm(JVqZJ8n6mUij3%*{?=&Ps!tTqtm+QLDhcMktU{xtkyrnGH69EyY0OhBY?B zS`t6d41A6*v;auc^0q)i+Jv1Jw2U`QSt}$I%KX?0-%v+0Z$egXg+0?m{~=0V25*6` zknsmbRlVOoV@7U!6Es6fT)o5Z#(+oH%w~>Xj6AX9nf7tC94xv zu)~X;u{wORE9x71aVDc9-@76kYLqs#P1?}8r1Px27~XTiOlvm?(=LAL2J>l6} z`ce~3>P0SpGG=wVykJezK7p#elm;Ybr5?$=V-)HBtQla(ORi2cR~pcn?u&C6nb}vvg^cqq;<0k9VrCXM#Bzvef&A>JJS<7FztQ zAy`hz;va(C!W<5VwC3O)20m5$a~LwxJ~&5U@`Cot2xyav!2>EXpMJ}pc;G>&<9X-- zFEXEw!th zk=(a?kc13b#{d>|-rm4C oDky(E3lm_Dl6fXHsB8zhLg9`{D4hEKUO>5x^eND$jPp~*|BRvw7ytkO diff --git a/Lua/Lib/lua53D32.pdb b/Lua/Lib/lua53D32.pdb index e05d33cc84a04e40253f5c000a7cbbd58209b82a..3e796544e993705852a26a9d98ad29c35c09d507 100644 GIT binary patch delta 229457 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 aV+`#t(Q{A; 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%0A|S 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 TMhFb@=eSdU6>Abidx9YYi_nf9`q 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 _K}BM* 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 Q(7_8XIQ&?Mx~I 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∈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

BYNwEHDx6fyl4yF11SH~f73W1#iI#w#7*U+ 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 R4^c5VuO228T}}=c{RM?!&hP*L diff --git a/Lua/Lib/lua53R64.lib b/Lua/Lib/lua53R64.lib index d0fcee4813bb87b3e460348ad8af456a879e5147..71131dc4bbf87194976e3dcdc4387fcb9a5327bb 100644 GIT binary patch delta 3642 zcmZ`*O-xi*7=74jC1}jFP6eq!7sRxr!OP?!4G-?`SOcza+)HbFuu2?m-X^82f3qo2K4GX$q)iiw%uIHW4TxNOhdFMOd z`M$aDO)r&9FO|$xmWD$0`@?m?pz_;0?%Rn90nB|_ktAf%t|+hDv;G?_%U*rOYPp>| zwYkKyO4a#rWUh1n_a)+aRUPub>T-Ti6XD$|9a@sd>9F7D9?#{&)%4^{v}O%f^L1f< zpj_QLvVHv|7!fC$KN~r~e2s3ZH=#L37j4b`tv+Ho5pE>}+v z>Q0^;PPVwAyk%L|7R#qTe&Gap{slceJEXOn?9+&klSXQ^zts81?PiDD>_I#23Hqx_ZPedqDe46J%PG=_!>$hUEvi21 zpsL{S?Ib?X>x^PztDRI)Y(rm{@J_wXcTrXJdZ1hIb>?4no4ojXOlY1_;bozRv{5nE zOQ^dIGrjsoxYzqG&!4W-vJ;d$vMHP(KiGk1jCxg1zEl-g^}Um%jfA(RDPgEwNDCE8 z_m8wG-L?;i50wXux(WC)I)Po8sFwiv*D|Dnty|5ILy>#mDdLNh`3+Bkec~Ct2eW-5 zVd{5NKlSTPq@Vc6@>xGQh5yFWCiH7Yp-?(NT%ZL;p}Sy2qk|@e+eY-YA>v}M@_0PV5N{#RII>w&d9H(sY7WL(+Fy?SJPh9l%OWtHBGC?T5m2OVZe34>Vfw-u4 zp6n)lIGDS=^rCC@DiIT9%8OP_S(==*XO^&}cO`4jc*7zK!s2~Xni)ayL zeGnmG5fRZMD(Q!aXyqy@LZU?rk!lexY~w1T_w?(&bK`TC=R5D*bI-l=y*DtCF))!a zn3K7+#9Qbs_LK;hzUqk{&St>K&Flyu<9c>h(fZk6n=^57zEf9zQ#g z{2_lK@+CU2ScN7L9oHrIQ?Xy65Y$x)_Yoz9r6r(1Xg{JZJxhEjk)8ZdoGi9NS)*y% zV$C7WZdxf)0hkoU^CrMTfOs~R!U^%OBWjuWUMfxeF4gU}L#;B5WSPfCN#$diN;^;v zD7AgB9Kv92yMk~sRV^!?2^QED&5ac4sC#zc6;cg8wjEH?eY+iW3C#}!D&5VDceOd*b>?`VrDmCfC+gf?9N{sBv?03|P{s=x~id7_H>f%qdk<~n(fC$w(scfz_6 zdJ)mKI_Z6KC%B~bX{?4m(>;>=vKn-Wo4X6RtfPTl;G6i9$S3XE-JngLpCig9v33ts zrJ0`F0~HznC-TWlO$1ad{!qld+`2QCnM4$U~(-rC(Erh>WncanLy_d<4*=ov(5 z8@?e*T}Nu5Yb!gt&7Ri4o=|_e(YgA&6opPme=-XC2&?|`2 z#HQ<@BHM=MdgdK^9j%9|)N5e_##K)PRJs&uOl0H0Kz zB5Ebzh|2`l#shW&#J?N|723M#I5=dvHy;E(I~kqx#M8{4k$W)I%o2uv=e0n;_C#8M zPg#C$0jK1@?2rn*izq2%wgQ*X6r!X%rbGj6Dup{rbYVMiX|IfS=#4raLzK8>hk;AZ z?j2^jxZfSHgQT7602OPF=DoG#-?!E=^WGG-i`*iffVVL{8&1Hpl-R=ra{zBYS0|f4 zOuD}lCQV8|I{#CmkF!V@d#}q)desGf%*~#;|8vay|FpdSPxOgU!v=f%+1_66X6~fs zbT?>H_J@wB&{0GwrGlf33whi)$|~Bkx}H>xDv@MD(%?Hp&8BC*q^zdTn_p7Dwzx&K zXSLli?a6QtWJ_;RhXI9Y4o3{&QeW>4l^uUCp!BUY+za!i6rCyHQnlkLRkbflZm18q z*!&f<`Ewq(Xex*1*|=S47QRfgKMj`5R`aaCLYA54wb>QwOLwMPPoC(~t?!8