Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
bn254.test.cpp
Go to the documentation of this file.
1
5#include "bn254.hpp"
7#include <array>
8#include <gtest/gtest.h>
9
10using namespace bb;
11
12// ================================
13// BN254 Constants Tests
14// ================================
15
16TEST(Bn254Constants, SubgroupGenerator)
17{
18 fr subgroup_generator = bb::curve::BN254::subgroup_generator;
19 fr subgroup_generator_inverse = bb::curve::BN254::subgroup_generator_inverse;
20 fr expected = fr(5).pow((fr::modulus - 1) / (uint256_t(1) << 8));
21 fr expected_inverse = expected.invert();
22
23 EXPECT_EQ(subgroup_generator, expected);
24 EXPECT_EQ(subgroup_generator_inverse, expected_inverse);
25}
static constexpr ScalarField subgroup_generator
Definition bn254.hpp:38
static constexpr ScalarField subgroup_generator_inverse
Definition bn254.hpp:40
Entry point for Barretenberg command-line interface.
Definition api.hpp:5
field< Bn254FrParams > fr
Definition fr.hpp:155
TEST(BoomerangMegaCircuitBuilder, BasicCircuit)
static constexpr uint256_t modulus
BB_INLINE constexpr field pow(const uint256_t &exponent) const noexcept
constexpr field invert() const noexcept