Clearmatics Libsnark
0.1
C++ library for zkSNARK proofs
|
Go to the documentation of this file.
9 #ifndef LIBSNARK_GADGETLIB1_GADGETS_FIELDS_FP6_3OVER2_GADGETS_HPP_
10 #define LIBSNARK_GADGETLIB1_GADGETS_FIELDS_FP6_3OVER2_GADGETS_HPP_
15 #include <libff/algebra/curves/public_params.hpp>
20 template<
typename Fp6T>
25 using Fp2T =
typename Fp6T::my_Fp2;
84 template<
typename Fp6T>
89 using Fp2T =
typename Fp6T::my_Fp2;
122 #endif // LIBSNARK_GADGETLIB1_GADGETS_FIELDS_FP6_3OVER2_GADGETS_HPP_
Fp6_3over2_variable< Fp6T > _result
Fp6_3over2_variable< Fp6T > operator*(const FieldT &scalar) const
const std::string annotation_prefix
typename Fp6T::my_Fp2 Fp2T
void generate_r1cs_constraints()
Fp2_mul_gadget< Fp2T > _compute_a0a2_times_b0b2
Fp6_3over2_variable< Fp6T > _A
Fp2_mul_gadget< Fp2T > _compute_v2
typename Fp6T::my_Fp FieldT
protoboard< Fp6T::my_Fp > & pb
Fp6_3over2_variable< Fp6T > _B
Fp2_mul_gadget< Fp2T > _compute_v0
typename Fp6T::my_Fp FieldT
void generate_r1cs_witness(const Fp6T &el)
Fp2_mul_gadget< Fp2T > _compute_a1a2_times_b1b2
FElem power(const FElem &base, long exponent)
Fp6_3over2_variable< Fp6T > frobenius_map(size_t power) const
Fp6_3over2_variable(protoboard< FieldT > &pb, const std::string &annotation_prefix)
Fp6_3over2_mul_gadget(protoboard< FieldT > &pb, const Fp6_3over2_variable< Fp6T > &A, const Fp6_3over2_variable< Fp6T > &B, const Fp6_3over2_variable< Fp6T > &result, const std::string &annotation_prefix)
Fp6_3over2_variable< Fp6T > operator-() const
void generate_r1cs_witness()
Fp6_3over2_variable< Fp6T > operator+(const Fp6_3over2_variable< Fp6T > &other) const
Fp2_mul_gadget< Fp2T > _compute_a0a1_times_b0b1
typename Fp6T::my_Fp2 Fp2T
Fp2_mul_gadget< Fp2T > _compute_v1