14 #define STR_HEADER_00 \ 15 "<<_SHOGUN_SERIALIZABLE_ASCII_FILE_V_00_>>" 26 const char* fname,
char rw)
32 CSerializableAsciiFile::ignore()
34 for (uint32_t cont_count = 0, item_count = 0,
35 sgserial_count = 0; ;) {
41 if (cont_count-- == 0)
return false;
44 if (item_count-- == 0)
return false;
47 if (sgserial_count-- == 0)
return false;
50 if (cont_count == 0 && item_count == 0
51 && sgserial_count == 0)
54 case EOF:
return false;
79 CSerializableAsciiFile::init()
92 SG_WARNING(
"Could not open file `%s', unknown mode!\n",
99 CSerializableAsciiFile::write_scalar_wrapped(
104 if (fprintf(
m_fstream,
"%c", *(
bool*) param?
't':
'f') <= 0)
108 if (fprintf(
m_fstream,
"%" PRIu8, *(uint8_t*) param) <= 0)
112 if (fprintf(
m_fstream,
"%" PRIi8, *(int8_t*) param) <= 0)
116 if (fprintf(
m_fstream,
"%" PRIu8, *(uint8_t*) param) <= 0)
120 if (fprintf(
m_fstream,
"%" PRIi16, *(int16_t*) param) <= 0)
124 if (fprintf(
m_fstream,
"%" PRIu16, *(uint16_t*) param) <= 0)
128 if (fprintf(
m_fstream,
"%" PRIi32, *(int32_t*) param) <= 0)
132 if (fprintf(
m_fstream,
"%" PRIu32, *(uint32_t*) param) <= 0)
136 if (fprintf(
m_fstream,
"%" PRIi64, *(int64_t*) param) <= 0)
140 if (fprintf(
m_fstream,
"%" PRIu64, *(uint64_t*) param) <= 0)
156 if (fprintf(
m_fstream,
"(%.16lg,%.16lg)",
162 SG_ERROR(
"write_scalar_wrapped(): Implementation error during" 163 " writing AsciiFile!");
171 CSerializableAsciiFile::write_cont_begin_wrapped(
178 case CT_VECTOR:
case CT_SGVECTOR:
179 if (fprintf(
m_fstream,
"%" PRIi32
" %c", len_real_y,
183 case CT_MATRIX:
case CT_SGMATRIX:
184 if (fprintf(
m_fstream,
"%" PRIi32
" %" PRIi32
" %c",
190 SG_ERROR(
"write_cont_begin_wrapped(): Implementation error " 191 "during writing AsciiFile!");
199 CSerializableAsciiFile::write_cont_end_wrapped(
208 CSerializableAsciiFile::write_string_begin_wrapped(
211 if (fprintf(
m_fstream,
"%" PRIi32
" %c", length,
218 CSerializableAsciiFile::write_string_end_wrapped(
227 CSerializableAsciiFile::write_stringentry_begin_wrapped(
236 CSerializableAsciiFile::write_stringentry_end_wrapped(
245 CSerializableAsciiFile::write_sparse_begin_wrapped(
248 if (fprintf(
m_fstream,
"%" PRIi32
" %c", length,
255 CSerializableAsciiFile::write_sparse_end_wrapped(
264 CSerializableAsciiFile::write_sparseentry_begin_wrapped(
275 CSerializableAsciiFile::write_sparseentry_end_wrapped(
285 CSerializableAsciiFile::write_item_begin_wrapped(
294 CSerializableAsciiFile::write_item_end_wrapped(
303 CSerializableAsciiFile::write_sgserializable_begin_wrapped(
304 const TSGDataType* type,
const char* sgserializable_name,
305 EPrimitiveType
generic)
307 if (*sgserializable_name ==
'\0') {
312 if (fprintf(
m_fstream,
"%s ", sgserializable_name) <= 0)
318 if (fprintf(
m_fstream,
"%s ", buf) <= 0)
return false;
330 CSerializableAsciiFile::write_sgserializable_end_wrapped(
331 const TSGDataType* type,
const char* sgserializable_name,
332 EPrimitiveType
generic)
341 CSerializableAsciiFile::write_type_begin_wrapped(
342 const TSGDataType* type,
const char* name,
const char* prefix)
349 if (fprintf(
m_fstream,
"%s %s ", name, buf) <= 0)
return false;
355 CSerializableAsciiFile::write_type_end_wrapped(
356 const TSGDataType* type,
const char* name,
const char* prefix)
#define CHAR_STRING_BEGIN
std::complex< float64_t > complex128_t
#define CHAR_SGSERIAL_BEGIN
#define CHAR_SGSERIAL_END
#define SG_NOTIMPLEMENTED
static void ptype_to_string(char *dest, EPrimitiveType ptype, size_t n)
friend class SerializableAsciiReader00
Datatypes that shogun supports.
void push_back(T element)
virtual TSerializableReader * new_reader(char *dest_version, size_t n)
virtual ~CSerializableAsciiFile()
void to_string(char *dest, size_t n) const
all of classes and functions are contained in the shogun namespace
template class SGSparseVectorEntry
#define STR_SGSERIAL_NULL
char string_t[STRING_LEN]
#define CHAR_SPARSE_BEGIN