Clearmatics Libsnark
0.1
C++ library for zkSNARK proofs
|
#include <fp4_gadgets.hpp>
Public Types | |
typedef Fp4T::my_Fp | FieldT |
typedef Fp4T::my_Fpe | Fp2T |
Public Member Functions | |
Fp4_tower_mul_gadget (protoboard< FieldT > &pb, const Fp4_variable< Fp4T > &A, const Fp4_variable< Fp4T > &B, const Fp4_variable< Fp4T > &result, const std::string &annotation_prefix) | |
void | generate_r1cs_constraints () |
void | generate_r1cs_witness () |
![]() | |
gadget (protoboard< Fp4T::my_Fp > &pb, const std::string &annotation_prefix) | |
Public Attributes | |
Fp4_variable< Fp4T > | A |
Fp4_variable< Fp4T > | B |
Fp4_variable< Fp4T > | result |
pb_linear_combination< FieldT > | v0_c0 |
pb_linear_combination< FieldT > | v0_c1 |
pb_linear_combination< FieldT > | Ac0_plus_Ac1_c0 |
pb_linear_combination< FieldT > | Ac0_plus_Ac1_c1 |
std::shared_ptr< Fp2_variable< Fp2T > > | Ac0_plus_Ac1 |
std::shared_ptr< Fp2_variable< Fp2T > > | v0 |
std::shared_ptr< Fp2_variable< Fp2T > > | v1 |
pb_linear_combination< FieldT > | Bc0_plus_Bc1_c0 |
pb_linear_combination< FieldT > | Bc0_plus_Bc1_c1 |
std::shared_ptr< Fp2_variable< Fp2T > > | Bc0_plus_Bc1 |
pb_linear_combination< FieldT > | result_c1_plus_v0_plus_v1_c0 |
pb_linear_combination< FieldT > | result_c1_plus_v0_plus_v1_c1 |
std::shared_ptr< Fp2_variable< Fp2T > > | result_c1_plus_v0_plus_v1 |
std::shared_ptr< Fp2_mul_gadget< Fp2T > > | compute_v0 |
std::shared_ptr< Fp2_mul_gadget< Fp2T > > | compute_v1 |
std::shared_ptr< Fp2_mul_gadget< Fp2T > > | compute_result_c1 |
Additional Inherited Members | |
![]() | |
protoboard< Fp4T::my_Fp > & | pb |
const std::string | annotation_prefix |
Gadget that creates constraints for Fp4 multiplication (towering formulas).
Definition at line 58 of file fp4_gadgets.hpp.
typedef Fp4T::my_Fp libsnark::Fp4_tower_mul_gadget< Fp4T >::FieldT |
Definition at line 61 of file fp4_gadgets.hpp.
typedef Fp4T::my_Fpe libsnark::Fp4_tower_mul_gadget< Fp4T >::Fp2T |
Definition at line 62 of file fp4_gadgets.hpp.
libsnark::Fp4_tower_mul_gadget< Fp4T >::Fp4_tower_mul_gadget | ( | protoboard< FieldT > & | pb, |
const Fp4_variable< Fp4T > & | A, | ||
const Fp4_variable< Fp4T > & | B, | ||
const Fp4_variable< Fp4T > & | result, | ||
const std::string & | annotation_prefix | ||
) |
void libsnark::Fp4_tower_mul_gadget< Fp4T >::generate_r1cs_constraints | ( | ) |
void libsnark::Fp4_tower_mul_gadget< Fp4T >::generate_r1cs_witness | ( | ) |
Fp4_variable<Fp4T> libsnark::Fp4_tower_mul_gadget< Fp4T >::A |
Definition at line 64 of file fp4_gadgets.hpp.
std::shared_ptr<Fp2_variable<Fp2T> > libsnark::Fp4_tower_mul_gadget< Fp4T >::Ac0_plus_Ac1 |
Definition at line 73 of file fp4_gadgets.hpp.
pb_linear_combination<FieldT> libsnark::Fp4_tower_mul_gadget< Fp4T >::Ac0_plus_Ac1_c0 |
Definition at line 71 of file fp4_gadgets.hpp.
pb_linear_combination<FieldT> libsnark::Fp4_tower_mul_gadget< Fp4T >::Ac0_plus_Ac1_c1 |
Definition at line 72 of file fp4_gadgets.hpp.
Fp4_variable<Fp4T> libsnark::Fp4_tower_mul_gadget< Fp4T >::B |
Definition at line 65 of file fp4_gadgets.hpp.
std::shared_ptr<Fp2_variable<Fp2T> > libsnark::Fp4_tower_mul_gadget< Fp4T >::Bc0_plus_Bc1 |
Definition at line 80 of file fp4_gadgets.hpp.
pb_linear_combination<FieldT> libsnark::Fp4_tower_mul_gadget< Fp4T >::Bc0_plus_Bc1_c0 |
Definition at line 78 of file fp4_gadgets.hpp.
pb_linear_combination<FieldT> libsnark::Fp4_tower_mul_gadget< Fp4T >::Bc0_plus_Bc1_c1 |
Definition at line 79 of file fp4_gadgets.hpp.
std::shared_ptr<Fp2_mul_gadget<Fp2T> > libsnark::Fp4_tower_mul_gadget< Fp4T >::compute_result_c1 |
Definition at line 89 of file fp4_gadgets.hpp.
std::shared_ptr<Fp2_mul_gadget<Fp2T> > libsnark::Fp4_tower_mul_gadget< Fp4T >::compute_v0 |
Definition at line 87 of file fp4_gadgets.hpp.
std::shared_ptr<Fp2_mul_gadget<Fp2T> > libsnark::Fp4_tower_mul_gadget< Fp4T >::compute_v1 |
Definition at line 88 of file fp4_gadgets.hpp.
Fp4_variable<Fp4T> libsnark::Fp4_tower_mul_gadget< Fp4T >::result |
Definition at line 66 of file fp4_gadgets.hpp.
std::shared_ptr<Fp2_variable<Fp2T> > libsnark::Fp4_tower_mul_gadget< Fp4T >::result_c1_plus_v0_plus_v1 |
Definition at line 85 of file fp4_gadgets.hpp.
pb_linear_combination<FieldT> libsnark::Fp4_tower_mul_gadget< Fp4T >::result_c1_plus_v0_plus_v1_c0 |
Definition at line 82 of file fp4_gadgets.hpp.
pb_linear_combination<FieldT> libsnark::Fp4_tower_mul_gadget< Fp4T >::result_c1_plus_v0_plus_v1_c1 |
Definition at line 83 of file fp4_gadgets.hpp.
std::shared_ptr<Fp2_variable<Fp2T> > libsnark::Fp4_tower_mul_gadget< Fp4T >::v0 |
Definition at line 75 of file fp4_gadgets.hpp.
pb_linear_combination<FieldT> libsnark::Fp4_tower_mul_gadget< Fp4T >::v0_c0 |
Definition at line 68 of file fp4_gadgets.hpp.
pb_linear_combination<FieldT> libsnark::Fp4_tower_mul_gadget< Fp4T >::v0_c1 |
Definition at line 69 of file fp4_gadgets.hpp.
std::shared_ptr<Fp2_variable<Fp2T> > libsnark::Fp4_tower_mul_gadget< Fp4T >::v1 |
Definition at line 76 of file fp4_gadgets.hpp.