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;
81 CSerializableAsciiFile::init()
94 SG_WARNING(
"Could not open file `%s', unknown mode!\n",
101 CSerializableAsciiFile::write_scalar_wrapped(
106 if (fprintf(
m_fstream,
"%c", *(
bool*) param?
't':
'f') <= 0)
110 if (fprintf(
m_fstream,
"%" PRIu8, *(uint8_t*) param) <= 0)
114 if (fprintf(
m_fstream,
"%" PRIi8, *(int8_t*) param) <= 0)
118 if (fprintf(
m_fstream,
"%" PRIu8, *(uint8_t*) param) <= 0)
122 if (fprintf(
m_fstream,
"%" PRIi16, *(int16_t*) param) <= 0)
126 if (fprintf(
m_fstream,
"%" PRIu16, *(uint16_t*) param) <= 0)
130 if (fprintf(
m_fstream,
"%" PRIi32, *(int32_t*) param) <= 0)
134 if (fprintf(
m_fstream,
"%" PRIu32, *(uint32_t*) param) <= 0)
138 if (fprintf(
m_fstream,
"%" PRIi64, *(int64_t*) param) <= 0)
142 if (fprintf(
m_fstream,
"%" PRIu64, *(uint64_t*) param) <= 0)
158 if (fprintf(
m_fstream,
"(%.16lg,%.16lg)",
164 SG_ERROR(
"write_scalar_wrapped(): Implementation error during"
165 " writing AsciiFile!");
173 CSerializableAsciiFile::write_cont_begin_wrapped(
180 case CT_VECTOR:
case CT_SGVECTOR:
181 if (fprintf(
m_fstream,
"%" PRIi32
" %c", len_real_y,
185 case CT_MATRIX:
case CT_SGMATRIX:
186 if (fprintf(
m_fstream,
"%" PRIi32
" %" PRIi32
" %c",
192 SG_ERROR(
"write_cont_begin_wrapped(): Implementation error "
193 "during writing AsciiFile!");
201 CSerializableAsciiFile::write_cont_end_wrapped(
210 CSerializableAsciiFile::write_string_begin_wrapped(
213 if (fprintf(
m_fstream,
"%" PRIi32
" %c", length,
220 CSerializableAsciiFile::write_string_end_wrapped(
229 CSerializableAsciiFile::write_stringentry_begin_wrapped(
238 CSerializableAsciiFile::write_stringentry_end_wrapped(
247 CSerializableAsciiFile::write_sparse_begin_wrapped(
250 if (fprintf(
m_fstream,
"%" PRIi32
" %c", length,
257 CSerializableAsciiFile::write_sparse_end_wrapped(
266 CSerializableAsciiFile::write_sparseentry_begin_wrapped(
277 CSerializableAsciiFile::write_sparseentry_end_wrapped(
287 CSerializableAsciiFile::write_item_begin_wrapped(
296 CSerializableAsciiFile::write_item_end_wrapped(
305 CSerializableAsciiFile::write_sgserializable_begin_wrapped(
306 const TSGDataType* type,
const char* sgserializable_name,
307 EPrimitiveType
generic)
309 if (*sgserializable_name ==
'\0') {
314 if (fprintf(
m_fstream,
"%s ", sgserializable_name) <= 0)
320 if (fprintf(
m_fstream,
"%s ", buf) <= 0)
return false;
332 CSerializableAsciiFile::write_sgserializable_end_wrapped(
333 const TSGDataType* type,
const char* sgserializable_name,
334 EPrimitiveType
generic)
343 CSerializableAsciiFile::write_type_begin_wrapped(
344 const TSGDataType* type,
const char* name,
const char* prefix)
351 if (fprintf(
m_fstream,
"%s %s ", name, buf) <= 0)
return false;
357 CSerializableAsciiFile::write_type_end_wrapped(
358 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