Esempio n. 1
0
int main()
{

	int n,k;
	char string[1000];
	printf("n=");
	scanf("%d",&n);
	printf("k=");
	scanf("%d",&k);
	Trellis(n,k);
	printf("Input BitStream for Decoding is=");
	scanf("\n%[^\n]s",string);
	printf("%s\n",string);
	int p=0,i1,i2;
	init();
	i1=string[0]-'0';
	i2=string[1]-'0';
//		printf("%d %d\n",i1,i2);
	first_stage(i1,i2);
printf("%c->A->%d        %c->B->%d        %c->C->%d        %c->D->%d\n\n",a[0].pre,a[0].hamming_dist,b[0].pre,b[0].hamming_dist,c[0].pre,c[0].hamming_dist,d[0].pre,d[0].hamming_dist);

	i1=string[3]-'0';
	i2=string[4]-'0';
//		printf("%d %d\n",i1,i2);
	second_stage(i1,i2);

printf("%c->A->%d        %c->B->%d        %c->C->%d        %c->D->%d\n\n",a[1].pre,a[1].hamming_dist,b[1].pre,b[1].hamming_dist,c[1].pre,c[1].hamming_dist,d[1].pre,d[1].hamming_dist);

	p=6;
ind=2;
	int flag=0;
	if(string[p]=='\0')flag=1;
	while(string[p]!='\n'&&flag==0)
	{
		i1=string[p]-'0';
		i2=string[p+1]-'0';
//		printf("%d %d\n",i1,i2);

		/*******Hamming*******/
		Finding_hamming(i1,i2);

printf("%c->A->%d        %c->B->%d        %c->C->%d        %c->D->%d\n\n",a[ind].pre,a[ind].hamming_dist,b[ind].pre,b[ind].hamming_dist,c[ind].pre,c[ind].hamming_dist,d[ind].pre,d[ind].hamming_dist);
ind++;
		if(string[p+2]=='\0')
		{
printf("%c->A->%d        %c->B->%d        %c->C->%d        %c->D->%d\n\n",a[ind].pre,a[ind].hamming_dist,b[ind].pre,b[ind].hamming_dist,c[ind].pre,c[ind].hamming_dist,d[ind].pre,d[ind].hamming_dist);
			break;
		}		
		p=p+3;
	}
	return 0;
}
Esempio n. 2
0
File: p_sh.c Progetto: fervagar/frop
void build_payload_bin_sh(int r2_missing){
  int i;

  payload = createList(sizeof(payload_gadget_t));

  for(i = 0; i < 4; i++){
    state[i] = 0;
  }
  for(i = 0; i < 14; i++){
    inputs_vector_state[i] = 0;
  }

  first_stage(r2_missing);

  resolve_dependences();

  write_stores();

  write_data();

  print_python_syntax(payload);

  freeList(payload);
}