Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
element_impl.hpp File Reference

Go to the source code of this file.

Namespaces

namespace  bb
 Entry point for Barretenberg command-line interface.
 
namespace  bb::group_elements
 
namespace  bb::group_elements::detail
 

Typedefs

using bb::group_elements::detail::EndoScalars = std::pair< std::array< uint64_t, 2 >, std::array< uint64_t, 2 > >
 

Functions

template<typename AffineElement , typename Fq >
 bb::group_elements::__attribute__ ((always_inline)) inline void batch_affine_add_impl(const AffineElement *lhs
 Batch affine addition for parallel arrays: (lhs[i], rhs[i]) → rhs[i].
 
 bb::group_elements::for (size_t i=0;i< num_pairs;++i)
 
 bb::group_elements::if (batch_inversion_accumulator==Fq::zero())
 
template<typename AffineElement , typename Fq , typename T >
 bb::group_elements::__attribute__ ((always_inline)) inline void batch_affine_double_impl(AffineElement *points
 Batch affine point doubling using Montgomery's trick.
 
 bb::group_elements::for (size_t i_plus_1=num_points;i_plus_1 > 0;--i_plus_1)
 
 bb::group_elements::if (batch_inv_acc==Fq::zero())
 
 bb::group_elements::for (size_t k=num_pairs;k-- > 0;)
 

Variables

constexpr size_t bb::group_elements::detail::BOOTH_ENDO_WINDOW_BITS = 4
 
constexpr size_t bb::group_elements::detail::BOOTH_ENDO_NUM_WINDOWS = 32
 
constexpr size_t bb::group_elements::detail::BOOTH_ENDO_LOOKUP_SIZE = 1U << (BOOTH_ENDO_WINDOW_BITS - 1)
 
constexpr size_t bb::group_elements::detail::BOOTH_ENDO_NUM_LIMBS_U64 = 2
 
constexpr size_t bb::group_elements::detail::BOOTH_ENDO_K2_LOW_WINDOW_BITS = 2
 
constexpr size_t bb::group_elements::detail::BOOTH_ENDO_K2_NUM_WINDOWS = BOOTH_ENDO_NUM_WINDOWS + 1
 
AffineElement * bb::group_elements::rhs
 
AffineElement const size_t bb::group_elements::num_pairs
 
AffineElement const size_t Fq *scratch_space bb::group_elements::noexcept
 
 bb::group_elements::batch_inversion_accumulator = batch_inversion_accumulator.invert()
 
const size_t bb::group_elements::num_points
 
Fq bb::group_elements::temp_x
 
AffineElement * bb::group_elements::accumulator
 
AffineElement const size_t Fqbb::group_elements::scratch_a
 
AffineElement const size_t Fq Fqbb::group_elements::scratch_b
 
 bb::group_elements::batch_inv_acc = batch_inv_acc.invert()
 
const std::pair< uint32_t, uint32_t > * bb::group_elements::pairs
 
const uint32_t * bb::group_elements::indices