mirror of
https://github.com/boostorg/ublas.git
synced 2026-02-24 04:22:12 +00:00
ADD Test zero assignment
This commit is contained in:
@@ -14,8 +14,6 @@
|
||||
#include <iostream>
|
||||
|
||||
// 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;
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user