3 #include <boost/test/unit_test.hpp> 10 std::size_t check_dynamic_size(
int F,
int S,
int N) {
12 return A.num_elements();
22 auto actual = check_dynamic_size(F, S, N);
23 BOOST_CHECK_EQUAL(actual, std::size_t(F * S * 4 * N));
26 boost::multi_array_ref<int, 2> R(A.data(), boost::extents[F * S * 4][N]);
28 BOOST_CHECK_EQUAL(R.size(), std::size_t(F * S * 4));
29 BOOST_CHECK_EQUAL(R[0].
size(), std::size_t(N));
30 BOOST_CHECK_EQUAL(R.num_elements(), std::size_t(F * S * 4 * N));
33 BOOST_CHECK_EQUAL(A[0][0][0][0], 100);
36 BOOST_CHECK_EQUAL(A[0][0][0][0], 200);
38 boost::multi_array_ref<int, 2> R2(R);
40 BOOST_CHECK_EQUAL(A[0][0][0][0], 300);
42 for (
auto const& v : R) {
43 BOOST_CHECK_EQUAL(v.size(), N);
boost::multi_array< value_type, num_dims, jb::fftw::allocator< value_type > > aligned_multi_array
Alias boost::multi_array with properly allocated storage for FFTW3.
BOOST_AUTO_TEST_CASE(multiarray_basic)