Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
ec_operations.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/dsl/acir_format/witness_constant.hpp
"
9
#include "
barretenberg/serialize/msgpack.hpp
"
10
#include <cstdint>
11
12
namespace
acir_format
{
13
14
struct
EcAdd
{
15
WitnessOrConstant<bb::fr>
input1_x
;
16
WitnessOrConstant<bb::fr>
input1_y
;
17
WitnessOrConstant<bb::fr>
input1_infinite
;
18
WitnessOrConstant<bb::fr>
input2_x
;
19
WitnessOrConstant<bb::fr>
input2_y
;
20
WitnessOrConstant<bb::fr>
input2_infinite
;
21
uint32_t
result_x
;
22
uint32_t
result_y
;
23
uint32_t
result_infinite
;
24
25
// for serialization, update with any new fields
26
MSGPACK_FIELDS
(
27
input1_x
,
input1_y
,
input1_infinite
,
input2_x
,
input2_y
,
input2_infinite
,
result_x
,
result_y
,
result_infinite
);
28
friend
bool
operator==
(
EcAdd
const
& lhs,
EcAdd
const
& rhs) =
default
;
29
};
30
31
template
<
typename
Builder>
32
void
create_ec_add_constraint
(
Builder
&
builder
,
const
EcAdd
& input,
bool
has_valid_witness_assignments);
33
}
// namespace acir_format
bb::UltraCircuitBuilder_
Definition
ultra_circuit_builder.hpp:42
builder
AluTraceBuilder builder
Definition
alu.test.cpp:123
msgpack.hpp
acir_format
Definition
acir_format.cpp:34
acir_format::create_ec_add_constraint
void create_ec_add_constraint(Builder &builder, const EcAdd &input, bool has_valid_witness_assignments)
Definition
ec_operations.cpp:17
acir_format::EcAdd
Definition
ec_operations.hpp:14
acir_format::EcAdd::result_infinite
uint32_t result_infinite
Definition
ec_operations.hpp:23
acir_format::EcAdd::operator==
friend bool operator==(EcAdd const &lhs, EcAdd const &rhs)=default
acir_format::EcAdd::input1_y
WitnessOrConstant< bb::fr > input1_y
Definition
ec_operations.hpp:16
acir_format::EcAdd::input1_infinite
WitnessOrConstant< bb::fr > input1_infinite
Definition
ec_operations.hpp:17
acir_format::EcAdd::input2_y
WitnessOrConstant< bb::fr > input2_y
Definition
ec_operations.hpp:19
acir_format::EcAdd::input2_infinite
WitnessOrConstant< bb::fr > input2_infinite
Definition
ec_operations.hpp:20
acir_format::EcAdd::input1_x
WitnessOrConstant< bb::fr > input1_x
Definition
ec_operations.hpp:15
acir_format::EcAdd::result_y
uint32_t result_y
Definition
ec_operations.hpp:22
acir_format::EcAdd::MSGPACK_FIELDS
MSGPACK_FIELDS(input1_x, input1_y, input1_infinite, input2_x, input2_y, input2_infinite, result_x, result_y, result_infinite)
acir_format::EcAdd::input2_x
WitnessOrConstant< bb::fr > input2_x
Definition
ec_operations.hpp:18
acir_format::EcAdd::result_x
uint32_t result_x
Definition
ec_operations.hpp:21
acir_format::WitnessOrConstant
Definition
witness_constant.hpp:13
witness_constant.hpp
src
barretenberg
dsl
acir_format
ec_operations.hpp
Generated by
1.9.8