Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
pure_alu.hpp
Go to the documentation of this file.
1#pragma once
2
5
6namespace bb::avm2::simulation {
7
8class PureAlu : public AluInterface {
9 public:
10 PureAlu() = default;
11 ~PureAlu() override = default;
12
13 // Disable copy and move operations
14 PureAlu(const PureAlu&) = delete;
15 PureAlu& operator=(const PureAlu&) = delete;
16 PureAlu(PureAlu&&) = delete;
18
19 MemoryValue add(const MemoryValue& a, const MemoryValue& b) override;
20 MemoryValue sub(const MemoryValue& a, const MemoryValue& b) override;
21 MemoryValue mul(const MemoryValue& a, const MemoryValue& b) override;
22 MemoryValue div(const MemoryValue& a, const MemoryValue& b) override;
23 MemoryValue fdiv(const MemoryValue& a, const MemoryValue& b) override;
24 MemoryValue eq(const MemoryValue& a, const MemoryValue& b) override;
25 MemoryValue lt(const MemoryValue& a, const MemoryValue& b) override;
26 MemoryValue lte(const MemoryValue& a, const MemoryValue& b) override;
27 MemoryValue op_not(const MemoryValue& a) override;
28 MemoryValue truncate(const FF& a, MemoryTag dst_tag) override;
29 MemoryValue shr(const MemoryValue& a, const MemoryValue& b) override;
30 MemoryValue shl(const MemoryValue& a, const MemoryValue& b) override;
31};
32
33} // namespace bb::avm2::simulation
MemoryTag dst_tag
MemoryValue lt(const MemoryValue &a, const MemoryValue &b) override
Definition pure_alu.cpp:76
PureAlu(const PureAlu &)=delete
MemoryValue mul(const MemoryValue &a, const MemoryValue &b) override
Definition pure_alu.cpp:29
PureAlu & operator=(const PureAlu &)=delete
~PureAlu() override=default
MemoryValue lte(const MemoryValue &a, const MemoryValue &b) override
Definition pure_alu.cpp:87
MemoryValue fdiv(const MemoryValue &a, const MemoryValue &b) override
Definition pure_alu.cpp:53
MemoryValue shr(const MemoryValue &a, const MemoryValue &b) override
Definition pure_alu.cpp:118
PureAlu & operator=(PureAlu &&)=delete
MemoryValue truncate(const FF &a, MemoryTag dst_tag) override
Definition pure_alu.cpp:129
MemoryValue div(const MemoryValue &a, const MemoryValue &b) override
Definition pure_alu.cpp:38
MemoryValue eq(const MemoryValue &a, const MemoryValue &b) override
Definition pure_alu.cpp:67
MemoryValue add(const MemoryValue &a, const MemoryValue &b) override
Definition pure_alu.cpp:11
PureAlu(PureAlu &&)=delete
MemoryValue sub(const MemoryValue &a, const MemoryValue &b) override
Definition pure_alu.cpp:20
MemoryValue shl(const MemoryValue &a, const MemoryValue &b) override
Definition pure_alu.cpp:107
MemoryValue op_not(const MemoryValue &a) override
Definition pure_alu.cpp:98
FF a
FF b
AvmFlavorSettings::FF FF
Definition field.hpp:10