Clearmatics Libsnark
0.1
C++ library for zkSNARK proofs
|
#include <sparse_vector.hpp>
Public Member Functions | |
sparse_vector ()=default | |
sparse_vector (const sparse_vector< T > &other)=default | |
sparse_vector (sparse_vector< T > &&other)=default | |
sparse_vector (std::vector< T > &&v) | |
sparse_vector< T > & | operator= (const sparse_vector< T > &other)=default |
sparse_vector< T > & | operator= (sparse_vector< T > &&other)=default |
T | operator[] (const size_t idx) const |
bool | operator== (const sparse_vector< T > &other) const |
bool | operator== (const std::vector< T > &other) const |
bool | is_valid () const |
bool | empty () const |
size_t | domain_size () const |
size_t | size () const |
size_t | size_in_bits () const |
template<typename FieldT > | |
std::pair< T, sparse_vector< T > > | accumulate (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 | |
std::vector< size_t > | indices |
std::vector< T > | values |
size_t | domain_size_ |
Friends | |
std::ostream & | operator (std::ostream &out, const sparse_vector< T > &v) |
std::istream & | operator>> (std::istream &in, sparse_vector< T > &v) |
A sparse vector is a list of indices along with corresponding values. The indices are selected from the set {0,1,...,domain_size-1}.
Definition at line 21 of file sparse_vector.hpp.
|
default |
|
default |
|
default |
libsnark::sparse_vector< T >::sparse_vector | ( | std::vector< T > && | v | ) |
std::pair<T, sparse_vector<T> > libsnark::sparse_vector< T >::accumulate | ( | const typename std::vector< FieldT >::const_iterator & | it_begin, |
const typename std::vector< FieldT >::const_iterator & | it_end, | ||
const size_t | offset | ||
) | const |
size_t libsnark::sparse_vector< T >::domain_size | ( | ) | const |
bool libsnark::sparse_vector< T >::empty | ( | ) | const |
bool libsnark::sparse_vector< T >::is_valid | ( | ) | const |
|
default |
|
default |
bool libsnark::sparse_vector< T >::operator== | ( | const sparse_vector< T > & | other | ) | const |
bool libsnark::sparse_vector< T >::operator== | ( | const std::vector< T > & | other | ) | const |
T libsnark::sparse_vector< T >::operator[] | ( | const size_t | idx | ) | const |
size_t libsnark::sparse_vector< T >::size | ( | ) | const |
size_t libsnark::sparse_vector< T >::size_in_bits | ( | ) | const |
|
friend |
|
friend |
size_t libsnark::sparse_vector< T >::domain_size_ |
Definition at line 37 of file sparse_vector.hpp.
std::vector<size_t> libsnark::sparse_vector< T >::indices |
Definition at line 35 of file sparse_vector.hpp.
std::vector<T> libsnark::sparse_vector< T >::values |
Definition at line 36 of file sparse_vector.hpp.