diff options
| author | Wladimir J. van der Laan <[email protected]> | 2014-08-20 13:53:42 +0200 |
|---|---|---|
| committer | Wladimir J. van der Laan <[email protected]> | 2014-08-26 13:25:20 +0200 |
| commit | d1e26d4e71460ffd50c3190385c759b48ab343e9 (patch) | |
| tree | a2455079d68500e91c4c2cd70a0b4df8946b7193 /src/util.h | |
| parent | Merge pull request #4716 (diff) | |
| download | discoin-d1e26d4e71460ffd50c3190385c759b48ab343e9.tar.xz discoin-d1e26d4e71460ffd50c3190385c759b48ab343e9.zip | |
Move CMedianFilter to timedata.cpp
Now that we no longer use the median filter to keep track of
the number of blocks of peers, that's the only place it is used.
Diffstat (limited to 'src/util.h')
| -rw-r--r-- | src/util.h | 56 |
1 files changed, 0 insertions, 56 deletions
diff --git a/src/util.h b/src/util.h index 1fb42a7b7..e813c8680 100644 --- a/src/util.h +++ b/src/util.h @@ -356,62 +356,6 @@ bool TimingResistantEqual(const T& a, const T& b) return accumulator == 0; } -/** Median filter over a stream of values. - * Returns the median of the last N numbers - */ -template <typename T> class CMedianFilter -{ -private: - std::vector<T> vValues; - std::vector<T> vSorted; - unsigned int nSize; -public: - CMedianFilter(unsigned int size, T initial_value): - nSize(size) - { - vValues.reserve(size); - vValues.push_back(initial_value); - vSorted = vValues; - } - - void input(T value) - { - if(vValues.size() == nSize) - { - vValues.erase(vValues.begin()); - } - vValues.push_back(value); - - vSorted.resize(vValues.size()); - std::copy(vValues.begin(), vValues.end(), vSorted.begin()); - std::sort(vSorted.begin(), vSorted.end()); - } - - T median() const - { - int size = vSorted.size(); - assert(size>0); - if(size & 1) // Odd number of elements - { - return vSorted[size/2]; - } - else // Even number of elements - { - return (vSorted[size/2-1] + vSorted[size/2]) / 2; - } - } - - int size() const - { - return vValues.size(); - } - - std::vector<T> sorted () const - { - return vSorted; - } -}; - #ifdef WIN32 inline void SetThreadPriority(int nPriority) { |