]> git.proxmox.com Git - ceph.git/blame - ceph/src/boost/libs/numeric/odeint/test_external/eigen/resize.cpp
add subtree-ish sources for 12.0.3
[ceph.git] / ceph / src / boost / libs / numeric / odeint / test_external / eigen / resize.cpp
CommitLineData
7c673cae
FG
1/*
2 [auto_generated]
3 libs/numeric/odeint/test_external/eigen/resize.cpp
4
5 [begin_description]
6 tba.
7 [end_description]
8
9 Copyright 2013 Karsten Ahnert
10 Copyright 2013 Mario Mulansky
11
12 Distributed under the Boost Software License, Version 1.0.
13 (See accompanying file LICENSE_1_0.txt or
14 copy at http://www.boost.org/LICENSE_1_0.txt)
15 */
16
17#include <boost/config.hpp>
18#ifdef BOOST_MSVC
19 #pragma warning(disable:4996)
20#endif
21
22#define BOOST_TEST_MODULE odeint_eigen_resize
23
24#include <boost/test/unit_test.hpp>
25#include <boost/numeric/odeint/external/eigen/eigen_resize.hpp>
26
27
28using namespace boost::unit_test;
29using namespace boost::numeric::odeint;
30
31
32BOOST_AUTO_TEST_SUITE( eigen_resize )
33
34BOOST_AUTO_TEST_CASE( test_compile_time_matrix )
35{
36 typedef Eigen::Matrix< double , 1 , 1 > matrix_type;
37 matrix_type a , b;
38 boost::numeric::odeint::resize( a , b );
39 BOOST_CHECK( boost::numeric::odeint::same_size( a , b ) );
40 BOOST_CHECK_EQUAL( a.rows() , 1 );
41 BOOST_CHECK_EQUAL( a.cols() , 1 );
42}
43
44BOOST_AUTO_TEST_CASE( test_rumtime_matrix )
45{
46 typedef Eigen::Matrix< double , Eigen::Dynamic , Eigen::Dynamic > matrix_type;
47 matrix_type a( 5 , 2 ) , b;
48
49 BOOST_CHECK_EQUAL( a.rows() , 5 );
50 BOOST_CHECK_EQUAL( a.cols() , 2 );
51 BOOST_CHECK_EQUAL( b.rows() , 0 );
52 BOOST_CHECK_EQUAL( b.cols() , 0 );
53 BOOST_CHECK( !boost::numeric::odeint::same_size( a , b ) );
54
55 boost::numeric::odeint::resize( b , a );
56
57 BOOST_CHECK_EQUAL( a.rows() , 5 );
58 BOOST_CHECK_EQUAL( a.cols() , 2 );
59 BOOST_CHECK_EQUAL( b.rows() , 5 );
60 BOOST_CHECK_EQUAL( b.cols() , 2 );
61
62 BOOST_CHECK( boost::numeric::odeint::same_size( a , b ) );
63}
64
65BOOST_AUTO_TEST_CASE( test_rumtime_matrix2 )
66{
67 typedef Eigen::Matrix< double , Eigen::Dynamic , Eigen::Dynamic > matrix_type;
68 matrix_type a( 5 , 2 ) , b( 2 , 3 );
69
70 BOOST_CHECK_EQUAL( a.rows() , 5 );
71 BOOST_CHECK_EQUAL( a.cols() , 2 );
72 BOOST_CHECK_EQUAL( b.rows() , 2 );
73 BOOST_CHECK_EQUAL( b.cols() , 3 );
74 BOOST_CHECK( !boost::numeric::odeint::same_size( a , b ) );
75
76 boost::numeric::odeint::resize( b , a );
77
78 BOOST_CHECK_EQUAL( a.rows() , 5 );
79 BOOST_CHECK_EQUAL( a.cols() , 2 );
80 BOOST_CHECK_EQUAL( b.rows() , 5 );
81 BOOST_CHECK_EQUAL( b.cols() , 2 );
82
83 BOOST_CHECK( boost::numeric::odeint::same_size( a , b ) );
84}
85
86
87
88
89
90
91BOOST_AUTO_TEST_CASE( test_compile_time_array )
92{
93 typedef Eigen::Array< double , 1 , 1 > array_type;
94 array_type a , b;
95 boost::numeric::odeint::resize( a , b );
96 BOOST_CHECK( boost::numeric::odeint::same_size( a , b ) );
97 BOOST_CHECK_EQUAL( a.rows() , 1 );
98 BOOST_CHECK_EQUAL( a.cols() , 1 );
99}
100
101BOOST_AUTO_TEST_CASE( test_rumtime_array )
102{
103 typedef Eigen::Array< double , Eigen::Dynamic , Eigen::Dynamic > array_type;
104 array_type a( 5 , 2 ) , b;
105
106 BOOST_CHECK_EQUAL( a.rows() , 5 );
107 BOOST_CHECK_EQUAL( a.cols() , 2 );
108 BOOST_CHECK_EQUAL( b.rows() , 0 );
109 BOOST_CHECK_EQUAL( b.cols() , 0 );
110 BOOST_CHECK( !boost::numeric::odeint::same_size( a , b ) );
111
112 boost::numeric::odeint::resize( b , a );
113
114 BOOST_CHECK_EQUAL( a.rows() , 5 );
115 BOOST_CHECK_EQUAL( a.cols() , 2 );
116 BOOST_CHECK_EQUAL( b.rows() , 5 );
117 BOOST_CHECK_EQUAL( b.cols() , 2 );
118
119 BOOST_CHECK( boost::numeric::odeint::same_size( a , b ) );
120}
121
122BOOST_AUTO_TEST_CASE( test_rumtime_array2 )
123{
124 typedef Eigen::Array< double , Eigen::Dynamic , Eigen::Dynamic > array_type;
125 array_type a( 5 , 2 ) , b( 2 , 3 );
126
127 BOOST_CHECK_EQUAL( a.rows() , 5 );
128 BOOST_CHECK_EQUAL( a.cols() , 2 );
129 BOOST_CHECK_EQUAL( b.rows() , 2 );
130 BOOST_CHECK_EQUAL( b.cols() , 3 );
131 BOOST_CHECK( !boost::numeric::odeint::same_size( a , b ) );
132
133 boost::numeric::odeint::resize( b , a );
134
135 BOOST_CHECK_EQUAL( a.rows() , 5 );
136 BOOST_CHECK_EQUAL( a.cols() , 2 );
137 BOOST_CHECK_EQUAL( b.rows() , 5 );
138 BOOST_CHECK_EQUAL( b.cols() , 2 );
139
140 BOOST_CHECK( boost::numeric::odeint::same_size( a , b ) );
141}
142
143
144
145BOOST_AUTO_TEST_SUITE_END()