Clearmatics Libff
0.1
C++ library for Finite Fields and Elliptic Curves
|
Go to the documentation of this file. 1 #ifndef BW6_761_G1_HPP_
2 #define BW6_761_G1_HPP_
11 std::ostream &
operator<<(std::ostream &,
const bw6_761_G1 &);
12 std::istream &
operator>>(std::istream &, bw6_761_G1 &);
17 #ifdef PROFILE_OP_COUNTS
18 static long long add_cnt;
19 static long long dbl_cnt;
34 (
h_bitcount + GMP_NUMB_BITS - 1) / GMP_NUMB_BITS;
96 return scalar_mul<bw6_761_G1, m>(rhs, lhs);
99 template<mp_
size_t m, const big
int<m> &modulus_p>
102 return scalar_mul<bw6_761_G1, m>(rhs, lhs.
as_bigint());
107 #endif // BW6_761_G1_HPP_
static const mp_size_t h_limbs
static std::vector< size_t > fixed_base_exp_window_table
bw6_761_G1(const bw6_761_Fq &X, const bw6_761_Fq &Y, const bw6_761_Fq &Z)
bool is_well_formed() const
bw6_761_G1 operator-() const
static bw6_761_G1 G1_zero
bool operator==(const bw6_761_G1 &other) const
static size_t size_in_bits()
static bw6_761_Fq coeff_b
static std::vector< size_t > wnaf_window_table
static const bw6_761_G1 & zero()
std::istream & operator>>(std::istream &in, alt_bn128_G1 &g)
bw6_761_G1 add(const bw6_761_G1 &other) const
bw6_761_G1 operator+(const bw6_761_G1 &other) const
void print_coordinates() const
static void read_uncompressed(std::istream &, bw6_761_G1 &)
static bigint< base_field::num_limbs > base_field_char()
static void read_compressed(std::istream &, bw6_761_G1 &)
void write_uncompressed(std::ostream &) const
bool operator!=(const bw6_761_G1 &other) const
static const bw6_761_G1 & one()
static size_t size_in_bits()
static bw6_761_Fq coeff_a
friend std::ostream & operator<<(std::ostream &out, const bw6_761_G1 &g)
static bigint< scalar_field::num_limbs > order()
bool is_in_safe_subgroup() const
bw6_761_G1 mul_by_cofactor() const
static const mp_size_t h_bitcount
static void batch_to_special_all_non_zeros(std::vector< bw6_761_G1 > &vec)
static const bigint< n > & field_char()
bigint< n > as_bigint() const
void write_compressed(std::ostream &) const
std::ostream & operator<<(std::ostream &out, const alt_bn128_G1 &g)
static bigint< h_limbs > h
alt_bn128_G1 operator*(const bigint< m > &lhs, const alt_bn128_G1 &rhs)
bw6_761_G1 mixed_add(const bw6_761_G1 &other) const
static bw6_761_G1 random_element()
friend std::istream & operator>>(std::istream &in, bw6_761_G1 &g)
void to_affine_coordinates()