6 #ifndef CRYPTOPP_EPRECOMP_H 7 #define CRYPTOPP_EPRECOMP_H 22 virtual bool NeedConversions()
const {
return false;}
23 virtual Element ConvertIn(
const Element &v)
const {
return v;}
24 virtual Element ConvertOut(
const Element &v)
const {
return v;}
29 #ifndef CRYPTOPP_MAINTAIN_BACKWARDS_COMPATIBILITY_562 30 virtual ~DL_GroupPrecomputation() {}
40 virtual bool IsInitialized()
const =0;
49 #ifndef CRYPTOPP_MAINTAIN_BACKWARDS_COMPATIBILITY_562 63 bool IsInitialized()
const 64 {
return !m_bases.empty();}
67 {
return group.NeedConversions() ? m_base : m_bases[0];}
74 #ifndef CRYPTOPP_MAINTAIN_BACKWARDS_COMPATIBILITY_562 82 unsigned int m_windowSize;
84 std::vector<Element> m_bases;
89 #ifdef CRYPTOPP_MANUALLY_INSTANTIATE_TEMPLATES 90 #include "eprecomp.cpp"
Abstract base classes that provide a uniform interface to this library.
Classes for performing mathematics over different fields.
Multiple precision integer with arithmetic operations.
Crypto++ library namespace.