1
0
mirror of https://git.code.sf.net/p/zint/code synced 2026-01-08 20:41:59 +00:00

general: prefix all INTERNAL funcs/tables with zint_, except

those in "backend/common.h", which are prefixed by `z_` - makes
  symbol clashes more unlikely when zint is statically linked
  (ticket #337, props Ulrich Becker)
DOTCODE: fix padding allowance (10 -> 52 - probable max 35) to
  cover cases with large no. of columns requested and little data,
  to prevent `codeword_array` buffer overflow
AZTEC/CODEONE: some code fiddling
general_field: prefix defines with `GF_`, shorten static funcs
  prefix `general_field_` -> `gf_`
This commit is contained in:
gitlost
2025-08-26 23:48:00 +01:00
parent e18b047a45
commit 39380d6767
106 changed files with 4477 additions and 4360 deletions

View File

@@ -56,7 +56,7 @@
#define LI(l, h) { l, h }
INTERNAL int clz_u64_test(uint64_t x);
INTERNAL int zint_test_clz_u64(uint64_t x);
static void test_clz_u64(const testCtx *const p_ctx) {
@@ -202,7 +202,7 @@ static void test_clz_u64(const testCtx *const p_ctx) {
if (testContinue(p_ctx, i)) continue;
ret = clz_u64_test(data[i].s);
ret = zint_test_clz_u64(data[i].s);
assert_equal(ret, data[i].ret, "i:%d 0x%" LX_FMT "X ret %d != %d\n", i, data[i].s, ret, data[i].ret);
}
@@ -235,12 +235,16 @@ static void test_load(const testCtx *const p_ctx) {
if (testContinue(p_ctx, i)) continue;
large_load(&data[i].t, &data[i].s);
zint_large_load(&data[i].t, &data[i].s);
assert_equalu64(data[i].t.lo, data[i].expected.lo, "i:%d lo 0x%" LX_FMT "X (%s) != expected lo 0x%" LX_FMT "X (%s)\n",
i, data[i].t.lo, large_dump(&data[i].t, t_dump), data[i].expected.lo, large_dump(&data[i].expected, expected_dump));
assert_equalu64(data[i].t.hi, data[i].expected.hi, "i:%d hi 0x%" LX_FMT "X (%s) != expected hi 0x%" LX_FMT "X (%s)\n",
i, data[i].t.hi, large_dump(&data[i].t, t_dump), data[i].expected.hi, large_dump(&data[i].expected, expected_dump));
assert_equalu64(data[i].t.lo, data[i].expected.lo,
"i:%d lo 0x%" LX_FMT "X (%s) != expected lo 0x%" LX_FMT "X (%s)\n",
i, data[i].t.lo, zint_large_dump(&data[i].t, t_dump), data[i].expected.lo,
zint_large_dump(&data[i].expected, expected_dump));
assert_equalu64(data[i].t.hi, data[i].expected.hi,
"i:%d hi 0x%" LX_FMT "X (%s) != expected hi 0x%" LX_FMT "X (%s)\n",
i, data[i].t.hi, zint_large_dump(&data[i].t, t_dump), data[i].expected.hi,
zint_large_dump(&data[i].expected, expected_dump));
}
testFinish();
@@ -276,12 +280,17 @@ static void test_load_str_u64(const testCtx *const p_ctx) {
if (testContinue(p_ctx, i)) continue;
large_load_str_u64(&data[i].t, (unsigned char *) data[i].s, data[i].length == -1 ? (int) strlen(data[i].s) : data[i].length);
zint_large_load_str_u64(&data[i].t, ZCUCP(data[i].s),
data[i].length == -1 ? (int) strlen(data[i].s) : data[i].length);
assert_equalu64(data[i].t.lo, data[i].expected.lo, "i:%d lo 0x%" LX_FMT "X (%s) != expected lo 0x%" LX_FMT "X (%s)\n",
i, data[i].t.lo, large_dump(&data[i].t, t_dump), data[i].expected.lo, large_dump(&data[i].expected, expected_dump));
assert_equalu64(data[i].t.hi, data[i].expected.hi, "i:%d hi 0x%" LX_FMT "X (%s) != expected hi 0x%" LX_FMT "X (%s)\n",
i, data[i].t.hi, large_dump(&data[i].t, t_dump), data[i].expected.hi, large_dump(&data[i].expected, expected_dump));
assert_equalu64(data[i].t.lo, data[i].expected.lo,
"i:%d lo 0x%" LX_FMT "X (%s) != expected lo 0x%" LX_FMT "X (%s)\n",
i, data[i].t.lo, zint_large_dump(&data[i].t, t_dump), data[i].expected.lo,
zint_large_dump(&data[i].expected, expected_dump));
assert_equalu64(data[i].t.hi, data[i].expected.hi,
"i:%d hi 0x%" LX_FMT "X (%s) != expected hi 0x%" LX_FMT "X (%s)\n",
i, data[i].t.hi, zint_large_dump(&data[i].t, t_dump), data[i].expected.hi,
zint_large_dump(&data[i].expected, expected_dump));
}
testFinish();
@@ -320,12 +329,16 @@ static void test_add_u64(const testCtx *const p_ctx) {
if (testContinue(p_ctx, i)) continue;
large_add_u64(&data[i].t, data[i].s);
zint_large_add_u64(&data[i].t, data[i].s);
assert_equalu64(data[i].t.lo, data[i].expected.lo, "i:%d lo 0x%" LX_FMT "X (%s) != expected lo 0x%" LX_FMT "X (%s)\n",
i, data[i].t.lo, large_dump(&data[i].t, t_dump), data[i].expected.lo, large_dump(&data[i].expected, expected_dump));
assert_equalu64(data[i].t.hi, data[i].expected.hi, "i:%d hi 0x%" LX_FMT "X (%s) != expected hi 0x%" LX_FMT "X (%s)\n",
i, data[i].t.hi, large_dump(&data[i].t, t_dump), data[i].expected.hi, large_dump(&data[i].expected, expected_dump));
assert_equalu64(data[i].t.lo, data[i].expected.lo,
"i:%d lo 0x%" LX_FMT "X (%s) != expected lo 0x%" LX_FMT "X (%s)\n",
i, data[i].t.lo, zint_large_dump(&data[i].t, t_dump), data[i].expected.lo,
zint_large_dump(&data[i].expected, expected_dump));
assert_equalu64(data[i].t.hi, data[i].expected.hi,
"i:%d hi 0x%" LX_FMT "X (%s) != expected hi 0x%" LX_FMT "X (%s)\n",
i, data[i].t.hi, zint_large_dump(&data[i].t, t_dump), data[i].expected.hi,
zint_large_dump(&data[i].expected, expected_dump));
}
testFinish();
@@ -364,12 +377,16 @@ static void test_sub_u64(const testCtx *const p_ctx) {
if (testContinue(p_ctx, i)) continue;
large_sub_u64(&data[i].t, data[i].s);
zint_large_sub_u64(&data[i].t, data[i].s);
assert_equalu64(data[i].t.lo, data[i].expected.lo, "i:%d lo 0x%" LX_FMT "X (%s) != expected lo 0x%" LX_FMT "X (%s)\n",
i, data[i].t.lo, large_dump(&data[i].t, t_dump), data[i].expected.lo, large_dump(&data[i].expected, expected_dump));
assert_equalu64(data[i].t.hi, data[i].expected.hi, "i:%d hi 0x%" LX_FMT "X (%s) != expected hi 0x%" LX_FMT "X (%s)\n",
i, data[i].t.hi, large_dump(&data[i].t, t_dump), data[i].expected.hi, large_dump(&data[i].expected, expected_dump));
assert_equalu64(data[i].t.lo, data[i].expected.lo,
"i:%d lo 0x%" LX_FMT "X (%s) != expected lo 0x%" LX_FMT "X (%s)\n",
i, data[i].t.lo, zint_large_dump(&data[i].t, t_dump), data[i].expected.lo,
zint_large_dump(&data[i].expected, expected_dump));
assert_equalu64(data[i].t.hi, data[i].expected.hi,
"i:%d hi 0x%" LX_FMT "X (%s) != expected hi 0x%" LX_FMT "X (%s)\n",
i, data[i].t.hi, zint_large_dump(&data[i].t, t_dump), data[i].expected.hi,
zint_large_dump(&data[i].expected, expected_dump));
}
testFinish();
@@ -421,12 +438,16 @@ static void test_mul_u64(const testCtx *const p_ctx) {
if (testContinue(p_ctx, i)) continue;
large_mul_u64(&data[i].t, data[i].s);
zint_large_mul_u64(&data[i].t, data[i].s);
assert_equalu64(data[i].t.lo, data[i].expected.lo, "i:%d lo 0x%" LX_FMT "X (%s) != expected lo 0x%" LX_FMT "X (%s)\n",
i, data[i].t.lo, large_dump(&data[i].t, t_dump), data[i].expected.lo, large_dump(&data[i].expected, expected_dump));
assert_equalu64(data[i].t.hi, data[i].expected.hi, "i:%d hi 0x%" LX_FMT "X (%s) != expected hi 0x%" LX_FMT "X (%s)\n",
i, data[i].t.hi, large_dump(&data[i].t, t_dump), data[i].expected.hi, large_dump(&data[i].expected, expected_dump));
assert_equalu64(data[i].t.lo, data[i].expected.lo,
"i:%d lo 0x%" LX_FMT "X (%s) != expected lo 0x%" LX_FMT "X (%s)\n",
i, data[i].t.lo, zint_large_dump(&data[i].t, t_dump), data[i].expected.lo,
zint_large_dump(&data[i].expected, expected_dump));
assert_equalu64(data[i].t.hi, data[i].expected.hi,
"i:%d hi 0x%" LX_FMT "X (%s) != expected hi 0x%" LX_FMT "X (%s)\n",
i, data[i].t.hi, zint_large_dump(&data[i].t, t_dump), data[i].expected.hi,
zint_large_dump(&data[i].expected, expected_dump));
}
testFinish();
@@ -546,14 +567,19 @@ static void test_div_u64(const testCtx *const p_ctx) {
if (testContinue(p_ctx, i)) continue;
r = large_div_u64(&data[i].t, data[i].s);
r = zint_large_div_u64(&data[i].t, data[i].s);
assert_equalu64(r, data[i].expected_r, "i:%d r %" LX_FMT "u (0x%" LX_FMT "X) != expected_r %" LX_FMT "u (0x%" LX_FMT "X)\n",
assert_equalu64(r, data[i].expected_r,
"i:%d r %" LX_FMT "u (0x%" LX_FMT "X) != expected_r %" LX_FMT "u (0x%" LX_FMT "X)\n",
i, r, r, data[i].expected_r, data[i].expected_r);
assert_equalu64(data[i].t.lo, data[i].expected.lo, "i:%d lo 0x%" LX_FMT "X (%s) != expected lo 0x%" LX_FMT "X (%s)\n",
i, data[i].t.lo, large_dump(&data[i].t, t_dump), data[i].expected.lo, large_dump(&data[i].expected, expected_dump));
assert_equalu64(data[i].t.hi, data[i].expected.hi, "i:%d hi 0x%" LX_FMT "X (%s) != expected hi 0x%" LX_FMT "X (%s)\n",
i, data[i].t.hi, large_dump(&data[i].t, t_dump), data[i].expected.hi, large_dump(&data[i].expected, expected_dump));
assert_equalu64(data[i].t.lo, data[i].expected.lo,
"i:%d lo 0x%" LX_FMT "X (%s) != expected lo 0x%" LX_FMT "X (%s)\n",
i, data[i].t.lo, zint_large_dump(&data[i].t, t_dump), data[i].expected.lo,
zint_large_dump(&data[i].expected, expected_dump));
assert_equalu64(data[i].t.hi, data[i].expected.hi,
"i:%d hi 0x%" LX_FMT "X (%s) != expected hi 0x%" LX_FMT "X (%s)\n",
i, data[i].t.hi, zint_large_dump(&data[i].t, t_dump), data[i].expected.hi,
zint_large_dump(&data[i].expected, expected_dump));
}
testFinish();
@@ -712,12 +738,16 @@ static void test_unset_bit(const testCtx *const p_ctx) {
if (testContinue(p_ctx, i)) continue;
large_unset_bit(&data[i].t, data[i].s);
zint_large_unset_bit(&data[i].t, data[i].s);
assert_equalu64(data[i].t.lo, data[i].expected.lo, "i:%d lo 0x%" LX_FMT "X (%s) != expected lo 0x%" LX_FMT "X (%s)\n",
i, data[i].t.lo, large_dump(&data[i].t, t_dump), data[i].expected.lo, large_dump(&data[i].expected, expected_dump));
assert_equalu64(data[i].t.hi, data[i].expected.hi, "i:%d hi 0x%" LX_FMT "X (%s) != expected hi 0x%" LX_FMT "X (%s)\n",
i, data[i].t.hi, large_dump(&data[i].t, t_dump), data[i].expected.hi, large_dump(&data[i].expected, expected_dump));
assert_equalu64(data[i].t.lo, data[i].expected.lo,
"i:%d lo 0x%" LX_FMT "X (%s) != expected lo 0x%" LX_FMT "X (%s)\n",
i, data[i].t.lo, zint_large_dump(&data[i].t, t_dump), data[i].expected.lo,
zint_large_dump(&data[i].expected, expected_dump));
assert_equalu64(data[i].t.hi, data[i].expected.hi,
"i:%d hi 0x%" LX_FMT "X (%s) != expected hi 0x%" LX_FMT "X (%s)\n",
i, data[i].t.hi, zint_large_dump(&data[i].t, t_dump), data[i].expected.hi,
zint_large_dump(&data[i].expected, expected_dump));
}
testFinish();
@@ -788,11 +818,13 @@ static void test_uint_array(const testCtx *const p_ctx) {
memset(uint_array, 0, sizeof(uint_array));
large_uint_array(&data[i].t, uint_array, data[i].size, data[i].bits);
zint_large_uint_array(&data[i].t, uint_array, data[i].size, data[i].bits);
assert_zero(memcmp(uint_array, data[i].expected, data[i].size * sizeof(unsigned int)), "i:%d %s uint memcmp != 0\n actual: %s\nexpected: %s\n",
i, large_dump(&data[i].t, t_dump), testUtilUIntArrayDump(uint_array, data[i].size, uint_dump, sizeof(uint_dump)),
testUtilUIntArrayDump(data[i].expected, data[i].size, uint_expected_dump, sizeof(uint_expected_dump)));
assert_zero(memcmp(uint_array, data[i].expected, data[i].size * sizeof(unsigned int)),
"i:%d %s uint memcmp != 0\n actual: %s\nexpected: %s\n",
i, zint_large_dump(&data[i].t, t_dump),
testUtilUIntArrayDump(uint_array, data[i].size, uint_dump, sizeof(uint_dump)),
testUtilUIntArrayDump(data[i].expected, data[i].size, uint_expected_dump, sizeof(uint_expected_dump)));
if (data[i].bits <= 8) {
int j;
@@ -801,11 +833,13 @@ static void test_uint_array(const testCtx *const p_ctx) {
uchar_expected_array[j] = data[i].expected[j];
}
large_uchar_array(&data[i].t, uchar_array, data[i].size, data[i].bits);
zint_large_uchar_array(&data[i].t, uchar_array, data[i].size, data[i].bits);
assert_zero(memcmp(uchar_array, uchar_expected_array, data[i].size), "i:%d %s uchar memcmp != 0\n actual: %s\nexpected: %s\n",
i, large_dump(&data[i].t, t_dump), testUtilUCharArrayDump(uchar_array, data[i].size, uchar_dump, sizeof(uchar_dump)),
testUtilUCharArrayDump(uchar_expected_array, data[i].size, uchar_expected_dump, sizeof(uchar_expected_dump)));
assert_zero(memcmp(uchar_array, uchar_expected_array, data[i].size),
"i:%d %s uchar memcmp != 0\n actual: %s\nexpected: %s\n",
i, zint_large_dump(&data[i].t, t_dump),
testUtilUCharArrayDump(uchar_array, data[i].size, uchar_dump, sizeof(uchar_dump)),
testUtilUCharArrayDump(uchar_expected_array, data[i].size, uchar_expected_dump, sizeof(uchar_expected_dump)));
}
}
@@ -879,7 +913,7 @@ static void test_dump(const testCtx *const p_ctx) {
memset(dump, 0, sizeof(dump));
large_dump(&data[i].t, dump);
zint_large_dump(&data[i].t, dump);
assert_zero(strcmp(dump, data[i].expected), "i:%d { %" LX_FMT "X, %" LX_FMT "X } strcmp(%s, %s) != 0\n",
i, data[i].t.lo, data[i].t.hi, dump, data[i].expected);