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

#include <basic_gadgets.hpp>

Inheritance diagram for libsnark::inner_product_gadget< FieldT >:
Inheritance graph
[legend]
Collaboration diagram for libsnark::inner_product_gadget< FieldT >:
Collaboration graph
[legend]

Public Member Functions

 inner_product_gadget (protoboard< FieldT > &pb, const pb_linear_combination_array< FieldT > &A, const pb_linear_combination_array< FieldT > &B, const pb_variable< FieldT > &result, const std::string &annotation_prefix="")
 
void generate_r1cs_constraints ()
 
void generate_r1cs_witness ()
 
- Public Member Functions inherited from libsnark::gadget< FieldT >
 gadget (protoboard< FieldT > &pb, const std::string &annotation_prefix)
 

Public Attributes

const pb_linear_combination_array< FieldT > A
 
const pb_linear_combination_array< FieldT > B
 
const pb_variable< FieldT > result
 

Additional Inherited Members

- Protected Attributes inherited from libsnark::gadget< FieldT >
protoboard< FieldT > & pb
 
const std::string annotation_prefix
 

Detailed Description

template<typename FieldT>
class libsnark::inner_product_gadget< FieldT >

Definition at line 303 of file basic_gadgets.hpp.

Constructor & Destructor Documentation

◆ inner_product_gadget()

template<typename FieldT >
libsnark::inner_product_gadget< FieldT >::inner_product_gadget ( protoboard< FieldT > &  pb,
const pb_linear_combination_array< FieldT > &  A,
const pb_linear_combination_array< FieldT > &  B,
const pb_variable< FieldT > &  result,
const std::string &  annotation_prefix = "" 
)
inline

Definition at line 314 of file basic_gadgets.hpp.

320  : gadget<FieldT>(pb, annotation_prefix), A(A), B(B), result(result)
321  {
322  assert(A.size() >= 1);
323  assert(A.size() == B.size());
324 
325  S.allocate(pb, A.size() - 1, FMT(this->annotation_prefix, " S"));
326  }
Here is the call graph for this function:

Member Function Documentation

◆ generate_r1cs_constraints()

template<typename FieldT >
void libsnark::inner_product_gadget< FieldT >::generate_r1cs_constraints ( )

◆ generate_r1cs_witness()

template<typename FieldT >
void libsnark::inner_product_gadget< FieldT >::generate_r1cs_witness ( )

Member Data Documentation

◆ A

template<typename FieldT >
const pb_linear_combination_array<FieldT> libsnark::inner_product_gadget< FieldT >::A

Definition at line 310 of file basic_gadgets.hpp.

◆ B

template<typename FieldT >
const pb_linear_combination_array<FieldT> libsnark::inner_product_gadget< FieldT >::B

Definition at line 311 of file basic_gadgets.hpp.

◆ result

template<typename FieldT >
const pb_variable<FieldT> libsnark::inner_product_gadget< FieldT >::result

Definition at line 312 of file basic_gadgets.hpp.


The documentation for this class was generated from the following file:
libsnark::gadget::annotation_prefix
const std::string annotation_prefix
Definition: gadget.hpp:20
libsnark::gadget::pb
protoboard< FieldT > & pb
Definition: gadget.hpp:19
libsnark::inner_product_gadget::result
const pb_variable< FieldT > result
Definition: basic_gadgets.hpp:312
libsnark::inner_product_gadget::B
const pb_linear_combination_array< FieldT > B
Definition: basic_gadgets.hpp:311
libsnark::inner_product_gadget::A
const pb_linear_combination_array< FieldT > A
Definition: basic_gadgets.hpp:310