⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tests.c

📁 PDF417编码的算法的源程序
💻 C
📖 第 1 页 / 共 3 页
字号:
  printf("\n");    printf(" string = abcd<gh  expect 810, 32, 118, 897(870 + 27), 187 \n");    tstring[0] = 'a';    tstring[1] = 'b';    tstring[2] = 'c';    tstring[3] = 'd';    tstring[4] = '<';    tstring[5] = 'g';    tstring[6] = 'h';    tstring[7] = NULLCHAR;    text_compress( tstring);    printf("\n");    printf(" string = abc<gh  expect 810, 32, 865(840 + 25), 59(30+29), 816, 239(210 + 29)\n");    tstring[0] = 'a';    tstring[1] = 'b';    tstring[2] = 'c';    tstring[3] = '<';    tstring[4] = 'g';    tstring[5] = 'h';    tstring[6] = NULLCHAR;    text_compress( tstring);    printf("\n");    printf(" string = abcAgh  expect 810,32, 868(840+28),27,187 \n");    tstring[0] = 'a';    tstring[1] = 'b';    tstring[2] = 'c';    tstring[3] = 'A';    tstring[4] = 'g';    tstring[5] = 'h';    tstring[6] = NULLCHAR;    text_compress( tstring);    printf("\n");    printf(" string = abcdAh  expect 810, 32, 118(90+38),840,817(810+7) \n");    tstring[0] = 'a';    tstring[1] = 'b';    tstring[2] = 'c';    tstring[3] = 'd';    tstring[4] = 'A';    tstring[5] = 'h';    tstring[6] = NULLCHAR;    text_compress( tstring);    printf("\n");    printf(" string = abcd3gh  expect 810, 32, 118(90+38),840,817(810+7) \n");    tstring[0] = 'a';    tstring[1] = 'b';    tstring[2] = 'c';    tstring[3] = 'd';    tstring[4] = '3';    tstring[5] = 'g';    tstring[6] = 'h';    tstring[7] = NULLCHAR;    text_compress( tstring);    printf("\n");    printf(" string = abcd34gh  expect 810, 32, 118(90+38),840,817(810+7) \n");    tstring[0] = 'a';    tstring[1] = 'b';    tstring[2] = 'c';    tstring[3] = 'd';    tstring[4] = '3';    tstring[5] = '4';    tstring[6] = 'g';    tstring[7] = 'h';    tstring[8] = NULLCHAR;    text_compress( tstring);    printf("\n");    printf(" string = abc3gh  expect 810, 32, 118(90+38),840,817(810+7) \n");    tstring[0] = 'a';    tstring[1] = 'b';    tstring[2] = 'c';    tstring[3] = '3';    tstring[4] = 'g';    tstring[5] = 'h';    tstring[6] = NULLCHAR;    text_compress( tstring);    printf("\n");    printf(" string = abc34gh  expect 810, 32, 118(90+38),840,817(810+7) \n");    tstring[0] = 'a';    tstring[1] = 'b';    tstring[2] = 'c';    tstring[3] = '3';    tstring[4] = '4';    tstring[5] = 'g';    tstring[6] = 'h';    tstring[7] = NULLCHAR;    text_compress( tstring);    printf("\n");    printf(" string = abc34Gh  expect 810, 32, 118(90+38),840,817(810+7) \n");    tstring[0] = 'a';    tstring[1] = 'b';    tstring[2] = 'c';    tstring[3] = '3';    tstring[4] = '4';    tstring[5] = 'G';    tstring[6] = 'h';    tstring[7] = NULLCHAR;    text_compress( tstring);        printf("\n");    printf(" string = abc3Gh  expect 810, 32, 118(90+38),840,817(810+7) \n");    tstring[0] = 'a';    tstring[1] = 'b';    tstring[2] = 'c';    tstring[3] = '3';    tstring[4] = 'G';    tstring[5] = 'h';    tstring[6] = NULLCHAR;    text_compress( tstring);        printf("\n");    printf(" string = abcd3Gh  expect 810, 32, 118(90+38),840,817(810+7) \n");    tstring[0] = 'a';    tstring[1] = 'b';    tstring[2] = 'c';    tstring[3] = 'd';    tstring[4] = '3';    tstring[5] = 'G';    tstring[6] = 'h';    tstring[7] = NULLCHAR;    text_compress( tstring);    printf("\n");    printf(" string = abcd3Gh  expect 810, 32, 118(90+38),840,817(810+7) \n");    tstring[0] = 'a';    tstring[1] = 'b';    tstring[2] = 'c';    tstring[3] = '<';    tstring[4] = '3';    tstring[5] = 'G';    tstring[6] = 'h';    tstring[7] = NULLCHAR;    text_compress( tstring);          }  /* test text compression */void test_ecc()  {int j; int save_val; int save_val2; int save_val3; int save_val4; int save_val5; int save_val6; int savevals[64]; int k; int this_error; int this_error2;  int randint; int randint2; int randint3; int randint4; int randint5; int randint6;  int randin[64]; int randloc2; int randloc3; int randloc4; int randloc5;  int randloc; int difval; int difval2; int difval3; int difval4; int difval5; int difval6; int haserror; int difvals[64];  data[0] = 0;   // 80  data[1] = 0;  // 924  data[2] = 0;   data[3] = 9;   data[4] = 334;   data[5] = 508;   data[6] = 496;   data[7] = 900;   data[8] = 840;   data[9] = 182;   data[10] = 858;   data[11] = 877;   data[12] = 924;   data[13] = 248;   data[14] = 44;  data[15] = 50;  data[16] = 62;  data[17] = 572;  data[18] = 16;  data[19] = 683;  data[20] = 304;  data[21] = 781;  data[22] = 321;  data[23] = 17;  data[24] = 71;  data[25] = 175;  data[26] = 89;  data[27] = 365;  data[28] = 0;  data[29] = 594;  data[30] = 844;  data[31] = 351;  data[32] = 720;  data[33] = 163;  data[34] = 128;  data[35] = 227;  data[36] = 810;  data[37] = 552;  data[38] = 349;  data[39] = 422;  data[40] = 462;  data[41] = 861;  data[42] = 733;  data[43] = 80;  data[44] = 681;  data[45] = 553;  data[46] = 501;  data[47] = 669;  data[48] = 0;  data[49] = 439;  data[50] = 484;  data[51] = 888;  data[52] = 103;  data[53] = 349;  data[54] = 133;  data[55] = 113;  data[56] = 116;  data[57] = 757;  data[58] = 221;  data[59] = 781;  data[60] = 645;  data[61] = 562;  data[62] = 333;  data[63] = 16;  data[64] = 134;  data[65] = 279;  data[66] = 497;  data[67] = 660;  data[68] = 371;  data[69] = 110;  data[70] = 857;  data[71] = 319;  data[72] = 593;  data[73] = 370;  data[74] = 700;  data[75] = 488;  data[76] = 30;  data[77] = 149;  data[78] = 900;           data[79] = 900;  codeindex = 80;  generateEC(  data, 80, 64 );  /* do the error correction, 64  */  syndromes( 144, 32 );    // total data = 144 codes, 32 syndromes */  for (j = 0; j < 144; j += 1)    {      erase_posit[j] = 0;    }  eras_dec_rs( data, erase_posit, 0 , 144, 32);     for(j =0; j < 64; j += 1)    {      printf("data[%d] =  %d \n", 80 + j, data[80+j]);    }  codeindex = 80;  generateEC(  data, 80, 64 );  /* do the error correction, 64  */  data[76] = 5;  // cause an error in the recieved data...  syndromes( 144, 32 );    // total data = 144 codes, 32s syndromes */   for (j = 0; j < 144; j += 1)    {      erase_posit[j] = 0;    }  printf("before data[76] = %d \n", data[76]);    eras_dec_rs( data, erase_posit, 0, 144, 32);     printf("after data[76] = %d \n", data[76]);   data[76] = 30;  for ( k = 0 ; k < 80 ; k += 1)    {      this_error = data[k] - 5;      save_val = data[k];      data[k] = 5;         // cause error at location k            syndromes( 144, 32);        eras_dec_rs( data, erase_posit, 0, 144, 32 );            if (data[k] != save_val)        {	  printf(" Error at k = %d data[k] = %d save = %d \n", 		 k , data[k], save_val );        }      data[k] = save_val;    }  // test random single errors  for ( k = 0 ; k < 100 ; k += 1)    {      randint = rand();      randint = randint & 1023;      difval = randint %929;      if ( difval > data[5])        {                   this_error = difval - data[5];	}      else	{	  this_error = data[5] - difval;        }      save_val = data[5];      data[5] = difval;    // cause error at location k               syndromes( 144, 32);        eras_dec_rs( data, erase_posit, 0, 144, 32 );            if (data[5] != save_val)        {	  printf(" Error at k = %d data[k] = %d save = %d \n", 		 k , data[5], save_val );        }      data[5] = save_val;    }  // simple double errors  printf("Begin random double errors \n");  data[0] = 0;   // 80  data[1] = 0;  // 924  data[2] = 0;   data[3] = 9;   data[4] = 334;   data[5] = 508;   data[6] = 496;   data[7] = 900;   data[8] = 840;   data[9] = 182;   data[10] = 858;   data[11] = 877;   data[12] = 924;   data[13] = 248;   data[14] = 44;  data[15] = 50;  data[16] = 62;  data[17] = 572;  data[18] = 16;  data[19] = 683;  data[20] = 304;  data[21] = 781;  data[22] = 321;  data[23] = 17;  data[24] = 71;  data[25] = 175;  data[26] = 89;  data[27] = 365;  data[28] = 0;  data[29] = 594;  data[30] = 844;  data[31] = 351;  data[32] = 720;  data[33] = 163;  data[34] = 128;  data[35] = 227;  data[36] = 810;  data[37] = 552;  data[38] = 349;  data[39] = 422;  data[40] = 462;  data[41] = 861;  data[42] = 733;  data[43] = 80;  data[44] = 681;  data[45] = 553;  data[46] = 501;  data[47] = 669;  data[48] = 0;  data[49] = 439;  data[50] = 484;  data[51] = 888;  data[52] = 103;  data[53] = 349;  data[54] = 133;  data[55] = 113;  data[56] = 116;  data[57] = 757;  data[58] = 221;  data[59] = 781;  data[60] = 645;  data[61] = 562;  data[62] = 333;  data[63] = 16;  data[64] = 134;  data[65] = 279;  data[66] = 497;  data[67] = 660;  data[68] = 371;  data[69] = 110;  data[70] = 857;  data[71] = 319;  data[72] = 593;  data[73] = 370;  data[74] = 700;  data[75] = 488;  data[76] = 30;  data[77] = 149;  data[78] = 900;           data[79] = 900;  // one random error at 0 and error of 1 at 1  for ( k = 0 ; k < 100 ; k += 1)    {       randint = rand();      randint = randint & 1023;      difval = randint %929;      if ( difval > data[0])        {                   this_error = difval - data[0];	}      else	{	  this_error = data[0] - difval;        }      save_val = data[0];      data[0] = difval;    // cause error at location k          save_val2 = data[1];      data[1] = 1;         printf("Data [0,1] = %d %d \n", data[0], data[1]);      syndromes( 144, 32);        eras_dec_rs( data, erase_posit, 0, 144, 32 );            if ( (data[0] != save_val) | ( data[1] != save_val2))        {	  printf(" Error at k = %d data[0] = %d save = %d \n", 		 k , data[0], save_val );          printf(" Error2 at k = %d data[1] = %d save = %d \n", 		 k , data[1], save_val2 );        }      data[0] = save_val;      data[1] = save_val2;    }  // random error at random loc and error at 1  for ( k = 0 ; k < 100 ; k += 1)    {       randint = rand();      randint = randint & 1023;      difval = randint %929;      randloc = rand();      randloc = randloc % 80;      if (randloc == 1)	{          randloc += 1;        }      if ( difval > data[randloc])        {                   this_error = difval - data[randloc];	}      else	{	  this_error = data[randloc] - difval;        }      save_val = data[randloc];      data[randloc] = difval;    // cause error at location k          save_val2 = data[1];

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -