7#include "../../fields/field.hpp"
18 static constexpr uint64_t modulus_0 = 0x43E1F593F0000001UL;
19 static constexpr uint64_t modulus_1 = 0x2833E84879B97091UL;
20 static constexpr uint64_t modulus_2 = 0xB85045B68181585DUL;
21 static constexpr uint64_t modulus_3 = 0x30644E72E131A029UL;
23 static constexpr uint64_t r_squared_0 = 0x1BB8E645AE216DA7UL;
24 static constexpr uint64_t r_squared_1 = 0x53FE3AB1E35C59E3UL;
25 static constexpr uint64_t r_squared_2 = 0x8C49833D53BB8085UL;
26 static constexpr uint64_t r_squared_3 = 0x216D0B17F4E44A5UL;
28 static constexpr uint64_t cube_root_0 = 0x93e7cede4a0329b3UL;
29 static constexpr uint64_t cube_root_1 = 0x7d4fdca77a96c167UL;
30 static constexpr uint64_t cube_root_2 = 0x8be4ba08b19a750aUL;
31 static constexpr uint64_t cube_root_3 = 0x1cbd5653a5661c25UL;
33 static constexpr uint64_t primitive_root_0 = 0x636e735580d13d9cUL;
34 static constexpr uint64_t primitive_root_1 = 0xa22bf3742445ffd6UL;
35 static constexpr uint64_t primitive_root_2 = 0x56452ac01eb203d8UL;
36 static constexpr uint64_t primitive_root_3 = 0x1860ef942963f9e7UL;
38 static constexpr uint64_t endo_g1_lo = 0x7a7bd9d4391eb18dUL;
39 static constexpr uint64_t endo_g1_mid = 0x4ccef014a773d2cfUL;
40 static constexpr uint64_t endo_g1_hi = 0x0000000000000002UL;
41 static constexpr uint64_t endo_g2_lo = 0xd91d232ec7e0b3d7UL;
42 static constexpr uint64_t endo_g2_mid = 0x0000000000000002UL;
43 static constexpr uint64_t endo_minus_b1_lo = 0x8211bbeb7d4f1128UL;
44 static constexpr uint64_t endo_minus_b1_mid = 0x6f4d8248eeb859fcUL;
45 static constexpr uint64_t endo_b2_lo = 0x89d3256894d213e3UL;
46 static constexpr uint64_t endo_b2_mid = 0UL;
48 static constexpr uint64_t r_inv = 0xc2e1f593efffffffUL;
50 static constexpr uint64_t coset_generators_0[8]{
51 0x5eef048d8fffffe7ULL, 0xb8538a9dfffffe2ULL, 0x3057819e4fffffdbULL, 0xdcedb5ba9fffffd6ULL,
52 0x8983e9d6efffffd1ULL, 0x361a1df33fffffccULL, 0xe2b0520f8fffffc7ULL, 0x8f46862bdfffffc2ULL,
54 static constexpr uint64_t coset_generators_1[8]{
55 0x12ee50ec1ce401d0ULL, 0x49eac781bc44cefaULL, 0x307f6d866832bb01ULL, 0x677be41c0793882aULL,
56 0x9e785ab1a6f45554ULL, 0xd574d1474655227eULL, 0xc7147dce5b5efa7ULL, 0x436dbe728516bcd1ULL,
58 static constexpr uint64_t coset_generators_2[8]{
59 0x29312d5a5e5ee7ULL, 0x6697d49cd2d7a515ULL, 0x5c65ec9f484e3a89ULL, 0xc2d4900ec0c780b7ULL,
60 0x2943337e3940c6e5ULL, 0x8fb1d6edb1ba0d13ULL, 0xf6207a5d2a335342ULL, 0x5c8f1dcca2ac9970ULL,
62 static constexpr uint64_t coset_generators_3[8]{
63 0x463456c802275bedULL, 0x543ece899c2f3b1cULL, 0x180a96573d3d9f8ULL, 0xf8b21270ddbb927ULL,
64 0x1d9598e8a7e39857ULL, 0x2ba010aa41eb7786ULL, 0x39aa886bdbf356b5ULL, 0x47b5002d75fb35e5ULL,
67 static constexpr char schema_name[] =
"fr";
68 static constexpr bool has_high_2adicity =
true;
constexpr_utils defines some helper methods that perform some stl-equivalent operations but in a cons...
Definition: constexpr_utils.hpp:16