?? tests.n.c
字號(hào):
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];
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -