8#include "../columns.hpp"
17 static constexpr std::string_view
NAME =
"LOOKUP_SCALAR_MUL_TO_RADIX";
22 static constexpr Column COUNTS = Column::lookup_scalar_mul_to_radix_counts;
24 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
SRC_COLUMNS = {
25 ColumnAndShifts::scalar_mul_scalar,
26 ColumnAndShifts::scalar_mul_bit,
27 ColumnAndShifts::scalar_mul_bit_idx,
28 ColumnAndShifts::scalar_mul_bit_radix
30 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
DST_COLUMNS = {
31 ColumnAndShifts::to_radix_value,
32 ColumnAndShifts::to_radix_limb,
33 ColumnAndShifts::to_radix_limb_index,
34 ColumnAndShifts::to_radix_radix
39template <
typename FF_>
45 static constexpr std::string_view
NAME =
"LOOKUP_SCALAR_MUL_DOUBLE";
50 static constexpr Column COUNTS = Column::lookup_scalar_mul_double_counts;
52 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
SRC_COLUMNS = {
53 ColumnAndShifts::scalar_mul_temp_x, ColumnAndShifts::scalar_mul_temp_y,
54 ColumnAndShifts::scalar_mul_temp_inf, ColumnAndShifts::scalar_mul_temp_x_shift,
55 ColumnAndShifts::scalar_mul_temp_y_shift, ColumnAndShifts::scalar_mul_temp_inf_shift,
56 ColumnAndShifts::scalar_mul_temp_x_shift, ColumnAndShifts::scalar_mul_temp_y_shift,
57 ColumnAndShifts::scalar_mul_temp_inf_shift
59 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
DST_COLUMNS = {
60 ColumnAndShifts::ecc_r_x, ColumnAndShifts::ecc_r_y, ColumnAndShifts::ecc_r_is_inf,
61 ColumnAndShifts::ecc_p_x, ColumnAndShifts::ecc_p_y, ColumnAndShifts::ecc_p_is_inf,
62 ColumnAndShifts::ecc_q_x, ColumnAndShifts::ecc_q_y, ColumnAndShifts::ecc_q_is_inf
67template <
typename FF_>
73 static constexpr std::string_view
NAME =
"LOOKUP_SCALAR_MUL_ADD";
78 static constexpr Column COUNTS = Column::lookup_scalar_mul_add_counts;
80 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
SRC_COLUMNS = {
81 ColumnAndShifts::scalar_mul_res_x, ColumnAndShifts::scalar_mul_res_y,
82 ColumnAndShifts::scalar_mul_res_inf, ColumnAndShifts::scalar_mul_res_x_shift,
83 ColumnAndShifts::scalar_mul_res_y_shift, ColumnAndShifts::scalar_mul_res_inf_shift,
84 ColumnAndShifts::scalar_mul_temp_x, ColumnAndShifts::scalar_mul_temp_y,
85 ColumnAndShifts::scalar_mul_temp_inf
87 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
DST_COLUMNS = {
88 ColumnAndShifts::ecc_r_x, ColumnAndShifts::ecc_r_y, ColumnAndShifts::ecc_r_is_inf,
89 ColumnAndShifts::ecc_p_x, ColumnAndShifts::ecc_p_y, ColumnAndShifts::ecc_p_is_inf,
90 ColumnAndShifts::ecc_q_x, ColumnAndShifts::ecc_q_y, ColumnAndShifts::ecc_q_is_inf
95template <
typename FF_>
This file contains the template for the generic lookup that can be specialized to enforce various loo...
static constexpr std::string_view NAME
static constexpr Column SRC_SELECTOR
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > SRC_COLUMNS
static constexpr Column INVERSES
static constexpr std::string_view RELATION_NAME
static constexpr size_t LOOKUP_TUPLE_SIZE
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > DST_COLUMNS
static constexpr Column COUNTS
static constexpr Column DST_SELECTOR
static constexpr Column SRC_SELECTOR
static constexpr std::string_view NAME
static constexpr Column INVERSES
static constexpr Column DST_SELECTOR
static constexpr Column COUNTS
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > SRC_COLUMNS
static constexpr size_t LOOKUP_TUPLE_SIZE
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > DST_COLUMNS
static constexpr std::string_view RELATION_NAME
static constexpr std::string_view RELATION_NAME
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > DST_COLUMNS
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > SRC_COLUMNS
static constexpr Column DST_SELECTOR
static constexpr std::string_view NAME
static constexpr Column SRC_SELECTOR
static constexpr Column INVERSES
static constexpr size_t LOOKUP_TUPLE_SIZE
static constexpr Column COUNTS