9 constexpr size_t num_points = 1024;
12 for (
size_t i = 0; i < num_points; ++i) {
13 points.emplace_back(grumpkin::g1::element::random_element());
15 grumpkin::g1::element::batch_normalize(&points[0], num_points);
18 for (
size_t i = 0; i < num_points; ++i) {
19 affine_points.emplace_back(points[i]);
23 std::chrono::steady_clock::time_point start = std::chrono::steady_clock::now();
26 for (
const auto& point : points) {
27 expected.emplace_back((point * exponent).normalize());
30 std::chrono::steady_clock::time_point end = std::chrono::steady_clock::now();
31 std::chrono::milliseconds diff = std::chrono::duration_cast<std::chrono::milliseconds>(end - start);
34 start = std::chrono::steady_clock::now();
36 const auto result = grumpkin::g1::element::batch_mul_with_endomorphism(affine_points, exponent);
37 end = std::chrono::steady_clock::now();
38 diff = std::chrono::duration_cast<std::chrono::milliseconds>(end - start);