Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
straus_scalar_slice.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
8
10#include <optional>
11#include <vector>
12
13namespace bb::stdlib {
14
15// Forward declarations
16template <typename Builder> class cycle_group;
17template <typename Builder> class cycle_scalar;
18
24template <typename Builder> class straus_scalar_slice {
25 public:
27
28 straus_scalar_slice(Builder* context, const cycle_scalar<Builder>& scalars, size_t table_bits);
29 std::optional<field_t> read(size_t index);
32 std::vector<uint64_t> slices_native;
33};
34
35} // namespace bb::stdlib
cycle_scalar represents a member of the cycle curve SCALAR FIELD. This is NOT the native circuit fiel...
straus_scalar_slice decomposes an input scalar into table_bits bit-slices. Used in batch_mul,...
std::optional< field_t > read(size_t index)
Return a bit-slice associated with round index.
std::vector< uint64_t > slices_native
StrictMock< MockContext > context
constexpr decltype(auto) get(::tuplet::tuple< T... > &&t) noexcept
Definition tuple.hpp:13