about summary refs log tree commit diff
path: root/sourcecodes/k-best/src/net2parents.c
blob: f12e9f64ae400c2062affc5bc6bbecb23c65cce4 (plain)
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
40
41
42
43
44
45
46
47
48
49
50
#include "cfg.h"

#include <stdlib.h>
#include <stdio.h>
#include <string.h>

void net2parents(char* netfile, char* parfile)
{
  int v;
  varset_t varset;
//score_t s;
//FILE *fp=fopen("/home/grad/lram/RA stuff/try/src/kd.log","w+");


  FILE* netf = strcmp(netfile,"-") ? fopen(netfile, "r") : stdin;
  FILE* parf = strcmp(parfile,"-") ? fopen(parfile, "w") : stdout;
//fprintf(fp, "great one was here");
//fclose(fp);

//fscanf(netf,"%f",&s);
  for(v=0; 1 == fscanf(netf, "%u", &varset); ++v){
    int p;
//printf("Var %d", v);

    for(p=0; varset; ++p, varset>>=1){
      if(varset & 1) {
	fprintf(parf, "%d", p);
	if(varset>1)fprintf(parf, " ");
      }
    }
//	printf("Var %d", v);
    fprintf(parf,"\n");
  }
//printf("Here");
  fclose(parf);
  fclose(netf);
}

int main(int argc, char* argv[])
{

  if (argc!=3) {
    fprintf(stderr, "Usage: net2parents netfile parentfile\n");
    return 1;
  }

  net2parents(argv[1], argv[2]);

  return 0;
}