Clearmatics Libff  0.1
C++ library for Finite Fields and Elliptic Curves
Public Member Functions | Public Attributes | Friends | List of all members
libff::bls12_381_ate_G2_precomp Struct Reference

#include <bls12_381_pairing.hpp>

Collaboration diagram for libff::bls12_381_ate_G2_precomp:
Collaboration graph
[legend]

Public Member Functions

bool operator== (const bls12_381_ate_G2_precomp &other) const
 

Public Attributes

bls12_381_Fq2 QX
 
bls12_381_Fq2 QY
 
std::vector< bls12_381_ate_ell_coeffscoeffs
 

Friends

std::ostream & operator<< (std::ostream &out, const bls12_381_ate_G2_precomp &prec_Q)
 
std::istream & operator>> (std::istream &in, bls12_381_ate_G2_precomp &prec_Q)
 

Detailed Description

Definition at line 45 of file bls12_381_pairing.hpp.

Member Function Documentation

◆ operator==()

bool libff::bls12_381_ate_G2_precomp::operator== ( const bls12_381_ate_G2_precomp other) const

Definition at line 67 of file bls12_381_pairing.cpp.

69 {
70  return (
71  this->QX == other.QX && this->QY == other.QY &&
72  this->coeffs == other.coeffs);
73 }

Friends And Related Function Documentation

◆ operator<<

std::ostream& operator<< ( std::ostream &  out,
const bls12_381_ate_G2_precomp prec_Q 
)
friend

Definition at line 75 of file bls12_381_pairing.cpp.

77 {
78  out << prec_Q.QX << OUTPUT_SEPARATOR << prec_Q.QY << "\n";
79  out << prec_Q.coeffs.size() << "\n";
80  for (const bls12_381_ate_ell_coeffs &c : prec_Q.coeffs) {
81  out << c << OUTPUT_NEWLINE;
82  }
83 
84  return out;
85 }

◆ operator>>

std::istream& operator>> ( std::istream &  in,
bls12_381_ate_G2_precomp prec_Q 
)
friend

Definition at line 87 of file bls12_381_pairing.cpp.

88 {
89  in >> prec_Q.QX;
91  in >> prec_Q.QY;
92  consume_newline(in);
93 
94  prec_Q.coeffs.clear();
95  size_t s;
96  in >> s;
97 
98  consume_newline(in);
99 
100  prec_Q.coeffs.reserve(s);
101 
102  for (size_t i = 0; i < s; ++i) {
103  bls12_381_ate_ell_coeffs c;
104  in >> c;
106  prec_Q.coeffs.emplace_back(c);
107  }
108 
109  return in;
110 }

Member Data Documentation

◆ coeffs

std::vector<bls12_381_ate_ell_coeffs> libff::bls12_381_ate_G2_precomp::coeffs

Definition at line 48 of file bls12_381_pairing.hpp.

◆ QX

bls12_381_Fq2 libff::bls12_381_ate_G2_precomp::QX

Definition at line 46 of file bls12_381_pairing.hpp.

◆ QY

bls12_381_Fq2 libff::bls12_381_ate_G2_precomp::QY

Definition at line 47 of file bls12_381_pairing.hpp.


The documentation for this struct was generated from the following files:
libff::Fp2_model::coeffs
my_Fp coeffs[2]
Definition: fp2.hpp:63
libff::bls12_381_ate_G2_precomp::QX
bls12_381_Fq2 QX
Definition: bls12_381_pairing.hpp:46
OUTPUT_SEPARATOR
#define OUTPUT_SEPARATOR
Definition: serialization.hpp:69
libff::consume_OUTPUT_SEPARATOR
void consume_OUTPUT_SEPARATOR(std::istream &in)
libff::consume_OUTPUT_NEWLINE
void consume_OUTPUT_NEWLINE(std::istream &in)
OUTPUT_NEWLINE
#define OUTPUT_NEWLINE
Definition: serialization.hpp:68
libff::consume_newline
void consume_newline(std::istream &in)