aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMITSUNARI Shigeo <herumi@nifty.com>2016-09-20 16:27:18 +0800
committerMITSUNARI Shigeo <herumi@nifty.com>2016-09-20 16:27:18 +0800
commitaf95cd7145139399b7aa22ecf9bc174ae3cace2e (patch)
tree2bd5d86cb96aa0aac6f83533ebfb9a90e45ac578
parent8730a3c7319db10ef75d19109f69d0b29ba52a5c (diff)
downloaddexon-mcl-af95cd7145139399b7aa22ecf9bc174ae3cace2e.tar.gz
dexon-mcl-af95cd7145139399b7aa22ecf9bc174ae3cace2e.tar.zst
dexon-mcl-af95cd7145139399b7aa22ecf9bc174ae3cace2e.zip
benchmark of low_test
-rw-r--r--Makefile2
-rw-r--r--test/low_test.cpp44
2 files changed, 28 insertions, 18 deletions
diff --git a/Makefile b/Makefile
index 7e89e1d..e2e890a 100644
--- a/Makefile
+++ b/Makefile
@@ -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)
{