31 #define TOKENSIZE 80 //< max size of tokens read from an input file 32 #define QUOTED_TOKENSIZE "79" 33 #define MAXSAMPLESIZE 65535 //< max num of dimensions in feature space 50 const int kMaxLineSize = 100;
51 char line[kMaxLineSize];
52 if (fp->
FGets(line, kMaxLineSize) ==
nullptr ||
53 sscanf(line,
"%d", &SampleSize) != 1 || (SampleSize < 0) ||
78 for (
int i = 0; i < N; i++) {
80 char line[kMaxLineSize];
81 if (fp->
FGets(line, kMaxLineSize) ==
nullptr ||
83 linear_token, essential_token, &ParamDesc[i].Min,
84 &ParamDesc[i].Max) != 4)
86 if (linear_token[0] ==
'c')
91 if (linear_token[0] ==
'e')
95 ParamDesc[i].
Range = ParamDesc[i].
Max - ParamDesc[i].
Min;
125 char line[kMaxLineSize];
126 if (fp->
FGets(line, kMaxLineSize) ==
nullptr ||
128 sig_token, shape_token, &SampleCount) != 3) {
129 tprintf(
"Invalid prototype: %s\n", line);
134 if (sig_token[0] ==
's')
147 switch (Proto->
Style) {
165 for (i = 0; i < N; i++) {
176 tprintf(
"Invalid prototype style\n");
202 tprintf(
"Invalid prototype style specification:%s\n", shape);
221 const int kMaxLineSize = 1024;
222 char line[kMaxLineSize];
223 if (fp->
FGets(line, kMaxLineSize) ==
nullptr) {
224 tprintf(
"Hit EOF in ReadNFloats!\n");
227 bool needs_free =
false;
229 if (Buffer == NULL) {
234 char *startptr = line;
235 for (
int i = 0; i < N; i++) {
237 Buffer[i] = strtof(startptr, &endptr);
238 if (endptr == startptr) {
239 tprintf(
"Read of %d floats failed!\n", N);
240 if (needs_free)
Efree(Buffer);
262 for (i = 0; i < N; i++) {
263 if (ParamDesc[i].Circular)
264 fprintf (File,
"circular ");
266 fprintf (File,
"linear ");
268 if (ParamDesc[i].NonEssential)
269 fprintf (File,
"non-essential ");
271 fprintf (File,
"essential ");
273 fprintf (File,
"%10.6f %10.6f\n", ParamDesc[i].Min, ParamDesc[i].Max);
292 fprintf (File,
"significant ");
294 fprintf (File,
"insignificant ");
298 fprintf (File,
"\t");
300 switch (Proto->
Style) {
308 for (i = 0; i < N; i++)
311 fprintf (File,
" %9s",
"normal");
314 fprintf (File,
" %9s",
"uniform");
317 fprintf (File,
" %9s",
"random");
322 fprintf (File,
"\n\t");
339 for (
int i = 0; i < N; i++)
340 fprintf(File,
" %9.6f", Array[i]);
356 switch (ProtoStyle) {
358 fprintf (File,
"spherical");
361 fprintf (File,
"elliptical");
364 fprintf (File,
"mixed");
367 fprintf (File,
"automatic");
391 BOOL8 WriteInsigProtos) {
395 fprintf(File,
"%0d\n",N);
void WriteProtoStyle(FILE *File, PROTOSTYLE ProtoStyle)
PROTOTYPE * ReadPrototype(TFile *fp, uinT16 N)
void WriteParamDesc(FILE *File, uinT16 N, const PARAM_DESC ParamDesc[])
#define ILLEGALSAMPLECOUNT
void WritePrototype(FILE *File, uinT16 N, PROTOTYPE *Proto)
#define ILLEGALCIRCULARSPEC
void WriteNFloats(FILE *File, uinT16 N, FLOAT32 Array[])
FLOAT32 * ReadNFloats(TFile *fp, uinT16 N, FLOAT32 Buffer[])
uinT16 ReadSampleSize(TFile *fp)
PROTOSTYLE ReadProtoStyle(const char *shape)
#define ILLEGALSAMPLESIZE
void DoError(int Error, const char *Message)
PARAM_DESC * ReadParamDesc(TFile *fp, uinT16 N)
#define ILLEGALVARIANCESPEC
void WriteProtoList(FILE *File, uinT16 N, PARAM_DESC ParamDesc[], LIST ProtoList, BOOL8 WriteSigProtos, BOOL8 WriteInsigProtos)
char * FGets(char *buffer, int buffer_size)