Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
ecc_set_short_relation.hpp
Go to the documentation of this file.
1// === AUDIT STATUS ===
2// internal: { status: Planned, auditors: [], commit: }
3// external_1: { status: not started, auditors: [], commit: }
4// external_2: { status: not started, auditors: [], commit: }
5// =====================
6
7#pragma once
8
12
13namespace bb {
14
15template <typename FF_> class ECCVMSetShortRelationImpl : public ECCVMSetRelationImpl<FF_> {
16 public:
17 using FF = FF_;
19
20 template <typename Accumulator> static auto convert_to_wnaf(const auto& s0, const auto& s1)
21 {
22 auto t = s0 + s0;
23 t += t;
24 t += s1;
25
26 auto naf = t + t - 15;
27 return naf;
28 }
29
30 template <typename Accumulator, typename AllEntities, typename Parameters>
31 static Accumulator compute_grand_product_numerator(const AllEntities& in, const Parameters& params);
32
33 template <typename Accumulator, typename AllEntities, typename Parameters>
34 static Accumulator compute_grand_product_denominator(const AllEntities& in, const Parameters& params);
35
36 template <typename ContainerOverSubrelations, typename AllEntities, typename Parameters>
37 static void accumulate(ContainerOverSubrelations& accumulator,
38 const AllEntities& in,
39 const Parameters& params,
40 const FF& scaling_factor);
41};
42
44
45} // namespace bb
static Accumulator compute_grand_product_numerator(const AllEntities &in, const Parameters &params)
static auto convert_to_wnaf(const auto &s0, const auto &s1)
static void accumulate(ContainerOverSubrelations &accumulator, const AllEntities &in, const Parameters &params, const FF &scaling_factor)
static Accumulator compute_grand_product_denominator(const AllEntities &in, const Parameters &params)
A wrapper for Relations to expose methods used by the Sumcheck prover or verifier to add the contribu...
Entry point for Barretenberg command-line interface.
Definition api.hpp:5