• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /* Boost mtl4_resize.cpp test file
2 
3  Copyright 2012 Karsten Ahnert
4  Copyright 2012 Mario Mulansky
5 
6  This file tests the odeint library with the mtl4 routines.
7 
8  Distributed under the Boost Software License, Version 1.0.
9  (See accompanying file LICENSE_1_0.txt or
10  copy at http://www.boost.org/LICENSE_1_0.txt)
11 */
12 
13 #define BOOST_TEST_MODULE test_mtl4_resize
14 
15 #include <boost/test/unit_test.hpp>
16 
17 #include <boost/numeric/odeint/external/mtl4/mtl4_resize.hpp>
18 #include <boost/numeric/mtl/vector/dense_vector.hpp>
19 
20 namespace odeint = boost::numeric::odeint;
21 
22 
BOOST_AUTO_TEST_CASE(test_dense_vector_resizeability)23 BOOST_AUTO_TEST_CASE( test_dense_vector_resizeability )
24 {
25     BOOST_CHECK( odeint::is_resizeable< mtl::dense_vector< double > >::value );
26 }
27 
BOOST_AUTO_TEST_CASE(test_dense2D_resizeability)28 BOOST_AUTO_TEST_CASE( test_dense2D_resizeability )
29 {
30     BOOST_CHECK( odeint::is_resizeable< mtl::dense2D< double > >::value );
31 }
32 
BOOST_AUTO_TEST_CASE(test_compressed2D_resizeability)33 BOOST_AUTO_TEST_CASE( test_compressed2D_resizeability )
34 {
35     BOOST_CHECK( odeint::is_resizeable< mtl::compressed2D< double > >::value );
36 }
37 
38 
39 
BOOST_AUTO_TEST_CASE(test_dense_vector_vector_same_size)40 BOOST_AUTO_TEST_CASE( test_dense_vector_vector_same_size )
41 {
42     mtl::dense_vector< double > v1( 10 ) , v2( 10 );
43     BOOST_CHECK( odeint::same_size( v2 , v1 ) );
44 }
45 
BOOST_AUTO_TEST_CASE(test_dense_vector_dense2D_same_size)46 BOOST_AUTO_TEST_CASE( test_dense_vector_dense2D_same_size )
47 {
48     mtl::dense_vector< double > v( 10 );
49     mtl::dense2D< double > m( 10 , 10 );
50     BOOST_CHECK( odeint::same_size( m , v ) );
51 }
52 
BOOST_AUTO_TEST_CASE(test_dense_vector_compressed2D_same_size)53 BOOST_AUTO_TEST_CASE( test_dense_vector_compressed2D_same_size )
54 {
55     mtl::dense_vector< double > v( 10 );
56     mtl::compressed2D< double > m( 10 , 10 );
57     BOOST_CHECK( odeint::same_size( m , v ) );
58 }
59 
60 
61 
62 
BOOST_AUTO_TEST_CASE(test_dense_vector_vector_resize)63 BOOST_AUTO_TEST_CASE( test_dense_vector_vector_resize )
64 {
65     mtl::dense_vector< double > v1( 10 );
66     mtl::dense_vector< double > v2;
67     odeint::resize( v2 , v1 );
68     BOOST_CHECK( mtl::size( v2 ) == mtl::size( v1 ) );
69 }
70 
BOOST_AUTO_TEST_CASE(test_dense_vector_dense2D_resize)71 BOOST_AUTO_TEST_CASE( test_dense_vector_dense2D_resize )
72 {
73     mtl::dense_vector< double > v( 10 );
74     mtl::dense2D< double > m;
75 
76     odeint::resize( m , v );
77     BOOST_CHECK( m.num_cols() == mtl::size( v ) );
78     BOOST_CHECK( m.num_rows() == mtl::size( v ) );
79 }
80 
BOOST_AUTO_TEST_CASE(test_dense_vector_compressed2D_resize)81 BOOST_AUTO_TEST_CASE( test_dense_vector_compressed2D_resize )
82 {
83     mtl::dense_vector< double > v( 10 );
84     mtl::compressed2D< double > m;
85 
86     odeint::resize( m , v );
87     BOOST_CHECK( m.num_cols() == mtl::size( v ) );
88     BOOST_CHECK( m.num_rows() == mtl::size( v ) );
89 }
90