lint: s/trim/lenTrim in src/crypto/equihash.[cpp,h]
Fixes a false positive match to the locale-dependent trim function.
This commit is contained in:
parent
25dafc3872
commit
6b63fdd657
|
@ -236,19 +236,19 @@ FullStepRow<WIDTH>::FullStepRow(const unsigned char* hashIn, size_t hInLen,
|
|||
}
|
||||
|
||||
template<size_t WIDTH> template<size_t W>
|
||||
FullStepRow<WIDTH>::FullStepRow(const FullStepRow<W>& a, const FullStepRow<W>& b, size_t len, size_t lenIndices, int trim) :
|
||||
FullStepRow<WIDTH>::FullStepRow(const FullStepRow<W>& a, const FullStepRow<W>& b, size_t len, size_t lenIndices, int lenTrim) :
|
||||
StepRow<WIDTH> {a}
|
||||
{
|
||||
assert(len+lenIndices <= W);
|
||||
assert(len-trim+(2*lenIndices) <= WIDTH);
|
||||
for (int i = trim; i < len; i++)
|
||||
hash[i-trim] = a.hash[i] ^ b.hash[i];
|
||||
assert(len-lenTrim+(2*lenIndices) <= WIDTH);
|
||||
for (int i = lenTrim; i < len; i++)
|
||||
hash[i-lenTrim] = a.hash[i] ^ b.hash[i];
|
||||
if (a.IndicesBefore(b, len, lenIndices)) {
|
||||
std::copy(a.hash+len, a.hash+len+lenIndices, hash+len-trim);
|
||||
std::copy(b.hash+len, b.hash+len+lenIndices, hash+len-trim+lenIndices);
|
||||
std::copy(a.hash+len, a.hash+len+lenIndices, hash+len-lenTrim);
|
||||
std::copy(b.hash+len, b.hash+len+lenIndices, hash+len-lenTrim+lenIndices);
|
||||
} else {
|
||||
std::copy(b.hash+len, b.hash+len+lenIndices, hash+len-trim);
|
||||
std::copy(a.hash+len, a.hash+len+lenIndices, hash+len-trim+lenIndices);
|
||||
std::copy(b.hash+len, b.hash+len+lenIndices, hash+len-lenTrim);
|
||||
std::copy(a.hash+len, a.hash+len+lenIndices, hash+len-lenTrim+lenIndices);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -303,19 +303,19 @@ TruncatedStepRow<WIDTH>::TruncatedStepRow(const unsigned char* hashIn, size_t hI
|
|||
}
|
||||
|
||||
template<size_t WIDTH> template<size_t W>
|
||||
TruncatedStepRow<WIDTH>::TruncatedStepRow(const TruncatedStepRow<W>& a, const TruncatedStepRow<W>& b, size_t len, size_t lenIndices, int trim) :
|
||||
TruncatedStepRow<WIDTH>::TruncatedStepRow(const TruncatedStepRow<W>& a, const TruncatedStepRow<W>& b, size_t len, size_t lenIndices, int lenTrim) :
|
||||
StepRow<WIDTH> {a}
|
||||
{
|
||||
assert(len+lenIndices <= W);
|
||||
assert(len-trim+(2*lenIndices) <= WIDTH);
|
||||
for (int i = trim; i < len; i++)
|
||||
hash[i-trim] = a.hash[i] ^ b.hash[i];
|
||||
assert(len-lenTrim+(2*lenIndices) <= WIDTH);
|
||||
for (int i = lenTrim; i < len; i++)
|
||||
hash[i-lenTrim] = a.hash[i] ^ b.hash[i];
|
||||
if (a.IndicesBefore(b, len, lenIndices)) {
|
||||
std::copy(a.hash+len, a.hash+len+lenIndices, hash+len-trim);
|
||||
std::copy(b.hash+len, b.hash+len+lenIndices, hash+len-trim+lenIndices);
|
||||
std::copy(a.hash+len, a.hash+len+lenIndices, hash+len-lenTrim);
|
||||
std::copy(b.hash+len, b.hash+len+lenIndices, hash+len-lenTrim+lenIndices);
|
||||
} else {
|
||||
std::copy(b.hash+len, b.hash+len+lenIndices, hash+len-trim);
|
||||
std::copy(a.hash+len, a.hash+len+lenIndices, hash+len-trim+lenIndices);
|
||||
std::copy(b.hash+len, b.hash+len+lenIndices, hash+len-lenTrim);
|
||||
std::copy(a.hash+len, a.hash+len+lenIndices, hash+len-lenTrim+lenIndices);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -129,7 +129,7 @@ public:
|
|||
|
||||
FullStepRow(const FullStepRow<WIDTH>& a) : StepRow<WIDTH> {a} { }
|
||||
template<size_t W>
|
||||
FullStepRow(const FullStepRow<W>& a, const FullStepRow<W>& b, size_t len, size_t lenIndices, int trim);
|
||||
FullStepRow(const FullStepRow<W>& a, const FullStepRow<W>& b, size_t len, size_t lenIndices, int lenTrim);
|
||||
FullStepRow& operator=(const FullStepRow<WIDTH>& a);
|
||||
|
||||
inline bool IndicesBefore(const FullStepRow<WIDTH>& a, size_t len, size_t lenIndices) const { return memcmp(hash+len, a.hash+len, lenIndices) < 0; }
|
||||
|
@ -159,7 +159,7 @@ public:
|
|||
|
||||
TruncatedStepRow(const TruncatedStepRow<WIDTH>& a) : StepRow<WIDTH> {a} { }
|
||||
template<size_t W>
|
||||
TruncatedStepRow(const TruncatedStepRow<W>& a, const TruncatedStepRow<W>& b, size_t len, size_t lenIndices, int trim);
|
||||
TruncatedStepRow(const TruncatedStepRow<W>& a, const TruncatedStepRow<W>& b, size_t len, size_t lenIndices, int lenTrim);
|
||||
TruncatedStepRow& operator=(const TruncatedStepRow<WIDTH>& a);
|
||||
|
||||
inline bool IndicesBefore(const TruncatedStepRow<WIDTH>& a, size_t len, size_t lenIndices) const { return memcmp(hash+len, a.hash+len, lenIndices) < 0; }
|
||||
|
|
Loading…
Reference in New Issue