diff --git a/include/boost/numeric/ublas/lu.hpp b/include/boost/numeric/ublas/lu.hpp index d09387d7..4a46a267 100644 --- a/include/boost/numeric/ublas/lu.hpp +++ b/include/boost/numeric/ublas/lu.hpp @@ -22,6 +22,7 @@ #include #include #include +#include namespace boost { namespace numeric { namespace ublas { @@ -110,8 +111,9 @@ namespace boost { namespace numeric { namespace ublas { } #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 { namespace ublas { #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 { namespace ublas { #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 { namespace ublas { #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 { namespace ublas { #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 { namespace ublas { #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 { namespace ublas { #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