1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
#include "cfg.h"
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include "files.h"
#include "varpar.h"
score_t score_net(char* netfile, char* dirprefix){
score_t score = 0.0;
int v;
varset_t varset;
FILE* netf = strcmp(netfile,"-") ? fopen(netfile, "rt") : stdin;
for(v=0; 1 == fscanf(netf, "%u", &varset); ++v){
score_t vscore;
FILE* fin = open_file(dirprefix, v, "", "rb");
fseek(fin, varset2parset(v, varset)*sizeof(score_t), SEEK_SET);
fread(&vscore, sizeof(score_t), 1, fin);
fclose(fin);
score += vscore;
}
fclose(netf);
return score;
}
int main(int argc, char* argv[])
{
if (argc!=3) {
fprintf(stderr, "Usage: score_net netfile dirname\n");
return 1;
}
printf("%.3f\n", score_net(argv[1], argv[2]));
return 0;
}
|