1#ifndef SECP256K1_FIELD_52_HPP
2#define SECP256K1_FIELD_52_HPP
37namespace fe52_constants {
39 constexpr std::uint64_t
M52 = 0xFFFFFFFFFFFFFULL;
41 constexpr std::uint64_t
M48 = 0xFFFFFFFFFFFFULL;
43 constexpr std::uint64_t
R52 = 0x1000003D10ULL;
47 constexpr std::uint64_t
P0 = 0xFFFFEFFFFFC2FULL;
48 constexpr std::uint64_t
P1 = 0xFFFFFFFFFFFFFULL;
49 constexpr std::uint64_t
P2 = 0xFFFFFFFFFFFFFULL;
50 constexpr std::uint64_t
P3 = 0xFFFFFFFFFFFFFULL;
51 constexpr std::uint64_t
P4 = 0xFFFFFFFFFFFFULL;
187#include "secp256k1/field_52_impl.hpp"
constexpr std::uint64_t R52
constexpr std::uint64_t P1
constexpr std::uint64_t P4
constexpr std::uint64_t M48
constexpr std::uint64_t M52
constexpr std::uint64_t P3
constexpr std::uint64_t P2
constexpr std::uint64_t P0
void fe52_normalize(std::uint64_t *r) noexcept
void add_assign(const FieldElement52 &rhs) noexcept
void half_assign() noexcept
FieldElement52 inverse() const noexcept
static FieldElement52 from_fe(const FieldElement &fe) noexcept
void store_b32_prenorm(std::uint8_t *out) const noexcept
void mul_assign(const FieldElement52 &rhs) noexcept
bool is_zero() const noexcept
FieldElement52 inverse_safegcd() const noexcept
static FieldElement52 from_bytes(const std::array< std::uint8_t, 32 > &bytes) noexcept
FieldElement to_fe() const noexcept
void mul_int_assign(std::uint32_t a) noexcept
void negate_assign(unsigned magnitude) noexcept
bool normalizes_to_zero() const noexcept
void normalize() noexcept
static FieldElement52 from_4x64_limbs(const std::uint64_t *limbs) noexcept
static FieldElement52 zero() noexcept
void conditional_negate_assign(std::int32_t sign_mask) noexcept
FieldElement52 half() const noexcept
void to_bytes_into(std::uint8_t *out) const noexcept
FieldElement52 sqrt() const noexcept
void square_inplace() noexcept
bool normalizes_to_zero_var() const noexcept
FieldElement52 square() const noexcept
void normalize_weak() noexcept
FieldElement52 negate(unsigned magnitude) const noexcept
static FieldElement52 one() noexcept