8 #ifndef EXPLICIT_MAPMAKING_IO_HPP_
9 #define EXPLICIT_MAPMAKING_IO_HPP_
21 void PrintMatrix(std::vector<T> matrix,
int lda,
bool row_major=
false);
24 void WriteBinary(std::vector<T>* vec, std::string path);
27 void ReadBinary(std::vector<T>* vec, std::string path);
29 void H5ExceptionsPrintOff();
31 void H5ExceptionsPrintOn();
33 H5File OpenReadOnlyHDF5(std::string file_name);
35 int GetDataSetLength(
const std::string dataset_name,
const H5File& file);
37 int GetDataSetLength(
const std::string dataset_name, std::string file_name);
40 void LoadDataSet(T*
const data, std::string dataset_name,
const H5File& file);
43 void LoadDataSet(T*
const data, std::string dataset_name,
44 std::string file_name);
47 std::vector<T> LoadDataSet(std::string dataset_name,
const H5File& file);
50 std::vector<T> LoadDataSet(std::string dataset_name, std::string file_name);
53 T LoadDataSetValue(std::string dataset_name,
const H5File& file);
56 T LoadDataSetValue(std::string dataset_name, std::string file_name);
59 void SaveDataSet(
const T*
const data,
int data_length,
60 std::string dataset_name,
const H5File& file);
63 void SaveDataSet(
const T*
const data,
int data_length, std::string dataset_name,
64 std::string file_name,
unsigned int flags);
67 void SaveDataSet(
const std::vector<T>& data, std::string dataset_name,
const H5File& file);
70 void SaveDataSet(
const std::vector<T>& data, std::string dataset_name,
71 std::string file_name,
unsigned int flags);
74 void SaveDataSetValue(
const T value, std::string dataset_name,
const H5File& file);
76 inline DataType DetectDataType(
const int data) {
return PredType::NATIVE_INT; }
77 inline DataType DetectDataType(
const float data) {
return PredType::NATIVE_FLOAT; }
78 inline DataType DetectDataType(
const double data) {
return PredType::NATIVE_DOUBLE; }
82 #endif // EXPLICIT_MAPMAKING_IO_HPP_
Distributed matrix (see scalapack)