Clearmatics Libff  0.1
C++ library for Finite Fields and Elliptic Curves
bn128_pairing.hpp
Go to the documentation of this file.
1 
11 #ifndef BN128_PAIRING_HPP_
12 #define BN128_PAIRING_HPP_
13 #include "depends/ate-pairing/include/bn.h"
14 
18 
19 namespace libff
20 {
21 
23  bn::Fp P[3];
24 
25  bool operator==(const bn128_ate_G1_precomp &other) const;
26  friend std::ostream &operator<<(
27  std::ostream &out, const bn128_ate_G1_precomp &prec_P);
28  friend std::istream &operator>>(
29  std::istream &in, bn128_ate_G1_precomp &prec_P);
30 };
31 
32 typedef bn::Fp6 bn128_ate_ell_coeffs;
33 
35  bn::Fp2 Q[3];
36  std::vector<bn128_ate_ell_coeffs> coeffs;
37 
38  bool operator==(const bn128_ate_G2_precomp &other) const;
39  friend std::ostream &operator<<(
40  std::ostream &out, const bn128_ate_G2_precomp &prec_Q);
41  friend std::istream &operator>>(
42  std::istream &in, bn128_ate_G2_precomp &prec_Q);
43 };
44 
47 
49  const bn128_ate_G1_precomp &prec_P1,
50  const bn128_ate_G2_precomp &prec_Q1,
51  const bn128_ate_G1_precomp &prec_P2,
52  const bn128_ate_G2_precomp &prec_Q2);
54  const bn128_ate_G1_precomp &prec_P, const bn128_ate_G2_precomp &prec_Q);
55 
57 
58 } // namespace libff
59 #endif // BN128_PAIRING_HPP_
libff::bn128_GT
Definition: bn128_gt.hpp:23
libff::bn128_ate_G1_precomp::P
bn::Fp P[3]
Definition: bn128_pairing.hpp:23
libff
Definition: ffi.cpp:8
libff::bn128_G1
Definition: bn128_g1.hpp:23
bn128_gt.hpp
libff::bn128_ate_G2_precomp
Definition: bn128_pairing.hpp:34
libff::bn128_ate_G2_precomp::coeffs
std::vector< bn128_ate_ell_coeffs > coeffs
Definition: bn128_pairing.hpp:36
libff::bn128_ate_G2_precomp::operator>>
friend std::istream & operator>>(std::istream &in, bn128_ate_G2_precomp &prec_Q)
Definition: bn128_pairing.cpp:116
libff::bn128_ate_G1_precomp
Definition: bn128_pairing.hpp:22
libff::bn128_ate_precompute_G1
bn128_ate_G1_precomp bn128_ate_precompute_G1(const bn128_G1 &P)
Definition: bn128_pairing.cpp:166
libff::bn128_ate_G2_precomp::operator==
bool operator==(const bn128_ate_G2_precomp &other) const
Definition: bn128_pairing.cpp:54
libff::bn128_ate_G1_precomp::operator==
bool operator==(const bn128_ate_G1_precomp &other) const
Definition: bn128_pairing.cpp:22
libff::bn128_ate_precompute_G2
bn128_ate_G2_precomp bn128_ate_precompute_G2(const bn128_G2 &Q)
Definition: bn128_pairing.cpp:179
libff::bn128_ate_G1_precomp::operator<<
friend std::ostream & operator<<(std::ostream &out, const bn128_ate_G1_precomp &prec_P)
Definition: bn128_pairing.cpp:29
libff::bn128_final_exponentiation
bn128_GT bn128_final_exponentiation(const bn128_Fq12 &elt)
Definition: bn128_pairing.cpp:212
bn128_g1.hpp
libff::bn128_ate_G1_precomp::operator>>
friend std::istream & operator>>(std::istream &in, bn128_ate_G1_precomp &prec_P)
Definition: bn128_pairing.cpp:41
libff::bn128_ate_ell_coeffs
bn::Fp6 bn128_ate_ell_coeffs
Definition: bn128_pairing.hpp:32
libff::bn128_double_ate_miller_loop
bn128_Fq12 bn128_double_ate_miller_loop(const bn128_ate_G1_precomp &prec_P1, const bn128_ate_G2_precomp &prec_Q1, const bn128_ate_G1_precomp &prec_P2, const bn128_ate_G2_precomp &prec_Q2)
Definition: bn128_pairing.cpp:200
libff::bn128_ate_G2_precomp::operator<<
friend std::ostream & operator<<(std::ostream &out, const bn128_ate_G2_precomp &prec_Q)
Definition: bn128_pairing.cpp:75
libff::bn128_ate_G2_precomp::Q
bn::Fp2 Q[3]
Definition: bn128_pairing.hpp:35
libff::bn128_ate_miller_loop
bn128_Fq12 bn128_ate_miller_loop(const bn128_ate_G1_precomp &prec_P, const bn128_ate_G2_precomp &prec_Q)
Definition: bn128_pairing.cpp:192
bn128_g2.hpp
libff::bn128_G2
Definition: bn128_g2.hpp:24