Index: operation_sparse.hpp =================================================================== RCS file: /cvsroot/boost/boost/boost/numeric/ublas/operation_sparse.hpp,v retrieving revision 1.15 diff -u -b -r1.15 operation_sparse.hpp --- operation_sparse.hpp 1 Jul 2005 20:08:53 -0000 1.15 +++ operation_sparse.hpp 12 Nov 2005 05:33:08 -0000 @@ -45,7 +45,9 @@ matrix cm (m.size1 (), m.size2 ()); typedef typename type_traits::real_type real_type; real_type merrorbound (norm_1 (m) + norm_1 (e1) * norm_1 (e2)); + if (! disable_type_check::value) { indexing_matrix_assign (cm, prod (e1, e2), row_major_tag ()); + } #endif typename expression1_type::const_iterator1 it1 (e1 ().begin1 ()); typename expression1_type::const_iterator1 it1_end (e1 ().end1 ()); @@ -87,6 +89,7 @@ ++ it1; } #if BOOST_UBLAS_TYPE_CHECK + if (! disable_type_check::value) BOOST_UBLAS_CHECK (norm_1 (m - cm) <= 2 * std::numeric_limits::epsilon () * merrorbound, internal_logic ()); #endif return m; @@ -113,7 +116,9 @@ matrix cm (m.size1 (), m.size2 ()); typedef typename type_traits::real_type real_type; real_type merrorbound (norm_1 (m) + norm_1 (e1) * norm_1 (e2)); + if (! disable_type_check::value) { indexing_matrix_assign (cm, prod (e1, e2), column_major_tag ()); + } #endif typename expression2_type::const_iterator2 it2 (e2 ().begin2 ()); typename expression2_type::const_iterator2 it2_end (e2 ().end2 ()); @@ -155,6 +160,7 @@ ++ it2; } #if BOOST_UBLAS_TYPE_CHECK + if (! disable_type_check::value) BOOST_UBLAS_CHECK (norm_1 (m - cm) <= 2 * std::numeric_limits::epsilon () * merrorbound, internal_logic ()); #endif return m;