From 12439e12490b9fd79fe18aa30ce09648dcb644ba Mon Sep 17 00:00:00 2001 From: Gael Guennebaud Date: Fri, 5 Apr 2013 16:35:49 +0200 Subject: Port SelfCwiseBinaryOp and Dot.h to nvcc, fix portability issue with std::min/max --- Eigen/src/SVD/JacobiSVD.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'Eigen/src/SVD') diff --git a/Eigen/src/SVD/JacobiSVD.h b/Eigen/src/SVD/JacobiSVD.h index 5741a8ba1..1616fe560 100644 --- a/Eigen/src/SVD/JacobiSVD.h +++ b/Eigen/src/SVD/JacobiSVD.h @@ -766,7 +766,7 @@ JacobiSVD::compute(const MatrixType& matrix, unsig // if this 2x2 sub-matrix is not diagonal already... // notice that this comparison will evaluate to false if any NaN is involved, ensuring that NaN's don't // keep us iterating forever. Similarly, small denormal numbers are considered zero. - using std::max; + EIGEN_USING_STD_MATH(max); RealScalar threshold = (max)(considerAsZero, precision * (max)(abs(m_workMatrix.coeff(p,p)), abs(m_workMatrix.coeff(q,q)))); if((max)(abs(m_workMatrix.coeff(p,q)),abs(m_workMatrix.coeff(q,p))) > threshold) -- cgit v1.2.3 From 55b57fcba6e56bea5c084cc756b50a447985e5c2 Mon Sep 17 00:00:00 2001 From: Gael Guennebaud Date: Wed, 31 Jul 2013 16:56:31 +0200 Subject: Disable some shortcuts with nvcc --- Eigen/src/Cholesky/LDLT.h | 2 ++ Eigen/src/Cholesky/LLT.h | 4 +++- Eigen/src/QR/ColPivHouseholderQR.h | 2 ++ Eigen/src/QR/FullPivHouseholderQR.h | 2 ++ Eigen/src/QR/HouseholderQR.h | 2 ++ Eigen/src/SVD/JacobiSVD.h | 2 ++ 6 files changed, 13 insertions(+), 1 deletion(-) (limited to 'Eigen/src/SVD') diff --git a/Eigen/src/Cholesky/LDLT.h b/Eigen/src/Cholesky/LDLT.h index 05b300c56..4faedd257 100644 --- a/Eigen/src/Cholesky/LDLT.h +++ b/Eigen/src/Cholesky/LDLT.h @@ -575,6 +575,7 @@ MatrixType LDLT::reconstructedMatrix() const return res; } +#ifndef __CUDACC__ /** \cholesky_module * \returns the Cholesky decomposition with full pivoting without square root of \c *this */ @@ -594,6 +595,7 @@ MatrixBase::ldlt() const { return LDLT(derived()); } +#endif // __CUDACC__ } // end namespace Eigen diff --git a/Eigen/src/Cholesky/LLT.h b/Eigen/src/Cholesky/LLT.h index 2e6189f7d..2201c641e 100644 --- a/Eigen/src/Cholesky/LLT.h +++ b/Eigen/src/Cholesky/LLT.h @@ -465,6 +465,7 @@ MatrixType LLT::reconstructedMatrix() const return matrixL() * matrixL().adjoint().toDenseMatrix(); } +#ifndef __CUDACC__ /** \cholesky_module * \returns the LLT decomposition of \c *this */ @@ -484,7 +485,8 @@ SelfAdjointView::llt() const { return LLT(m_matrix); } - +#endif // __CUDACC__ + } // end namespace Eigen #endif // EIGEN_LLT_H diff --git a/Eigen/src/QR/ColPivHouseholderQR.h b/Eigen/src/QR/ColPivHouseholderQR.h index 8b01f8179..de9940cf5 100644 --- a/Eigen/src/QR/ColPivHouseholderQR.h +++ b/Eigen/src/QR/ColPivHouseholderQR.h @@ -563,6 +563,7 @@ typename ColPivHouseholderQR::HouseholderSequenceType ColPivHousehol return HouseholderSequenceType(m_qr, m_hCoeffs.conjugate()).setLength(m_nonzero_pivots); } +#ifndef __CUDACC__ /** \return the column-pivoting Householder QR decomposition of \c *this. * * \sa class ColPivHouseholderQR @@ -573,6 +574,7 @@ MatrixBase::colPivHouseholderQr() const { return ColPivHouseholderQR(eval()); } +#endif // __CUDACC__ } // end namespace Eigen diff --git a/Eigen/src/QR/FullPivHouseholderQR.h b/Eigen/src/QR/FullPivHouseholderQR.h index 0dd5ad347..a1de535a9 100644 --- a/Eigen/src/QR/FullPivHouseholderQR.h +++ b/Eigen/src/QR/FullPivHouseholderQR.h @@ -607,6 +607,7 @@ inline typename FullPivHouseholderQR::MatrixQReturnType FullPivHouse return MatrixQReturnType(m_qr, m_hCoeffs, m_rows_transpositions); } +#ifndef __CUDACC__ /** \return the full-pivoting Householder QR decomposition of \c *this. * * \sa class FullPivHouseholderQR @@ -617,6 +618,7 @@ MatrixBase::fullPivHouseholderQr() const { return FullPivHouseholderQR(eval()); } +#endif // __CUDACC__ } // end namespace Eigen diff --git a/Eigen/src/QR/HouseholderQR.h b/Eigen/src/QR/HouseholderQR.h index abc61bcbb..ad156396a 100644 --- a/Eigen/src/QR/HouseholderQR.h +++ b/Eigen/src/QR/HouseholderQR.h @@ -358,6 +358,7 @@ HouseholderQR& HouseholderQR::compute(const MatrixType& return *this; } +#ifndef __CUDACC__ /** \return the Householder QR decomposition of \c *this. * * \sa class HouseholderQR @@ -368,6 +369,7 @@ MatrixBase::householderQr() const { return HouseholderQR(eval()); } +#endif // __CUDACC__ } // end namespace Eigen diff --git a/Eigen/src/SVD/JacobiSVD.h b/Eigen/src/SVD/JacobiSVD.h index 9fd9de669..7bedb02e9 100644 --- a/Eigen/src/SVD/JacobiSVD.h +++ b/Eigen/src/SVD/JacobiSVD.h @@ -860,6 +860,7 @@ struct solve_retval, Rhs> }; } // end namespace internal +#ifndef __CUDACC__ /** \svd_module * * \return the singular value decomposition of \c *this computed by two-sided @@ -873,6 +874,7 @@ MatrixBase::jacobiSvd(unsigned int computationOptions) const { return JacobiSVD(*this, computationOptions); } +#endif // __CUDACC__ } // end namespace Eigen -- cgit v1.2.3