예제 #1
0
파일: mod_irq.c 프로젝트: 2005wind/tsar
char *irq_ops(char *last_record,
		char *curr_record,
		time_t last_time,
		time_t curr_time,
		int data_type, 
		int output_type)
{
	unsigned long itv;
	char buf[MAX_LINE_LEN];
	int pos = 0;
	unsigned int i = 0;
	/* if statistic structure is not inited, 
	   we will alloc space here */
	int nr = count_irq_nr(last_record);
	if (!f_init) {
		init_structure(nr);
		f_init = TRUE;
	}

	CALITV(last_time, curr_time, itv);

	stats_irq temp_si = s_st_irq;

	char last_mnt[MAX_STRING_LEN] = {0};
	char curr_mnt[MAX_STRING_LEN] = {0};

	if(*last_record == '\0') {
		/* first record */
	}
	else {
		while((last_record = getitem(last_record, last_mnt)) != NULL &&
				(curr_record = getitem(curr_record, curr_mnt)) != NULL) {

			__irq_ops(last_mnt , curr_mnt,
					data_type, output_type,
					temp_si, buf + pos, &pos, itv, i);
			i++;
			temp_si++;
			memset(last_mnt, '0', MAX_STRING_LEN);
			memset(curr_mnt, '0', MAX_STRING_LEN);
		}
	}


	buf[pos] = '\0';
	return(strdup(buf));
}
예제 #2
0
int main(int argc, char *argv[]){
  
  ij_net_t G1, G2;
  
  int N, m, m0, k_max;
  coupling_t matr;
  double gamma;
  distr_t delay_distr;

  char str[256];
  
  if (argc < 9){
    printf("Usage: %s <N> <m> <m0> <outfile> <a> <b> <c> <d>\n", argv[0]);
    exit(1);
  }

  srand(time(NULL));
  
  /* Diagonal coupling */
  matr.a = atof(argv[5]);
  matr.b = atof(argv[6]);
  matr.c = atof(argv[7]);
  matr.d = atof(argv[8]);

  N = atoi(argv[1]);
  m = atoi(argv[2]);
  m0 = atoi(argv[3]);

  G1.size = (N+m0) * m;
  G2.size = (N+m0) * m;

  init_structure(&G1, N);
  init_structure(&G2, N);
  
  
  G1.K = init_network(&G1, m0);
  G2.K = init_network(&G2, m0);


  init_times_delta(&G2, N);

  //dump_times(&G2, N);
  
  fprintf(stderr, "Init finished!\n");
  
  grow_multi_net_delta(&G1, &G2, N, m, m0, &matr);
  
  //printf("### G1\n");
  sprintf(str, "%s_layer1.txt", argv[4]);
  dump_network_to_file(&G1, str);
  
  //printf("### G2\n");
  sprintf(str, "%s_layer2.txt", argv[4]);
  dump_network_to_file(&G2, str);
  
  /* dump_network_to_file(S, S_num, argv[4]); */
  /* printf("Network dumped!\n"); */
  /* k_max = degree_distr(S, S_num, &distr); */
  /* printf("k_max is: %d\n", k_max); */
  /* dump_distr_to_file(distr, k_max, argv[5]); */
  
}