|
Barretenberg
The ZK-SNARK library at the core of Aztec
|
#include "barretenberg/ecc/groups/precomputed_generators_bn254_impl.hpp"#include "barretenberg/ecc/groups/precomputed_generators_grumpkin_impl.hpp"#include "barretenberg/ecc/curves/bn254/bn254.hpp"#include "barretenberg/ecc/curves/grumpkin/grumpkin.hpp"#include "barretenberg/polynomials/polynomial.hpp"#include "./bitvector.hpp"#include "./process_buckets.hpp"Go to the source code of this file.
Classes | |
| class | bb::scalar_multiplication::MSM< Curve > |
| struct | bb::scalar_multiplication::MSM< Curve >::MSMWorkUnit |
| MSMWorkUnit describes an MSM that may be part of a larger MSM. More... | |
| struct | bb::scalar_multiplication::MSM< Curve >::MSMData |
| Container for MSM input data passed between algorithm stages. More... | |
| struct | bb::scalar_multiplication::MSM< Curve >::BucketAccumulators |
| Affine bucket accumulators for the fast affine-trick Pippenger variant. More... | |
| struct | bb::scalar_multiplication::MSM< Curve >::JacobianBucketAccumulators |
| Jacobian bucket accumulators for the safe Pippenger variant. More... | |
| struct | bb::scalar_multiplication::MSM< Curve >::AffineAdditionData |
| Scratch space for batched affine point additions (one per thread) More... | |
| struct | bb::scalar_multiplication::MSM< Curve >::PointScheduleEntry |
| Packed point schedule entry: (point_index << 32) | bucket_index. More... | |
Namespaces | |
| namespace | bb |
| Entry point for Barretenberg command-line interface. | |
| namespace | bb::scalar_multiplication |
Functions | |
| template<typename Curve > | |
| Curve::Element | bb::scalar_multiplication::pippenger (PolynomialSpan< const typename Curve::ScalarField > scalars, std::span< const typename Curve::AffineElement > points, bool handle_edge_cases=true) noexcept |
| Safe MSM wrapper (defaults to handle_edge_cases=true) | |
| template<typename Curve > | |
| Curve::Element | bb::scalar_multiplication::pippenger_unsafe (PolynomialSpan< const typename Curve::ScalarField > scalars, std::span< const typename Curve::AffineElement > points) noexcept |
| Fast MSM wrapper for linearly independent points (no edge case handling) | |