Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
stark252.hpp
Go to the documentation of this file.
1#ifdef STARKNET_GARAGA_FLAVORS
2#pragma once
3
6
7namespace bb::starknet::stark252 {
8
9struct FqParams {
10 static constexpr uint64_t modulus_0 = 0x0000000000000001ULL;
11 static constexpr uint64_t modulus_1 = 0x0000000000000000ULL;
12 static constexpr uint64_t modulus_2 = 0x0000000000000000ULL;
13 static constexpr uint64_t modulus_3 = 0x0800000000000011ULL;
14
15 static constexpr uint64_t r_squared_0 = 0xfffffd737e000401ULL;
16 static constexpr uint64_t r_squared_1 = 0x00000001330fffffULL;
17 static constexpr uint64_t r_squared_2 = 0xffffffffff6f8000ULL;
18 static constexpr uint64_t r_squared_3 = 0x07ffd4ab5e008810ULL;
19
20 static constexpr uint64_t r_inv = 0xffffffffffffffffULL;
21
22 static constexpr uint64_t r_inv_0 = 0x0000000000000001ULL;
23 static constexpr uint64_t r_inv_1 = 0x0000000000000000ULL;
24 static constexpr uint64_t r_inv_2 = 0xf7ffffffffffffefULL;
25 static constexpr uint64_t r_inv_3 = 0x0800000000000010ULL;
26
27 static constexpr uint64_t modulus_wasm_0 = 0x00000001;
28 static constexpr uint64_t modulus_wasm_1 = 0x00000000;
29 static constexpr uint64_t modulus_wasm_2 = 0x00000000;
30 static constexpr uint64_t modulus_wasm_3 = 0x00000000;
31 static constexpr uint64_t modulus_wasm_4 = 0x00000000;
32 static constexpr uint64_t modulus_wasm_5 = 0x00000000;
33 static constexpr uint64_t modulus_wasm_6 = 0x00440000;
34 static constexpr uint64_t modulus_wasm_7 = 0x00000000;
35 static constexpr uint64_t modulus_wasm_8 = 0x00080000;
36
37 static constexpr uint64_t r_squared_wasm_0 = 0xfff5cdf800100001ULL;
38 static constexpr uint64_t r_squared_wasm_1 = 0x000004cc3fffffffULL;
39 static constexpr uint64_t r_squared_wasm_2 = 0xfffffffdbe000000ULL;
40 static constexpr uint64_t r_squared_wasm_3 = 0x0752ad7802200010ULL;
41
42 static constexpr uint64_t r_inv_wasm_0 = 0x00000001;
43 static constexpr uint64_t r_inv_wasm_1 = 0x00000000;
44 static constexpr uint64_t r_inv_wasm_2 = 0x00000000;
45 static constexpr uint64_t r_inv_wasm_3 = 0x00000000;
46 static constexpr uint64_t r_inv_wasm_4 = 0x00000000;
47 static constexpr uint64_t r_inv_wasm_5 = 0x1fbc0000;
48 static constexpr uint64_t r_inv_wasm_6 = 0x0043ffff;
49 static constexpr uint64_t r_inv_wasm_7 = 0x1ff80000;
50 static constexpr uint64_t r_inv_wasm_8 = 0x0007ffff;
51
52 // For consistency with bb::fq, if we ever represent an element of bb::stark252::fq in the public inputs, we do so
53 // as a bigfield element, so with 4 public inputs
54 static constexpr size_t PUBLIC_INPUTS_SIZE = BIGFIELD_PUBLIC_INPUTS_SIZE;
55};
56
57using fq = field<FqParams>;
58
59} // namespace bb::starknet::stark252
60#endif
field< Bn254FqParams > fq
Definition fq.hpp:169