Index: boost/numeric/ublas/detail/matrix_assign.hpp =================================================================== RCS file: /cvsroot/boost/boost/boost/numeric/ublas/detail/matrix_assign.hpp,v retrieving revision 1.6 diff -u -p -r1.6 matrix_assign.hpp --- boost/numeric/ublas/detail/matrix_assign.hpp 13 Feb 2005 16:21:39 -0000 1.6 +++ boost/numeric/ublas/detail/matrix_assign.hpp 22 Feb 2005 12:27:09 -0000 @@ -681,7 +681,8 @@ namespace detail { #endif difference_type size2 (it2_end - it2); while (-- size2 >= 0) - functor_type::apply (*it2, value_type/*zero*/()), ++ it2; +// functor_type::apply (*it2, value_type/*zero*/()), ++ it2; + functor_type::apply (*it2, typename functor_type::argument2_type(0)), ++ it2; ++ it1; } } else { @@ -721,7 +722,8 @@ namespace detail { it2_size -= size2; if (!functor_type::computed) { while (-- size2 >= 0) // zeroing - functor_type::apply (*it2, value_type/*zero*/()), ++ it2; +// functor_type::apply (*it2, value_type/*zero*/()), ++ it2; + functor_type::apply (*it2, typename functor_type::argument2_type(0)), ++ it2; } else { it2 += size2; } @@ -736,7 +738,8 @@ namespace detail { size2 = it2_size; if (!functor_type::computed) { while (-- size2 >= 0) // zeroing - functor_type::apply (*it2, value_type/*zero*/()), ++ it2; +// functor_type::apply (*it2, value_type/*zero*/()), ++ it2; + functor_type::apply (*it2, typename functor_type::argument2_type(0)), ++ it2; } else { it2 += size2; } @@ -754,7 +757,8 @@ namespace detail { #endif difference_type size2 (it2_end - it2); while (-- size2 >= 0) - functor_type::apply (*it2, value_type/*zero*/()), ++ it2; +// functor_type::apply (*it2, value_type/*zero*/()), ++ it2; + functor_type::apply (*it2, typename functor_type::argument2_type(0)), ++ it2; ++ it1; } } else { @@ -810,7 +814,8 @@ namespace detail { #endif difference_type size1 (it1_end - it1); while (-- size1 >= 0) - functor_type::apply (*it1, value_type/*zero*/()), ++ it1; +// functor_type::apply (*it1, value_type/*zero*/()), ++ it1; + functor_type::apply (*it1, typename functor_type::argument2_type(0)), ++ it1; ++ it2; } } else { @@ -850,7 +855,8 @@ namespace detail { it1_size -= size1; if (!functor_type::computed) { while (-- size1 >= 0) // zeroing - functor_type::apply (*it1, value_type/*zero*/()), ++ it1; +// functor_type::apply (*it1, value_type/*zero*/()), ++ it1; + functor_type::apply (*it1, typename functor_type::argument2_type(0)), ++ it1; } else { it1 += size1; } @@ -865,7 +871,8 @@ namespace detail { size1 = it1_size; if (!functor_type::computed) { while (-- size1 >= 0) // zeroing - functor_type::apply (*it1, value_type/*zero*/()), ++ it1; +// functor_type::apply (*it1, value_type/*zero*/()), ++ it1; + functor_type::apply (*it1, typename functor_type::argument2_type(0)), ++ it1; } else { it1 += size1; } @@ -883,7 +890,8 @@ namespace detail { #endif difference_type size1 (it1_end - it1); while (-- size1 >= 0) - functor_type::apply (*it1, value_type/*zero*/()), ++ it1; +// functor_type::apply (*it1, value_type/*zero*/()), ++ it1; + functor_type::apply (*it1, typename functor_type::argument2_type(0)), ++ it1; ++ it2; } } else { @@ -1008,7 +1016,8 @@ namespace detail { break; } else if (compare < 0) { if (!functor_type::computed) { - functor_type::apply (*it2, value_type/*zero*/()); +// functor_type::apply (*it2, value_type/*zero*/()); + functor_type::apply (*it2, typename functor_type::argument2_type(0)); ++ it2; } else increment (it2, it2_end, - compare); @@ -1027,7 +1036,8 @@ namespace detail { } if (!functor_type::computed) { while (it2 != it2_end) { // zeroing - functor_type::apply (*it2, value_type/*zero*/()); +// functor_type::apply (*it2, value_type/*zero*/()); + functor_type::apply (*it2, typename functor_type::argument2_type(0)); ++ it2; } } else { @@ -1044,7 +1054,8 @@ namespace detail { typename M::iterator2 it2_end (end (it1, iterator1_tag ())); #endif while (it2 != it2_end) { // zeroing - functor_type::apply (*it2, value_type/*zero*/()); +// functor_type::apply (*it2, value_type/*zero*/()); + functor_type::apply (*it2, typename functor_type::argument2_type(0)); ++ it2; } ++ it1; @@ -1065,7 +1076,8 @@ namespace detail { typename M::iterator2 it2_end (end (it1, iterator1_tag ())); #endif while (it2 != it2_end) { // zeroing - functor_type::apply (*it2, value_type/*zero*/()); +// functor_type::apply (*it2, value_type/*zero*/()); + functor_type::apply (*it2, typename functor_type::argument2_type(0)); ++ it2; } ++ it1; @@ -1128,7 +1140,8 @@ namespace detail { break; } else if (compare < 0) { if (!functor_type::computed) { - functor_type::apply (*it1, value_type/*zero*/()); // zeroing +// functor_type::apply (*it1, value_type/*zero*/()); // zeroing + functor_type::apply (*it1, typename functor_type::argument2_type(0)); // zeroing ++ it1; } else increment (it1, it1_end, - compare); @@ -1147,7 +1160,8 @@ namespace detail { } if (!functor_type::computed) { while (it1 != it1_end) { // zeroing - functor_type::apply (*it1, value_type/*zero*/()); +// functor_type::apply (*it1, value_type/*zero*/()); + functor_type::apply (*it1, typename functor_type::argument2_type(0)); ++ it1; } } else { @@ -1164,7 +1178,8 @@ namespace detail { typename M::iterator1 it1_end (end (it2, iterator2_tag ())); #endif while (it1 != it1_end) { // zeroing - functor_type::apply (*it1, value_type/*zero*/()); +// functor_type::apply (*it1, value_type/*zero*/()); + functor_type::apply (*it1, typename functor_type::argument2_type(0)); ++ it1; } ++ it2; @@ -1185,7 +1200,8 @@ namespace detail { typename M::iterator1 it1_end (end (it2, iterator2_tag ())); #endif while (it1 != it1_end) { // zeroing - functor_type::apply (*it1, value_type/*zero*/()); +// functor_type::apply (*it1, value_type/*zero*/()); + functor_type::apply (*it1, typename functor_type::argument2_type(0)); ++ it1; } ++ it2;