explicit_mapmaking
 All Classes Files Pages
io.hpp
Go to the documentation of this file.
1 
8 #ifndef EXPLICIT_MAPMAKING_IO_HPP_
9 #define EXPLICIT_MAPMAKING_IO_HPP_
10 
11 #include "matrix.hpp"
12 #include <vector>
13 #include <H5Cpp.h>
14 #include <string>
15 
16 namespace mapmaking {
17 namespace io {
18 using namespace H5;
19 
20 template<typename T>
21 void PrintMatrix(std::vector<T> matrix, int lda, bool row_major=false);
22 
23 template<typename T>
24 void WriteBinary(std::vector<T>* vec, std::string path);
25 
26 template<typename T>
27 void ReadBinary(std::vector<T>* vec, std::string path);
28 
29 void H5ExceptionsPrintOff();
30 
31 void H5ExceptionsPrintOn();
32 
33 H5File OpenReadOnlyHDF5(std::string file_name);
34 
35 int GetDataSetLength(const std::string dataset_name, const H5File& file);
36 
37 int GetDataSetLength(const std::string dataset_name, std::string file_name);
38 
39 template<typename T>
40 void LoadDataSet(T* const data, std::string dataset_name, const H5File& file);
41 
42 template<typename T>
43 void LoadDataSet(T* const data, std::string dataset_name,
44  std::string file_name);
45 
46 template<typename T>
47 std::vector<T> LoadDataSet(std::string dataset_name, const H5File& file);
48 
49 template<typename T>
50 std::vector<T> LoadDataSet(std::string dataset_name, std::string file_name);
51 
52 template<typename T>
53 T LoadDataSetValue(std::string dataset_name, const H5File& file);
54 
55 template<typename T>
56 T LoadDataSetValue(std::string dataset_name, std::string file_name);
57 
58 template<typename T>
59 void SaveDataSet(const T* const data, int data_length,
60  std::string dataset_name, const H5File& file);
61 
62 template<typename T>
63 void SaveDataSet(const T* const data, int data_length, std::string dataset_name,
64  std::string file_name, unsigned int flags);
65 
66 template<typename T>
67 void SaveDataSet(const std::vector<T>& data, std::string dataset_name, const H5File& file);
68 
69 template<typename T>
70 void SaveDataSet(const std::vector<T>& data, std::string dataset_name,
71  std::string file_name, unsigned int flags);
72 
73 template<typename T>
74 void SaveDataSetValue(const T value, std::string dataset_name, const H5File& file);
75 
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; }
79 }
80 };
81 
82 #endif // EXPLICIT_MAPMAKING_IO_HPP_
Distributed matrix (see scalapack)
Definition: atfa.hpp:18