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

#include <mnt4_pairing.hpp>

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

Public Member Functions

bool operator== (const mnt4_ate_G2_precomp &other) const
 

Public Attributes

mnt4_Fq2 QX
 
mnt4_Fq2 QY
 
mnt4_Fq2 QY2
 
mnt4_Fq2 QX_over_twist
 
mnt4_Fq2 QY_over_twist
 
std::vector< mnt4_ate_dbl_coeffsdbl_coeffs
 
std::vector< mnt4_ate_add_coeffsadd_coeffs
 

Friends

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

Detailed Description

Definition at line 98 of file mnt4_pairing.hpp.

Member Function Documentation

◆ operator==()

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

Definition at line 99 of file mnt4_pairing.cpp.

100 {
101  return (
102  this->QX == other.QX && this->QY == other.QY &&
103  this->QY2 == other.QY2 && this->QX_over_twist == other.QX_over_twist &&
104  this->QY_over_twist == other.QY_over_twist &&
105  this->dbl_coeffs == other.dbl_coeffs &&
106  this->add_coeffs == other.add_coeffs);
107 }

Friends And Related Function Documentation

◆ operator<<

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

Definition at line 109 of file mnt4_pairing.cpp.

110 {
111  out << prec_Q.QX << OUTPUT_SEPARATOR << prec_Q.QY << OUTPUT_SEPARATOR
112  << prec_Q.QY2 << OUTPUT_SEPARATOR << prec_Q.QX_over_twist
113  << OUTPUT_SEPARATOR << prec_Q.QY_over_twist << "\n";
114  out << prec_Q.dbl_coeffs.size() << "\n";
115  for (const mnt4_ate_dbl_coeffs &dc : prec_Q.dbl_coeffs) {
116  out << dc << OUTPUT_NEWLINE;
117  }
118  out << prec_Q.add_coeffs.size() << "\n";
119  for (const mnt4_ate_add_coeffs &ac : prec_Q.add_coeffs) {
120  out << ac << OUTPUT_NEWLINE;
121  }
122 
123  return out;
124 }

◆ operator>>

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

Definition at line 126 of file mnt4_pairing.cpp.

127 {
128  in >> prec_Q.QX;
130  in >> prec_Q.QY;
132  in >> prec_Q.QY2;
134  in >> prec_Q.QX_over_twist;
136  in >> prec_Q.QY_over_twist;
137  consume_newline(in);
138 
139  prec_Q.dbl_coeffs.clear();
140  size_t dbl_s;
141  in >> dbl_s;
142  consume_newline(in);
143 
144  prec_Q.dbl_coeffs.reserve(dbl_s);
145 
146  for (size_t i = 0; i < dbl_s; ++i) {
147  mnt4_ate_dbl_coeffs dc;
148  in >> dc;
150  prec_Q.dbl_coeffs.emplace_back(dc);
151  }
152 
153  prec_Q.add_coeffs.clear();
154  size_t add_s;
155  in >> add_s;
156  consume_newline(in);
157 
158  prec_Q.add_coeffs.reserve(add_s);
159 
160  for (size_t i = 0; i < add_s; ++i) {
161  mnt4_ate_add_coeffs ac;
162  in >> ac;
164  prec_Q.add_coeffs.emplace_back(ac);
165  }
166 
167  return in;
168 }

Member Data Documentation

◆ add_coeffs

std::vector<mnt4_ate_add_coeffs> libff::mnt4_ate_G2_precomp::add_coeffs

Definition at line 105 of file mnt4_pairing.hpp.

◆ dbl_coeffs

std::vector<mnt4_ate_dbl_coeffs> libff::mnt4_ate_G2_precomp::dbl_coeffs

Definition at line 104 of file mnt4_pairing.hpp.

◆ QX

mnt4_Fq2 libff::mnt4_ate_G2_precomp::QX

Definition at line 99 of file mnt4_pairing.hpp.

◆ QX_over_twist

mnt4_Fq2 libff::mnt4_ate_G2_precomp::QX_over_twist

Definition at line 102 of file mnt4_pairing.hpp.

◆ QY

mnt4_Fq2 libff::mnt4_ate_G2_precomp::QY

Definition at line 100 of file mnt4_pairing.hpp.

◆ QY2

mnt4_Fq2 libff::mnt4_ate_G2_precomp::QY2

Definition at line 101 of file mnt4_pairing.hpp.

◆ QY_over_twist

mnt4_Fq2 libff::mnt4_ate_G2_precomp::QY_over_twist

Definition at line 103 of file mnt4_pairing.hpp.


The documentation for this struct was generated from the following files:
OUTPUT_SEPARATOR
#define OUTPUT_SEPARATOR
Definition: serialization.hpp:69
libff::consume_OUTPUT_SEPARATOR
void consume_OUTPUT_SEPARATOR(std::istream &in)
libff::mnt4_ate_G2_precomp::QX
mnt4_Fq2 QX
Definition: mnt4_pairing.hpp:99
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)