mirror of
https://github.com/juce-framework/JUCE.git
synced 2026-01-10 23:44:24 +00:00
Global: Avoid floating-point equality checks where possible
This commit is contained in:
parent
081b1ff216
commit
28414a6af8
150 changed files with 762 additions and 672 deletions
|
|
@ -73,7 +73,7 @@ private:
|
|||
sign = (sincPosition < 0 ? -1 : 1);
|
||||
}
|
||||
|
||||
if (sincPosition == 0.0f)
|
||||
if (approximatelyEqual (sincPosition, 0.0f))
|
||||
result += inputs[samplePosition];
|
||||
else if (sincPosition < floatCrossings && sincPosition > -floatCrossings)
|
||||
result += inputs[samplePosition] * windowedSinc (firstFrac, index);
|
||||
|
|
|
|||
|
|
@ -237,7 +237,8 @@ public:
|
|||
SmoothedValue (FloatType initialValue) noexcept
|
||||
{
|
||||
// Multiplicative smoothed values cannot ever reach 0!
|
||||
jassert (! (std::is_same_v<SmoothingType, ValueSmoothingTypes::Multiplicative> && initialValue == 0));
|
||||
jassert (! (std::is_same_v<SmoothingType, ValueSmoothingTypes::Multiplicative>
|
||||
&& approximatelyEqual (initialValue, (FloatType) 0)));
|
||||
|
||||
// Visual Studio can't handle base class initialisation with CRTP
|
||||
this->currentValue = initialValue;
|
||||
|
|
@ -270,7 +271,7 @@ public:
|
|||
*/
|
||||
void setTargetValue (FloatType newValue) noexcept
|
||||
{
|
||||
if (newValue == this->target)
|
||||
if (approximatelyEqual (newValue, this->target))
|
||||
return;
|
||||
|
||||
if (stepsToTarget <= 0)
|
||||
|
|
@ -280,7 +281,8 @@ public:
|
|||
}
|
||||
|
||||
// Multiplicative smoothed values cannot ever reach 0!
|
||||
jassert (! (std::is_same_v<SmoothingType, ValueSmoothingTypes::Multiplicative> && newValue == 0));
|
||||
jassert (! (std::is_same_v<SmoothingType, ValueSmoothingTypes::Multiplicative>
|
||||
&& approximatelyEqual (newValue, (FloatType) 0)));
|
||||
|
||||
this->target = newValue;
|
||||
this->countdown = stepsToTarget;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue