Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
nested_containers.hpp
Go to the documentation of this file.
1// === AUDIT STATUS ===
2// internal: { status: not started, auditors: [], date: YYYY-MM-DD }
3// external_1: { status: not started, auditors: [], date: YYYY-MM-DD }
4// external_2: { status: not started, auditors: [], date: YYYY-MM-DD }
5// =====================
6
7#pragma once
10
11namespace bb {
12
19template <template <typename, size_t, size_t, size_t> typename InnerContainer,
20 typename ValueType,
21 auto domain_end,
22 size_t domain_start = 0,
23 size_t skip_count = 0,
24 typename IS = decltype(std::make_index_sequence<domain_end.size()>())>
26template <template <typename, size_t, size_t, size_t> typename InnerContainer,
27 typename ValueType,
28 auto domain_end,
29 size_t domain_start,
30 size_t skip_count,
31 std::size_t... I>
32struct TupleOfContainersOverArray<InnerContainer,
33 ValueType,
34 domain_end,
35 domain_start,
36 skip_count,
37 std::index_sequence<I...>> {
39};
40
41// Helpers
42template <typename ValueType, size_t, size_t, size_t> using ExtractValueType = ValueType;
43
44template <typename Tuple>
46
47// Types needed for sumcheck and folding.
48template <typename FF, auto LENGTHS>
50
51// Types needed for sumcheck and folding.
52template <typename FF, auto LENGTHS, size_t SKIP_COUNT>
55
56template <typename FF, auto LENGTHS>
58
59template <typename FF, auto LENGTHS> using ArrayOfValues = HomogeneousTupleToArray<TupleOfValues<FF, LENGTHS>>;
60
61} // namespace bb
Entry point for Barretenberg command-line interface.
std::array< std::tuple_element_t< 0, Tuple >, std::tuple_size_v< Tuple > > HomogeneousTupleToArray
typename TupleOfContainersOverArray< bb::Univariate, FF, LENGTHS, 0, SKIP_COUNT >::type TupleOfUnivariatesWithOptimisticSkipping
typename TupleOfContainersOverArray< ExtractValueType, FF, LENGTHS >::type TupleOfValues
ValueType ExtractValueType
typename TupleOfContainersOverArray< bb::Univariate, FF, LENGTHS, 0, 0 >::type TupleOfUnivariates
HomogeneousTupleToArray< TupleOfValues< FF, LENGTHS > > ArrayOfValues
STL namespace.
constexpr decltype(auto) get(::tuplet::tuple< T... > &&t) noexcept
Definition tuple.hpp:13
Generic templates for constructing a container of containers of varying length, where the various len...