File: mtl4_resize.cpp

package info (click to toggle)
boost1.83 1.83.0-5
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 545,632 kB
  • sloc: cpp: 3,857,086; xml: 125,552; ansic: 34,414; python: 25,887; asm: 5,276; sh: 4,799; ada: 1,681; makefile: 1,629; perl: 1,212; pascal: 1,139; sql: 810; yacc: 478; ruby: 102; lisp: 24; csh: 6
file content (89 lines) | stat: -rw-r--r-- 2,302 bytes parent folder | download | duplicates (18)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
/* Boost mtl4_resize.cpp test file

 Copyright 2012 Karsten Ahnert
 Copyright 2012 Mario Mulansky

 This file tests the odeint library with the mtl4 routines.

 Distributed under the Boost Software License, Version 1.0.
 (See accompanying file LICENSE_1_0.txt or
 copy at http://www.boost.org/LICENSE_1_0.txt)
*/

#define BOOST_TEST_MODULE test_mtl4_resize

#include <boost/test/unit_test.hpp>

#include <boost/numeric/odeint/external/mtl4/mtl4_resize.hpp>
#include <boost/numeric/mtl/vector/dense_vector.hpp>

namespace odeint = boost::numeric::odeint;


BOOST_AUTO_TEST_CASE( test_dense_vector_resizeability )
{
    BOOST_CHECK( odeint::is_resizeable< mtl::dense_vector< double > >::value );
}

BOOST_AUTO_TEST_CASE( test_dense2D_resizeability )
{
    BOOST_CHECK( odeint::is_resizeable< mtl::dense2D< double > >::value );
}

BOOST_AUTO_TEST_CASE( test_compressed2D_resizeability )
{
    BOOST_CHECK( odeint::is_resizeable< mtl::compressed2D< double > >::value );
}



BOOST_AUTO_TEST_CASE( test_dense_vector_vector_same_size )
{
    mtl::dense_vector< double > v1( 10 ) , v2( 10 );
    BOOST_CHECK( odeint::same_size( v2 , v1 ) );
}

BOOST_AUTO_TEST_CASE( test_dense_vector_dense2D_same_size )
{
    mtl::dense_vector< double > v( 10 );
    mtl::dense2D< double > m( 10 , 10 );
    BOOST_CHECK( odeint::same_size( m , v ) );
}

BOOST_AUTO_TEST_CASE( test_dense_vector_compressed2D_same_size )
{
    mtl::dense_vector< double > v( 10 );
    mtl::compressed2D< double > m( 10 , 10 );
    BOOST_CHECK( odeint::same_size( m , v ) );
}




BOOST_AUTO_TEST_CASE( test_dense_vector_vector_resize )
{
    mtl::dense_vector< double > v1( 10 );
    mtl::dense_vector< double > v2;
    odeint::resize( v2 , v1 );
    BOOST_CHECK( mtl::size( v2 ) == mtl::size( v1 ) );
}

BOOST_AUTO_TEST_CASE( test_dense_vector_dense2D_resize )
{
    mtl::dense_vector< double > v( 10 );
    mtl::dense2D< double > m;

    odeint::resize( m , v );
    BOOST_CHECK( m.num_cols() == mtl::size( v ) );
    BOOST_CHECK( m.num_rows() == mtl::size( v ) );
}

BOOST_AUTO_TEST_CASE( test_dense_vector_compressed2D_resize )
{
    mtl::dense_vector< double > v( 10 );
    mtl::compressed2D< double > m;

    odeint::resize( m , v );
    BOOST_CHECK( m.num_cols() == mtl::size( v ) );
    BOOST_CHECK( m.num_rows() == mtl::size( v ) );
}