2 *****************************************************************************
4 Declaration of interfaces for (square-and-multiply) exponentiation.
6 *****************************************************************************
7 * @author This file is part of libsnark, developed by SCIPR Lab
8 * and contributors (see AUTHORS).
9 * @copyright MIT license (see LICENSE file)
10 *****************************************************************************/
12 #ifndef EXPONENTIATION_HPP_
13 #define EXPONENTIATION_HPP_
17 #include "algebra/fields/bigint.hpp"
21 template<typename FieldT, mp_size_t m>
22 FieldT power(const FieldT &base, const bigint<m> &exponent);
24 template<typename FieldT>
25 FieldT power(const FieldT &base, const unsigned long exponent);
29 #include "algebra/exponentiation/exponentiation.tcc"
31 #endif // EXPONENTIATION_HPP_