14 #define STR_HEADER_00 \
15 "<<_SHOGUN_SERIALIZABLE_ASCII_FILE_V_00_>>"
17 using namespace shogun;
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)",
161 SG_ERROR(
"write_scalar_wrapped(): Implementation error during"
162 " writing AsciiFile!");
170 CSerializableAsciiFile::write_cont_begin_wrapped(
178 SG_ERROR(
"write_cont_begin_wrapped(): Implementation error "
179 "during writing AsciiFile!");
181 case CT_VECTOR:
case CT_SGVECTOR:
182 if (fprintf(
m_fstream,
"%" PRIi32
" %c", len_real_y,
186 case CT_MATRIX:
case CT_SGMATRIX:
187 if (fprintf(
m_fstream,
"%" PRIi32
" %" PRIi32
" %c",
197 CSerializableAsciiFile::write_cont_end_wrapped(
206 CSerializableAsciiFile::write_string_begin_wrapped(
209 if (fprintf(
m_fstream,
"%" PRIi32
" %c", length,
216 CSerializableAsciiFile::write_string_end_wrapped(
225 CSerializableAsciiFile::write_stringentry_begin_wrapped(
234 CSerializableAsciiFile::write_stringentry_end_wrapped(
243 CSerializableAsciiFile::write_sparse_begin_wrapped(
246 if (fprintf(
m_fstream,
"%" PRIi32
" %c", length,
253 CSerializableAsciiFile::write_sparse_end_wrapped(
262 CSerializableAsciiFile::write_sparseentry_begin_wrapped(
273 CSerializableAsciiFile::write_sparseentry_end_wrapped(
283 CSerializableAsciiFile::write_item_begin_wrapped(
292 CSerializableAsciiFile::write_item_end_wrapped(
301 CSerializableAsciiFile::write_sgserializable_begin_wrapped(
302 const TSGDataType* type,
const char* sgserializable_name,
303 EPrimitiveType
generic)
305 if (*sgserializable_name ==
'\0') {
310 if (fprintf(
m_fstream,
"%s ", sgserializable_name) <= 0)
316 if (fprintf(
m_fstream,
"%s ", buf) <= 0)
return false;
328 CSerializableAsciiFile::write_sgserializable_end_wrapped(
329 const TSGDataType* type,
const char* sgserializable_name,
330 EPrimitiveType
generic)
339 CSerializableAsciiFile::write_type_begin_wrapped(
340 const TSGDataType* type,
const char* name,
const char* prefix)
347 if (fprintf(
m_fstream,
"%s %s ", name, buf) <= 0)
return false;
353 CSerializableAsciiFile::write_type_end_wrapped(
354 const TSGDataType* type,
const char* name,
const char* prefix)