Issue #77 Remove pointless function

This commit is contained in:
Mat Sutcliffe
2020-08-25 21:50:24 +01:00
parent b6ca52ba7a
commit 4eb496c8e3
4 changed files with 2 additions and 64 deletions

View File

@@ -1,46 +0,0 @@
/* Copyright (C) 2016
* swift project Community / Contributors
*
* This file is part of swift project. It is subject to the license terms in the LICENSE file found in the top-level
* directory of this distribution. No part of swift project, including this file, may be copied, modified, propagated,
* or distributed except according to the terms contained in the LICENSE file.
*/
#include "blackmisc/dictionary.h"
uint BlackMisc::calculateHash(const QList<uint> &values, const char *className)
{
// http://stackoverflow.com/questions/113511/hash-code-implementation/113600#113600
if (values.isEmpty()) return 0;
uint hash = values.first();
for (int i = 1; i < values.size(); i++)
{
hash = 37 * hash + values.at(i);
}
// same values, but different class?
if (className)
{
hash = 37 * hash + qHash(QString(className));
}
return hash;
}
uint BlackMisc::calculateHash(const QList<int> &values, const char *className)
{
QList<uint> list;
uint s = 0;
foreach(int i, values)
{
if (i >= 0)
{
list.append(static_cast<uint>(i));
}
else
{
list.append(static_cast<uint>(i));
list.append(s++);
}
}
return calculateHash(list, className);
}

View File

@@ -537,17 +537,6 @@ namespace BlackMisc
};
}
/*!
* Calculate a single hash value based on a list of individual hash values.
* \param values
* \param className Will be hashed and used as an additional value in the list.
*/
//! @{
BLACKMISC_EXPORT uint calculateHash(const QList<uint> &values, const char *className);
BLACKMISC_EXPORT uint calculateHash(const QList<int> &values, const char *className);
//! @}
} // namespace BlackMisc
#endif // BLACKMISC_DICTIONARY_H

View File

@@ -424,11 +424,9 @@ namespace BlackMisc
template <class MU, class PQ>
uint CPhysicalQuantity<MU, PQ>::getValueHash() const
{
QList<uint> hashs;
// there is no double qHash
// also unit and rounding has to be considered
hashs << qHash(this->valueRoundedWithUnit(MU::defaultUnit()));
return calculateHash(hashs, "PQ");
return qHash(this->valueRoundedWithUnit(MU::defaultUnit()));
}
template <class MU, class PQ>

View File

@@ -149,10 +149,7 @@ namespace BlackMisc
uint CPropertyIndexVariantMap::getValueHash() const
{
// there is no hash for map, so I use this workaround here
const QString s = this->toQString(false);
QList<uint> h;
h << qHash(s);
return BlackMisc::calculateHash(h, "CPropertyIndexVariantMap");
return qHash(this->toQString(false));
}
} // namespace