Clearmatics Libsnark
0.1
C++ library for zkSNARK proofs
|
#include <scalar_multiplication.hpp>
Public Types | |
using | FieldT = libff::Fr< ppT > |
using | variableOrIdentity = variable_or_identity< ppT, groupT, variableT > |
Public Member Functions | |
add_variable_or_identity (protoboard< FieldT > &pb, const variableOrIdentity &A, const variableOrIdentity &B, const variableOrIdentity &result, const std::string &annotation_prefix) | |
void | generate_r1cs_constraints () |
void | generate_r1cs_witness () |
![]() | |
gadget (protoboard< libff::Fr< ppT > > &pb, const std::string &annotation_prefix) | |
Public Attributes | |
variableT | add_result |
addGadgetT | add |
variableT | A_not_identity_result |
variableSelectorT | selector_A_not_identity |
variableSelectorT | selector_A |
variableOrIdentity | result |
Additional Inherited Members | |
![]() | |
protoboard< libff::Fr< ppT > > & | pb |
const std::string | annotation_prefix |
Wrap an add gadget, extending it to support adding variable_or_identity elements. At most one element may be the identity, otherwise witness generation fails due to the implementation of the underlying add gadgets.
Definition at line 151 of file scalar_multiplication.hpp.
using libsnark::add_variable_or_identity< ppT, groupT, variableT, variableSelectorT, addGadgetT >::FieldT = libff::Fr<ppT> |
Definition at line 154 of file scalar_multiplication.hpp.
using libsnark::add_variable_or_identity< ppT, groupT, variableT, variableSelectorT, addGadgetT >::variableOrIdentity = variable_or_identity<ppT, groupT, variableT> |
Definition at line 155 of file scalar_multiplication.hpp.
libsnark::add_variable_or_identity< ppT, groupT, variableT, variableSelectorT, addGadgetT >::add_variable_or_identity | ( | protoboard< FieldT > & | pb, |
const variableOrIdentity & | A, | ||
const variableOrIdentity & | B, | ||
const variableOrIdentity & | result, | ||
const std::string & | annotation_prefix | ||
) |
void libsnark::add_variable_or_identity< ppT, groupT, variableT, variableSelectorT, addGadgetT >::generate_r1cs_constraints | ( | ) |
void libsnark::add_variable_or_identity< ppT, groupT, variableT, variableSelectorT, addGadgetT >::generate_r1cs_witness | ( | ) |
variableT libsnark::add_variable_or_identity< ppT, groupT, variableT, variableSelectorT, addGadgetT >::A_not_identity_result |
Definition at line 195 of file scalar_multiplication.hpp.
addGadgetT libsnark::add_variable_or_identity< ppT, groupT, variableT, variableSelectorT, addGadgetT >::add |
Definition at line 191 of file scalar_multiplication.hpp.
variableT libsnark::add_variable_or_identity< ppT, groupT, variableT, variableSelectorT, addGadgetT >::add_result |
Definition at line 190 of file scalar_multiplication.hpp.
variableOrIdentity libsnark::add_variable_or_identity< ppT, groupT, variableT, variableSelectorT, addGadgetT >::result |
Definition at line 202 of file scalar_multiplication.hpp.
variableSelectorT libsnark::add_variable_or_identity< ppT, groupT, variableT, variableSelectorT, addGadgetT >::selector_A |
Definition at line 200 of file scalar_multiplication.hpp.
variableSelectorT libsnark::add_variable_or_identity< ppT, groupT, variableT, variableSelectorT, addGadgetT >::selector_A_not_identity |
Definition at line 196 of file scalar_multiplication.hpp.