| 42 | } |
| 43 | |
| 44 | template <class T> void DL_FixedBasePrecomputationImpl<T>::Load(const DL_GroupPrecomputation<Element> &group, BufferedTransformation &bt) |
| 45 | { |
| 46 | BERSequenceDecoder seq(bt); |
| 47 | word32 version; |
| 48 | BERDecodeUnsigned<word32>(seq, version, INTEGER, 1, 1); |
| 49 | m_exponentBase.BERDecode(seq); |
| 50 | m_windowSize = m_exponentBase.BitCount() - 1; |
| 51 | m_bases.clear(); |
| 52 | while (!seq.EndReached()) |
| 53 | m_bases.push_back(group.BERDecodeElement(seq)); |
| 54 | if (!m_bases.empty() && group.NeedConversions()) |
| 55 | m_base = group.ConvertOut(m_bases[0]); |
| 56 | seq.MessageEnd(); |
| 57 | } |
| 58 | |
| 59 | template <class T> void DL_FixedBasePrecomputationImpl<T>::Save(const DL_GroupPrecomputation<Element> &group, BufferedTransformation &bt) const |
| 60 | { |