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

#include <bacs_ppzksnark.hpp>

Collaboration diagram for libsnark::bacs_ppzksnark_proving_key< ppT >:
Collaboration graph
[legend]

Public Member Functions

 bacs_ppzksnark_proving_key ()
 
 bacs_ppzksnark_proving_key (const bacs_ppzksnark_proving_key< ppT > &other)=default
 
 bacs_ppzksnark_proving_key (bacs_ppzksnark_proving_key< ppT > &&other)=default
 
 bacs_ppzksnark_proving_key (const bacs_ppzksnark_circuit< ppT > &circuit, const r1cs_ppzksnark_proving_key< ppT > &r1cs_pk)
 
 bacs_ppzksnark_proving_key (bacs_ppzksnark_circuit< ppT > &&circuit, r1cs_ppzksnark_proving_key< ppT > &&r1cs_pk)
 
bacs_ppzksnark_proving_key< ppT > & operator= (const bacs_ppzksnark_proving_key< ppT > &other)=default
 
size_t G1_size () const
 
size_t G2_size () const
 
size_t G1_sparse_size () const
 
size_t G2_sparse_size () const
 
size_t size_in_bits () const
 
void print_size () const
 
bool operator== (const bacs_ppzksnark_proving_key< ppT > &other) const
 

Public Attributes

bacs_ppzksnark_circuit< ppT > circuit
 
r1cs_ppzksnark_proving_key< ppT > r1cs_pk
 

Friends

std::ostream & operator (std::ostream &out, const bacs_ppzksnark_proving_key< ppT > &pk)
 
std::istream & operator>> (std::istream &in, bacs_ppzksnark_proving_key< ppT > &pk)
 

Detailed Description

template<typename ppT>
class libsnark::bacs_ppzksnark_proving_key< ppT >

A proving key for the BACS ppzkSNARK.

Definition at line 47 of file bacs_ppzksnark.hpp.

Constructor & Destructor Documentation

◆ bacs_ppzksnark_proving_key() [1/5]

template<typename ppT >
libsnark::bacs_ppzksnark_proving_key< ppT >::bacs_ppzksnark_proving_key ( )
inline

Definition at line 65 of file bacs_ppzksnark.hpp.

65 {};

◆ bacs_ppzksnark_proving_key() [2/5]

template<typename ppT >
libsnark::bacs_ppzksnark_proving_key< ppT >::bacs_ppzksnark_proving_key ( const bacs_ppzksnark_proving_key< ppT > &  other)
default

◆ bacs_ppzksnark_proving_key() [3/5]

template<typename ppT >
libsnark::bacs_ppzksnark_proving_key< ppT >::bacs_ppzksnark_proving_key ( bacs_ppzksnark_proving_key< ppT > &&  other)
default

◆ bacs_ppzksnark_proving_key() [4/5]

template<typename ppT >
libsnark::bacs_ppzksnark_proving_key< ppT >::bacs_ppzksnark_proving_key ( const bacs_ppzksnark_circuit< ppT > &  circuit,
const r1cs_ppzksnark_proving_key< ppT > &  r1cs_pk 
)
inline

Definition at line 70 of file bacs_ppzksnark.hpp.

74  {
75  }

◆ bacs_ppzksnark_proving_key() [5/5]

template<typename ppT >
libsnark::bacs_ppzksnark_proving_key< ppT >::bacs_ppzksnark_proving_key ( bacs_ppzksnark_circuit< ppT > &&  circuit,
r1cs_ppzksnark_proving_key< ppT > &&  r1cs_pk 
)
inline

Definition at line 76 of file bacs_ppzksnark.hpp.

79  : circuit(std::move(circuit)), r1cs_pk(std::move(r1cs_pk))
80  {
81  }

Member Function Documentation

◆ G1_size()

template<typename ppT >
size_t libsnark::bacs_ppzksnark_proving_key< ppT >::G1_size ( ) const
inline

Definition at line 86 of file bacs_ppzksnark.hpp.

86 { return r1cs_pk.G1_size(); }

◆ G1_sparse_size()

template<typename ppT >
size_t libsnark::bacs_ppzksnark_proving_key< ppT >::G1_sparse_size ( ) const
inline

Definition at line 90 of file bacs_ppzksnark.hpp.

90 { return r1cs_pk.G1_sparse_size(); }

◆ G2_size()

template<typename ppT >
size_t libsnark::bacs_ppzksnark_proving_key< ppT >::G2_size ( ) const
inline

Definition at line 88 of file bacs_ppzksnark.hpp.

88 { return r1cs_pk.G2_size(); }

◆ G2_sparse_size()

template<typename ppT >
size_t libsnark::bacs_ppzksnark_proving_key< ppT >::G2_sparse_size ( ) const
inline

Definition at line 92 of file bacs_ppzksnark.hpp.

92 { return r1cs_pk.G2_sparse_size(); }

◆ operator=()

template<typename ppT >
bacs_ppzksnark_proving_key<ppT>& libsnark::bacs_ppzksnark_proving_key< ppT >::operator= ( const bacs_ppzksnark_proving_key< ppT > &  other)
default

◆ operator==()

template<typename ppT >
bool libsnark::bacs_ppzksnark_proving_key< ppT >::operator== ( const bacs_ppzksnark_proving_key< ppT > &  other) const

◆ print_size()

template<typename ppT >
void libsnark::bacs_ppzksnark_proving_key< ppT >::print_size ( ) const
inline

Definition at line 96 of file bacs_ppzksnark.hpp.

96 { r1cs_pk.print_size(); }

◆ size_in_bits()

template<typename ppT >
size_t libsnark::bacs_ppzksnark_proving_key< ppT >::size_in_bits ( ) const
inline

Definition at line 94 of file bacs_ppzksnark.hpp.

94 { return r1cs_pk.size_in_bits(); }

Friends And Related Function Documentation

◆ operator

template<typename ppT >
std::ostream& operator ( std::ostream &  out,
const bacs_ppzksnark_proving_key< ppT > &  pk 
)
friend

◆ operator>>

template<typename ppT >
std::istream& operator>> ( std::istream &  in,
bacs_ppzksnark_proving_key< ppT > &  pk 
)
friend

Member Data Documentation

◆ circuit

template<typename ppT >
bacs_ppzksnark_circuit<ppT> libsnark::bacs_ppzksnark_proving_key< ppT >::circuit

Definition at line 62 of file bacs_ppzksnark.hpp.

◆ r1cs_pk

template<typename ppT >
r1cs_ppzksnark_proving_key<ppT> libsnark::bacs_ppzksnark_proving_key< ppT >::r1cs_pk

Definition at line 63 of file bacs_ppzksnark.hpp.


The documentation for this class was generated from the following file:
libsnark::bacs_ppzksnark_proving_key::circuit
bacs_ppzksnark_circuit< ppT > circuit
Definition: bacs_ppzksnark.hpp:62
libsnark::bacs_ppzksnark_proving_key::r1cs_pk
r1cs_ppzksnark_proving_key< ppT > r1cs_pk
Definition: bacs_ppzksnark.hpp:63