NapCatQQ source snapshot
Build NapCat Artifacts / Type Check & Test (push) Waiting to run
Release Tag / validate-version (push) Waiting to run

This commit is contained in:
TanTan committed 2026-11-13 09:01:47 +08:00
commit f954252a34
1111 files changed
+139867

No files matched your search

+37
View File
@@ -0,0 +1,37 @@
const QRMath = {
glog (n: number): number {
if (n < 1) {
throw new Error('glog(' + n + ')');
}
return QRMath.LOG_TABLE[n]!;
},
gexp (n: number): number {
while (n < 0) {
n += 255;
}
while (n >= 256) {
n -= 255;
}
return QRMath.EXP_TABLE[n]!;
},
EXP_TABLE: new Array<number>(256).fill(0),
LOG_TABLE: new Array<number>(256).fill(0),
};
for (let i = 0; i < 8; i++) {
QRMath.EXP_TABLE[i] = 1 << i;
}
for (let i = 8; i < 256; i++) {
QRMath.EXP_TABLE[i] = QRMath.EXP_TABLE[i - 4]! ^
QRMath.EXP_TABLE[i - 5]! ^
QRMath.EXP_TABLE[i - 6]! ^
QRMath.EXP_TABLE[i - 8]!;
}
for (let i = 0; i < 255; i++) {
QRMath.LOG_TABLE[QRMath.EXP_TABLE[i]!] = i;
}
export default QRMath;