xtQRdecoder — xTalk QR Port Test Console

ZXing QR decoder ported to pure xTalk · target: a 9.6.3-class xTalk engine · image/imageData probe →

qrCompat.lc — integer & bitwise layer

✓ 45 / 45 passed

TestExpectedGotStatus
u32 in-range55PASS
u32 zero00PASS
u32 -1 -> 0xFFFFFFFF42949672954294967295PASS
u32 -16777216 -> 0xFF00000042781900804278190080PASS
u32 2^32 -> 000PASS
u32 already-max42949672954294967295PASS
u8 3004444PASS
u8 255255255PASS
u8 25600PASS
shl 1<<011PASS
shl 1<<53232PASS
shl 1<<3121474836482147483648PASS
shl 255<<2442781900804278190080PASS
shl 0xFFFFFFFF<<1 (low bits survive)42949672944294967294PASS
uShr 0xFF000000>>>24255255PASS
uShr 1>>>100PASS
uShr 0xFFFFFFFF>>>281515PASS
uShr x>>>01234512345PASS
aShr positive127127PASS
aShr -16777216>>24 = -142949672954294967295PASS
aShr -1>>1 = -142949672954294967295PASS
aShr -2>>1 = -142949672954294967295PASS
ntz 03232PASS
ntz 100PASS
ntz 833PASS
ntz 611PASS
ntz 9655PASS
ntz 0x800000003131PASS
hashCode empty00PASS
hashCode a9797PASS
hashCode ab31053105PASS
hashCode abc9635496354PASS
f2ib 0.000PASS
f2ib 1.010653532161065353216PASS
f2ib 2.010737418241073741824PASS
f2ib -1.032128368643212836864PASS
byteAt A@06565PASS
byteAt C@26767PASS
fill_array size 333PASS
fill_array value00PASS
fill_array quirk size 111PASS
fill_array quirk value77PASS
arraycopy dst[5]1111PASS
arraycopy dst[6]1212PASS
arraycopy count22PASS

genericGF.lc — GF(256) field

✓ 27 / 27 passed

TestExpectedGotStatus
gf_exp 011PASS
gf_exp 122PASS
gf_exp 7128128PASS
gf_exp 8 (wrap via primitive)2929PASS
gf_exp 12205205PASS
gf_exp 254142142PASS
gf_exp 255 (period)11PASS
gf_log 100PASS
gf_log 211PASS
gf_log 2988PASS
gf_log 142254254PASS
gf_addOrSubtract 5,366PASS
gf_addOrSubtract 255,25500PASS
gf_addOrSubtract 0,123123123PASS
gf_multiply 0,500PASS
gf_multiply 5,000PASS
gf_multiply 1,555PASS
gf_multiply 2,244PASS
gf_multiply 2,488PASS
gf_multiply 128,22929PASS
gf_multiply 3,3 ((x+1)^2=x^2+1)55PASS
gf_multiply 2,142 (=1)11PASS
gf_inverse 111PASS
gf_inverse 2142142PASS
gf_multiply 7,inv(7)11PASS
gf_multiply 200,inv(200)11PASS
gf_multiply 255,inv(255)11PASS

genericGFPoly.lc — polynomials over GF(256)

✓ 36 / 36 passed

TestExpectedGotStatus
poly_isZero(zero)truetruePASS
poly_isZero(one)falsefalsePASS
poly_degree(one)00PASS
poly_new strip length22PASS
poly_new strip [0]55PASS
poly_new strip [1]33PASS
poly_new all-zero length11PASS
poly_new all-zero isZerotruetruePASS
poly_degree22PASS
getCoefficient x^211PASS
getCoefficient x^122PASS
getCoefficient x^033PASS
evaluateAt 033PASS
evaluateAt 1 (1^2^3)00PASS
evaluateAt 233PASS
add length33PASS
add [0]11PASS
add [1]00PASS
add [2]00PASS
add self -> zerotruetruePASS
mul length33PASS
mul [0]11PASS
mul [1]00PASS
mul [2]11PASS
scalar [0]22PASS
scalar [1]44PASS
scalar [2]66PASS
scalar by 0 -> zerotruetruePASS
monomial length55PASS
monomial [0]11PASS
monomial [3]00PASS
monomial [4]00PASS
divide quotient len22PASS
divide quotient [0]11PASS
divide quotient [1]11PASS
divide remainder isZerotruetruePASS

reedSolomonDecoder.lc — RS decode (ZXing reference vector)

✓ 6 / 6 passed

TestExpectedGotStatus
codeword length2626PASS
clean: unchangedtruetruePASS
1 error correctedtruetruePASS
3 errors correctedtruetruePASS
5 errors (max) correctedtruetruePASS
6 errors not silently fixedtruetruePASS

bitArray.lc — packed bit vector

✓ 27 / 27 passed

TestExpectedGotStatus
new size2020PASS
sizeInBytes (20->3)33PASS
get(0)truetruePASS
get(1)falsefalsePASS
get(19)truetruePASS
nextSet(0)00PASS
nextSet(1)1919PASS
nextUnset(0)11PASS
nextSet none -> size2020PASS
range get(3)falsefalsePASS
range get(4)truetruePASS
range get(7)truetruePASS
range get(8)falsefalsePASS
isRange 4..8 truetruetruePASS
isRange 4..9 truefalsefalsePASS
isRange 0..4 falsetruetruePASS
append size88PASS
append get(0)=1truetruePASS
append get(1)=0falsefalsePASS
append get(2)=1truetruePASS
toBytes round-trip181181PASS
xor -> 0xFFFFFFFF42949672954294967295PASS
reverse bit0 -> bit7truetruePASS
reverse old bit0 clearfalsefalsePASS
reverse word value128128PASS
clone keeps bit3truetruePASS
clone unaffected by bit4falsefalsePASS

bitMatrix.lc — packed 2-D bit grid

✓ 36 / 36 passed

TestExpectedGotStatus
square width2121PASS
square height2121PASS
square rowSize11PASS
rect rowSize (33->2)22PASS
rect bits count2020PASS
get(5,3)truetruePASS
get(6,3)falsefalsePASS
get(5,4)falsefalsePASS
after unsetfalsefalsePASS
after flip ontruetruePASS
after flip offfalsefalsePASS
cross-word get(32,0)truetruePASS
cross-word get(31,0)falsefalsePASS
region (1,1)truetruePASS
region (2,2)truetruePASS
region (3,1) offfalsefalsePASS
region (0,0) offfalsefalsePASS
encl left11PASS
encl top11PASS
encl width22PASS
encl height22PASS
topLeft x11PASS
topLeft y11PASS
bottomRight x22PASS
bottomRight y22PASS
encl emptyPASS
topLeft emptyPASS
getRow bit0truetruePASS
getRow bit32truetruePASS
getRow bit1falsefalsePASS
setRow bit0truetruePASS
setRow bit32truetruePASS
rotate180 (0,0)->(3,3)truetruePASS
rotate180 old (0,0) clearfalsefalsePASS
clone keeps (2,2)truetruePASS
clone unaffected (3,3)falsefalsePASS

bitSource.lc — MSB-first bit reader

✓ 13 / 13 passed

TestExpectedGotStatus
available start2424PASS
read nibble A1010PASS
read nibble B1111PASS
read byte CD205205PASS
available mid88PASS
read byte EF239239PASS
available end00PASS
cross nibble A1010PASS
cross byte BC188188PASS
read 16 = 0xABCD4398143981PASS
first bit of 0x8011PASS
second bit of 0x8000PASS
over-read throwstruetruePASS

luminanceSource.lc — greyscale byte math (§7.3)

✓ 24 / 24 passed

TestExpectedGotStatus
grey -> r128128PASS
red 255,0,0 -> 636363PASS
green 0,255,0 -> 127127127PASS
blue 0,0,255 -> 636363PASS
white -> 255255255PASS
black -> 000PASS
width22PASS
height22PASS
lum[0]=255255255PASS
lum[1]=000PASS
lum[2]=100100100PASS
lum count44PASS
row1[0]=100100100PASS
row1[1]=100100100PASS
matrix[1]=000PASS
crop width11PASS
crop[0]=000PASS
crop[1]=100100100PASS
downsample width22PASS
downsample height22PASS
downsample (0,0)=000PASS
downsample (2,0)=222PASS
downsample (0,2)=323232PASS
downsample (2,2)=343434PASS

binarizer — global histogram + hybrid adaptive

✓ 13 / 13 passed

TestExpectedGotStatus
estimateBlackPoint bimodal = 168168168PASS
estimateBlackPoint flat throwstruetruePASS
ghb white pixel (5,10) not blackfalsefalsePASS
ghb black pixel (30,10) blacktruetruePASS
ghb white pixel (19,39) not blackfalsefalsePASS
ghb black pixel (20,0) blacktruetruePASS
ghb all-black throws NotFoundtruetruePASS
hybrid<40 white (2,2) not blackfalsefalsePASS
hybrid<40 black (27,27) blacktruetruePASS
hybrid deep-white (8,40) not blackfalsefalsePASS
hybrid deep-black (72,40) blacktruetruePASS
hybrid matrix width8080PASS
hybrid matrix height8080PASS

tables — ErrorCorrectionLevel / Mode / DataMask / FormatInfo / Version

✓ 69 / 69 passed

TestExpectedGotStatus
ecl_name 0=LLLPASS
ecl_name 1=MMMPASS
ecl_name 2=QQQPASS
ecl_name 3=HHHPASS
ecl_bits L=0111PASS
ecl_bits M=0000PASS
ecl_bits H=1022PASS
ecl_bits Q=1133PASS
ecl_forBits 00=M11PASS
ecl_forBits 01=L00PASS
ecl_forBits 10=H33PASS
ecl_forBits 11=Q22PASS
mode 1=NUMERICNUMERICNUMERICPASS
mode 2=ALPHANUMERICALPHANUMERICALPHANUMERICPASS
mode 4=BYTEBYTEBYTEPASS
mode 8=KANJIKANJIKANJIPASS
mode 13=HANZIHANZIHANZIPASS
mode 0=TERMINATORTERMINATORTERMINATORPASS
mode 7=ECIECIECIPASS
ccBits NUMERIC v11010PASS
ccBits NUMERIC v101212PASS
ccBits NUMERIC v271414PASS
ccBits ALPHANUMERIC v199PASS
ccBits ALPHANUMERIC v401313PASS
ccBits BYTE v188PASS
ccBits BYTE v101616PASS
ccBits KANJI v188PASS
ccBits KANJI v271212PASS
ccBits TERMINATOR00PASS
mode 6 throwstruetruePASS
mask0 (0,0)truetruePASS
mask0 (0,1)falsefalsePASS
mask1 (0,j)truetruePASS
mask1 (1,j)falsefalsePASS
mask2 (i,0)truetruePASS
mask2 (i,1)falsefalsePASS
mask3 (0,0)truetruePASS
mask3 (1,1)falsefalsePASS
mask4 (0,0)truetruePASS
mask5 (0,0)truetruePASS
mask5 (1,1)falsefalsePASS
mask6 (0,0)truetruePASS
mask6 (1,1)truetruePASS
mask7 (0,0)truetruePASS
unmask involution keeps (3,4)truetruePASS
unmask involution (5,5) offfalsefalsePASS
fmt exact: ecLevel M11PASS
fmt exact: dataMask 000PASS
fmt 597 ecLevel H(3)33PASS
fmt 597 dataMask 555PASS
fmt 1-bit err ecLevel M11PASS
fmt 1-bit err dataMask 000PASS
v1 dimension 212121PASS
v7 dimension 454545PASS
v40 dimension 177177177PASS
v1 align emptyPASS
v2 align 6,186,186,18PASS
v7 align 6,22,386,22,386,22,38PASS
v1-L ecw 777PASS
v1-H ecw 171717PASS
v1-L data 191919PASS
v1-M data 161616PASS
v1-H data 999PASS
v5-Q data 626262PASS
provVer dim 21 = 111PASS
provVer dim 45 = 777PASS
decodeVer 31892 = 777PASS
decodeVer 31892^7 = 777PASS
decodeVer 167017 = 404040PASS

parser — DataBlock de-interleave + bitstream decode

✓ 23 / 23 passed

TestExpectedGotStatus
db block count44PASS
db block0 numData1515PASS
db block3 numData1616PASS
db block0 data[0]00PASS
db block0 data[14]1414PASS
db block0 ec[0]10001000PASS
db block0 ec[17]10171017PASS
db block3 data[0]300300PASS
db block3 data[15]315315PASS
db block3 len3434PASS
numeric error emptyPASS
numeric 867530986753098675309PASS
alnum error emptyPASS
alnum HELLO WORLDHELLO WORLDHELLO WORLDPASS
byte error emptyPASS
byte Hi!Hi!Hi!PASS
eci utf8 error emptyPASS
eci utf8 cafécafécaféPASS
eci 26 = UTF-8UTF-8UTF-8PASS
eci 1 = ISO-8859-1ISO-8859-1ISO-8859-1PASS
eci 20 = Shift_JISShift_JISShift_JISPASS
eci 29 = GB2312GB2312GB2312PASS
kanji raises Format errortruetruePASS

decoder — end-to-end matrix -> text (real v1 'HI' QR)

✓ 17 / 17 passed

TestExpectedGotStatus
fixture dimension2121PASS
format ecLevel L(0)00PASS
format dataMask 000PASS
version 111PASS
codeword count >= 26truetruePASS
codeword[0] = 323232PASS
codeword[1] = 191919PASS
codeword[2] = 151515PASS
codeword[3] = 000PASS
codeword[4] = 236236236PASS
codeword[5] = 171717PASS
decode error emptyPASS
decode text = HIHIHIPASS
decode ecLevel LLLPASS
decode version 111PASS
decode mask 000PASS
decode with 2 errors -> HIHIHIPASS

mathUtils — round + distance (§8.4)

✓ 11 / 11 passed

TestExpectedGotStatus
round 2.4 -> 222PASS
round 2.5 -> 333PASS
round 2.6 -> 333PASS
round 13.999 -> 141414PASS
round 14.0 -> 141414PASS
round -2.5 -> -3-3-3PASS
round 0 -> 000PASS
distance (0,0)-(3,4) = 555PASS
distance (1,1)-(4,5) = 555PASS
distance (2,2)-(2,2) = 000PASS
distance (0,0)-(0,7) = 777PASS

resultPoint — point ops + orderBestPatterns (§8.4)

✓ 8 / 8 passed

TestExpectedGotStatus
distance (0,0)-(3,4) = 555PASS
crossProductZ negativetruetruePASS
order[0] bl x4545PASS
order[0] bl y129129PASS
order[1] tl x4545PASS
order[1] tl y4545PASS
order[2] tr x129129PASS
order[2] tr y4545PASS

perspectiveTransform — 3x3 projective maps (§8.4)

✓ 12 / 12 passed

TestExpectedGotStatus
identity (0.5,0.5) x0.50.5PASS
identity (0.5,0.5) y0.50.5PASS
identity (0.25,0.75) x0.250.25PASS
identity (0.25,0.75) y0.750.75PASS
rect (0,0) x 101010PASS
rect (0,0) y 202020PASS
rect (1,1) x 303030PASS
rect (1,1) y 606060PASS
rect centre x 202020PASS
rect centre y 404040PASS
trapezoid centre x 555PASS
trapezoid centre y 6.256.256.25PASS

gridSampler — sample a grid through a transform (§8.4)

✓ 3 / 3 passed

TestExpectedGotStatus
sampled 3x3 = 101010101101010101101010101PASS
nudge x=-1 -> 000PASS
nudge x=width -> width-12323PASS

detector — synthetic photo -> finders -> sample -> 'HI' (§8.4)

✓ 15 / 15 passed

TestExpectedGotStatus
synthetic image is 116x116116116PASS
finder TL x = 303030PASS
finder TL y = 303030PASS
finder TR x = 868686PASS
finder TR y = 303030PASS
finder BL x = 303030PASS
finder BL y = 868686PASS
finder TL module size = 444PASS
detect dimension = 212121PASS
sampled width = 212121PASS
sampled matrix == original HItruetruePASS
decode error emptyPASS
decode text = HIHIHIPASS
decode version = 111PASS
decode ecLevel = LLLPASS

detector v2 — alignment pattern -> 'HELLO WORLD' (§8.4)

✓ 14 / 14 passed

TestExpectedGotStatus
v2 synthetic image is 132x132132132PASS
v2 finder TL = (30,30)30,3030,30PASS
v2 finder TR = (102,30)102,30102,30PASS
v2 finder BL = (30,102)30,10230,102PASS
v2 detect dimension = 252525PASS
v2 alignment point presenttruetruePASS
v2 alignment x = 909090PASS
v2 alignment y = 909090PASS
v2 sampled width = 252525PASS
v2 sampled matrix == originaltruetruePASS
v2 decode error emptyPASS
v2 decode text = HELLO WORLDHELLO WORLDHELLO WORLDPASS
v2 decode version = 222PASS
v2 decode ecLevel = MMMPASS

Engine environment

xTalk engine version9.6.11 Build number15621 PlatformLinux System versionLinux 4.18.0-553.5.1.el8_10.x86_64 Server timeFriday, June 5, 2026 6:54:50 AM

Interactive helper evaluator

Generated by qr_tester.lc · engine 9.6.11 · Linux