diff options
author | MITSUNARI Shigeo <herumi@nifty.com> | 2018-02-20 09:30:30 +0800 |
---|---|---|
committer | MITSUNARI Shigeo <herumi@nifty.com> | 2018-02-20 09:30:30 +0800 |
commit | 2fde7eee3da11cb9e1b1296d2566a2ad88eaf358 (patch) | |
tree | 522b7bb4175c725c3203e9e5bf3a3c986d3d12d1 | |
parent | bd6c09fd3bcb89214effdbc82cd5c7d5fa3d1e60 (diff) | |
download | tangerine-mcl-2fde7eee3da11cb9e1b1296d2566a2ad88eaf358.tar.gz tangerine-mcl-2fde7eee3da11cb9e1b1296d2566a2ad88eaf358.tar.zst tangerine-mcl-2fde7eee3da11cb9e1b1296d2566a2ad88eaf358.zip |
remove breaking strict aliasing rule of test
-rw-r--r-- | test/fp_util_test.cpp | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/test/fp_util_test.cpp b/test/fp_util_test.cpp index 24d7fa1..fbbe166 100644 --- a/test/fp_util_test.cpp +++ b/test/fp_util_test.cpp @@ -179,18 +179,19 @@ CYBOZU_TEST_AUTO(getRandVal) Rand rg(tbl[i].r, rn); #if CYBOZU_OS_BIT == 64 uint64_t out[1]; - const uint64_t *mod = (const uint64_t*)tbl[i].mod; - const uint64_t *expect = (const uint64_t*)tbl[i].expect; #else uint32_t out[2]; - const uint32_t *mod = tbl[i].mod; - const uint32_t *expect = tbl[i].expect; #endif mcl::fp::RandGen wrg(rg); - mcl::fp::getRandVal(out, wrg, mod, tbl[i].bitSize); - CYBOZU_TEST_EQUAL(out[0], expect[0]); -#if CYBOZU_OS_BIT == 32 - CYBOZU_TEST_EQUAL(out[1], expect[1]); +#if CYBOZU_OS_BIT == 64 + uint64_t mod = tbl[i].mod[0] | (uint64_t(tbl[i].mod[1]) << 32); + mcl::fp::getRandVal(out, wrg, &mod, tbl[i].bitSize); + uint64_t expect = tbl[i].expect[0] | (uint64_t(tbl[i].expect[1]) << 32); + CYBOZU_TEST_EQUAL(out[0], expect); +#else + mcl::fp::getRandVal(out, wrg, tbl[i].mod, tbl[i].bitSize); + CYBOZU_TEST_EQUAL(out[0], tbl[i].expect[0]); + CYBOZU_TEST_EQUAL(out[1], tbl[i].expect[1]); #endif } } |