Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
multi_scalar_mul.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#include "serde/index.hpp"
11#include "witness_constant.hpp"
12#include <cstdint>
13#include <vector>
14
15namespace acir_format {
16
20 // Predicate indicating whether the constraint should be disabled:
21 // - true: the constraint is valid
22 // - false: the constraint is disabled, i.e it must not fail and can return whatever.
24
25 uint32_t out_point_x;
26 uint32_t out_point_y;
28
29 // for serialization, update with any new fields
31 friend bool operator==(MultiScalarMul const& lhs, MultiScalarMul const& rhs) = default;
32};
33
34template <typename Builder>
36 const MultiScalarMul& input,
37 bool has_valid_witness_assignments);
38
39} // namespace acir_format
AluTraceBuilder builder
Definition alu.test.cpp:123
void create_multi_scalar_mul_constraint(Builder &builder, const MultiScalarMul &input, bool has_valid_witness_assignments)
constexpr decltype(auto) get(::tuplet::tuple< T... > &&t) noexcept
Definition tuple.hpp:13
friend bool operator==(MultiScalarMul const &lhs, MultiScalarMul const &rhs)=default
std::vector< WitnessOrConstant< bb::fr > > scalars
WitnessOrConstant< bb::fr > predicate
MSGPACK_FIELDS(points, scalars, predicate, out_point_x, out_point_y, out_point_is_infinite)
std::vector< WitnessOrConstant< bb::fr > > points