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
8
#include "
barretenberg/serialize/msgpack.hpp
"
9
#include "
barretenberg/stdlib/primitives/field/field.hpp
"
10
#include "
serde/index.hpp
"
11
#include "
witness_constant.hpp
"
12
#include <cstdint>
13
#include <vector>
14
15
namespace
acir_format
{
16
17
struct
MultiScalarMul
{
18
std::vector<WitnessOrConstant<bb::fr>
>
points
;
19
std::vector<WitnessOrConstant<bb::fr>
>
scalars
;
20
21
uint32_t
out_point_x
;
22
uint32_t
out_point_y
;
23
uint32_t
out_point_is_infinite
;
24
25
// for serialization, update with any new fields
26
MSGPACK_FIELDS
(
points
,
scalars
,
out_point_x
,
out_point_y
,
out_point_is_infinite
);
27
friend
bool
operator==
(
MultiScalarMul
const
& lhs,
MultiScalarMul
const
& rhs) =
default
;
28
};
29
30
template
<
typename
Builder>
31
void
create_multi_scalar_mul_constraint
(
Builder
&
builder
,
32
const
MultiScalarMul
& input,
33
bool
has_valid_witness_assignments);
34
35
}
// namespace acir_format
bb::UltraCircuitBuilder_
Definition
ultra_circuit_builder.hpp:42
builder
AluTraceBuilder builder
Definition
alu.test.cpp:123
index.hpp
msgpack.hpp
acir_format
Definition
acir_format.cpp:34
acir_format::create_multi_scalar_mul_constraint
void create_multi_scalar_mul_constraint(Builder &builder, const MultiScalarMul &input, bool has_valid_witness_assignments)
Definition
multi_scalar_mul.cpp:20
std::get
constexpr decltype(auto) get(::tuplet::tuple< T... > &&t) noexcept
Definition
tuple.hpp:13
field.hpp
acir_format::MultiScalarMul
Definition
multi_scalar_mul.hpp:17
acir_format::MultiScalarMul::MSGPACK_FIELDS
MSGPACK_FIELDS(points, scalars, out_point_x, out_point_y, out_point_is_infinite)
acir_format::MultiScalarMul::out_point_x
uint32_t out_point_x
Definition
multi_scalar_mul.hpp:21
acir_format::MultiScalarMul::operator==
friend bool operator==(MultiScalarMul const &lhs, MultiScalarMul const &rhs)=default
acir_format::MultiScalarMul::scalars
std::vector< WitnessOrConstant< bb::fr > > scalars
Definition
multi_scalar_mul.hpp:19
acir_format::MultiScalarMul::out_point_y
uint32_t out_point_y
Definition
multi_scalar_mul.hpp:22
acir_format::MultiScalarMul::out_point_is_infinite
uint32_t out_point_is_infinite
Definition
multi_scalar_mul.hpp:23
acir_format::MultiScalarMul::points
std::vector< WitnessOrConstant< bb::fr > > points
Definition
multi_scalar_mul.hpp:18
witness_constant.hpp
src
barretenberg
dsl
acir_format
multi_scalar_mul.hpp
Generated by
1.9.8