Replace Eigen type metaprogramming with corresponding std types and make use of alias templates

This commit is contained in:
Erik Schultheis
2022-03-16 16:43:40 +00:00
committed by Antonio Sánchez
parent 514f90c9ff
commit 421cbf0866
191 changed files with 1147 additions and 1221 deletions

View File

@@ -133,34 +133,34 @@ template<typename VectorsType, typename CoeffsType, int Side> class HouseholderS
typedef typename internal::traits<HouseholderSequence>::Scalar Scalar;
typedef HouseholderSequence<
typename internal::conditional<NumTraits<Scalar>::IsComplex,
typename internal::remove_all<typename VectorsType::ConjugateReturnType>::type,
VectorsType>::type,
typename internal::conditional<NumTraits<Scalar>::IsComplex,
typename internal::remove_all<typename CoeffsType::ConjugateReturnType>::type,
CoeffsType>::type,
std::conditional_t<NumTraits<Scalar>::IsComplex,
internal::remove_all_t<typename VectorsType::ConjugateReturnType>,
VectorsType>,
std::conditional_t<NumTraits<Scalar>::IsComplex,
internal::remove_all_t<typename CoeffsType::ConjugateReturnType>,
CoeffsType>,
Side
> ConjugateReturnType;
typedef HouseholderSequence<
VectorsType,
typename internal::conditional<NumTraits<Scalar>::IsComplex,
typename internal::remove_all<typename CoeffsType::ConjugateReturnType>::type,
CoeffsType>::type,
std::conditional_t<NumTraits<Scalar>::IsComplex,
internal::remove_all_t<typename CoeffsType::ConjugateReturnType>,
CoeffsType>,
Side
> AdjointReturnType;
typedef HouseholderSequence<
typename internal::conditional<NumTraits<Scalar>::IsComplex,
typename internal::remove_all<typename VectorsType::ConjugateReturnType>::type,
VectorsType>::type,
std::conditional_t<NumTraits<Scalar>::IsComplex,
internal::remove_all_t<typename VectorsType::ConjugateReturnType>,
VectorsType>,
CoeffsType,
Side
> TransposeReturnType;
typedef HouseholderSequence<
typename internal::add_const<VectorsType>::type,
typename internal::add_const<CoeffsType>::type,
std::add_const_t<VectorsType>,
std::add_const_t<CoeffsType>,
Side
> ConstHouseholderSequence;
@@ -257,10 +257,10 @@ template<typename VectorsType, typename CoeffsType, int Side> class HouseholderS
*/
template<bool Cond>
EIGEN_DEVICE_FUNC
inline typename internal::conditional<Cond,ConjugateReturnType,ConstHouseholderSequence>::type
inline std::conditional_t<Cond,ConjugateReturnType,ConstHouseholderSequence>
conjugateIf() const
{
typedef typename internal::conditional<Cond,ConjugateReturnType,ConstHouseholderSequence>::type ReturnType;
typedef std::conditional_t<Cond,ConjugateReturnType,ConstHouseholderSequence> ReturnType;
return ReturnType(m_vectors.template conjugateIf<Cond>(), m_coeffs.template conjugateIf<Cond>());
}
@@ -384,12 +384,12 @@ template<typename VectorsType, typename CoeffsType, int Side> class HouseholderS
Index bs = end-k;
Index start = k + m_shift;
typedef Block<typename internal::remove_all<VectorsType>::type,Dynamic,Dynamic> SubVectorsType;
typedef Block<internal::remove_all_t<VectorsType>,Dynamic,Dynamic> SubVectorsType;
SubVectorsType sub_vecs1(m_vectors.const_cast_derived(), Side==OnTheRight ? k : start,
Side==OnTheRight ? start : k,
Side==OnTheRight ? bs : m_vectors.rows()-start,
Side==OnTheRight ? m_vectors.cols()-start : bs);
typename internal::conditional<Side==OnTheRight, Transpose<SubVectorsType>, SubVectorsType&>::type sub_vecs(sub_vecs1);
std::conditional_t<Side==OnTheRight, Transpose<SubVectorsType>, SubVectorsType&> sub_vecs(sub_vecs1);
Index dstStart = dst.rows()-rows()+m_shift+k;
Index dstRows = rows()-m_shift-k;