diff options
author | MITSUNARI Shigeo <herumi@nifty.com> | 2016-09-20 16:27:18 +0800 |
---|---|---|
committer | MITSUNARI Shigeo <herumi@nifty.com> | 2016-09-20 16:27:18 +0800 |
commit | af95cd7145139399b7aa22ecf9bc174ae3cace2e (patch) | |
tree | 2bd5d86cb96aa0aac6f83533ebfb9a90e45ac578 | |
parent | 8730a3c7319db10ef75d19109f69d0b29ba52a5c (diff) | |
download | dexon-mcl-af95cd7145139399b7aa22ecf9bc174ae3cace2e.tar.gz dexon-mcl-af95cd7145139399b7aa22ecf9bc174ae3cace2e.tar.zst dexon-mcl-af95cd7145139399b7aa22ecf9bc174ae3cace2e.zip |
benchmark of low_test
-rw-r--r-- | Makefile | 2 | ||||
-rw-r--r-- | test/low_test.cpp | 44 |
2 files changed, 28 insertions, 18 deletions
@@ -6,7 +6,7 @@ EXE_DIR=bin SRC_SRC=fp.cpp TEST_SRC=fp_test.cpp ec_test.cpp fp_util_test.cpp window_method_test.cpp elgamal_test.cpp fp_tower_test.cpp gmp_test.cpp bn_test.cpp ifeq ($(CPU),x86-64) - TEST_SRC+=fp_generator_test.cpp mont_fp_test.cpp sq_test.cpp + TEST_SRC+=fp_generator_test.cpp mont_fp_test.cpp sq_test.cpp low_test.cpp endif SAMPLE_SRC=bench.cpp ecdh.cpp random.cpp rawbench.cpp vote.cpp pairing.cpp large.cpp diff --git a/test/low_test.cpp b/test/low_test.cpp index f73f14c..c3e413d 100644 --- a/test/low_test.cpp +++ b/test/low_test.cpp @@ -1,4 +1,6 @@ -#define MCL_USE_LLVM +#ifndef MCL_USE_LLVM + #define MCL_USE_LLVM +#endif #include <cybozu/test.hpp> #include <cybozu/xorshift.hpp> #include <cybozu/itoa.hpp> @@ -8,27 +10,31 @@ cybozu::XorShift rg; -extern "C" void mcl_fp_addNC64(uint32_t *z, const uint32_t *x, const uint32_t *y); -extern "C" void mcl_fp_addNC96(uint32_t *z, const uint32_t *x, const uint32_t *y); -extern "C" void mcl_fp_addNC128(uint32_t *z, const uint32_t *x, const uint32_t *y); -extern "C" void mcl_fp_addNC160(uint32_t *z, const uint32_t *x, const uint32_t *y); -extern "C" void mcl_fp_addNC192(uint32_t *z, const uint32_t *x, const uint32_t *y); -extern "C" void mcl_fp_addNC224(uint32_t *z, const uint32_t *x, const uint32_t *y); -extern "C" void mcl_fp_addNC256(uint32_t *z, const uint32_t *x, const uint32_t *y); -extern "C" void add_test(uint32_t *z, const uint32_t *x, const uint32_t *y); +extern "C" void mcl_fp_addNC64(mcl::fp::Unit *z, const mcl::fp::Unit *x, const mcl::fp::Unit *y); +extern "C" void mcl_fp_addNC96(mcl::fp::Unit *z, const mcl::fp::Unit *x, const mcl::fp::Unit *y); +extern "C" void mcl_fp_addNC128(mcl::fp::Unit *z, const mcl::fp::Unit *x, const mcl::fp::Unit *y); +extern "C" void mcl_fp_addNC160(mcl::fp::Unit *z, const mcl::fp::Unit *x, const mcl::fp::Unit *y); +extern "C" void mcl_fp_addNC192(mcl::fp::Unit *z, const mcl::fp::Unit *x, const mcl::fp::Unit *y); +extern "C" void mcl_fp_addNC224(mcl::fp::Unit *z, const mcl::fp::Unit *x, const mcl::fp::Unit *y); +extern "C" void mcl_fp_addNC256(mcl::fp::Unit *z, const mcl::fp::Unit *x, const mcl::fp::Unit *y); +extern "C" void add_test(mcl::fp::Unit *z, const mcl::fp::Unit *x, const mcl::fp::Unit *y); template<size_t N> -void addNC(uint32_t *z, const uint32_t *x, const uint32_t *y); +void addNC(mcl::fp::Unit *z, const mcl::fp::Unit *x, const mcl::fp::Unit *y); -#define DEF_ADD(BIT) template<> void addNC<BIT>(uint32_t *z, const uint32_t *x, const uint32_t *y) { mcl_fp_addNC ## BIT(z, x, y); } +#define DEF_ADD(BIT) template<> void addNC<BIT>(mcl::fp::Unit *z, const mcl::fp::Unit *x, const mcl::fp::Unit *y) { mcl_fp_addNC ## BIT(z, x, y); } DEF_ADD(64) -DEF_ADD(96) DEF_ADD(128) -DEF_ADD(160) DEF_ADD(192) -DEF_ADD(224) DEF_ADD(256) +DEF_ADD(320) +DEF_ADD(384) +DEF_ADD(448) +DEF_ADD(512) +//DEF_ADD(96) +//DEF_ADD(160) +//DEF_ADD(224) #define CAT(S, BIT) "S##BIT" @@ -52,12 +58,16 @@ void benchAdd() } CYBOZU_TEST_AUTO(addNC64) { benchAdd<64>(); } -CYBOZU_TEST_AUTO(addNC96) { benchAdd<96>(); } CYBOZU_TEST_AUTO(addNC128) { benchAdd<128>(); } -CYBOZU_TEST_AUTO(addNC160) { benchAdd<160>(); } CYBOZU_TEST_AUTO(addNC192) { benchAdd<192>(); } -CYBOZU_TEST_AUTO(addNC224) { benchAdd<224>(); } CYBOZU_TEST_AUTO(addNC256) { benchAdd<256>(); } +CYBOZU_TEST_AUTO(addNC320) { benchAdd<320>(); } +CYBOZU_TEST_AUTO(addNC384) { benchAdd<384>(); } +CYBOZU_TEST_AUTO(addNC448) { benchAdd<448>(); } +CYBOZU_TEST_AUTO(addNC512) { benchAdd<512>(); } +//CYBOZU_TEST_AUTO(addNC96) { benchAdd<96>(); } +//CYBOZU_TEST_AUTO(addNC160) { benchAdd<160>(); } +//CYBOZU_TEST_AUTO(addNC224) { benchAdd<224>(); } #if 0 CYBOZU_TEST_AUTO(addNC) { |