8 #ifndef KC_MULTIEXP_HPP_
9 #define KC_MULTIEXP_HPP_
20 #include <libff/algebra/scalar_multiplication/multiexp.hpp>
26 template<
typename T1,
typename T2, mp_
size_t n>
28 const knowledge_commitment<T1, T2> &base,
29 const libff::bigint<n> &scalar,
30 const size_t scalar_bits);
36 libff::multi_exp_method Method,
37 libff::multi_exp_base_form BaseForm = libff::multi_exp_base_form_normal>
39 const knowledge_commitment_vector<T1, T2> &vec,
42 typename std::vector<FieldT>::const_iterator scalar_start,
43 typename std::vector<FieldT>::const_iterator scalar_end,
46 template<
typename T1,
typename T2,
typename FieldT>
48 const size_t scalar_size,
49 const size_t T1_window,
50 const size_t T2_window,
51 const libff::window_table<T1> &T1_table,
52 const libff::window_table<T2> &T2_table,
53 const FieldT &T1_coeff,
54 const FieldT &T2_coeff,
55 const std::vector<FieldT> &v,
56 const size_t suggested_num_chunks,
57 const bool output_special =
false);
63 #endif // KC_MULTIEXP_HPP_