Clearmatics Libff
0.1
C++ library for Finite Fields and Elliptic Curves
|
Go to the documentation of this file.
57 static inline size_t bdlo12_signed_optimal_c(
size_t num_entries);
69 typename std::vector<T>::const_iterator vec_start,
70 typename std::vector<T>::const_iterator vec_end,
71 typename std::vector<FieldT>::const_iterator scalar_start,
72 typename std::vector<FieldT>::const_iterator scalar_end,
84 typename std::vector<T>::const_iterator vec_start,
85 typename std::vector<T>::const_iterator vec_end,
86 typename std::vector<FieldT>::const_iterator scalar_start,
87 typename std::vector<FieldT>::const_iterator scalar_end,
94 typename std::vector<T>::const_iterator a_start,
95 typename std::vector<T>::const_iterator a_end,
96 typename std::vector<T>::const_iterator b_start,
97 typename std::vector<T>::const_iterator b_end);
109 const size_t scalar_size,
const size_t window,
const T &g);
111 template<
typename T,
typename FieldT>
113 const size_t scalar_size,
118 template<
typename T,
typename FieldT>
120 const size_t scalar_size,
123 const std::vector<FieldT> &v);
125 template<
typename T,
typename FieldT>
127 const size_t scalar_size,
130 const std::vector<FieldT> &v,
133 template<
typename T,
typename FieldT>
135 const size_t scalar_size,
139 const std::vector<FieldT> &v);
147 #endif // MULTIEXP_HPP_
T inner_product(typename std::vector< T >::const_iterator a_start, typename std::vector< T >::const_iterator a_end, typename std::vector< T >::const_iterator b_start, typename std::vector< T >::const_iterator b_end)
window_table< T > get_window_table(const size_t scalar_size, const size_t window, const T &g)
Compute table of window sizes.
@ multi_exp_base_form_special
T multi_exp_filter_one_zero(typename std::vector< T >::const_iterator vec_start, typename std::vector< T >::const_iterator vec_end, typename std::vector< FieldT >::const_iterator scalar_start, typename std::vector< FieldT >::const_iterator scalar_end, const size_t chunks)
@ multi_exp_method_bos_coster
void batch_to_special(std::vector< T > &vec)
std::vector< std::vector< T > > window_table
@ multi_exp_base_form_normal
Incoming base elements are not in special form.
size_t get_exp_window_size(const size_t num_scalars)
Compute window size for the given number of scalars.
T multi_exp(typename std::vector< T >::const_iterator vec_start, typename std::vector< T >::const_iterator vec_end, typename std::vector< FieldT >::const_iterator scalar_start, typename std::vector< FieldT >::const_iterator scalar_end, const size_t chunks)
std::vector< T > batch_exp(const size_t scalar_size, const size_t window, const window_table< T > &table, const std::vector< FieldT > &v)
@ multi_exp_method_BDLO12
std::vector< T > batch_exp_with_coeff(const size_t scalar_size, const size_t window, const window_table< T > &table, const FieldT &coeff, const std::vector< FieldT > &v)
@ multi_exp_method_naive_plain
@ multi_exp_method_BDLO12_signed
Similar to multi_exp_method_BDLO12, but using signed digits.
multi_exp_base_form
Form of base elements passed to multi_exp routines.
T windowed_exp(const size_t scalar_size, const size_t window, const window_table< T > &powers_of_g, const FieldT &pow)