Cleared warnings on WindowSlider struct

reviewable/pr7/r1
Jeffrey Walton 2015-07-13 21:40:42 -04:00
parent b5ed163c87
commit e78b8fe1df
2 changed files with 32 additions and 31 deletions

View File

@ -206,49 +206,50 @@ template <class Element, class Iterator> Element GeneralCascadeMultiplication(co
struct WindowSlider struct WindowSlider
{ {
WindowSlider(const Integer &expIn, bool fastNegate, unsigned int windowSizeIn=0) WindowSlider(const Integer &expIn, bool fastNegate, unsigned int windowSizeIn=0)
: exp(expIn), windowModulus(Integer::One()), windowSize(windowSizeIn), windowBegin(0), fastNegate(fastNegate), firstTime(true), finished(false) : m_exp(expIn), m_windowModulus(Integer::One()), m_windowSize(windowSizeIn), m_windowBegin(0), m_fastNegate(fastNegate), m_firstTime(true), m_finished(false)
{ {
if (windowSize == 0) if (m_windowSize == 0)
{ {
unsigned int expLen = exp.BitCount(); const unsigned int expLen = m_exp.BitCount();
windowSize = expLen <= 17 ? 1 : (expLen <= 24 ? 2 : (expLen <= 70 ? 3 : (expLen <= 197 ? 4 : (expLen <= 539 ? 5 : (expLen <= 1434 ? 6 : 7))))); m_windowSize = expLen <= 17 ? 1 : (expLen <= 24 ? 2 : (expLen <= 70 ? 3 : (expLen <= 197 ? 4 : (expLen <= 539 ? 5 : (expLen <= 1434 ? 6 : 7)))));
} }
windowModulus <<= windowSize; m_windowModulus <<= m_windowSize;
} }
void FindNextWindow() void FindNextWindow()
{ {
unsigned int expLen = exp.WordCount() * WORD_BITS; const unsigned int expLen = m_exp.WordCount() * WORD_BITS;
unsigned int skipCount = firstTime ? 0 : windowSize; unsigned int skipCount = m_firstTime ? 0 : m_windowSize;
firstTime = false; m_firstTime = false;
while (!exp.GetBit(skipCount))
while (!m_exp.GetBit(skipCount))
{ {
if (skipCount >= expLen) if (skipCount >= expLen)
{ {
finished = true; m_finished = true;
return; return;
} }
skipCount++; skipCount++;
} }
exp >>= skipCount; m_exp >>= skipCount;
windowBegin += skipCount; m_windowBegin += skipCount;
expWindow = word32(exp % (word(1) << windowSize)); m_expWindow = word32(m_exp % (word(1) << m_windowSize));
if (fastNegate && exp.GetBit(windowSize)) if (m_fastNegate && m_exp.GetBit(m_windowSize))
{ {
negateNext = true; m_negateNext = true;
expWindow = (word32(1) << windowSize) - expWindow; m_expWindow = (word32(1) << m_windowSize) - m_expWindow;
exp += windowModulus; m_exp += m_windowModulus;
} }
else else
negateNext = false; m_negateNext = false;
} }
Integer exp, windowModulus; Integer m_exp, m_windowModulus;
unsigned int windowSize, windowBegin; unsigned int m_windowSize, m_windowBegin;
word32 expWindow; word32 m_expWindow;
bool fastNegate, negateNext, firstTime, finished; bool m_fastNegate, m_negateNext, m_firstTime, m_finished;
}; };
template <class T> template <class T>
@ -264,7 +265,7 @@ void AbstractGroup<T>::SimultaneousMultiply(T *results, const T &base, const Int
assert(expBegin->NotNegative()); assert(expBegin->NotNegative());
exponents.push_back(WindowSlider(*expBegin++, InversionIsFast(), 0)); exponents.push_back(WindowSlider(*expBegin++, InversionIsFast(), 0));
exponents[i].FindNextWindow(); exponents[i].FindNextWindow();
buckets[i].resize(1<<(exponents[i].windowSize-1), Identity()); buckets[i].resize(1<<(exponents[i].m_windowSize-1), Identity());
} }
unsigned int expBitPosition = 0; unsigned int expBitPosition = 0;
@ -276,16 +277,16 @@ void AbstractGroup<T>::SimultaneousMultiply(T *results, const T &base, const Int
notDone = false; notDone = false;
for (i=0; i<expCount; i++) for (i=0; i<expCount; i++)
{ {
if (!exponents[i].finished && expBitPosition == exponents[i].windowBegin) if (!exponents[i].m_finished && expBitPosition == exponents[i].m_windowBegin)
{ {
Element &bucket = buckets[i][exponents[i].expWindow/2]; Element &bucket = buckets[i][exponents[i].m_expWindow/2];
if (exponents[i].negateNext) if (exponents[i].m_negateNext)
Accumulate(bucket, Inverse(g)); Accumulate(bucket, Inverse(g));
else else
Accumulate(bucket, g); Accumulate(bucket, g);
exponents[i].FindNextWindow(); exponents[i].FindNextWindow();
} }
notDone = notDone || !exponents[i].finished; notDone = notDone || !exponents[i].m_finished;
} }
if (notDone) if (notDone)

View File

@ -395,7 +395,7 @@ void ECP::SimultaneousMultiply(ECP::Point *results, const ECP::Point &P, const I
bool baseAdded = false; bool baseAdded = false;
for (i=0; i<expCount; i++) for (i=0; i<expCount; i++)
{ {
if (!exponents[i].finished && expBitPosition == exponents[i].windowBegin) if (!exponents[i].m_finished && expBitPosition == exponents[i].m_windowBegin)
{ {
if (!baseAdded) if (!baseAdded)
{ {
@ -403,13 +403,13 @@ void ECP::SimultaneousMultiply(ECP::Point *results, const ECP::Point &P, const I
baseAdded =true; baseAdded =true;
} }
exponentWindows[i].push_back(exponents[i].expWindow); exponentWindows[i].push_back(exponents[i].m_expWindow);
baseIndices[i].push_back((word32)bases.size()-1); baseIndices[i].push_back((word32)bases.size()-1);
negateBase[i].push_back(exponents[i].negateNext); negateBase[i].push_back(exponents[i].m_negateNext);
exponents[i].FindNextWindow(); exponents[i].FindNextWindow();
} }
notDone = notDone || !exponents[i].finished; notDone = notDone || !exponents[i].m_finished;
} }
if (notDone) if (notDone)