Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
bb::avm2::alu< FF > Class Template Reference

#include <alu.hpp>

Inheritance diagram for bb::avm2::alu< FF >:
bb::Relation< aluImpl< FF > > bb::avm2::aluImpl< FF >

Static Public Member Functions

static std::string get_subrelation_label (size_t index)
 
- Static Public Member Functions inherited from bb::avm2::aluImpl< FF >
static bool skip (const AllEntities &in)
 
static void accumulate (ContainerOverSubrelations &evals, const AllEntities &in, const RelationParameters< FF > &, const FF &scaling_factor)
 

Static Public Attributes

static constexpr const std::string_view NAME = "alu"
 
static constexpr size_t SR_ERR_CHECK = 4
 
static constexpr size_t SR_OP_ID_CHECK = 5
 
static constexpr size_t SR_TAG_IS_FF = 6
 
static constexpr size_t SR_TAG_IS_U128 = 7
 
static constexpr size_t SR_C_TAG_CHECK = 8
 
static constexpr size_t SR_TAG_ERR_CHECK = 11
 
static constexpr size_t SR_AB_TAGS_CHECK = 12
 
static constexpr size_t SR_A_DECOMPOSITION = 14
 
static constexpr size_t SR_B_DECOMPOSITION = 15
 
static constexpr size_t SR_A_LO_BITS = 17
 
static constexpr size_t SR_A_HI_BITS = 18
 
static constexpr size_t SR_ALU_ADD_SUB = 21
 
static constexpr size_t SR_ALU_MUL_NON_U128 = 23
 
static constexpr size_t SR_ALU_MUL_U128 = 25
 
static constexpr size_t SR_ALU_DIV_U128_CHECK = 29
 
static constexpr size_t SR_ALU_DIV_U128 = 30
 
static constexpr size_t SR_DIV_0_ERR = 33
 
static constexpr size_t SR_ALU_FDIV_DIV_NON_U128 = 34
 
static constexpr size_t SR_EQ_OP_MAIN = 36
 
static constexpr size_t SR_LT_SWAP_INPUTS_A = 42
 
static constexpr size_t SR_LT_SWAP_INPUTS_B = 43
 
static constexpr size_t SR_LTE_NEGATE_RESULT_C = 44
 
static constexpr size_t SR_NOT_OP_MAIN = 46
 
static constexpr size_t SR_SHL_TWO_POW_SHIFT = 47
 
static constexpr size_t SR_ALU_SHL = 48
 
static constexpr size_t SR_ALU_SHR = 49
 
static constexpr size_t SR_SHIFTS_LO_BITS = 52
 
static constexpr size_t SR_SEL_TRUNC_NON_TRIVIAL = 57
 
static constexpr size_t SR_SEL_TRUNCATE = 58
 
static constexpr size_t SR_TRUNC_TRIVIAL_CASE = 59
 
static constexpr size_t SR_SMALL_TRUNC_VAL_IS_LO = 60
 
static constexpr size_t SR_TRUNC_LO_128_DECOMPOSITION = 61
 
static constexpr size_t SR_TRUNC_MID_BITS = 62
 
- Static Public Attributes inherited from bb::Relation< aluImpl< FF > >
static constexpr std::array< size_t, RelationImpl::SUBRELATION_PARTIAL_LENGTHS.size()> SUBRELATION_TOTAL_LENGTHS
 
static constexpr size_t RELATION_LENGTH
 
static constexpr size_t TOTAL_RELATION_LENGTH
 
- Static Public Attributes inherited from bb::avm2::aluImpl< FF >
static constexpr std::array< size_t, 63 > SUBRELATION_PARTIAL_LENGTHS
 

Additional Inherited Members

- Public Types inherited from bb::Relation< aluImpl< FF > >
using FF = typename RelationImpl::FF
 
using ProtogalaxyTupleOfUnivariatesOverSubrelationsNoOptimisticSkipping = TupleOfUnivariates< FF, compute_composed_subrelation_partial_lengths< NUM_KEYS >(SUBRELATION_TOTAL_LENGTHS)>
 
using ProtogalaxyTupleOfUnivariatesOverSubrelations = TupleOfUnivariatesWithOptimisticSkipping< FF, compute_composed_subrelation_partial_lengths< NUM_KEYS >(SUBRELATION_TOTAL_LENGTHS), NUM_KEYS - 1 >
 
using SumcheckTupleOfUnivariatesOverSubrelations = TupleOfUnivariates< FF, RelationImpl::SUBRELATION_PARTIAL_LENGTHS >
 
using SumcheckArrayOfValuesOverSubrelations = ArrayOfValues< FF, RelationImpl::SUBRELATION_PARTIAL_LENGTHS >
 
using UnivariateAccumulator0 = std::tuple_element_t< 0, SumcheckTupleOfUnivariatesOverSubrelations >
 
using ValueAccumulator0 = std::tuple_element_t< 0, SumcheckArrayOfValuesOverSubrelations >
 
- Public Types inherited from bb::avm2::aluImpl< FF >
using FF = FF
 

Detailed Description

template<typename FF>
class bb::avm2::alu< FF >

Definition at line 36 of file alu.hpp.

Member Function Documentation

◆ get_subrelation_label()

template<typename FF >
static std::string bb::avm2::alu< FF >::get_subrelation_label ( size_t  index)
inlinestatic

Definition at line 40 of file alu.hpp.

Member Data Documentation

◆ NAME

template<typename FF >
constexpr const std::string_view bb::avm2::alu< FF >::NAME = "alu"
staticconstexpr

Definition at line 38 of file alu.hpp.

◆ SR_A_DECOMPOSITION

template<typename FF >
constexpr size_t bb::avm2::alu< FF >::SR_A_DECOMPOSITION = 14
staticconstexpr

Definition at line 121 of file alu.hpp.

◆ SR_A_HI_BITS

template<typename FF >
constexpr size_t bb::avm2::alu< FF >::SR_A_HI_BITS = 18
staticconstexpr

Definition at line 124 of file alu.hpp.

◆ SR_A_LO_BITS

template<typename FF >
constexpr size_t bb::avm2::alu< FF >::SR_A_LO_BITS = 17
staticconstexpr

Definition at line 123 of file alu.hpp.

◆ SR_AB_TAGS_CHECK

template<typename FF >
constexpr size_t bb::avm2::alu< FF >::SR_AB_TAGS_CHECK = 12
staticconstexpr

Definition at line 120 of file alu.hpp.

◆ SR_ALU_ADD_SUB

template<typename FF >
constexpr size_t bb::avm2::alu< FF >::SR_ALU_ADD_SUB = 21
staticconstexpr

Definition at line 125 of file alu.hpp.

◆ SR_ALU_DIV_U128

template<typename FF >
constexpr size_t bb::avm2::alu< FF >::SR_ALU_DIV_U128 = 30
staticconstexpr

Definition at line 129 of file alu.hpp.

◆ SR_ALU_DIV_U128_CHECK

template<typename FF >
constexpr size_t bb::avm2::alu< FF >::SR_ALU_DIV_U128_CHECK = 29
staticconstexpr

Definition at line 128 of file alu.hpp.

◆ SR_ALU_FDIV_DIV_NON_U128

template<typename FF >
constexpr size_t bb::avm2::alu< FF >::SR_ALU_FDIV_DIV_NON_U128 = 34
staticconstexpr

Definition at line 131 of file alu.hpp.

◆ SR_ALU_MUL_NON_U128

template<typename FF >
constexpr size_t bb::avm2::alu< FF >::SR_ALU_MUL_NON_U128 = 23
staticconstexpr

Definition at line 126 of file alu.hpp.

◆ SR_ALU_MUL_U128

template<typename FF >
constexpr size_t bb::avm2::alu< FF >::SR_ALU_MUL_U128 = 25
staticconstexpr

Definition at line 127 of file alu.hpp.

◆ SR_ALU_SHL

template<typename FF >
constexpr size_t bb::avm2::alu< FF >::SR_ALU_SHL = 48
staticconstexpr

Definition at line 138 of file alu.hpp.

◆ SR_ALU_SHR

template<typename FF >
constexpr size_t bb::avm2::alu< FF >::SR_ALU_SHR = 49
staticconstexpr

Definition at line 139 of file alu.hpp.

◆ SR_B_DECOMPOSITION

template<typename FF >
constexpr size_t bb::avm2::alu< FF >::SR_B_DECOMPOSITION = 15
staticconstexpr

Definition at line 122 of file alu.hpp.

◆ SR_C_TAG_CHECK

template<typename FF >
constexpr size_t bb::avm2::alu< FF >::SR_C_TAG_CHECK = 8
staticconstexpr

Definition at line 118 of file alu.hpp.

◆ SR_DIV_0_ERR

template<typename FF >
constexpr size_t bb::avm2::alu< FF >::SR_DIV_0_ERR = 33
staticconstexpr

Definition at line 130 of file alu.hpp.

◆ SR_EQ_OP_MAIN

template<typename FF >
constexpr size_t bb::avm2::alu< FF >::SR_EQ_OP_MAIN = 36
staticconstexpr

Definition at line 132 of file alu.hpp.

◆ SR_ERR_CHECK

template<typename FF >
constexpr size_t bb::avm2::alu< FF >::SR_ERR_CHECK = 4
staticconstexpr

Definition at line 114 of file alu.hpp.

◆ SR_LT_SWAP_INPUTS_A

template<typename FF >
constexpr size_t bb::avm2::alu< FF >::SR_LT_SWAP_INPUTS_A = 42
staticconstexpr

Definition at line 133 of file alu.hpp.

◆ SR_LT_SWAP_INPUTS_B

template<typename FF >
constexpr size_t bb::avm2::alu< FF >::SR_LT_SWAP_INPUTS_B = 43
staticconstexpr

Definition at line 134 of file alu.hpp.

◆ SR_LTE_NEGATE_RESULT_C

template<typename FF >
constexpr size_t bb::avm2::alu< FF >::SR_LTE_NEGATE_RESULT_C = 44
staticconstexpr

Definition at line 135 of file alu.hpp.

◆ SR_NOT_OP_MAIN

template<typename FF >
constexpr size_t bb::avm2::alu< FF >::SR_NOT_OP_MAIN = 46
staticconstexpr

Definition at line 136 of file alu.hpp.

◆ SR_OP_ID_CHECK

template<typename FF >
constexpr size_t bb::avm2::alu< FF >::SR_OP_ID_CHECK = 5
staticconstexpr

Definition at line 115 of file alu.hpp.

◆ SR_SEL_TRUNC_NON_TRIVIAL

template<typename FF >
constexpr size_t bb::avm2::alu< FF >::SR_SEL_TRUNC_NON_TRIVIAL = 57
staticconstexpr

Definition at line 141 of file alu.hpp.

◆ SR_SEL_TRUNCATE

template<typename FF >
constexpr size_t bb::avm2::alu< FF >::SR_SEL_TRUNCATE = 58
staticconstexpr

Definition at line 142 of file alu.hpp.

◆ SR_SHIFTS_LO_BITS

template<typename FF >
constexpr size_t bb::avm2::alu< FF >::SR_SHIFTS_LO_BITS = 52
staticconstexpr

Definition at line 140 of file alu.hpp.

◆ SR_SHL_TWO_POW_SHIFT

template<typename FF >
constexpr size_t bb::avm2::alu< FF >::SR_SHL_TWO_POW_SHIFT = 47
staticconstexpr

Definition at line 137 of file alu.hpp.

◆ SR_SMALL_TRUNC_VAL_IS_LO

template<typename FF >
constexpr size_t bb::avm2::alu< FF >::SR_SMALL_TRUNC_VAL_IS_LO = 60
staticconstexpr

Definition at line 144 of file alu.hpp.

◆ SR_TAG_ERR_CHECK

template<typename FF >
constexpr size_t bb::avm2::alu< FF >::SR_TAG_ERR_CHECK = 11
staticconstexpr

Definition at line 119 of file alu.hpp.

◆ SR_TAG_IS_FF

template<typename FF >
constexpr size_t bb::avm2::alu< FF >::SR_TAG_IS_FF = 6
staticconstexpr

Definition at line 116 of file alu.hpp.

◆ SR_TAG_IS_U128

template<typename FF >
constexpr size_t bb::avm2::alu< FF >::SR_TAG_IS_U128 = 7
staticconstexpr

Definition at line 117 of file alu.hpp.

◆ SR_TRUNC_LO_128_DECOMPOSITION

template<typename FF >
constexpr size_t bb::avm2::alu< FF >::SR_TRUNC_LO_128_DECOMPOSITION = 61
staticconstexpr

Definition at line 145 of file alu.hpp.

◆ SR_TRUNC_MID_BITS

template<typename FF >
constexpr size_t bb::avm2::alu< FF >::SR_TRUNC_MID_BITS = 62
staticconstexpr

Definition at line 146 of file alu.hpp.

◆ SR_TRUNC_TRIVIAL_CASE

template<typename FF >
constexpr size_t bb::avm2::alu< FF >::SR_TRUNC_TRIVIAL_CASE = 59
staticconstexpr

Definition at line 143 of file alu.hpp.


The documentation for this class was generated from the following file: