diff --git a/test/placement_new.cpp b/test/placement_new.cpp index 96e19448..4179d771 100644 --- a/test/placement_new.cpp +++ b/test/placement_new.cpp @@ -14,8 +14,6 @@ #include // User defined type to capture base pointer on construction -class udt; -udt* base_pointer; class udt { public: @@ -23,8 +21,11 @@ public: base_pointer = this; } ~udt () {} // required for GCC prior to 3.4 to generate cookie + + static udt* base_pointer; }; +udt* udt::base_pointer; int main () { @@ -33,9 +34,9 @@ int main () // Capture placement new offsets for a udt new (ap) udt; - int new_offset = int (base_pointer - ap); + int new_offset = int (udt::base_pointer - ap); new (ap) udt [1]; - int array_new_offset = int (base_pointer - ap); + int array_new_offset = int (udt::base_pointer - ap); // Print offsets - we expect 0,0 or 0,sizeof(std::size_t) std::cout << new_offset <<','<< array_new_offset << std::endl; diff --git a/test/test1/test11.cpp b/test/test1/test11.cpp index 36fb424c..3101abda 100644 --- a/test/test1/test11.cpp +++ b/test/test1/test11.cpp @@ -42,6 +42,11 @@ struct test_my_vector { std::cout << "v1.assign_temporary (v2) = " << v1 << std::endl; v1.swap (v2); std::cout << "v1.swap (v2) = " << v1 << " " << v2 << std::endl; + + // Zero assignment + v1 = ublas::zero_vector<> (v1.size ()); + std::cout << "v1.zero_vector = " << v1 << std::endl; + v1 = v2; #ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING // Project range and slice diff --git a/test/test1/test13.cpp b/test/test1/test13.cpp index a8265aa7..1aa50b5e 100644 --- a/test/test1/test13.cpp +++ b/test/test1/test13.cpp @@ -39,6 +39,11 @@ struct test_my_matrix { m1.swap (m2); std::cout << "m1.swap (m2) = " << m1 << " " << m2 << std::endl; + // Zero assignment + m1 = ublas::zero_matrix<> (m1.size1 (), m1.size2 ()); + std::cout << "m1.zero_matrix = " << m1 << std::endl; + m1 = m2; + #ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING // Project range and slice initialize_matrix (m1); diff --git a/test/test3/test31.cpp b/test/test3/test31.cpp index f759f606..68c2a723 100644 --- a/test/test3/test31.cpp +++ b/test/test3/test31.cpp @@ -43,6 +43,11 @@ struct test_my_vector { v1.swap (v2); std::cout << "v1.swap (v2) = " << v1 << " " << v2 << std::endl; + // Zero assignment + v1 = ublas::zero_vector<> (v1.size ()); + std::cout << "v1.zero_vector = " << v1 << std::endl; + v1 = v2; + #ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING // Project range and slice initialize_vector (v1); diff --git a/test/test3/test33.cpp b/test/test3/test33.cpp index aca49591..0a86dc68 100644 --- a/test/test3/test33.cpp +++ b/test/test3/test33.cpp @@ -39,6 +39,11 @@ struct test_my_matrix { m1.swap (m2); std::cout << "m1.swap (m2) = " << m1 << " " << m2 << std::endl; + // Zero assignment + m1 = ublas::zero_matrix<> (m1.size1 (), m1.size2 ()); + std::cout << "m1.zero_matrix = " << m1 << std::endl; + m1 = m2; + #ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING // Project range and slice initialize_matrix (m1); diff --git a/test/test4/test43.cpp b/test/test4/test43.cpp index 3a868272..8e460d92 100644 --- a/test/test4/test43.cpp +++ b/test/test4/test43.cpp @@ -39,6 +39,11 @@ struct test_my_matrix { m1.swap (m2); std::cout << "m1.swap (m2) = " << m1 << " " << m2 << std::endl; + // Zero assignment + m1 = ublas::zero_matrix<> (m1.size1 (), m1.size2 ()); + std::cout << "m1.zero_matrix = " << m1 << std::endl; + m1 = m2; + // Unary matrix operations resulting in a matrix initialize_matrix (m1); m2 = - m1; diff --git a/test/test5/test53.cpp b/test/test5/test53.cpp index b7574d60..7a8e48c7 100644 --- a/test/test5/test53.cpp +++ b/test/test5/test53.cpp @@ -39,6 +39,11 @@ struct test_my_matrix { m1.swap (m2); std::cout << "m1.swap (m2) = " << m1 << " " << m2 << std::endl; + // Zero assignment + m1 = ublas::zero_matrix<> (m1.size1 (), m1.size2 ()); + std::cout << "m1.zero_matrix = " << m1 << std::endl; + m1 = m2; + // Unary matrix operations resulting in a matrix initialize_matrix (m1); m2 = - m1; diff --git a/test/test6/test63.cpp b/test/test6/test63.cpp index 77446d88..61f82ad3 100644 --- a/test/test6/test63.cpp +++ b/test/test6/test63.cpp @@ -39,6 +39,11 @@ struct test_my_matrix { m1.swap (m2); std::cout << "m1.swap (m2) = " << m1 << " " << m2 << std::endl; + // Zero assignment + m1 = ublas::zero_matrix<> (m1.size1 (), m1.size2 ()); + std::cout << "m1.zero_matrix = " << m1 << std::endl; + m1 = m2; + // Unary matrix operations resulting in a matrix initialize_matrix (m1); m2 = - m1; diff --git a/test/test7/test71.cpp b/test/test7/test71.cpp index 0267d0e2..cd16a966 100644 --- a/test/test7/test71.cpp +++ b/test/test7/test71.cpp @@ -39,6 +39,11 @@ struct test_my_vector { v1.swap (v2); std::cout << "v1.swap (v2) = " << v1 << " " << v2 << std::endl; + // Zero assignment + v1 = ublas::zero_vector<> (v1.size ()); + std::cout << "v1.zero_vector = " << v1 << std::endl; + v1 = v2; + // Unary vector operations resulting in a vector initialize_vector (v1); v2 = - v1; diff --git a/test/test7/test73.cpp b/test/test7/test73.cpp index e4abde4a..75dfe55d 100644 --- a/test/test7/test73.cpp +++ b/test/test7/test73.cpp @@ -36,6 +36,11 @@ struct test_my_matrix { m1.swap (m2); std::cout << "m1.swap (m2) = " << m1 << " " << m2 << std::endl; + // Zero assignment + m1 = ublas::zero_matrix<> (m1.size (), m1.size2 ()); + std::cout << "m1.zero_matrix = " << m1 << std::endl; + m1 = m2; + // Unary matrix operations resulting in a matrix initialize_matrix (m1); m2 = - m1;