/*! * * Copyright (c) 2019-2020 Diality Inc. - All Rights Reserved. * \copyright * THIS CODE MAY NOT BE COPIED OR REPRODUCED IN ANY FORM, * IN PART OR IN WHOLE, * WITHOUT THE EXPLICIT PERMISSION OF THE COPYRIGHT OWNER. * * \file types.cpp * \date 12/26/2019 * \author Behrouz NematiPour * */ #include "types.h" // Qt // Project bool Types::floatCompare(float f1, float f2) { static constexpr auto epsilon = 1.0e-05f; if (qAbs(f1 - f2) <= epsilon) return true; return qAbs(f1 - f2) <= epsilon * qMax(qAbs(f1), qAbs(f2)); } bool Types::getBits(const QByteArray &vData, int &vStartIndex, QBitArray &vFlags, int vLen) { vFlags.clear(); QByteArray data = vData.mid(vStartIndex, vLen); if (data.length() * 8 < vLen ) return false; vFlags = QBitArray::fromBits(data, vLen); return true; }