aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMITSUNARI Shigeo <herumi@nifty.com>2018-02-20 09:30:30 +0800
committerMITSUNARI Shigeo <herumi@nifty.com>2018-02-20 09:30:30 +0800
commit2fde7eee3da11cb9e1b1296d2566a2ad88eaf358 (patch)
tree522b7bb4175c725c3203e9e5bf3a3c986d3d12d1
parentbd6c09fd3bcb89214effdbc82cd5c7d5fa3d1e60 (diff)
downloadtangerine-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.cpp17
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
}
}