Clearmatics Libsnark  0.1
C++ library for zkSNARK proofs
Public Types | Public Member Functions | Public Attributes | List of all members
libsnark::add_variable_and_variable_or_identity< ppT, groupT, variableT, variableSelectorT, addGadgetT > Class Template Reference

#include <scalar_multiplication.hpp>

Inheritance diagram for libsnark::add_variable_and_variable_or_identity< ppT, groupT, variableT, variableSelectorT, addGadgetT >:
Inheritance graph
[legend]
Collaboration diagram for libsnark::add_variable_and_variable_or_identity< ppT, groupT, variableT, variableSelectorT, addGadgetT >:
Collaboration graph
[legend]

Public Types

using FieldT = libff::Fr< ppT >
 
using variableOrIdentity = variable_or_identity< ppT, groupT, variableT >
 

Public Member Functions

 add_variable_and_variable_or_identity (protoboard< FieldT > &pb, const variableOrIdentity &A, const variableT &B, const variableT &result, const std::string &annotation_prefix)
 
void generate_r1cs_constraints ()
 
void generate_r1cs_witness ()
 
- Public Member Functions inherited from libsnark::gadget< libff::Fr< ppT > >
 gadget (protoboard< libff::Fr< ppT > > &pb, const std::string &annotation_prefix)
 

Public Attributes

variableT result
 
variableT add_result
 
addGadgetT add
 
variableSelectorT selector_A
 

Additional Inherited Members

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

Detailed Description

template<typename ppT, typename groupT, typename variableT, typename variableSelectorT, typename addGadgetT>
class libsnark::add_variable_and_variable_or_identity< ppT, groupT, variableT, variableSelectorT, addGadgetT >

Wrap an add gadget for group variables, extending it to support adding a variable_or_identity to a variable.

Definition at line 224 of file scalar_multiplication.hpp.

Member Typedef Documentation

◆ FieldT

template<typename ppT , typename groupT , typename variableT , typename variableSelectorT , typename addGadgetT >
using libsnark::add_variable_and_variable_or_identity< ppT, groupT, variableT, variableSelectorT, addGadgetT >::FieldT = libff::Fr<ppT>

Definition at line 227 of file scalar_multiplication.hpp.

◆ variableOrIdentity

template<typename ppT , typename groupT , typename variableT , typename variableSelectorT , typename addGadgetT >
using libsnark::add_variable_and_variable_or_identity< ppT, groupT, variableT, variableSelectorT, addGadgetT >::variableOrIdentity = variable_or_identity<ppT, groupT, variableT>

Definition at line 228 of file scalar_multiplication.hpp.

Constructor & Destructor Documentation

◆ add_variable_and_variable_or_identity()

template<typename ppT , typename groupT , typename variableT , typename variableSelectorT , typename addGadgetT >
libsnark::add_variable_and_variable_or_identity< ppT, groupT, variableT, variableSelectorT, addGadgetT >::add_variable_and_variable_or_identity ( protoboard< FieldT > &  pb,
const variableOrIdentity A,
const variableT &  B,
const variableT &  result,
const std::string &  annotation_prefix 
)

Member Function Documentation

◆ generate_r1cs_constraints()

template<typename ppT , typename groupT , typename variableT , typename variableSelectorT , typename addGadgetT >
void libsnark::add_variable_and_variable_or_identity< ppT, groupT, variableT, variableSelectorT, addGadgetT >::generate_r1cs_constraints ( )

◆ generate_r1cs_witness()

template<typename ppT , typename groupT , typename variableT , typename variableSelectorT , typename addGadgetT >
void libsnark::add_variable_and_variable_or_identity< ppT, groupT, variableT, variableSelectorT, addGadgetT >::generate_r1cs_witness ( )

Member Data Documentation

◆ add

template<typename ppT , typename groupT , typename variableT , typename variableSelectorT , typename addGadgetT >
addGadgetT libsnark::add_variable_and_variable_or_identity< ppT, groupT, variableT, variableSelectorT, addGadgetT >::add

Definition at line 247 of file scalar_multiplication.hpp.

◆ add_result

template<typename ppT , typename groupT , typename variableT , typename variableSelectorT , typename addGadgetT >
variableT libsnark::add_variable_and_variable_or_identity< ppT, groupT, variableT, variableSelectorT, addGadgetT >::add_result

Definition at line 246 of file scalar_multiplication.hpp.

◆ result

template<typename ppT , typename groupT , typename variableT , typename variableSelectorT , typename addGadgetT >
variableT libsnark::add_variable_and_variable_or_identity< ppT, groupT, variableT, variableSelectorT, addGadgetT >::result

Definition at line 245 of file scalar_multiplication.hpp.

◆ selector_A

template<typename ppT , typename groupT , typename variableT , typename variableSelectorT , typename addGadgetT >
variableSelectorT libsnark::add_variable_and_variable_or_identity< ppT, groupT, variableT, variableSelectorT, addGadgetT >::selector_A

Definition at line 248 of file scalar_multiplication.hpp.


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