From bc7b251cd9f520097564ce611f314fb978f4f744 Mon Sep 17 00:00:00 2001 From: Gael Guennebaud Date: Fri, 3 Feb 2012 23:16:52 +0100 Subject: [PATCH] fix compilation errors with ICC --- .../ConservativeSparseSparseProduct.h | 19 ++++++++++--------- .../SparseSparseProductWithPruning.h | 8 ++++---- 2 files changed, 14 insertions(+), 13 deletions(-) diff --git a/Eigen/src/SparseCore/ConservativeSparseSparseProduct.h b/Eigen/src/SparseCore/ConservativeSparseSparseProduct.h index 81e0256cf..f15c827a6 100644 --- a/Eigen/src/SparseCore/ConservativeSparseSparseProduct.h +++ b/Eigen/src/SparseCore/ConservativeSparseSparseProduct.h @@ -142,14 +142,15 @@ struct conservative_sparse_sparse_product_selector; template struct conservative_sparse_sparse_product_selector { - typedef typename traits::type>::Scalar Scalar; + typedef typename remove_all::type LhsCleaned; + typedef typename LhsCleaned::Scalar Scalar; static void run(const Lhs& lhs, const Rhs& rhs, ResultType& res) { typedef SparseMatrix RowMajorMatrix; typedef SparseMatrix ColMajorMatrix; ColMajorMatrix resCol(lhs.rows(),rhs.cols()); - conservative_sparse_sparse_product_impl(lhs, rhs, resCol); + internal::conservative_sparse_sparse_product_impl(lhs, rhs, resCol); // sort the non zeros: RowMajorMatrix resRow(resCol); res = resRow; @@ -164,7 +165,7 @@ struct conservative_sparse_sparse_product_selector RowMajorMatrix; RowMajorMatrix rhsRow = rhs; RowMajorMatrix resRow(lhs.rows(), rhs.cols()); - conservative_sparse_sparse_product_impl(rhsRow, lhs, resRow); + internal::conservative_sparse_sparse_product_impl(rhsRow, lhs, resRow); res = resRow; } }; @@ -177,7 +178,7 @@ struct conservative_sparse_sparse_product_selector RowMajorMatrix; RowMajorMatrix lhsRow = lhs; RowMajorMatrix resRow(lhs.rows(), rhs.cols()); - conservative_sparse_sparse_product_impl(rhs, lhsRow, resRow); + internal::conservative_sparse_sparse_product_impl(rhs, lhsRow, resRow); res = resRow; } }; @@ -189,7 +190,7 @@ struct conservative_sparse_sparse_product_selector RowMajorMatrix; RowMajorMatrix resRow(lhs.rows(), rhs.cols()); - conservative_sparse_sparse_product_impl(rhs, lhs, resRow); + internal::conservative_sparse_sparse_product_impl(rhs, lhs, resRow); res = resRow; } }; @@ -204,7 +205,7 @@ struct conservative_sparse_sparse_product_selector ColMajorMatrix; ColMajorMatrix resCol(lhs.rows(), rhs.cols()); - conservative_sparse_sparse_product_impl(lhs, rhs, resCol); + internal::conservative_sparse_sparse_product_impl(lhs, rhs, resCol); res = resCol; } }; @@ -217,7 +218,7 @@ struct conservative_sparse_sparse_product_selector ColMajorMatrix; ColMajorMatrix lhsCol = lhs; ColMajorMatrix resCol(lhs.rows(), rhs.cols()); - conservative_sparse_sparse_product_impl(lhsCol, rhs, resCol); + internal::conservative_sparse_sparse_product_impl(lhsCol, rhs, resCol); res = resCol; } }; @@ -230,7 +231,7 @@ struct conservative_sparse_sparse_product_selector ColMajorMatrix; ColMajorMatrix rhsCol = rhs; ColMajorMatrix resCol(lhs.rows(), rhs.cols()); - conservative_sparse_sparse_product_impl(lhs, rhsCol, resCol); + internal::conservative_sparse_sparse_product_impl(lhs, rhsCol, resCol); res = resCol; } }; @@ -243,7 +244,7 @@ struct conservative_sparse_sparse_product_selector RowMajorMatrix; typedef SparseMatrix ColMajorMatrix; RowMajorMatrix resRow(lhs.rows(),rhs.cols()); - conservative_sparse_sparse_product_impl(rhs, lhs, resRow); + internal::conservative_sparse_sparse_product_impl(rhs, lhs, resRow); // sort the non zeros: ColMajorMatrix resCol(resRow); res = resCol; diff --git a/Eigen/src/SparseCore/SparseSparseProductWithPruning.h b/Eigen/src/SparseCore/SparseSparseProductWithPruning.h index 7fe9e7641..285861c53 100644 --- a/Eigen/src/SparseCore/SparseSparseProductWithPruning.h +++ b/Eigen/src/SparseCore/SparseSparseProductWithPruning.h @@ -101,7 +101,7 @@ struct sparse_sparse_product_with_pruning_selector::type _res(res.rows(), res.cols()); - sparse_sparse_product_with_pruning_impl(lhs, rhs, _res, tolerance); + internal::sparse_sparse_product_with_pruning_impl(lhs, rhs, _res, tolerance); res.swap(_res); } }; @@ -115,7 +115,7 @@ struct sparse_sparse_product_with_pruning_selector SparseTemporaryType; SparseTemporaryType _res(res.rows(), res.cols()); - sparse_sparse_product_with_pruning_impl(lhs, rhs, _res, tolerance); + internal::sparse_sparse_product_with_pruning_impl(lhs, rhs, _res, tolerance); res = _res; } }; @@ -128,7 +128,7 @@ struct sparse_sparse_product_with_pruning_selector::type _res(res.rows(), res.cols()); - sparse_sparse_product_with_pruning_impl(rhs, lhs, _res, tolerance); + internal::sparse_sparse_product_with_pruning_impl(rhs, lhs, _res, tolerance); res.swap(_res); } }; @@ -142,7 +142,7 @@ struct sparse_sparse_product_with_pruning_selector ColMajorMatrix; ColMajorMatrix colLhs(lhs); ColMajorMatrix colRhs(rhs); - sparse_sparse_product_with_pruning_impl(colLhs, colRhs, res, tolerance); + internal::sparse_sparse_product_with_pruning_impl(colLhs, colRhs, res, tolerance); // let's transpose the product to get a column x column product // typedef SparseMatrix SparseTemporaryType;