|
barretenberg
|
Tests of our implementation of Pippenger's multi-scalar multiplication algorithm. More...
#include "barretenberg/ecc/scalar_multiplication/scalar_multiplication.hpp"#include "barretenberg/common/mem.hpp"#include "barretenberg/common/test.hpp"#include "barretenberg/ecc/scalar_multiplication/point_table.hpp"#include "barretenberg/numeric/random/engine.hpp"#include "barretenberg/srs/factories/file_crs_factory.hpp"#include "barretenberg/srs/io.hpp"#include <cstddef>#include <vector>Classes | |
| class | ScalarMultiplicationTests< Curve > |
Typedefs | |
| using | Curves = ::testing::Types< curve::BN254, curve::Grumpkin > |
Functions | |
| TYPED_TEST_SUITE (ScalarMultiplicationTests, Curves) | |
| TYPED_TEST (ScalarMultiplicationTests, ReduceBucketsSimple) | |
| TYPED_TEST (ScalarMultiplicationTests, ReduceBuckets) | |
| TYPED_TEST (ScalarMultiplicationTests, DISABLED_ReduceBucketsBasic) | |
| TYPED_TEST (ScalarMultiplicationTests, AddAffinePoints) | |
| TYPED_TEST (ScalarMultiplicationTests, ConstructAdditionChains) | |
| TYPED_TEST (ScalarMultiplicationTests, EndomorphismSplit) | |
| TYPED_TEST (ScalarMultiplicationTests, RadixSort) | |
| TYPED_TEST (ScalarMultiplicationTests, OversizedInputs) | |
| TYPED_TEST (ScalarMultiplicationTests, UndersizedInputs) | |
| TYPED_TEST (ScalarMultiplicationTests, PippengerSmall) | |
| TYPED_TEST (ScalarMultiplicationTests, PippengerEdgeCaseDbl) | |
| TYPED_TEST (ScalarMultiplicationTests, PippengerShortInputs) | |
| TYPED_TEST (ScalarMultiplicationTests, PippengerUnsafe) | |
| TYPED_TEST (ScalarMultiplicationTests, PippengerUnsafeShortInputs) | |
| TYPED_TEST (ScalarMultiplicationTests, PippengerOne) | |
| TYPED_TEST (ScalarMultiplicationTests, PippengerZeroPoints) | |
| TYPED_TEST (ScalarMultiplicationTests, PippengerMulByZero) | |
Tests of our implementation of Pippenger's multi-scalar multiplication algorithm.
This file is here with the SRS code, rather than being next to the Pippenger implementation, to avoid a cyclic dependency between our srs and ecc modules. Namely, srs depends on ecc via the FileProverCrs constructor that constructs a Pippenger point table. It may make sense to create a function in the ecc module that initializes a CRS, but for now a low-impact solution (to a newly-encountered linker error) is to move this test file, as it was the sole reason for for ecc to depend on srs.