@@ -324,7 +324,7 @@ class DenseMatrix : public DenseMatrixBase<T>
324324 * This is the natural matrix norm that is compatible to the l1-norm
325325 * for vectors, i.e. \f$ |Mv|_1 \leq |M|_1 |v|_1 \f$.
326326 */
327- auto l1_norm () const -> decltype(std::abs(T( 0 ))) ;
327+ auto l1_norm () const ;
328328
329329 /* *
330330 * \returns The linfty-norm of the matrix, that is, the max row sum:
@@ -334,7 +334,7 @@ class DenseMatrix : public DenseMatrixBase<T>
334334 * This is the natural matrix norm that is compatible to the
335335 * linfty-norm of vectors, i.e. \f$ |Mv|_\infty \leq |M|_\infty |v|_\infty \f$.
336336 */
337- auto linfty_norm () const -> decltype(std::abs(T( 0 ))) ;
337+ auto linfty_norm () const ;
338338
339339 /* *
340340 * Left multiplies by the transpose of the matrix \p A.
@@ -1122,23 +1122,24 @@ auto DenseMatrix<T>::max () const -> decltype(libmesh_real(T(0)))
11221122
11231123template <typename T>
11241124inline
1125- auto DenseMatrix<T>::l1_norm () const -> decltype (std::abs(T( 0 )))
1125+ auto DenseMatrix<T>::l1_norm () const
11261126{
11271127 libmesh_assert (this ->_m );
11281128 libmesh_assert (this ->_n );
11291129
1130- auto columnsum = std::abs (T (0 ));
1130+ using std::abs;
1131+ auto columnsum = abs (T (0 ));
11311132 for (unsigned int i=0 ; i!=this ->_m ; i++)
11321133 {
1133- columnsum += std:: abs ((*this )(i,0 ));
1134+ columnsum += abs ((*this )(i,0 ));
11341135 }
11351136 auto my_max = columnsum;
11361137 for (unsigned int j=1 ; j!=this ->_n ; j++)
11371138 {
11381139 columnsum = 0 .;
11391140 for (unsigned int i=0 ; i!=this ->_m ; i++)
11401141 {
1141- columnsum += std:: abs ((*this )(i,j));
1142+ columnsum += abs ((*this )(i,j));
11421143 }
11431144 my_max = (my_max > columnsum? my_max : columnsum);
11441145 }
@@ -1149,23 +1150,24 @@ auto DenseMatrix<T>::l1_norm () const -> decltype(std::abs(T(0)))
11491150
11501151template <typename T>
11511152inline
1152- auto DenseMatrix<T>::linfty_norm () const -> decltype (std::abs(T( 0 )))
1153+ auto DenseMatrix<T>::linfty_norm () const
11531154{
11541155 libmesh_assert (this ->_m );
11551156 libmesh_assert (this ->_n );
1157+ using std::abs;
11561158
1157- auto rowsum = std:: abs (T (0 ));
1159+ auto rowsum = abs (T (0 ));
11581160 for (unsigned int j=0 ; j!=this ->_n ; j++)
11591161 {
1160- rowsum += std:: abs ((*this )(0 ,j));
1162+ rowsum += abs ((*this )(0 ,j));
11611163 }
11621164 auto my_max = rowsum;
11631165 for (unsigned int i=1 ; i!=this ->_m ; i++)
11641166 {
11651167 rowsum = 0 .;
11661168 for (unsigned int j=0 ; j!=this ->_n ; j++)
11671169 {
1168- rowsum += std:: abs ((*this )(i,j));
1170+ rowsum += abs ((*this )(i,j));
11691171 }
11701172 my_max = (my_max > rowsum? my_max : rowsum);
11711173 }
0 commit comments