4#include <gtest/gtest.h>
11TEST(Pedersen, DeriveLengthGenerator)
17 fr(
uint256_t(
"0x2df8b940e5890e4e1377e05373fae69a1d754f6935e6a780b666947431f2cdcd")),
18 fr(
uint256_t(
"0x2ecd88d15967bc53b885912e0d16866154acb6aac2d3f85e27ca7eefb2c19083"))));
24 auto x = pedersen_hash::Fq::one();
26 EXPECT_EQ(r,
fr(
uint256_t(
"07ebfbf4df29888c6cd6dca13d4bb9d1a923013ddbbcbdc3378ab8845463297b")));
30TEST(Pedersen, HashWithIndex)
32 auto x = pedersen_hash::Fq::one();
34 EXPECT_EQ(r,
fr(
uint256_t(
"1c446df60816b897cda124524e6b03f36df0cec333fad87617aab70d7861daa6")));
42 std::vector<uint8_t>
buf(32);
43 for (
size_t i = 0; i <
buf.size(); ++i) {
44 buf[i] =
static_cast<uint8_t
>(0xA0 + i);
49 for (
size_t i = 0; i < 31; ++i) {
65 EXPECT_EQ(got, expected);
typename Curve::BaseField Fq
static Fq hash_buffer(const std::vector< uint8_t > &input, GeneratorContext context={})
Given an arbitrary length of bytes, convert them to fields and hash the result using the default gene...
static constexpr AffineElement length_generator
static Fq hash(const std::vector< Fq > &inputs, GeneratorContext context={})
Given a vector of fields, generate a pedersen hash using generators from context.
field< Bn254FrParams > fr
TEST(BoomerangMegaCircuitBuilder, BasicCircuit)
constexpr decltype(auto) get(::tuplet::tuple< T... > &&t) noexcept