# include <deal.II/base/hdf5.h>
# include <deal.II/lac/full_matrix.h>
+# include <deal.II/lac/vector.h>
# include <hdf5.h>
return static_cast<unsigned int>(data.size());
}
+ template <template <class...> class Container, typename number>
+ typename std::enable_if<
+ std::is_same<Container<number>, Vector<number>>::value,
+ unsigned int>::type
+ get_container_size(const Container<number> &data)
+ {
+ // It is very important to pass the variable "data" by reference otherwise
+ // the pointer will be wrong
+ return static_cast<unsigned int>(data.size());
+ }
+
template <template <class...> class Container, typename number>
typename std::enable_if<
std::is_same<Container<number>, FullMatrix<number>>::value,
return data.data();
}
+ template <template <class...> class Container, typename number>
+ typename std::enable_if<
+ std::is_same<Container<number>, Vector<number>>::value,
+ void *>::type
+ get_container_pointer(Container<number> &data)
+ {
+ // It is very important to pass the variable "data" by reference otherwise
+ // the pointer will be wrong.
+ // Use the first element of FullMatrix to get the pointer to the raw data
+ return &data[0];
+ }
+
template <template <class...> class Container, typename number>
typename std::enable_if<
std::is_same<Container<number>, FullMatrix<number>>::value,
void *>::type
- get_container_pointer(FullMatrix<number> &data)
+ get_container_pointer(Container<number> &data)
{
// It is very important to pass the variable "data" by reference otherwise
// the pointer will be wrong.
return data.data();
}
+ template <template <class...> class Container, typename number>
+ typename std::enable_if<
+ std::is_same<Container<number>, Vector<number>>::value,
+ const void *>::type
+ get_container_const_pointer(const Container<number> &data)
+ {
+ // It is very important to pass the variable "data" by reference otherwise
+ // the pointer will be wrong.
+ // Use the first element of FullMatrix to get the pointer to the raw data
+ return &*data.begin();
+ }
+
+
template <template <class...> class Container, typename number>
typename std::enable_if<
std::is_same<Container<number>, FullMatrix<number>>::value,
const void *>::type
- get_container_const_pointer(const FullMatrix<number> &data)
+ get_container_const_pointer(const Container<number> &data)
{
// It is very important to pass the variable "data" by reference otherwise
// the pointer will be wrong.
Container<number>>::type
initialize_container(std::vector<hsize_t> dimensions)
{
- return std::vector<number>(std::accumulate(
+ return Container<number>(std::accumulate(
+ dimensions.begin(), dimensions.end(), 1, std::multiplies<int>()));
+ }
+
+ template <template <class...> class Container, typename number>
+ typename std::enable_if<
+ std::is_same<Container<number>, Vector<number>>::value,
+ Container<number>>::type
+ initialize_container(std::vector<hsize_t> dimensions)
+ {
+ return Container<number>(std::accumulate(
dimensions.begin(), dimensions.end(), 1, std::multiplies<int>()));
}
number value) const;
template std::vector<number> DataSet::read<std::vector, number>();
+ template Vector<number> DataSet::read<Vector, number>();
template FullMatrix<number> DataSet::read<FullMatrix, number>();
template std::vector<number> DataSet::read_selection<number>(
template std::vector<number> DataSet::read_hyperslab<std::vector, number>(
const std::vector<hsize_t> &offset, const std::vector<hsize_t> &count);
-
+ template Vector<number> DataSet::read_hyperslab<Vector, number>(
+ const std::vector<hsize_t> &offset, const std::vector<hsize_t> &count);
template FullMatrix<number> DataSet::read_hyperslab<FullMatrix, number>(
const std::vector<hsize_t> &offset, const std::vector<hsize_t> &count);
template void DataSet::write<std::vector, number>(
const std::vector<number> &data);
-
+ template void DataSet::write<Vector, number>(const Vector<number> &data);
template void DataSet::write<FullMatrix, number>(
const FullMatrix<number> &data);
template void DataSet::write_selection<number>(
const std::vector<number> &data, const std::vector<hsize_t> coordinates);
+
template void DataSet::write_hyperslab<std::vector, number>(
const std::vector<number> & data,
const std::vector<hsize_t> &offset,
const std::vector<hsize_t> &count);
-
+ template void DataSet::write_hyperslab<Vector, number>(
+ const Vector<number> & data,
+ const std::vector<hsize_t> &offset,
+ const std::vector<hsize_t> &count);
template void DataSet::write_hyperslab<FullMatrix, number>(
const FullMatrix<number> & data,
const std::vector<hsize_t> &offset,
const std::vector<hsize_t> &stride,
const std::vector<hsize_t> &count,
const std::vector<hsize_t> &block);
-
+ template void DataSet::write_hyperslab<Vector, number>(
+ const Vector<number> & data,
+ const std::vector<hsize_t> &data_dimensions,
+ const std::vector<hsize_t> &offset,
+ const std::vector<hsize_t> &stride,
+ const std::vector<hsize_t> &count,
+ const std::vector<hsize_t> &block);
template void DataSet::write_hyperslab<FullMatrix, number>(
const FullMatrix<number> & data,
const std::vector<hsize_t> &data_dimensions,
#include <deal.II/base/conditional_ostream.h>
#include <deal.II/base/hdf5.h>
+#include <deal.II/lac/full_matrix.h>
+#include <deal.II/lac/vector.h>
+
#include <boost/type_traits.hpp>
#include <numeric>
Container<Number>>::type
initialize_container(std::vector<hsize_t> dimensions)
{
- return std::vector<Number>(std::accumulate(
+ return Container<Number>(std::accumulate(
+ dimensions.begin(), dimensions.end(), 1, std::multiplies<int>()));
+}
+
+template <template <class...> class Container, typename Number>
+typename std::enable_if<std::is_same<Container<Number>, Vector<Number>>::value,
+ Container<Number>>::type
+initialize_container(std::vector<hsize_t> dimensions)
+{
+ return Container<Number>(std::accumulate(
dimensions.begin(), dimensions.end(), 1, std::multiplies<int>()));
}
return std::accumulate(data.begin(), data.end(), static_cast<Number>(0));
}
+template <template <class...> class Container, typename Number>
+typename std::enable_if<std::is_same<Container<Number>, Vector<Number>>::value,
+ Number>::type
+container_sum(Container<Number> data)
+{
+ return std::accumulate(data.begin(), data.end(), static_cast<Number>(0));
+}
+
template <template <class...> class Container, typename Number>
typename std::enable_if<
std::is_same<Container<Number>, FullMatrix<Number>>::value,
}
}
+template <template <class...> class Container, typename Number>
+typename std::enable_if<std::is_same<Container<Number>, Vector<Number>>::value,
+ void>::type
+assign_data(Container<Number> &data)
+{
+ for (unsigned int idx = 0; idx < data.size(); ++idx)
+ {
+ data[idx] = static_cast<Number>(idx) * get_factor<Number>();
+ }
+}
+
template <template <class...> class Container, typename Number>
typename std::enable_if<
std::is_same<Container<Number>, FullMatrix<Number>>::value,
dataset_dimensions,
mpi_communicator,
pcout);
+ write_test<Vector, float>(data_file,
+ dataset_dimensions,
+ mpi_communicator,
+ pcout);
+ write_test<Vector, double>(data_file,
+ dataset_dimensions,
+ mpi_communicator,
+ pcout);
+ write_test<Vector, std::complex<float>>(data_file,
+ dataset_dimensions,
+ mpi_communicator,
+ pcout);
+ write_test<Vector, std::complex<double>>(data_file,
+ dataset_dimensions,
+ mpi_communicator,
+ pcout);
}
{
read_test<FullMatrix, std::complex<double>>(data_file,
mpi_communicator,
pcout);
+ read_test<Vector, float>(data_file, mpi_communicator, pcout);
+ read_test<Vector, double>(data_file, mpi_communicator, pcout);
+ read_test<Vector, std::complex<float>>(data_file,
+ mpi_communicator,
+ pcout);
+ read_test<Vector, std::complex<double>>(data_file,
+ mpi_communicator,
+ pcout);
}
}
catch (std::exception &exc)
DEAL::Sum dataset_4 FullMatrix<std::complex<double>> (Write): (1179.00,1179.00)
DEAL::Hyperslab_a sum dataset_4 FullMatrix<std::complex<double>> (Write): (45.0000,45.0000)
DEAL::Hyperslab_b sum dataset_4 FullMatrix<std::complex<double>> (Write): (6.00000,6.00000)
+DEAL::Write tests for <float> datasets
+DEAL::Dimensions dataset_1 <float> (Write): 50 30
+DEAL::Size dataset_1 <float> (Write): 1500
+DEAL::Rank dataset_1 <float> (Write): 2
+DEAL::Sum dataset_1 <float> (Write): 1.12425e+06
+DEAL::Dimensions dataset_2 <float> (Write): 50 30
+DEAL::Size dataset_2 <float> (Write): 1500
+DEAL::Rank dataset_2 <float> (Write): 2
+DEAL::Sum dataset_2 <float> (Write): 61.0000
+DEAL::Dimensions dataset_3 <float> (Write): 50 30
+DEAL::Size dataset_3 <float> (Write): 1500
+DEAL::Rank dataset_3 <float> (Write): 2
+DEAL::Sum dataset_3 <float> (Write): 1.12425e+06
+DEAL::Dimensions dataset_4 <float> (Write): 50 30
+DEAL::Size dataset_4 <float> (Write): 1500
+DEAL::Rank dataset_4 <float> (Write): 2
+DEAL::Sum dataset_4 <float> (Write): 1179.00
+DEAL::Hyperslab_a sum dataset_4 <float> (Write): 45.0000
+DEAL::Hyperslab_b sum dataset_4 <float> (Write): 6.00000
+DEAL::Write tests for <double> datasets
+DEAL::Dimensions dataset_1 <double> (Write): 50 30
+DEAL::Size dataset_1 <double> (Write): 1500
+DEAL::Rank dataset_1 <double> (Write): 2
+DEAL::Sum dataset_1 <double> (Write): 1.12425e+06
+DEAL::Dimensions dataset_2 <double> (Write): 50 30
+DEAL::Size dataset_2 <double> (Write): 1500
+DEAL::Rank dataset_2 <double> (Write): 2
+DEAL::Sum dataset_2 <double> (Write): 61.0000
+DEAL::Sum dataset_3 <double> (Write): 1.12425e+06
+DEAL::Dimensions dataset_4 <double> (Write): 50 30
+DEAL::Size dataset_4 <double> (Write): 1500
+DEAL::Rank dataset_4 <double> (Write): 2
+DEAL::Sum dataset_4 <double> (Write): 1179.00
+DEAL::Hyperslab_a sum dataset_4 <double> (Write): 45.0000
+DEAL::Hyperslab_b sum dataset_4 <double> (Write): 6.00000
+DEAL::Write tests for <std::complex<float>> datasets
+DEAL::Dimensions dataset_1 <std::complex<float>> (Write): 50 30
+DEAL::Size dataset_1 <std::complex<float>> (Write): 1500
+DEAL::Rank dataset_1 <std::complex<float>> (Write): 2
+DEAL::Sum dataset_1 <std::complex<float>> (Write): (1.12425e+06,1.12425e+06)
+DEAL::Dimensions dataset_2 <std::complex<float>> (Write): 50 30
+DEAL::Size dataset_2 <std::complex<float>> (Write): 1500
+DEAL::Rank dataset_2 <std::complex<float>> (Write): 2
+DEAL::Sum dataset_2 <std::complex<float>> (Write): (61.0000,0.00000)
+DEAL::Dimensions dataset_4 <std::complex<float>> (Write): 50 30
+DEAL::Size dataset_4 <std::complex<float>> (Write): 1500
+DEAL::Rank dataset_4 <std::complex<float>> (Write): 2
+DEAL::Sum dataset_4 <std::complex<float>> (Write): (1179.00,1179.00)
+DEAL::Hyperslab_a sum dataset_4 <std::complex<float>> (Write): (45.0000,45.0000)
+DEAL::Hyperslab_b sum dataset_4 <std::complex<float>> (Write): (6.00000,6.00000)
+DEAL::Write tests for <std::complex<double>> datasets
+DEAL::Dimensions dataset_1 <std::complex<double>> (Write): 50 30
+DEAL::Size dataset_1 <std::complex<double>> (Write): 1500
+DEAL::Rank dataset_1 <std::complex<double>> (Write): 2
+DEAL::Sum dataset_1 <std::complex<double>> (Write): (1.12425e+06,1.12425e+06)
+DEAL::Dimensions dataset_2 <std::complex<double>> (Write): 50 30
+DEAL::Size dataset_2 <std::complex<double>> (Write): 1500
+DEAL::Rank dataset_2 <std::complex<double>> (Write): 2
+DEAL::Sum dataset_2 <std::complex<double>> (Write): (61.0000,0.00000)
+DEAL::Dimensions dataset_4 <std::complex<double>> (Write): 50 30
+DEAL::Size dataset_4 <std::complex<double>> (Write): 1500
+DEAL::Rank dataset_4 <std::complex<double>> (Write): 2
+DEAL::Sum dataset_4 <std::complex<double>> (Write): (1179.00,1179.00)
+DEAL::Hyperslab_a sum dataset_4 <std::complex<double>> (Write): (45.0000,45.0000)
+DEAL::Hyperslab_b sum dataset_4 <std::complex<double>> (Write): (6.00000,6.00000)
DEAL::Read tests for std::vector<float> datasets
DEAL::Dimensions dataset_1 std::vector<float> (Read): 50 30
DEAL::Size dataset_1 std::vector<float> (Read): 1500
DEAL::Sum dataset_4 FullMatrix<std::complex<double>> (Read): (1173.00,1173.00)
DEAL::Hyperslab_a sum dataset_4 FullMatrix<std::complex<double>> (Read): (45.0000,45.0000)
DEAL::Hyperslab_b sum dataset_4 FullMatrix<std::complex<double>> (Read): (0.00000,0.00000)
+DEAL::Read tests for <float> datasets
+DEAL::Dimensions dataset_1 <float> (Read): 50 30
+DEAL::Size dataset_1 <float> (Read): 1500
+DEAL::Rank dataset_1 <float> (Read): 2
+DEAL::Sum dataset_1 <float> (Read): 1.12425e+06
+DEAL::Dimensions dataset_2 <float> (Read): 50 30
+DEAL::Size dataset_2 <float> (Read): 1500
+DEAL::Rank dataset_2 <float> (Read): 2
+DEAL::Sum dataset_2 <float> (Read): 16.0000
+DEAL::Selection dataset_2 <float> (Read): 2.00000, 3.00000, 5.00000, 6.00000
+DEAL::Dimensions dataset_3 <float> (Read): 50 30
+DEAL::Size dataset_3 <float> (Read): 1500
+DEAL::Rank dataset_3 <float> (Read): 2
+DEAL::Sum dataset_3 <float> (Read): 1.12425e+06
+DEAL::Dimensions dataset_4 <float> (Read): 50 30
+DEAL::Size dataset_4 <float> (Read): 1500
+DEAL::Rank dataset_4 <float> (Read): 2
+DEAL::Sum dataset_4 <float> (Read): 1173.00
+DEAL::Hyperslab_a sum dataset_4 <float> (Read): 45.0000
+DEAL::Hyperslab_b sum dataset_4 <float> (Read): 0.00000
+DEAL::Read tests for <double> datasets
+DEAL::Dimensions dataset_1 <double> (Read): 50 30
+DEAL::Size dataset_1 <double> (Read): 1500
+DEAL::Rank dataset_1 <double> (Read): 2
+DEAL::Sum dataset_1 <double> (Read): 1.12425e+06
+DEAL::Dimensions dataset_2 <double> (Read): 50 30
+DEAL::Size dataset_2 <double> (Read): 1500
+DEAL::Rank dataset_2 <double> (Read): 2
+DEAL::Sum dataset_2 <double> (Read): 16.0000
+DEAL::Selection dataset_2 <double> (Read): 2.00000, 3.00000, 5.00000, 6.00000
+DEAL::Dimensions dataset_3 <double> (Read): 50 30
+DEAL::Size dataset_3 <double> (Read): 1500
+DEAL::Rank dataset_3 <double> (Read): 2
+DEAL::Sum dataset_3 <double> (Read): 1.12425e+06
+DEAL::Dimensions dataset_4 <double> (Read): 50 30
+DEAL::Size dataset_4 <double> (Read): 1500
+DEAL::Rank dataset_4 <double> (Read): 2
+DEAL::Sum dataset_4 <double> (Read): 1173.00
+DEAL::Hyperslab_a sum dataset_4 <double> (Read): 45.0000
+DEAL::Hyperslab_b sum dataset_4 <double> (Read): 0.00000
+DEAL::Read tests for <std::complex<float>> datasets
+DEAL::Dimensions dataset_1 <std::complex<float>> (Read): 50 30
+DEAL::Size dataset_1 <std::complex<float>> (Read): 1500
+DEAL::Rank dataset_1 <std::complex<float>> (Read): 2
+DEAL::Sum dataset_1 <std::complex<float>> (Read): (1.12425e+06,1.12425e+06)
+DEAL::Dimensions dataset_2 <std::complex<float>> (Read): 50 30
+DEAL::Size dataset_2 <std::complex<float>> (Read): 1500
+DEAL::Rank dataset_2 <std::complex<float>> (Read): 2
+DEAL::Sum dataset_2 <std::complex<float>> (Read): (16.0000,0.00000)
+DEAL::Selection dataset_2 <std::complex<float>> (Read): (2.00000,0.00000), (3.00000,0.00000), (5.00000,0.00000), (6.00000,0.00000)
+DEAL::Dimensions dataset_4 <std::complex<float>> (Read): 50 30
+DEAL::Size dataset_4 <std::complex<float>> (Read): 1500
+DEAL::Rank dataset_4 <std::complex<float>> (Read): 2
+DEAL::Sum dataset_4 <std::complex<float>> (Read): (1173.00,1173.00)
+DEAL::Hyperslab_a sum dataset_4 <std::complex<float>> (Read): (45.0000,45.0000)
+DEAL::Hyperslab_b sum dataset_4 <std::complex<float>> (Read): (0.00000,0.00000)
+DEAL::Read tests for <std::complex<double>> datasets
+DEAL::Dimensions dataset_1 <std::complex<double>> (Read): 50 30
+DEAL::Size dataset_1 <std::complex<double>> (Read): 1500
+DEAL::Rank dataset_1 <std::complex<double>> (Read): 2
+DEAL::Sum dataset_1 <std::complex<double>> (Read): (1.12425e+06,1.12425e+06)
+DEAL::Dimensions dataset_2 <std::complex<double>> (Read): 50 30
+DEAL::Size dataset_2 <std::complex<double>> (Read): 1500
+DEAL::Rank dataset_2 <std::complex<double>> (Read): 2
+DEAL::Sum dataset_2 <std::complex<double>> (Read): (16.0000,0.00000)
+DEAL::Selection dataset_2 <std::complex<double>> (Read): (2.00000,0.00000), (3.00000,0.00000), (5.00000,0.00000), (6.00000,0.00000)
+DEAL::Dimensions dataset_4 <std::complex<double>> (Read): 50 30
+DEAL::Size dataset_4 <std::complex<double>> (Read): 1500
+DEAL::Rank dataset_4 <std::complex<double>> (Read): 2
+DEAL::Sum dataset_4 <std::complex<double>> (Read): (1173.00,1173.00)
+DEAL::Hyperslab_a sum dataset_4 <std::complex<double>> (Read): (45.0000,45.0000)
+DEAL::Hyperslab_b sum dataset_4 <std::complex<double>> (Read): (0.00000,0.00000)
DEAL::Sum dataset_4 FullMatrix<std::complex<double>> (Write): (1179.00,1179.00)
DEAL::Hyperslab_a sum dataset_4 FullMatrix<std::complex<double>> (Write): (45.0000,45.0000)
DEAL::Hyperslab_b sum dataset_4 FullMatrix<std::complex<double>> (Write): (6.00000,6.00000)
+DEAL::Write tests for <float> datasets
+DEAL::Dimensions dataset_1 <float> (Write): 50 30
+DEAL::Size dataset_1 <float> (Write): 1500
+DEAL::Rank dataset_1 <float> (Write): 2
+DEAL::Sum dataset_1 <float> (Write): 1.12425e+06
+DEAL::Dimensions dataset_2 <float> (Write): 50 30
+DEAL::Size dataset_2 <float> (Write): 1500
+DEAL::Rank dataset_2 <float> (Write): 2
+DEAL::Sum dataset_2 <float> (Write): 61.0000
+DEAL::Dimensions dataset_3 <float> (Write): 50 30
+DEAL::Size dataset_3 <float> (Write): 1500
+DEAL::Rank dataset_3 <float> (Write): 2
+DEAL::Sum dataset_3 <float> (Write): 1.12425e+06
+DEAL::Dimensions dataset_4 <float> (Write): 50 30
+DEAL::Size dataset_4 <float> (Write): 1500
+DEAL::Rank dataset_4 <float> (Write): 2
+DEAL::Sum dataset_4 <float> (Write): 1179.00
+DEAL::Hyperslab_a sum dataset_4 <float> (Write): 45.0000
+DEAL::Hyperslab_b sum dataset_4 <float> (Write): 6.00000
+DEAL::Write tests for <double> datasets
+DEAL::Dimensions dataset_1 <double> (Write): 50 30
+DEAL::Size dataset_1 <double> (Write): 1500
+DEAL::Rank dataset_1 <double> (Write): 2
+DEAL::Sum dataset_1 <double> (Write): 1.12425e+06
+DEAL::Dimensions dataset_2 <double> (Write): 50 30
+DEAL::Size dataset_2 <double> (Write): 1500
+DEAL::Rank dataset_2 <double> (Write): 2
+DEAL::Sum dataset_2 <double> (Write): 61.0000
+DEAL::Sum dataset_3 <double> (Write): 1.12425e+06
+DEAL::Dimensions dataset_4 <double> (Write): 50 30
+DEAL::Size dataset_4 <double> (Write): 1500
+DEAL::Rank dataset_4 <double> (Write): 2
+DEAL::Sum dataset_4 <double> (Write): 1179.00
+DEAL::Hyperslab_a sum dataset_4 <double> (Write): 45.0000
+DEAL::Hyperslab_b sum dataset_4 <double> (Write): 6.00000
+DEAL::Write tests for <std::complex<float>> datasets
+DEAL::Dimensions dataset_1 <std::complex<float>> (Write): 50 30
+DEAL::Size dataset_1 <std::complex<float>> (Write): 1500
+DEAL::Rank dataset_1 <std::complex<float>> (Write): 2
+DEAL::Sum dataset_1 <std::complex<float>> (Write): (1.12425e+06,1.12425e+06)
+DEAL::Dimensions dataset_2 <std::complex<float>> (Write): 50 30
+DEAL::Size dataset_2 <std::complex<float>> (Write): 1500
+DEAL::Rank dataset_2 <std::complex<float>> (Write): 2
+DEAL::Sum dataset_2 <std::complex<float>> (Write): (61.0000,0.00000)
+DEAL::Dimensions dataset_4 <std::complex<float>> (Write): 50 30
+DEAL::Size dataset_4 <std::complex<float>> (Write): 1500
+DEAL::Rank dataset_4 <std::complex<float>> (Write): 2
+DEAL::Sum dataset_4 <std::complex<float>> (Write): (1179.00,1179.00)
+DEAL::Hyperslab_a sum dataset_4 <std::complex<float>> (Write): (45.0000,45.0000)
+DEAL::Hyperslab_b sum dataset_4 <std::complex<float>> (Write): (6.00000,6.00000)
+DEAL::Write tests for <std::complex<double>> datasets
+DEAL::Dimensions dataset_1 <std::complex<double>> (Write): 50 30
+DEAL::Size dataset_1 <std::complex<double>> (Write): 1500
+DEAL::Rank dataset_1 <std::complex<double>> (Write): 2
+DEAL::Sum dataset_1 <std::complex<double>> (Write): (1.12425e+06,1.12425e+06)
+DEAL::Dimensions dataset_2 <std::complex<double>> (Write): 50 30
+DEAL::Size dataset_2 <std::complex<double>> (Write): 1500
+DEAL::Rank dataset_2 <std::complex<double>> (Write): 2
+DEAL::Sum dataset_2 <std::complex<double>> (Write): (61.0000,0.00000)
+DEAL::Dimensions dataset_4 <std::complex<double>> (Write): 50 30
+DEAL::Size dataset_4 <std::complex<double>> (Write): 1500
+DEAL::Rank dataset_4 <std::complex<double>> (Write): 2
+DEAL::Sum dataset_4 <std::complex<double>> (Write): (1179.00,1179.00)
+DEAL::Hyperslab_a sum dataset_4 <std::complex<double>> (Write): (45.0000,45.0000)
+DEAL::Hyperslab_b sum dataset_4 <std::complex<double>> (Write): (6.00000,6.00000)
DEAL::Read tests for std::vector<float> datasets
DEAL::Dimensions dataset_1 std::vector<float> (Read): 50 30
DEAL::Size dataset_1 std::vector<float> (Read): 1500
DEAL::Sum dataset_4 FullMatrix<std::complex<double>> (Read): (1179.00,1179.00)
DEAL::Hyperslab_a sum dataset_4 FullMatrix<std::complex<double>> (Read): (45.0000,45.0000)
DEAL::Hyperslab_b sum dataset_4 FullMatrix<std::complex<double>> (Read): (6.00000,6.00000)
+DEAL::Read tests for <float> datasets
+DEAL::Dimensions dataset_1 <float> (Read): 50 30
+DEAL::Size dataset_1 <float> (Read): 1500
+DEAL::Rank dataset_1 <float> (Read): 2
+DEAL::Sum dataset_1 <float> (Read): 1.12425e+06
+DEAL::Dimensions dataset_2 <float> (Read): 50 30
+DEAL::Size dataset_2 <float> (Read): 1500
+DEAL::Rank dataset_2 <float> (Read): 2
+DEAL::Sum dataset_2 <float> (Read): 61.0000
+DEAL::Selection dataset_2 <float> (Read): 2.00000, 3.00000, 5.00000, 6.00000
+DEAL::Dimensions dataset_3 <float> (Read): 50 30
+DEAL::Size dataset_3 <float> (Read): 1500
+DEAL::Rank dataset_3 <float> (Read): 2
+DEAL::Sum dataset_3 <float> (Read): 1.12425e+06
+DEAL::Dimensions dataset_4 <float> (Read): 50 30
+DEAL::Size dataset_4 <float> (Read): 1500
+DEAL::Rank dataset_4 <float> (Read): 2
+DEAL::Sum dataset_4 <float> (Read): 1179.00
+DEAL::Hyperslab_a sum dataset_4 <float> (Read): 45.0000
+DEAL::Hyperslab_b sum dataset_4 <float> (Read): 6.00000
+DEAL::Read tests for <double> datasets
+DEAL::Dimensions dataset_1 <double> (Read): 50 30
+DEAL::Size dataset_1 <double> (Read): 1500
+DEAL::Rank dataset_1 <double> (Read): 2
+DEAL::Sum dataset_1 <double> (Read): 1.12425e+06
+DEAL::Dimensions dataset_2 <double> (Read): 50 30
+DEAL::Size dataset_2 <double> (Read): 1500
+DEAL::Rank dataset_2 <double> (Read): 2
+DEAL::Sum dataset_2 <double> (Read): 61.0000
+DEAL::Selection dataset_2 <double> (Read): 2.00000, 3.00000, 5.00000, 6.00000
+DEAL::Dimensions dataset_3 <double> (Read): 50 30
+DEAL::Size dataset_3 <double> (Read): 1500
+DEAL::Rank dataset_3 <double> (Read): 2
+DEAL::Sum dataset_3 <double> (Read): 1.12425e+06
+DEAL::Dimensions dataset_4 <double> (Read): 50 30
+DEAL::Size dataset_4 <double> (Read): 1500
+DEAL::Rank dataset_4 <double> (Read): 2
+DEAL::Sum dataset_4 <double> (Read): 1179.00
+DEAL::Hyperslab_a sum dataset_4 <double> (Read): 45.0000
+DEAL::Hyperslab_b sum dataset_4 <double> (Read): 6.00000
+DEAL::Read tests for <std::complex<float>> datasets
+DEAL::Dimensions dataset_1 <std::complex<float>> (Read): 50 30
+DEAL::Size dataset_1 <std::complex<float>> (Read): 1500
+DEAL::Rank dataset_1 <std::complex<float>> (Read): 2
+DEAL::Sum dataset_1 <std::complex<float>> (Read): (1.12425e+06,1.12425e+06)
+DEAL::Dimensions dataset_2 <std::complex<float>> (Read): 50 30
+DEAL::Size dataset_2 <std::complex<float>> (Read): 1500
+DEAL::Rank dataset_2 <std::complex<float>> (Read): 2
+DEAL::Sum dataset_2 <std::complex<float>> (Read): (61.0000,0.00000)
+DEAL::Selection dataset_2 <std::complex<float>> (Read): (2.00000,0.00000), (3.00000,0.00000), (5.00000,0.00000), (6.00000,0.00000)
+DEAL::Dimensions dataset_4 <std::complex<float>> (Read): 50 30
+DEAL::Size dataset_4 <std::complex<float>> (Read): 1500
+DEAL::Rank dataset_4 <std::complex<float>> (Read): 2
+DEAL::Sum dataset_4 <std::complex<float>> (Read): (1179.00,1179.00)
+DEAL::Hyperslab_a sum dataset_4 <std::complex<float>> (Read): (45.0000,45.0000)
+DEAL::Hyperslab_b sum dataset_4 <std::complex<float>> (Read): (6.00000,6.00000)
+DEAL::Read tests for <std::complex<double>> datasets
+DEAL::Dimensions dataset_1 <std::complex<double>> (Read): 50 30
+DEAL::Size dataset_1 <std::complex<double>> (Read): 1500
+DEAL::Rank dataset_1 <std::complex<double>> (Read): 2
+DEAL::Sum dataset_1 <std::complex<double>> (Read): (1.12425e+06,1.12425e+06)
+DEAL::Dimensions dataset_2 <std::complex<double>> (Read): 50 30
+DEAL::Size dataset_2 <std::complex<double>> (Read): 1500
+DEAL::Rank dataset_2 <std::complex<double>> (Read): 2
+DEAL::Sum dataset_2 <std::complex<double>> (Read): (61.0000,0.00000)
+DEAL::Selection dataset_2 <std::complex<double>> (Read): (2.00000,0.00000), (3.00000,0.00000), (5.00000,0.00000), (6.00000,0.00000)
+DEAL::Dimensions dataset_4 <std::complex<double>> (Read): 50 30
+DEAL::Size dataset_4 <std::complex<double>> (Read): 1500
+DEAL::Rank dataset_4 <std::complex<double>> (Read): 2
+DEAL::Sum dataset_4 <std::complex<double>> (Read): (1179.00,1179.00)
+DEAL::Hyperslab_a sum dataset_4 <std::complex<double>> (Read): (45.0000,45.0000)
+DEAL::Hyperslab_b sum dataset_4 <std::complex<double>> (Read): (6.00000,6.00000)