From 97b1c7167dab50112096d96cec742930ab1e5c07 Mon Sep 17 00:00:00 2001 From: Uwe Rathmann Date: Fri, 31 Jul 2020 07:40:04 +0200 Subject: [PATCH] fuzzyContains added --- src/common/QskIntervalF.cpp | 15 +++++++++++++++ src/common/QskIntervalF.h | 1 + 2 files changed, 16 insertions(+) diff --git a/src/common/QskIntervalF.cpp b/src/common/QskIntervalF.cpp index 18f0e381..35a59896 100644 --- a/src/common/QskIntervalF.cpp +++ b/src/common/QskIntervalF.cpp @@ -4,6 +4,7 @@ *****************************************************************************/ #include "QskIntervalF.h" +#include "QskFunctions.h" #include void QskIntervalF::unite( const QskIntervalF& other ) noexcept @@ -118,6 +119,20 @@ QskIntervalF QskIntervalF::extended( qreal value ) const noexcept return QskIntervalF( lower, upper ); } +bool QskIntervalF::fuzzyContains( qreal value ) const +{ + if ( !isValid() ) + return false; + + if ( ( value < m_lowerBound ) && !qskFuzzyCompare( value, m_lowerBound ) ) + return false; + + if ( ( value > m_upperBound ) && !qskFuzzyCompare( value, m_upperBound ) ) + return false; + + return true; +} + #ifndef QT_NO_DEBUG_STREAM #include diff --git a/src/common/QskIntervalF.h b/src/common/QskIntervalF.h index f8295a97..77d3c506 100644 --- a/src/common/QskIntervalF.h +++ b/src/common/QskIntervalF.h @@ -37,6 +37,7 @@ class QSK_EXPORT QskIntervalF void setWidth( qreal ) noexcept; constexpr bool contains( qreal value ) const noexcept; + bool fuzzyContains( qreal value ) const; static constexpr QskIntervalF normalized( qreal value1, qreal value2 ) noexcept;