Clearmatics Libff
0.1
C++ library for Finite Fields and Elliptic Curves
|
Go to the documentation of this file.
10 #ifndef FP12_2OVER3OVER2_HPP_
11 #define FP12_2OVER3OVER2_HPP_
22 template<mp_
size_t n, const big
int<n> &modulus>
26 template<mp_
size_t n, const big
int<n> &modulus>
112 template<mp_
size_t m>
118 friend std::ostream &operator<<<n, modulus>(
120 friend std::istream &
operator>>
124 template<mp_
size_t n, const big
int<n> &modulus>
127 const std::vector<Fp12_2over3over2_model<n, modulus>> &v);
129 template<mp_
size_t n, const big
int<n> &modulus>
131 std::istream &in, std::vector<Fp12_2over3over2_model<n, modulus>> &v);
133 template<mp_
size_t n, const big
int<n> &modulus>
134 Fp12_2over3over2_model<n, modulus>
operator*(
135 const Fp_model<n, modulus> &lhs,
136 const Fp12_2over3over2_model<n, modulus> &rhs);
138 template<mp_
size_t n, const big
int<n> &modulus>
139 Fp12_2over3over2_model<n, modulus>
operator*(
140 const Fp2_model<n, modulus> &lhs,
141 const Fp12_2over3over2_model<n, modulus> &rhs);
143 template<mp_
size_t n, const big
int<n> &modulus>
144 Fp12_2over3over2_model<n, modulus>
operator*(
145 const Fp6_3over2_model<n, modulus> &lhs,
146 const Fp12_2over3over2_model<n, modulus> &rhs);
148 template<mp_
size_t n, const big
int<n> &modulus, mp_
size_t m>
149 Fp12_2over3over2_model<n, modulus>
operator^(
150 const Fp12_2over3over2_model<n, modulus> &
self,
const bigint<m> &exponent);
154 const bigint<n> &modulus,
156 const bigint<m> &exp_modulus>
157 Fp12_2over3over2_model<n, modulus>
operator^(
158 const Fp12_2over3over2_model<n, modulus> &
self,
159 const Fp_model<m, exp_modulus> &exponent);
161 template<mp_
size_t n, const big
int<n> &modulus>
164 template<mp_
size_t n, const big
int<n> &modulus>
167 template<mp_
size_t n, const big
int<n> &modulus>
170 template<mp_
size_t n, const big
int<n> &modulus>
173 template<mp_
size_t n, const big
int<n> &modulus>
176 template<mp_
size_t n, const big
int<n> &modulus>
179 template<mp_
size_t n, const big
int<n> &modulus>
182 template<mp_
size_t n, const big
int<n> &modulus>
183 Fp2_model<n, modulus>
190 #endif // FP12_2OVER3OVER2_HPP_
Fp12_2over3over2_model squared_karatsuba() const
Fp12_2over3over2_model(const my_Fp6 &c0, const my_Fp6 &c1)
static const size_t tower_extension_degree
static Fp12_2over3over2_model< n, modulus > random_element()
static Fp2_model< n, modulus > non_residue
static Fp2_model< n, modulus > Frobenius_coeffs_c1[12]
non_residue^((modulus^i-1)/6) for i=0,...,11
static Fp12_2over3over2_model< n, modulus > one()
std::istream & operator>>(std::istream &in, alt_bn128_G1 &g)
static bigint< 12 *n > t_minus_1_over_2
Fp12_2over3over2_model squared() const
default is squared_complex
static Fp12_2over3over2_model< n, modulus > zero()
static bigint< 12 *n > euler
static my_Fp6 mul_by_non_residue(const my_Fp6 &elt)
static Fp12_2over3over2_model< n, modulus > nqr_to_t
Fp12_2over3over2_model Frobenius_map(unsigned long power) const
static Fp12_2over3over2_model< n, modulus > nqr
Fp12_2over3over2_model inverse() const
Fp12_2over3over2_model mul_by_024(const my_Fp2 &ell_0, const my_Fp2 &ell_VW, const my_Fp2 &ell_VV) const
Fp12_2over3over2_model squared_complex() const
static constexpr size_t extension_degree()
bn128_GT operator^(const bn128_GT &rhs, const bigint< m > &lhs)
Fp12_2over3over2_model unitary_inverse() const
Fp12_2over3over2_model cyclotomic_exp(const bigint< m > &exponent) const
Fp2_model< n, modulus > my_Fp2
Fp12_2over3over2_model operator+(const Fp12_2over3over2_model &other) const
Fp12_2over3over2_model operator*(const Fp12_2over3over2_model &other) const
Fp12_2over3over2_model operator-() const
Fp6_3over2_model< n, modulus > my_Fp6
std::ostream & operator<<(std::ostream &out, const alt_bn128_G1 &g)
static bigint< n > base_field_char()
alt_bn128_G1 operator*(const bigint< m > &lhs, const alt_bn128_G1 &rhs)
Fp_model< n, modulus > my_Fp
bool operator!=(const Fp12_2over3over2_model &other) const
Fp12_2over3over2_model cyclotomic_squared() const
FieldT power(const FieldT &base, const bigint< m > &exponent)
Fp12_2over3over2_model mul_by_045(const my_Fp2 &ell_0, const my_Fp2 &ell_VW, const my_Fp2 &ell_VV) const
bool operator==(const Fp12_2over3over2_model &other) const