Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
bb::stdlib::element_default::element< Builder_, Fq, Fr, NativeGroup >::four_bit_table_plookup Struct Reference

Four-bit variable-base table for scalar multiplication. More...

Public Member Functions

 four_bit_table_plookup ()=default
 
 four_bit_table_plookup (const element &input)
 
 four_bit_table_plookup (const four_bit_table_plookup &other)=default
 
four_bit_table_plookupoperator= (const four_bit_table_plookup &other)=default
 
 four_bit_table_plookup (four_bit_table_plookup &&other) noexcept=default
 
four_bit_table_plookupoperator= (four_bit_table_plookup &&other) noexcept=default
 
 ~four_bit_table_plookup ()=default
 
element operator[] (const field_t< Builder > &index) const
 
element operator[] (const size_t idx) const
 

Public Attributes

std::array< element, 16 > element_table
 
std::array< twin_rom_table< Builder >, Fq::NUM_LIMBS+1 > coordinates
 
std::array< uint256_t, Fq::NUM_LIMBS *2 > limb_max
 

Detailed Description

template<class Builder_, class Fq, class Fr, class NativeGroup>
struct bb::stdlib::element_default::element< Builder_, Fq, Fr, NativeGroup >::four_bit_table_plookup

Four-bit variable-base table for scalar multiplication.

We store precomputed multiples of a group element in ROM tables. These precomputed multiples of the group element are used for scalar multiplication using 4-bit wNAF window.

Definition at line 600 of file biggroup.hpp.

Constructor & Destructor Documentation

◆ four_bit_table_plookup() [1/4]

template<class Builder_ , class Fq , class Fr , class NativeGroup >
bb::stdlib::element_default::element< Builder_, Fq, Fr, NativeGroup >::four_bit_table_plookup::four_bit_table_plookup ( )
default

◆ four_bit_table_plookup() [2/4]

template<typename C , class Fq , class Fr , class G >
bb::stdlib::element_default::element< C, Fq, Fr, G >::four_bit_table_plookup::four_bit_table_plookup ( const element input)

Definition at line 102 of file biggroup_tables.hpp.

◆ four_bit_table_plookup() [3/4]

template<class Builder_ , class Fq , class Fr , class NativeGroup >
bb::stdlib::element_default::element< Builder_, Fq, Fr, NativeGroup >::four_bit_table_plookup::four_bit_table_plookup ( const four_bit_table_plookup other)
default

◆ four_bit_table_plookup() [4/4]

template<class Builder_ , class Fq , class Fr , class NativeGroup >
bb::stdlib::element_default::element< Builder_, Fq, Fr, NativeGroup >::four_bit_table_plookup::four_bit_table_plookup ( four_bit_table_plookup &&  other)
defaultnoexcept

◆ ~four_bit_table_plookup()

template<class Builder_ , class Fq , class Fr , class NativeGroup >
bb::stdlib::element_default::element< Builder_, Fq, Fr, NativeGroup >::four_bit_table_plookup::~four_bit_table_plookup ( )
default

Member Function Documentation

◆ operator=() [1/2]

template<class Builder_ , class Fq , class Fr , class NativeGroup >
four_bit_table_plookup & bb::stdlib::element_default::element< Builder_, Fq, Fr, NativeGroup >::four_bit_table_plookup::operator= ( const four_bit_table_plookup other)
default

◆ operator=() [2/2]

template<class Builder_ , class Fq , class Fr , class NativeGroup >
four_bit_table_plookup & bb::stdlib::element_default::element< Builder_, Fq, Fr, NativeGroup >::four_bit_table_plookup::operator= ( four_bit_table_plookup &&  other)
defaultnoexcept

◆ operator[]() [1/2]

template<class Builder_ , class Fq , class Fr , class NativeGroup >
element bb::stdlib::element_default::element< Builder_, Fq, Fr, NativeGroup >::four_bit_table_plookup::operator[] ( const field_t< Builder > &  index) const

◆ operator[]() [2/2]

template<class Builder_ , class Fq , class Fr , class NativeGroup >
element bb::stdlib::element_default::element< Builder_, Fq, Fr, NativeGroup >::four_bit_table_plookup::operator[] ( const size_t  idx) const
inline

Definition at line 611 of file biggroup.hpp.

Member Data Documentation

◆ coordinates

template<class Builder_ , class Fq , class Fr , class NativeGroup >
std::array<twin_rom_table<Builder>, Fq::NUM_LIMBS + 1> bb::stdlib::element_default::element< Builder_, Fq, Fr, NativeGroup >::four_bit_table_plookup::coordinates

Definition at line 615 of file biggroup.hpp.

◆ element_table

template<class Builder_ , class Fq , class Fr , class NativeGroup >
std::array<element, 16> bb::stdlib::element_default::element< Builder_, Fq, Fr, NativeGroup >::four_bit_table_plookup::element_table

Definition at line 612 of file biggroup.hpp.

◆ limb_max

template<class Builder_ , class Fq , class Fr , class NativeGroup >
std::array<uint256_t, Fq::NUM_LIMBS * 2> bb::stdlib::element_default::element< Builder_, Fq, Fr, NativeGroup >::four_bit_table_plookup::limb_max

Definition at line 616 of file biggroup.hpp.


The documentation for this struct was generated from the following files: