#include <bw6_761_g2.hpp>
Definition at line 15 of file bw6_761_g2.hpp.
◆ base_field
◆ scalar_field
◆ twist_field
◆ bw6_761_G2() [1/2]
libff::bw6_761_G2::bw6_761_G2 |
( |
| ) |
|
◆ bw6_761_G2() [2/2]
◆ add()
Definition at line 211 of file bw6_761_g2.cpp.
218 if (other.is_zero()) {
226 if (this->
operator==(other)) {
230 #ifdef PROFILE_OP_COUNTS
255 const bw6_761_Fq A = uu * Z1Z2 - (vvv + R + R);
259 const bw6_761_Fq Y3 = u * (R - A) - vvv * Y1Z2;
◆ base_field_char()
◆ batch_to_special_all_non_zeros()
void libff::bw6_761_G2::batch_to_special_all_non_zeros |
( |
std::vector< bw6_761_G2 > & |
vec | ) |
|
|
static |
Definition at line 498 of file bw6_761_g2.cpp.
500 std::vector<bw6_761_Fq> Z_vec;
501 Z_vec.reserve(vec.size());
503 for (
auto &el : vec) {
504 Z_vec.emplace_back(el.Z);
506 batch_invert<bw6_761_Fq>(Z_vec);
510 for (
size_t i = 0; i < vec.size(); ++i) {
511 vec[i].X = vec[i].X * Z_vec[i];
512 vec[i].Y = vec[i].Y * Z_vec[i];
◆ dbl()
◆ is_in_safe_subgroup()
bool libff::bw6_761_G2::is_in_safe_subgroup |
( |
| ) |
const |
◆ is_special()
bool libff::bw6_761_G2::is_special |
( |
| ) |
const |
◆ is_well_formed()
bool libff::bw6_761_G2::is_well_formed |
( |
| ) |
const |
◆ is_zero()
bool libff::bw6_761_G2::is_zero |
( |
| ) |
const |
◆ mixed_add()
Definition at line 269 of file bw6_761_g2.cpp.
272 assert(other.is_special());
279 if (other.is_zero()) {
290 if (this->
X == X2Z1 && this->
Y == Y2Z1) {
294 #ifdef PROFILE_OP_COUNTS
◆ mul_by_b()
◆ mul_by_cofactor()
bw6_761_G2 libff::bw6_761_G2::mul_by_cofactor |
( |
| ) |
const |
◆ mul_by_q()
◆ one()
◆ operator!=()
bool libff::bw6_761_G2::operator!= |
( |
const bw6_761_G2 & |
other | ) |
const |
◆ operator+()
Definition at line 116 of file bw6_761_g2.cpp.
123 if (other.is_zero()) {
143 if (X1Z2 == X2Z1 && Y1Z2 == Y2Z1) {
190 const bw6_761_Fq A = uu * Z1Z2 - (vvv + R + R);
194 const bw6_761_Fq Y3 = u * (R - A) - vvv * Y1Z2;
◆ operator-() [1/2]
◆ operator-() [2/2]
◆ operator==()
bool libff::bw6_761_G2::operator== |
( |
const bw6_761_G2 & |
other | ) |
const |
Definition at line 89 of file bw6_761_g2.cpp.
92 return other.is_zero();
95 if (other.is_zero()) {
103 if (((this->
X * other.Z) != (other.X * this->Z)) ||
104 ((this->Y * other.Z) != (other.Y * this->Z))) {
◆ order()
◆ print()
void libff::bw6_761_G2::print |
( |
| ) |
const |
Definition at line 31 of file bw6_761_g2.cpp.
37 copy.to_affine_coordinates();
40 copy.X.as_bigint().data,
42 copy.Y.as_bigint().data,
◆ print_coordinates()
void libff::bw6_761_G2::print_coordinates |
( |
| ) |
const |
Definition at line 47 of file bw6_761_g2.cpp.
53 "(%Nd : %Nd : %Nd)\n",
56 this->Y.as_bigint().data,
58 this->Z.as_bigint().data,
◆ random_element()
◆ read_compressed()
void libff::bw6_761_G2::read_compressed |
( |
std::istream & |
in, |
|
|
bw6_761_G2 & |
g |
|
) |
| |
|
static |
Definition at line 454 of file bw6_761_g2.cpp.
466 in.read((
char *)&Y_lsb, 1);
476 if ((tY.as_bigint().data[0] & 1) != Y_lsb) {
◆ read_uncompressed()
void libff::bw6_761_G2::read_uncompressed |
( |
std::istream & |
in, |
|
|
bw6_761_G2 & |
g |
|
) |
| |
|
static |
◆ size_in_bits()
static size_t libff::bw6_761_G2::size_in_bits |
( |
| ) |
|
|
inlinestatic |
◆ to_affine_coordinates()
void libff::bw6_761_G2::to_affine_coordinates |
( |
| ) |
|
Definition at line 63 of file bw6_761_g2.cpp.
71 this->
X = this->
X * Z_inv;
72 this->
Y = this->
Y * Z_inv;
◆ to_special()
void libff::bw6_761_G2::to_special |
( |
| ) |
|
◆ write_compressed()
void libff::bw6_761_G2::write_compressed |
( |
std::ostream & |
out | ) |
const |
◆ write_uncompressed()
void libff::bw6_761_G2::write_uncompressed |
( |
std::ostream & |
out | ) |
const |
◆ zero()
◆ coeff_a
◆ coeff_b
◆ fixed_base_exp_window_table
std::vector< size_t > libff::bw6_761_G2::fixed_base_exp_window_table |
|
static |
◆ G2_one
◆ G2_zero
◆ h_bitcount
const mp_size_t libff::bw6_761_G2::h_bitcount = 384 |
|
static |
◆ h_limbs
const mp_size_t libff::bw6_761_G2::h_limbs |
|
static |
◆ wnaf_window_table
std::vector< size_t > libff::bw6_761_G2::wnaf_window_table |
|
static |
The documentation for this class was generated from the following files:
- /home/runner/work/libff/libff/libff/algebra/curves/bw6_761/bw6_761_g2.hpp
- /home/runner/work/libff/libff/libff/algebra/curves/bw6_761/bw6_761_g2.cpp