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

#include <fp6_3over2_gadgets.hpp>

Inheritance diagram for libsnark::Fp6_3over2_variable< Fp6T >:
Inheritance graph
[legend]
Collaboration diagram for libsnark::Fp6_3over2_variable< Fp6T >:
Collaboration graph
[legend]

Public Types

using FieldT = typename Fp6T::my_Fp
 
using Fp2T = typename Fp6T::my_Fp2
 

Public Member Functions

 Fp6_3over2_variable (protoboard< FieldT > &pb, const std::string &annotation_prefix)
 
 Fp6_3over2_variable (protoboard< FieldT > &pb, const Fp6_3over2_variable< Fp6T > &el, const std::string &annotation_prefix)
 
 Fp6_3over2_variable (protoboard< FieldT > &pb, const Fp6T &el, const std::string &annotation_prefix)
 
 Fp6_3over2_variable (protoboard< FieldT > &pb, const Fp2_variable< Fp2T > &c0, const Fp2_variable< Fp2T > &c1, const Fp2_variable< Fp2T > &c2, const std::string &annotation_prefix)
 
Fp6_3over2_variable< Fp6T > operator* (const FieldT &scalar) const
 
Fp6_3over2_variable< Fp6T > operator* (const Fp2T &fp2_constant) const
 
Fp6_3over2_variable< Fp6T > operator* (const Fp6T &fp6_constant) const
 
Fp6_3over2_variable< Fp6T > operator+ (const Fp6_3over2_variable< Fp6T > &other) const
 
Fp6_3over2_variable< Fp6T > operator- (const Fp6_3over2_variable< Fp6T > &other) const
 
Fp6_3over2_variable< Fp6T > operator- () const
 
Fp6_3over2_variable< Fp6T > frobenius_map (size_t power) const
 
void evaluate () const
 
void generate_r1cs_witness (const Fp6T &el)
 
Fp6T get_element () const
 
- Public Member Functions inherited from libsnark::gadget< Fp6T::my_Fp >
 gadget (protoboard< Fp6T::my_Fp > &pb, const std::string &annotation_prefix)
 

Public Attributes

Fp2_variable< Fp2T_c0
 
Fp2_variable< Fp2T_c1
 
Fp2_variable< Fp2T_c2
 

Additional Inherited Members

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

Detailed Description

template<typename Fp6T>
class libsnark::Fp6_3over2_variable< Fp6T >

Definition at line 21 of file fp6_3over2_gadgets.hpp.

Member Typedef Documentation

◆ FieldT

template<typename Fp6T >
using libsnark::Fp6_3over2_variable< Fp6T >::FieldT = typename Fp6T::my_Fp

Definition at line 24 of file fp6_3over2_gadgets.hpp.

◆ Fp2T

template<typename Fp6T >
using libsnark::Fp6_3over2_variable< Fp6T >::Fp2T = typename Fp6T::my_Fp2

Definition at line 25 of file fp6_3over2_gadgets.hpp.

Constructor & Destructor Documentation

◆ Fp6_3over2_variable() [1/4]

template<typename Fp6T >
libsnark::Fp6_3over2_variable< Fp6T >::Fp6_3over2_variable ( protoboard< FieldT > &  pb,
const std::string &  annotation_prefix 
)

◆ Fp6_3over2_variable() [2/4]

template<typename Fp6T >
libsnark::Fp6_3over2_variable< Fp6T >::Fp6_3over2_variable ( protoboard< FieldT > &  pb,
const Fp6_3over2_variable< Fp6T > &  el,
const std::string &  annotation_prefix 
)

◆ Fp6_3over2_variable() [3/4]

template<typename Fp6T >
libsnark::Fp6_3over2_variable< Fp6T >::Fp6_3over2_variable ( protoboard< FieldT > &  pb,
const Fp6T &  el,
const std::string &  annotation_prefix 
)

◆ Fp6_3over2_variable() [4/4]

template<typename Fp6T >
libsnark::Fp6_3over2_variable< Fp6T >::Fp6_3over2_variable ( protoboard< FieldT > &  pb,
const Fp2_variable< Fp2T > &  c0,
const Fp2_variable< Fp2T > &  c1,
const Fp2_variable< Fp2T > &  c2,
const std::string &  annotation_prefix 
)

Member Function Documentation

◆ evaluate()

template<typename Fp6T >
void libsnark::Fp6_3over2_variable< Fp6T >::evaluate ( ) const

◆ frobenius_map()

template<typename Fp6T >
Fp6_3over2_variable<Fp6T> libsnark::Fp6_3over2_variable< Fp6T >::frobenius_map ( size_t  power) const

◆ generate_r1cs_witness()

template<typename Fp6T >
void libsnark::Fp6_3over2_variable< Fp6T >::generate_r1cs_witness ( const Fp6T &  el)

◆ get_element()

template<typename Fp6T >
Fp6T libsnark::Fp6_3over2_variable< Fp6T >::get_element ( ) const

◆ operator*() [1/3]

template<typename Fp6T >
Fp6_3over2_variable<Fp6T> libsnark::Fp6_3over2_variable< Fp6T >::operator* ( const FieldT scalar) const

◆ operator*() [2/3]

template<typename Fp6T >
Fp6_3over2_variable<Fp6T> libsnark::Fp6_3over2_variable< Fp6T >::operator* ( const Fp2T fp2_constant) const

◆ operator*() [3/3]

template<typename Fp6T >
Fp6_3over2_variable<Fp6T> libsnark::Fp6_3over2_variable< Fp6T >::operator* ( const Fp6T &  fp6_constant) const

◆ operator+()

template<typename Fp6T >
Fp6_3over2_variable<Fp6T> libsnark::Fp6_3over2_variable< Fp6T >::operator+ ( const Fp6_3over2_variable< Fp6T > &  other) const

◆ operator-() [1/2]

template<typename Fp6T >
Fp6_3over2_variable<Fp6T> libsnark::Fp6_3over2_variable< Fp6T >::operator- ( ) const

◆ operator-() [2/2]

template<typename Fp6T >
Fp6_3over2_variable<Fp6T> libsnark::Fp6_3over2_variable< Fp6T >::operator- ( const Fp6_3over2_variable< Fp6T > &  other) const

Member Data Documentation

◆ _c0

template<typename Fp6T >
Fp2_variable<Fp2T> libsnark::Fp6_3over2_variable< Fp6T >::_c0

Definition at line 27 of file fp6_3over2_gadgets.hpp.

◆ _c1

template<typename Fp6T >
Fp2_variable<Fp2T> libsnark::Fp6_3over2_variable< Fp6T >::_c1

Definition at line 28 of file fp6_3over2_gadgets.hpp.

◆ _c2

template<typename Fp6T >
Fp2_variable<Fp2T> libsnark::Fp6_3over2_variable< Fp6T >::_c2

Definition at line 29 of file fp6_3over2_gadgets.hpp.


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