Wire Sysio Wire Sysion 1.0.0
Loading...
Searching...
No Matches
multiexp.hpp File Reference
#include <cstddef>
#include <vector>
#include <libff/algebra/scalar_multiplication/multiexp.tcc>
Include dependency graph for multiexp.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  libff
 

Typedefs

template<typename T >
using libff::window_table = std::vector<std::vector<T> >
 

Enumerations

enum  libff::multi_exp_method { libff::multi_exp_method_naive , libff::multi_exp_method_naive_plain , libff::multi_exp_method_bos_coster , libff::multi_exp_method_BDLO12 }
 

Functions

template<typename T , typename FieldT , multi_exp_method Method>
T libff::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)
 
template<typename T , typename FieldT , multi_exp_method Method>
T libff::multi_exp_with_mixed_addition (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)
 
template<typename T >
T libff::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)
 
template<typename T >
size_t libff::get_exp_window_size (const size_t num_scalars)
 
template<typename T >
window_table< Tlibff::get_window_table (const size_t scalar_size, const size_t window, const T &g)
 
template<typename T , typename FieldT >
T libff::windowed_exp (const size_t scalar_size, const size_t window, const window_table< T > &powers_of_g, const FieldT &pow)
 
template<typename T , typename FieldT >
std::vector< Tlibff::batch_exp (const size_t scalar_size, const size_t window, const window_table< T > &table, const std::vector< FieldT > &v)
 
template<typename T , typename FieldT >
std::vector< Tlibff::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)
 
template<typename T >
void libff::batch_to_special (std::vector< T > &vec)
 

Detailed Description

Declaration of interfaces for multi-exponentiation routines.

Author
This file is part of libff, developed by SCIPR Lab and contributors (see AUTHORS).

Definition in file multiexp.hpp.