Hush Full Node software. We were censored from Github, this is where all development happens now.
https://hush.is
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
29 lines
997 B
29 lines
997 B
// Copyright (c) 2016 Jack Grigg
|
|
// Copyright (c) 2016 The Zcash developers
|
|
// Distributed under the MIT software license, see the accompanying
|
|
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
|
|
|
#include <algorithm>
|
|
#include <cassert>
|
|
|
|
// Checks if the intersection of a.indices and b.indices is empty
|
|
template<size_t WIDTH>
|
|
bool DistinctIndices(const FullStepRow<WIDTH>& a, const FullStepRow<WIDTH>& b, size_t len, size_t lenIndices)
|
|
{
|
|
std::vector<eh_index> vIndicesA = a.GetIndices(len, lenIndices);
|
|
std::vector<eh_index> vIndicesB = b.GetIndices(len, lenIndices);
|
|
for(auto const& value1: vIndicesA) {
|
|
for(auto const& value2: vIndicesB) {
|
|
if (value1==value2) {
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
return true;
|
|
}
|
|
|
|
template<size_t WIDTH>
|
|
bool IsValidBranch(const FullStepRow<WIDTH>& a, const size_t len, const unsigned int ilen, const eh_trunc t)
|
|
{
|
|
return TruncateIndex(ArrayToEhIndex(a.hash+len), ilen) == t;
|
|
}
|
|
|