9 #ifndef __MLDATA_HDF5_FILE_H__
10 #define __MLDATA_HDF5_FILE_H__
14 #if defined(HAVE_HDF5) && defined( HAVE_CURL)
22 template <
class ST>
class SGString;
23 template <
class ST>
class SGSparseVector;
32 #define IGNORE_IN_CLASSLIST
45 CMLDataHDF5File(
char* fname,
46 const char* name=NULL,
47 const char* url_prefix=
"http://mldata.org/repository/data/download/");
50 virtual ~CMLDataHDF5File();
59 virtual void get_vector(
bool*& vector, int32_t& len);
60 virtual void get_vector(int8_t*& vector, int32_t& len);
61 virtual void get_vector(uint8_t*& vector, int32_t& len);
62 virtual void get_vector(
char*& vector, int32_t& len);
63 virtual void get_vector(int32_t*& vector, int32_t& len);
64 virtual void get_vector(uint32_t*& vector, int32_t& len);
65 virtual void get_vector(
float64_t*& vector, int32_t& len);
66 virtual void get_vector(
float32_t*& vector, int32_t& len);
67 virtual void get_vector(
floatmax_t*& vector, int32_t& len);
68 virtual void get_vector(int16_t*& vector, int32_t& len);
69 virtual void get_vector(uint16_t*& vector, int32_t& len);
70 virtual void get_vector(int64_t*& vector, int32_t& len);
71 virtual void get_vector(uint64_t*& vector, int32_t& len);
82 virtual void get_matrix(
83 bool*& matrix, int32_t& num_feat, int32_t& num_vec);
84 virtual void get_matrix(
85 uint8_t*& matrix, int32_t& num_feat, int32_t& num_vec);
86 virtual void get_matrix(
87 char*& matrix, int32_t& num_feat, int32_t& num_vec);
88 virtual void get_matrix(
89 int32_t*& matrix, int32_t& num_feat, int32_t& num_vec);
90 virtual void get_matrix(
91 uint32_t*& matrix, int32_t& num_feat, int32_t& num_vec);
92 virtual void get_matrix(
93 int64_t*& matrix, int32_t& num_feat, int32_t& num_vec);
94 virtual void get_matrix(
95 uint64_t*& matrix, int32_t& num_feat, int32_t& num_vec);
96 virtual void get_matrix(
97 float32_t*& matrix, int32_t& num_feat, int32_t& num_vec);
98 virtual void get_matrix(
99 float64_t*& matrix, int32_t& num_feat, int32_t& num_vec);
100 virtual void get_matrix(
101 floatmax_t*& matrix, int32_t& num_feat, int32_t& num_vec);
102 virtual void get_matrix(
103 int16_t*& matrix, int32_t& num_feat, int32_t& num_vec);
104 virtual void get_matrix(
105 uint16_t*& matrix, int32_t& num_feat, int32_t& num_vec);
116 virtual void get_sparse_matrix(
117 SGSparseVector<bool>*& matrix, int32_t& num_feat, int32_t& num_vec);
118 virtual void get_sparse_matrix(
119 SGSparseVector<int8_t>*& matrix, int32_t& num_feat, int32_t& num_vec);
120 virtual void get_sparse_matrix(
121 SGSparseVector<uint8_t>*& matrix, int32_t& num_feat, int32_t& num_vec);
122 virtual void get_sparse_matrix(
123 SGSparseVector<char>*& matrix, int32_t& num_feat, int32_t& num_vec);
124 virtual void get_sparse_matrix(
125 SGSparseVector<int32_t>*& matrix, int32_t& num_feat, int32_t& num_vec);
126 virtual void get_sparse_matrix(
127 SGSparseVector<uint32_t>*& matrix, int32_t& num_feat, int32_t& num_vec);
128 virtual void get_sparse_matrix(
129 SGSparseVector<int64_t>*& matrix, int32_t& num_feat, int32_t& num_vec);
130 virtual void get_sparse_matrix(
131 SGSparseVector<uint64_t>*& matrix, int32_t& num_feat, int32_t& num_vec);
132 virtual void get_sparse_matrix(
133 SGSparseVector<int16_t>*& matrix, int32_t& num_feat, int32_t& num_vec);
134 virtual void get_sparse_matrix(
135 SGSparseVector<uint16_t>*& matrix, int32_t& num_feat, int32_t& num_vec);
136 virtual void get_sparse_matrix(
137 SGSparseVector<float32_t>*& matrix, int32_t& num_feat, int32_t& num_vec);
138 virtual void get_sparse_matrix(
139 SGSparseVector<float64_t>*& matrix, int32_t& num_feat, int32_t& num_vec);
140 virtual void get_sparse_matrix(
141 SGSparseVector<floatmax_t>*& matrix, int32_t& num_feat, int32_t& num_vec);
153 virtual void get_string_list(
154 SGString<bool>*& strings, int32_t& num_str,
155 int32_t& max_string_len);
156 virtual void get_string_list(
157 SGString<int8_t>*& strings, int32_t& num_str,
158 int32_t& max_string_len);
159 virtual void get_string_list(
160 SGString<uint8_t>*& strings, int32_t& num_str,
161 int32_t& max_string_len);
162 virtual void get_string_list(
163 SGString<char>*& strings, int32_t& num_str,
164 int32_t& max_string_len);
165 virtual void get_string_list(
166 SGString<int32_t>*& strings, int32_t& num_str,
167 int32_t& max_string_len);
168 virtual void get_string_list(
169 SGString<uint32_t>*& strings, int32_t& num_str,
170 int32_t& max_string_len);
171 virtual void get_string_list(
172 SGString<int16_t>*& strings, int32_t& num_str,
173 int32_t& max_string_len);
174 virtual void get_string_list(
175 SGString<uint16_t>*& strings, int32_t& num_str,
176 int32_t& max_string_len);
177 virtual void get_string_list(
178 SGString<int64_t>*& strings, int32_t& num_str,
179 int32_t& max_string_len);
180 virtual void get_string_list(
181 SGString<uint64_t>*& strings, int32_t& num_str,
182 int32_t& max_string_len);
183 virtual void get_string_list(
184 SGString<float32_t>*& strings, int32_t& num_str,
185 int32_t& max_string_len);
186 virtual void get_string_list(
187 SGString<float64_t>*& strings, int32_t& num_str,
188 int32_t& max_string_len);
189 virtual void get_string_list(
190 SGString<floatmax_t>*& strings, int32_t& num_str,
191 int32_t& max_string_len);
194 virtual void get_matrix(int8_t*&, int32_t&, int32_t&)
206 virtual void set_int8_matrix(
const int8_t*, int32_t, int32_t)
218 virtual void set_vector(
const int8_t*, int32_t)
222 virtual void set_vector(
const uint8_t*, int32_t)
226 virtual void set_vector(
const char*, int32_t)
230 virtual void set_vector(
const int16_t*, int32_t)
234 virtual void set_vector(
const int32_t*, int32_t)
238 virtual void set_vector(
const uint32_t*, int32_t)
242 virtual void set_vector(
const float32_t*, int32_t)
246 virtual void set_vector(
const float64_t*, int32_t){
249 virtual void set_vector(
const floatmax_t*, int32_t)
253 virtual void set_vector(
const uint16_t*, int32_t)
257 virtual void set_vector(
const int64_t*, int32_t)
261 virtual void set_vector(
const uint64_t*, int32_t)
265 virtual void set_matrix(
const uint8_t*, int32_t, int32_t)
269 virtual void set_matrix(
const int8_t*, int32_t, int32_t)
273 virtual void set_matrix(
const char*, int32_t, int32_t)
277 virtual void set_matrix(
const int32_t*, int32_t, int32_t)
281 virtual void set_matrix(
const uint32_t*, int32_t, int32_t)
285 virtual void set_matrix(
const int64_t*, int32_t, int32_t)
289 virtual void set_matrix(
const uint64_t*, int32_t, int32_t)
293 virtual void set_matrix(
const float32_t*, int32_t, int32_t)
297 virtual void set_matrix(
const float64_t*, int32_t, int32_t)
301 virtual void set_matrix(
const floatmax_t*, int32_t, int32_t)
305 virtual void set_matrix(
const int16_t*, int32_t, int32_t)
309 virtual void set_matrix(
const uint16_t*, int32_t, int32_t)
418 virtual const char* get_name()
const {
return "HDF5File"; }
422 void get_boolean_type();
432 hid_t get_compatible_type(H5T_class_t t_class,
433 const TSGDataType* datatype);
442 void get_dims(hid_t dataset, int32_t*& dims, int32_t& ndims, int64_t& total_elements);
445 void create_group_hierarchy();
460 #endif // HAVE_CURL && HAVE_HDF5
461 #endif //__HDF5_FILE_H__
#define SG_NOTIMPLEMENTED
all of classes and functions are contained in the shogun namespace
#define IGNORE_IN_CLASSLIST
template class SGSparseVector The assumtion is that the stored SGSparseVectorEntry* vector is orde...