Index: lu.hpp =================================================================== RCS file: /cvsroot/boost/boost/boost/numeric/ublas/lu.hpp,v retrieving revision 1.10 diff -u -p -u -p -r1.10 lu.hpp --- lu.hpp 31 Jan 2005 15:14:23 -0000 1.10 +++ lu.hpp 24 May 2005 07:45:17 -0000 @@ -22,6 +22,7 @@ #include #include #include +#include namespace boost { namespace numeric { namespace ublas { @@ -110,8 +111,9 @@ namespace boost { namespace numeric { na } #if BOOST_UBLAS_TYPE_CHECK BOOST_UBLAS_CHECK (singular != 0 || - equals (prod (triangular_adaptor (m), - triangular_adaptor (m)), cm), internal_logic ()); + detail::expression_type_check (prod (triangular_adaptor (m), + triangular_adaptor (m)), + cm), internal_logic ()); #endif return singular; } @@ -153,8 +155,8 @@ namespace boost { namespace numeric { na #if BOOST_UBLAS_TYPE_CHECK swap_rows (pm, cm); BOOST_UBLAS_CHECK (singular != 0 || - equals (prod (triangular_adaptor (m), - triangular_adaptor (m)), cm), internal_logic ()); + detail::expression_type_check (prod (triangular_adaptor (m), + triangular_adaptor (m)), cm), internal_logic ()); #endif return singular; } @@ -245,8 +247,8 @@ namespace boost { namespace numeric { na #if BOOST_UBLAS_TYPE_CHECK swap_rows (pm, cm); BOOST_UBLAS_CHECK (singular != 0 || - equals (prod (triangular_adaptor (m), - triangular_adaptor (m)), cm), internal_logic ()); + detail::expression_type_check (prod (triangular_adaptor (m), + triangular_adaptor (m)), cm), internal_logic ()); #endif return singular; } @@ -262,12 +264,12 @@ namespace boost { namespace numeric { na #endif inplace_solve (m, e, unit_lower_tag ()); #if BOOST_UBLAS_TYPE_CHECK - BOOST_UBLAS_CHECK (equals (prod (triangular_adaptor (m), e), cv1), internal_logic ()); + BOOST_UBLAS_CHECK (detail::expression_type_check (prod (triangular_adaptor (m), e), cv1), internal_logic ()); vector_type cv2 (e); #endif inplace_solve (m, e, upper_tag ()); #if BOOST_UBLAS_TYPE_CHECK - BOOST_UBLAS_CHECK (equals (prod (triangular_adaptor (m), e), cv2), internal_logic ()); + BOOST_UBLAS_CHECK (detail::expression_type_check (prod (triangular_adaptor (m), e), cv2), internal_logic ()); #endif } template @@ -280,12 +282,12 @@ namespace boost { namespace numeric { na #endif inplace_solve (m, e, unit_lower_tag ()); #if BOOST_UBLAS_TYPE_CHECK - BOOST_UBLAS_CHECK (equals (prod (triangular_adaptor (m), e), cm1), internal_logic ()); + BOOST_UBLAS_CHECK (detail::expression_type_check (prod (triangular_adaptor (m), e), cm1), internal_logic ()); matrix_type cm2 (e); #endif inplace_solve (m, e, upper_tag ()); #if BOOST_UBLAS_TYPE_CHECK - BOOST_UBLAS_CHECK (equals (prod (triangular_adaptor (m), e), cm2), internal_logic ()); + BOOST_UBLAS_CHECK (detail::expression_type_check (prod (triangular_adaptor (m), e), cm2), internal_logic ()); #endif } template @@ -303,12 +305,12 @@ namespace boost { namespace numeric { na #endif inplace_solve (e, m, upper_tag ()); #if BOOST_UBLAS_TYPE_CHECK - BOOST_UBLAS_CHECK (equals (prod (e, triangular_adaptor (m)), cv1), internal_logic ()); + BOOST_UBLAS_CHECK (detail::expression_type_check (prod (e, triangular_adaptor (m)), cv1), internal_logic ()); vector_type cv2 (e); #endif inplace_solve (e, m, unit_lower_tag ()); #if BOOST_UBLAS_TYPE_CHECK - BOOST_UBLAS_CHECK (equals (prod (e, triangular_adaptor (m)), cv2), internal_logic ()); + BOOST_UBLAS_CHECK (detail::expression_type_check (prod (e, triangular_adaptor (m)), cv2), internal_logic ()); #endif } template @@ -321,12 +323,12 @@ namespace boost { namespace numeric { na #endif inplace_solve (e, m, upper_tag ()); #if BOOST_UBLAS_TYPE_CHECK - BOOST_UBLAS_CHECK (equals (prod (e, triangular_adaptor (m)), cm1), internal_logic ()); + BOOST_UBLAS_CHECK (detail::expression_type_check (prod (e, triangular_adaptor (m)), cm1), internal_logic ()); matrix_type cm2 (e); #endif inplace_solve (e, m, unit_lower_tag ()); #if BOOST_UBLAS_TYPE_CHECK - BOOST_UBLAS_CHECK (equals (prod (e, triangular_adaptor (m)), cm2), internal_logic ()); + BOOST_UBLAS_CHECK (detail::expression_type_check (prod (e, triangular_adaptor (m)), cm2), internal_logic ()); #endif } template