1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
void testMulVec()
{
using namespace mcl::bn;
const size_t n = 3;
G1 xVec[n];
Fr yVec[n];
G1 ok;
ok.clear();
char c = 'a';
for (size_t i = 0; i < n; i++) {
hashAndMapToG1(xVec[i], &c, 1);
yVec[i].setByCSPRNG();
G1 t;
G1::mul(t, xVec[i], yVec[i]);
ok += t;
}
G1 z;
G1::mulVec(z, xVec, yVec, n);
CYBOZU_TEST_EQUAL(z, ok);
CYBOZU_BENCH_C("mulVec(new)", 1000, G1::mulVec, z, xVec, yVec, n);
CYBOZU_BENCH_C("mulVec(old)", 1000, G1::mulVec, z, xVec, yVec, n, true);
}
void testCommon()
{
testMulVec();
}
|