ULTRA: include secondary vertical clock track in DCC; ECC count, maxsize adjustment

This commit is contained in:
gitlost 2020-04-16 01:35:37 +01:00
parent 9e2b6716f4
commit bd654647c0
2 changed files with 172 additions and 43 deletions

View file

@ -138,32 +138,32 @@ static void test_encode(void)
"7777777777777777777777"
"7057065353533131551057"
"7767053515611616136717"
"7017036661565555363057"
"7767055333616336135717"
"7037036661565555363057"
"7717055333616336135717"
"7037036515535515366057"
"7707070707070707070707"
"7067016561133113551017"
"7737035155311665165737"
"7057066561155551653057"
"7767033315616663515717"
"7067066561155551653057"
"7737033315616663515717"
"7017051653331136333057"
"7777777777777777777777"
},
},
/* 1*/ { UNICODE_MODE, 0, -1, -1, "ULTRACODE_123456789!", 0, 13, 24, "AIMD/TSC15032-43 Figure G.1 **NOT SAME** no compression; verified against bwipp",
"777777777777777777777777"
"705706533153313111101157"
"776703361661161666676617"
"703706115156555511303357"
"775705556561633656175517"
"776705556561633656175517"
"703701311653551535501657"
"770707070707070707070707"
"706701656113311311101117"
"775703333531166566676537"
"701706651315555113303357"
"773705515161666351175517"
"776705515161666351175517"
"701706166533113663603357"
"777777777777777777777777"
},
},
/* 2*/ { UNICODE_MODE, 0, -1, ULTRA_COMPRESSION, "HEIMASÍÐA KENNARAHÁSKÓLA ÍSLANDS", 0, 19, 23, "AIMD/TSC15032-43 Figure G.2 **NOT SAME** different compression",
"77777777777777777777777"
"70070663151561555150557"
@ -172,19 +172,19 @@ static void test_encode(void)
"77570535365656556367117"
"70370153656135163550357"
"77170707070707070707077"
"70570156315513136160357"
"70670156315513136160357"
"77370533531631615537117"
"70070361155313351360657"
"77670515613665166537117"
"70170651131551335150357"
"77570707070707070707077"
"70670535163551333630617"
"77670707070707070707077"
"70370535163551333630617"
"77170111531613611567137"
"70070566665531335610357"
"77070151331365561537137"
"70070333656153153360617"
"77777777777777777777777"
},
},
/* 3*/ { DATA_MODE, 0, -1, -1, "\110\105\111\115\101\123\315\320\101\040\113\105\116\116\101\122\101\110\301\123\113\323\114\101\040\315\123\114\101\116\104\123", 0, 19, 23, "AIMD/TSC15032-43 Figure G.2 **NOT SAME** no compression; verified against bwipp",
"77777777777777777777777"
"70070633151153313350137"
@ -193,19 +193,19 @@ static void test_encode(void)
"77570531366336136167367"
"70370155555515653350537"
"77170707070707070707077"
"70570135513311133130357"
"70670135513311133130357"
"77370513331166611617117"
"70070351153555533550557"
"77670613615636356367117"
"70170156336355515530657"
"77570707070707070707077"
"70670615133513355130117"
"77670707070707070707077"
"70370615133513355130117"
"77170136511651166517637"
"70070365635335515350557"
"77070613551651656517637"
"70070361115516163130317"
"77777777777777777777777"
},
},
/* 4*/ { UNICODE_MODE, 10, -1, ULTRA_COMPRESSION, "אולטרה-קוד1234", 0, 13, 19, "AIMD/TSC15032-43 Figure G.3 Same except DCC correct whereas DCC in Figure G.3 is incorrent",
"7777777777777777777"
"7057065565566616657"
@ -220,7 +220,7 @@ static void test_encode(void)
"7767016565663636117"
"7017051316355311357"
"7777777777777777777"
},
},
/* 5*/ { DATA_MODE, 0, -1, -1, "\340\345\354\350\370\344\055\367\345\343\061\062\063\064", 0, 13, 20, "AIMD/TSC15032-43 Figure G.3 **NOT SAME** no compression; verified against bwipp",
"77777777777777777777"
"70570611115666161157"
@ -235,22 +235,22 @@ static void test_encode(void)
"77370166136636365117"
"70170613653553116357"
"77777777777777777777"
},
},
/* 6*/ { UNICODE_MODE, 0, -1, ULTRA_COMPRESSION, "https://aimglobal.org/jcrv3tX", 0, 13, 22, "AIMD/TSC15032-43 Figure G.4a **NOT SAME** different compression",
"7777777777777777777777"
"7057065133563156313037"
"7767051556651331566757"
"7017066611513613331017"
"7767053165666351655767"
"7037066611513613331017"
"7717053165666351655767"
"7037035651531533133057"
"7707070707070707070707"
"7067015511111161565017"
"7737036635335356151737"
"7057063111116533366057"
"7767031536633116511717"
"7067063111116533366057"
"7737031536633116511717"
"7017063363361363356057"
"7777777777777777777777"
},
},
/* 7*/ { UNICODE_MODE, 0, -1, -1, "A", 0, 13, 13, "Verified against bwipp",
"7777777777777"
"7057063335517"
@ -265,7 +265,133 @@ static void test_encode(void)
"7737065163617"
"7017033536357"
"7777777777777"
},
},
/* 8*/ { UNICODE_MODE, 0, 2, -1, "12345678901234567890123", 0, 13, 25, "Length 23 == 26 MCC (C) with EC1 so 7 ECC by Table 12",
"7777777777777777777777777"
"7057063655511111111011117"
"7767031563666666666766667"
"7057063315511333113033117"
"7717055133656155561755567"
"7037011366535516355016357"
"7707070707070707070707077"
"7067013331111111111011117"
"7757051515366666666766637"
"7037016363113331133031157"
"7757051535651153511753517"
"7017035653363636636036657"
"7777777777777777777777777"
},
/* 9*/ { UNICODE_MODE, 0, 1, -1, "1", 0, 13, 11, "Figure 3a min 2-row, EC0; verified against bwipp",
"77777777777"
"70570661517"
"77170355667"
"70370666517"
"77670551657"
"70370135537"
"77070707077"
"70670151117"
"77170333337"
"70370115117"
"77570631357"
"70170365567"
"77777777777"
},
/* 10*/ { UNICODE_MODE, 0, 6, -1, "123456789012345678901", 0, 13, 27, "Figure 3a max 2-row, EC5",
"777777777777777777777777777"
"705706316551651111101111117"
"771703535313166666676666667"
"703706166556351133301133317"
"771705311313665615575615557"
"706701655165353551603551637"
"770707070707070707070707077"
"703701165561111111101111117"
"771705336136536666676666637"
"703701113655351333101333157"
"775703635331635115375115367"
"701705553563556363606363637"
"777777777777777777777777777"
},
/* 11*/ { UNICODE_MODE, 0, 6, -1, "1234567890123456789012345678901234567890123456789012", 0, 19, 36, "Figure 3b max 3-row, EC5",
"777777777777777777777777777777777777"
"700706363653513111101111111111111117"
"770703511165156356676666666666666667"
"700706155316333511303133133113313317"
"775705516633156156175515515361551557"
"701701335356661335606653331656665337"
"773707070707070707070707070707070707"
"705701313116156311101111111111111117"
"776706665563633166676666666666666667"
"700703316155566513301133133133113317"
"773705165316651651573615515515361557"
"701701556535515533106566653331656667"
"773707070707070707070707070707070707"
"706701333331113511101111111111111117"
"771705161113336666676666666666666657"
"700703313565163513301331133133133137"
"770705661613551651575153615515515317"
"700703155555336565303316566653331637"
"777777777777777777777777777777777777"
},
/* 12*/ { UNICODE_MODE, 0, 6, -1, "12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123", 0, 25, 49, "Figure 3c max 4-row, EC5",
"7777777777777777777777777777777777777777777777777"
"7007061565635135151011111111111111101111111111117"
"7707035151513316566766666666666666676666666666667"
"7007061536666531351031331313313133103133131331317"
"7707056653153315566755156551565515675515655156557"
"7007013366335656655013565135651356501356513565137"
"7707070707070707070707070707070707070707070707077"
"7057036636366363311011111111111111101111111111117"
"7737055565651635656766666666666666676666666666667"
"7017061653316513563031313313133131303131331313317"
"7757056561153165131755131551315513175513155131557"
"7067063135615536653036663366633666303666336663367"
"7707070707070707070707070707070707070707070707077"
"7037056156651155111011111111111111101111111111117"
"7717015565563561566766666666666666676666666666667"
"7067066631136356613031313313133131303131331313317"
"7737031365663161551756551565515655175655156551567"
"7017065156355516135065135651356513506513565135657"
"7707070707070707070707070707070707070707070707077"
"7007053555355533511011111111111111101111111111117"
"7707035616631351166766666666666666676666666666657"
"7007063363316563613013313133131331301331313313167"
"7707031111653311551731551315513155173155131551357"
"7007016565561165166063366633666336606336663366637"
"7777777777777777777777777777777777777777777777777"
},
/* 13*/ { UNICODE_MODE, 0, 6, -1, "1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789", 0, 31, 66, "Figure 3d max 5-row, EC5 **NOT SAME** Max columns due to 282 limit is 60 not 61 as shown",
"777777777777777777777777777777777777777777777777777777777777777777"
"700706655166656555306351111111111110111111111111111011111111111117"
"770703331611363336575566666666666667666666666666666766666666666667"
"700706555153116611103153333333333330333333333333333033333333333337"
"770705361635661566576361515151515157151515151515151751515151515157"
"700701513513555315303653636363636360363636363636363063636363636367"
"770707070707070707070707070707070707070707070707070707070707070707"
"700705316656355536606131111111111110111111111111111011111111111157"
"770706653365566155373316666666666667666666666666666766666666666617"
"700703361516133633605633131313131310313131313131313013131313131357"
"775705513161356156176361313131313137131313131313131731313131313117"
"706706166533165615303615656565656560565656565656565065656565656557"
"775707070707070707070707070707070707070707070707070707070707070707"
"701703651151633136506611111111111110111111111111111011111111111157"
"776706533613515615373566666666666667666666666666666766666666666617"
"700701365531653133101613131313131310313131313131313013131313131357"
"773703113156366615576151515151515157151515151515151751515151515117"
"706706351535111563305536363636363630636363636363636036363636363657"
"773707070707070707070707070707070707070707070707070707070707070707"
"705705611111515333605311111111111110111111111111111011111111111157"
"771703336366133651571166666666666667666666666666666766666666666617"
"700706513535351316103313131313131310313131313131313013131313131357"
"770703131151115535575555555555555557555555555555555755555555555517"
"700705665366536111306661616161616160161616161616161061616161616157"
"770707070707070707070707070707070707070707070707070707070707070707"
"700706355163151355603611111111111110111111111111111011111111111137"
"770703563615515136176566666666666667666666666666666766666666666617"
"700705655136333561505613131313131310313131313131313013131313131357"
"770701136561611613373365656565656567565656565656565765656565656517"
"700703663313553565506153535353535350353535353535353053535353535357"
"777777777777777777777777777777777777777777777777777777777777777777"
},
};
int data_size = sizeof(data) / sizeof(struct item);
@ -297,7 +423,7 @@ static void test_encode(void)
i, testUtilInputModeName(data[i].input_mode), data[i].eci, data[i].option_1, testUtilOption3Name(data[i].option_3),
testUtilEscape(data[i].data, length, escaped, sizeof(escaped)), testUtilErrorName(data[i].ret), symbol->rows, symbol->width, data[i].comment);
testUtilModulesDump(symbol, " ", "\n");
printf(" },\n");
printf(" },\n");
#else
if (ret < 5) {
assert_equal(symbol->rows, data[i].expected_rows, "i:%d symbol->rows %d != %d (%s)\n", i, symbol->rows, data[i].expected_rows, data[i].data);