Clearmatics Libsnark  0.1
C++ library for zkSNARK proofs
Public Member Functions | Public Attributes | List of all members
libsnark::accumulation_vector< T > Class Template Reference

#include <accumulation_vector.hpp>

Public Member Functions

 accumulation_vector ()=default
 
 accumulation_vector (const accumulation_vector< T > &other)=default
 
 accumulation_vector (accumulation_vector< T > &&other)=default
 
 accumulation_vector (T &&first, sparse_vector< T > &&rest)
 
 accumulation_vector (T &&first, std::vector< T > &&v)
 
 accumulation_vector (std::vector< T > &&v)
 
accumulation_vector< T > & operator= (const accumulation_vector< T > &other)=default
 
accumulation_vector< T > & operator= (accumulation_vector< T > &&other)=default
 
bool operator== (const accumulation_vector< T > &other) const
 
bool is_fully_accumulated () const
 
size_t domain_size () const
 
size_t size () const
 
size_t size_in_bits () const
 
template<typename FieldT >
accumulation_vector< T > accumulate_chunk (const typename std::vector< FieldT >::const_iterator &it_begin, const typename std::vector< FieldT >::const_iterator &it_end, const size_t offset) const
 

Public Attributes

first
 
sparse_vector< T > rest
 

Detailed Description

template<typename T>
class libsnark::accumulation_vector< T >

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

Definition at line 21 of file accumulation_vector.hpp.

Constructor & Destructor Documentation

◆ accumulation_vector() [1/6]

template<typename T >
libsnark::accumulation_vector< T >::accumulation_vector ( )
default

◆ accumulation_vector() [2/6]

template<typename T >
libsnark::accumulation_vector< T >::accumulation_vector ( const accumulation_vector< T > &  other)
default

◆ accumulation_vector() [3/6]

template<typename T >
libsnark::accumulation_vector< T >::accumulation_vector ( accumulation_vector< T > &&  other)
default

◆ accumulation_vector() [4/6]

template<typename T >
libsnark::accumulation_vector< T >::accumulation_vector ( T &&  first,
sparse_vector< T > &&  rest 
)
inline

Definition at line 43 of file accumulation_vector.hpp.

44  : first(std::move(first)), rest(std::move(rest))
45  {
46  }

◆ accumulation_vector() [5/6]

template<typename T >
libsnark::accumulation_vector< T >::accumulation_vector ( T &&  first,
std::vector< T > &&  v 
)
inline

Definition at line 47 of file accumulation_vector.hpp.

48  : first(std::move(first)), rest(std::move(v))
49  {
50  }

◆ accumulation_vector() [6/6]

template<typename T >
libsnark::accumulation_vector< T >::accumulation_vector ( std::vector< T > &&  v)
inline

Definition at line 51 of file accumulation_vector.hpp.

52  : first(T::zero()), rest(std::move(v))
53  {
54  }

Member Function Documentation

◆ accumulate_chunk()

template<typename T >
template<typename FieldT >
accumulation_vector<T> libsnark::accumulation_vector< T >::accumulate_chunk ( const typename std::vector< FieldT >::const_iterator &  it_begin,
const typename std::vector< FieldT >::const_iterator &  it_end,
const size_t  offset 
) const

◆ domain_size()

template<typename T >
size_t libsnark::accumulation_vector< T >::domain_size ( ) const

◆ is_fully_accumulated()

template<typename T >
bool libsnark::accumulation_vector< T >::is_fully_accumulated ( ) const

◆ operator=() [1/2]

template<typename T >
accumulation_vector<T>& libsnark::accumulation_vector< T >::operator= ( accumulation_vector< T > &&  other)
default

◆ operator=() [2/2]

template<typename T >
accumulation_vector<T>& libsnark::accumulation_vector< T >::operator= ( const accumulation_vector< T > &  other)
default

◆ operator==()

template<typename T >
bool libsnark::accumulation_vector< T >::operator== ( const accumulation_vector< T > &  other) const

◆ size()

template<typename T >
size_t libsnark::accumulation_vector< T >::size ( ) const
Here is the caller graph for this function:

◆ size_in_bits()

template<typename T >
size_t libsnark::accumulation_vector< T >::size_in_bits ( ) const
Here is the caller graph for this function:

Member Data Documentation

◆ first

template<typename T >
T libsnark::accumulation_vector< T >::first

Definition at line 37 of file accumulation_vector.hpp.

◆ rest

template<typename T >
sparse_vector<T> libsnark::accumulation_vector< T >::rest

Definition at line 38 of file accumulation_vector.hpp.


The documentation for this class was generated from the following file:
libsnark::accumulation_vector::rest
sparse_vector< T > rest
Definition: accumulation_vector.hpp:38
libsnark::accumulation_vector::first
T first
Definition: accumulation_vector.hpp:37