8#ifndef FIELD_UTILS_HPP_
9#define FIELD_UTILS_HPP_
19template<
typename FieldT>
20typename std::enable_if<std::is_same<FieldT, Double>::value, FieldT>::type
23template<
typename FieldT>
24typename std::enable_if<!std::is_same<FieldT, Double>::value, FieldT>::type
27template<
typename FieldT>
30template<
typename FieldT>
33template<
typename FieldT>
36template<
typename FieldT>
39template<
typename FieldT>
42template<
typename FieldT>
45template<
typename FieldT>
48template<
typename FieldT>
51template<
typename FieldT>
55#include <libff/algebra/fields/field_utils.tcc>
bit_vector convert_field_element_vector_to_bit_vector(const std::vector< FieldT > &v)
std::vector< FieldT > convert_bit_vector_to_field_element_vector(const bit_vector &v)
std::enable_if< std::is_same< FieldT, Double >::value, FieldT >::type get_root_of_unity(const size_t n)
std::vector< FieldT > pack_bit_vector_into_field_element_vector(const bit_vector &v, const size_t chunk_bits)
std::vector< bool > bit_vector
FieldT convert_bit_vector_to_field_element(const bit_vector &v)
std::vector< FieldT > pack_int_vector_into_field_element_vector(const std::vector< size_t > &v, const size_t w)
void batch_invert(std::vector< FieldT > &vec)
bit_vector convert_field_element_to_bit_vector(const FieldT &el)