blob: f39bc369f160f6fd5f3decb71a9ebaed2b7bf556 [file] [log] [blame]
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include "parse_settings.h"
#define NUM_TOKENS 17
char *pattern[NUM_TOKENS]={"LOAD_PENALTY","STORE_PENALTY",
"DATA","NAME",
"SPEED","EARLY_SPEED",
"NO_FORWARDING","INST_MIX",
"QUIET","EPOCH_LENGTH",
"KERNEL","CPULIMIT",
"CONFIGS","SHOW_SPEEDUP",
"THREAD_PEN","COMMIT_PEN",
"EPOCH_LENGTH_AS_NUM_EPOCHS"};
int settings[NUM_TOKENS];
int parse_settings(char *filename)
{
FILE *fp;
char *line;
int i=0;
line=(char *)malloc(100*sizeof(char));
for (i=0;i<NUM_TOKENS;i++)
settings[i]=-1;
if ((fp=fopen(filename,"r"))==NULL) {
fprintf(stderr,"Could not find file %s\n",filename);
exit(1);
}
while(!feof(fp)) {
i=0;
fgets(line,100,fp);
if (line[0]=='#') {
continue;
}
strtok(line," ");
while (i<NUM_TOKENS) {
if (!strcmp(pattern[i],line)) {
settings[i]=atoi(&line[strlen(line)+1]);
}
i++;
}
}
free(line);
return 0;
}