23std::ostream&
operator<<(std::ostream &,
const mnt4_G2&);
24std::istream&
operator>>(std::istream &, mnt4_G2&);
28#ifdef PROFILE_OP_COUNTS
29 static long long add_cnt;
30 static long long dbl_cnt;
97template<mp_
size_t m, const big
int<m>& modulus_p>
static size_t size_in_bits()
static bigint< n > field_char()
bigint< n > as_bigint() const
static mnt4_G2 random_element()
bool operator!=(const mnt4_G2 &other) const
friend std::istream & operator>>(std::istream &in, mnt4_G2 &g)
static std::vector< size_t > fixed_base_exp_window_table
friend std::ostream & operator<<(std::ostream &out, const mnt4_G2 &g)
static std::vector< size_t > wnaf_window_table
mnt4_G2 mixed_add(const mnt4_G2 &other) const
mnt4_G2 operator-() const
void print_coordinates() const
static void batch_to_special_all_non_zeros(std::vector< mnt4_G2 > &vec)
static size_t size_in_bits()
mnt4_G2(const mnt4_Fq2 &X, const mnt4_Fq2 &Y, const mnt4_Fq2 &Z)
bool is_well_formed() const
static bigint< mnt4_Fq::num_limbs > base_field_char()
mnt4_G2 operator+(const mnt4_G2 &other) const
static bigint< mnt4_Fr::num_limbs > order()
static mnt4_Fq2 mul_by_b(const mnt4_Fq2 &elt)
void to_affine_coordinates()
bool operator==(const mnt4_G2 &other) const
mnt4_G2 add(const mnt4_G2 &other) const
static mnt4_Fq2 mul_by_a(const mnt4_Fq2 &elt)
std::istream & operator>>(std::istream &in, alt_bn128_G1 &g)
GroupT scalar_mul(const GroupT &base, const bigint< m > &scalar)
std::ostream & operator<<(std::ostream &out, const alt_bn128_G1 &g)
alt_bn128_G1 operator*(const bigint< m > &lhs, const alt_bn128_G1 &rhs)