nil::crypto3::zk::snark::accumulation_vector< Type > Class Template Reference

#include <accumulation_vector.hpp>

+ Collaboration diagram for nil::crypto3::zk::snark::accumulation_vector< Type >:

Public Types

using group_type = Type
 

Public Member Functions

template<typename InputIterator >
accumulation_vector< Type > accumulate_chunk (InputIterator begin, InputIterator end, std::size_t offset) const
 
 accumulation_vector ()=default
 
 accumulation_vector (accumulation_vector< Type > &&other)=default
 
 accumulation_vector (const accumulation_vector< Type > &other)=default
 
 accumulation_vector (const underlying_value_type &first, sparse_vector< Type > &&rest)
 
 accumulation_vector (std::vector< underlying_value_type > &&v)
 
 accumulation_vector (underlying_value_type &&first, sparse_vector< Type > &&rest)
 
 accumulation_vector (underlying_value_type &&first, std::vector< underlying_value_type > &&v)
 
std::size_t domain_size () const
 
bool is_fully_accumulated () const
 
accumulation_vector< Type > & operator= (accumulation_vector< Type > &&other)=default
 
accumulation_vector< Type > & operator= (const accumulation_vector< Type > &other)=default
 
bool operator== (const accumulation_vector< Type > &other) const
 
std::size_t size () const
 
std::size_t size_in_bits () const
 

Public Attributes

underlying_value_type first
 
sparse_vector< Type > rest
 

Detailed Description

template<typename Type>
class nil::crypto3::zk::snark::accumulation_vector< Type >

An accumulation vector comprises an accumulation value and a sparse vector. The method "accumulate_chunk" allows one to accumulate portions of the sparse vector into the accumulation value.

Member Typedef Documentation

◆ group_type

template<typename Type >
using nil::crypto3::zk::snark::accumulation_vector< Type >::group_type = Type

Constructor & Destructor Documentation

◆ accumulation_vector() [1/7]

template<typename Type >
nil::crypto3::zk::snark::accumulation_vector< Type >::accumulation_vector ( )
default

◆ accumulation_vector() [2/7]

template<typename Type >
nil::crypto3::zk::snark::accumulation_vector< Type >::accumulation_vector ( const accumulation_vector< Type > &  other)
default

◆ accumulation_vector() [3/7]

template<typename Type >
nil::crypto3::zk::snark::accumulation_vector< Type >::accumulation_vector ( accumulation_vector< Type > &&  other)
default

◆ accumulation_vector() [4/7]

template<typename Type >
nil::crypto3::zk::snark::accumulation_vector< Type >::accumulation_vector ( const underlying_value_type &  first,
sparse_vector< Type > &&  rest 
)
inline

◆ accumulation_vector() [5/7]

template<typename Type >
nil::crypto3::zk::snark::accumulation_vector< Type >::accumulation_vector ( underlying_value_type &&  first,
sparse_vector< Type > &&  rest 
)
inline

◆ accumulation_vector() [6/7]

template<typename Type >
nil::crypto3::zk::snark::accumulation_vector< Type >::accumulation_vector ( underlying_value_type &&  first,
std::vector< underlying_value_type > &&  v 
)
inline

◆ accumulation_vector() [7/7]

template<typename Type >
nil::crypto3::zk::snark::accumulation_vector< Type >::accumulation_vector ( std::vector< underlying_value_type > &&  v)
inline

Member Function Documentation

◆ accumulate_chunk()

template<typename Type >
template<typename InputIterator >
accumulation_vector<Type> nil::crypto3::zk::snark::accumulation_vector< Type >::accumulate_chunk ( InputIterator  begin,
InputIterator  end,
std::size_t  offset 
) const
inline

◆ domain_size()

template<typename Type >
std::size_t nil::crypto3::zk::snark::accumulation_vector< Type >::domain_size ( ) const
inline

◆ is_fully_accumulated()

template<typename Type >
bool nil::crypto3::zk::snark::accumulation_vector< Type >::is_fully_accumulated ( ) const
inline

◆ operator=() [1/2]

template<typename Type >
accumulation_vector<Type>& nil::crypto3::zk::snark::accumulation_vector< Type >::operator= ( accumulation_vector< Type > &&  other)
default

◆ operator=() [2/2]

template<typename Type >
accumulation_vector<Type>& nil::crypto3::zk::snark::accumulation_vector< Type >::operator= ( const accumulation_vector< Type > &  other)
default

◆ operator==()

template<typename Type >
bool nil::crypto3::zk::snark::accumulation_vector< Type >::operator== ( const accumulation_vector< Type > &  other) const
inline

◆ size()

template<typename Type >
std::size_t nil::crypto3::zk::snark::accumulation_vector< Type >::size ( ) const
inline

◆ size_in_bits()

template<typename Type >
std::size_t nil::crypto3::zk::snark::accumulation_vector< Type >::size_in_bits ( ) const
inline

Member Data Documentation

◆ first

template<typename Type >
underlying_value_type nil::crypto3::zk::snark::accumulation_vector< Type >::first

◆ rest

template<typename Type >
sparse_vector<Type> nil::crypto3::zk::snark::accumulation_vector< Type >::rest

The documentation for this class was generated from the following file: