File: retile.cpp

package info (click to toggle)
tiledarray 1.0.0-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 9,568 kB
  • sloc: cpp: 53,449; javascript: 1,599; sh: 393; ansic: 226; python: 223; xml: 195; makefile: 36
file content (31 lines) | stat: -rw-r--r-- 941 bytes parent folder | download
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
#include <tiledarray.h>
#include "TiledArray/config.h"
#include "range_fixture.h"
#include "unit_test_config.h"

BOOST_AUTO_TEST_SUITE(retile_suite)

BOOST_AUTO_TEST_CASE(retile_tensor) {
    TA::detail::matrix_il<double> some_values = {
      {0.1, 0.2, 0.3, 0.4, 0.5},
      {0.6, 0.7, 0.8, 0.9, 1.0},
      {1.1, 1.2, 1.3, 1.4, 1.5},
      {1.6, 1.7, 1.8, 1.9, 2.0},
      {2.1, 2.2, 2.3, 2.4, 2.5}
    };

    auto range0 = TA::TiledRange1(0, 3, 5);
    auto range1 = TA::TiledRange1(0, 4, 5);
    auto trange = TA::TiledRange({range0, range1});

    TA::TArrayD default_dense(*GlobalFixture::world, some_values);
    TA::TSpArrayD default_sparse(*GlobalFixture::world, some_values);

    auto result_dense = retile(default_dense, trange);
    auto result_sparse = retile(default_sparse, trange);

    BOOST_CHECK_EQUAL(result_dense.trange(), trange);
    BOOST_CHECK_EQUAL(result_sparse.trange(), trange);
}

BOOST_AUTO_TEST_SUITE_END()