29 #ifndef JUCE_NORMALISABLERANGE_H_INCLUDED
30 #define JUCE_NORMALISABLERANGE_H_INCLUDED
43 template<
typename ValueType>
52 :
start (other.start),
end (other.end),
72 ValueType intervalValue,
74 :
start (rangeStart),
end (rangeEnd),
84 :
start (rangeStart),
end (rangeEnd),
85 interval (intervalValue),
skew (static_cast<ValueType> (1))
93 :
start (rangeStart),
end (rangeEnd),
106 if (
skew != static_cast<ValueType> (1))
107 proportion = std::pow (proportion,
skew);
117 if (
skew != static_cast<ValueType> (1) && proportion > ValueType())
118 proportion = std::exp (std::log (proportion) /
skew);
160 void checkInvariants()
const
163 jassert (interval >= ValueType());
169 #endif // JUCE_NORMALISABLERANGE_H_INCLUDED
#define noexcept
Definition: juce_CompilerSupport.h:141
NormalisableRange(ValueType rangeStart, ValueType rangeEnd) noexcept
Definition: juce_NormalisableRange.h:91
ValueType skew
Definition: juce_NormalisableRange.h:157
NormalisableRange(ValueType rangeStart, ValueType rangeEnd, ValueType intervalValue) noexcept
Definition: juce_NormalisableRange.h:81
NormalisableRange() noexcept
Definition: juce_NormalisableRange.h:48
NormalisableRange & operator=(const NormalisableRange &other) noexcept
Definition: juce_NormalisableRange.h:59
Definition: juce_NormalisableRange.h:44
ValueType snapToLegalValue(ValueType v) const noexcept
Definition: juce_NormalisableRange.h:125
ValueType interval
Definition: juce_NormalisableRange.h:146
ValueType convertFrom0to1(ValueType proportion) const noexcept
Definition: juce_NormalisableRange.h:115
ValueType end
Definition: juce_NormalisableRange.h:143
ValueType start
Definition: juce_NormalisableRange.h:140
ValueType convertTo0to1(ValueType v) const noexcept
Definition: juce_NormalisableRange.h:102
NormalisableRange(const NormalisableRange &other) noexcept
Definition: juce_NormalisableRange.h:51
NormalisableRange(ValueType rangeStart, ValueType rangeEnd, ValueType intervalValue, ValueType skewFactor) noexcept
Definition: juce_NormalisableRange.h:70