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: Complete, auditors: [Luke], commit: a48c205d6dcd4338f5b83b4fda18bff6015be07b}
3// external_1: { status: not started, auditors: [], commit: }
4// external_2: { status: not started, auditors: [], commit: }
5// =====================
6
7#pragma once
9#include "serde/index.hpp"
10#include "witness_constant.hpp"
11#include <cstdint>
12#include <vector>
13
14namespace acir_format {
15
19 // Predicate indicating whether the constraint should be disabled:
20 // - true: the constraint is valid
21 // - false: the constraint is disabled, i.e it must not fail and can return whatever.
23
24 uint32_t out_point_x;
25 uint32_t out_point_y;
27
28 friend bool operator==(MultiScalarMul const& lhs, MultiScalarMul const& rhs) = default;
29};
30
31template <typename Builder> void create_multi_scalar_mul_constraint(Builder& builder, const MultiScalarMul& input);
32
33} // namespace acir_format
AluTraceBuilder builder
Definition alu.test.cpp:124
void create_multi_scalar_mul_constraint(Builder &builder, const MultiScalarMul &constraint_input)
Create constraints for multi-scalar multiplication on the Grumpkin curve.
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
std::vector< WitnessOrConstant< bb::fr > > points