LMMS
Loading...
Searching...
No Matches
juce_MathsFunctions.h File Reference

Go to the source code of this file.

Classes

struct  juce::MathConstants< FloatType >
struct  juce::TypeHelpers::ParameterType< Type >
struct  juce::TypeHelpers::ParameterType< Type & >
struct  juce::TypeHelpers::ParameterType< Type * >
struct  juce::TypeHelpers::ParameterType< char >
struct  juce::TypeHelpers::ParameterType< unsigned char >
struct  juce::TypeHelpers::ParameterType< short >
struct  juce::TypeHelpers::ParameterType< unsigned short >
struct  juce::TypeHelpers::ParameterType< int >
struct  juce::TypeHelpers::ParameterType< unsigned int >
struct  juce::TypeHelpers::ParameterType< long >
struct  juce::TypeHelpers::ParameterType< unsigned long >
struct  juce::TypeHelpers::ParameterType< int64 >
struct  juce::TypeHelpers::ParameterType< uint64 >
struct  juce::TypeHelpers::ParameterType< bool >
struct  juce::TypeHelpers::ParameterType< float >
struct  juce::TypeHelpers::ParameterType< double >
struct  juce::TypeHelpers::SmallestFloatType< Type >
struct  juce::TypeHelpers::SmallestFloatType< double >
struct  juce::TypeHelpers::UnsignedTypeWithSize< bytes >
struct  juce::TypeHelpers::UnsignedTypeWithSize< 1 >
struct  juce::TypeHelpers::UnsignedTypeWithSize< 2 >
struct  juce::TypeHelpers::UnsignedTypeWithSize< 4 >
struct  juce::TypeHelpers::UnsignedTypeWithSize< 8 >

Namespaces

namespace  juce
namespace  juce::TypeHelpers

Macros

#define literal64bit(longLiteral)
#define JUCE_UNDENORMALISE(x)

Typedefs

using juce::int8 = signed char
using juce::uint8 = unsigned char
using juce::int16 = signed short
using juce::uint16 = unsigned short
using juce::int32 = signed int
using juce::uint32 = unsigned int
using juce::int64 = long long
using juce::uint64 = unsigned long long
using juce::pointer_sized_int = int
using juce::pointer_sized_uint = unsigned int

Functions

template<typename Type>
constexpr Type juce::jmax (Type a, Type b)
template<typename Type>
constexpr Type juce::jmax (Type a, Type b, Type c)
template<typename Type>
constexpr Type juce::jmax (Type a, Type b, Type c, Type d)
template<typename Type>
constexpr Type juce::jmin (Type a, Type b)
template<typename Type>
constexpr Type juce::jmin (Type a, Type b, Type c)
template<typename Type>
constexpr Type juce::jmin (Type a, Type b, Type c, Type d)
template<typename Type>
constexpr Type juce::jmap (Type value0To1, Type targetRangeMin, Type targetRangeMax)
template<typename Type>
Type juce::jmap (Type sourceValue, Type sourceRangeMin, Type sourceRangeMax, Type targetRangeMin, Type targetRangeMax)
template<typename Type>
Type juce::mapToLog10 (Type value0To1, Type logRangeMin, Type logRangeMax)
template<typename Type>
Type juce::mapFromLog10 (Type valueInLogRange, Type logRangeMin, Type logRangeMax)
template<typename Type, typename Size>
Type juce::findMinimum (const Type *data, Size numValues)
template<typename Type, typename Size>
Type juce::findMaximum (const Type *values, Size numValues)
template<typename Type>
void juce::findMinAndMax (const Type *values, int numValues, Type &lowest, Type &highest)
template<typename Type>
Type juce::jlimit (Type lowerLimit, Type upperLimit, Type valueToConstrain) noexcept
template<typename Type1, typename Type2>
bool juce::isPositiveAndBelow (Type1 valueToTest, Type2 upperLimit) noexcept
template<typename Type>
bool juce::isPositiveAndBelow (int valueToTest, Type upperLimit) noexcept
template<typename Type1, typename Type2>
bool juce::isPositiveAndNotGreaterThan (Type1 valueToTest, Type2 upperLimit) noexcept
template<typename Type>
bool juce::isPositiveAndNotGreaterThan (int valueToTest, Type upperLimit) noexcept
template<typename Type>
bool juce::isWithin (Type a, Type b, Type tolerance) noexcept
template<typename Type>
bool juce::approximatelyEqual (Type a, Type b) noexcept
template<typename... Types>
void juce::ignoreUnused (Types &&...) noexcept
template<typename Type, size_t N>
constexpr int juce::numElementsInArray (Type(&)[N]) noexcept
template<typename Type>
Type juce::juce_hypot (Type a, Type b) noexcept
template<>
float juce::juce_hypot (float a, float b) noexcept
template<typename FloatType>
constexpr FloatType juce::degreesToRadians (FloatType degrees) noexcept
template<typename FloatType>
constexpr FloatType juce::radiansToDegrees (FloatType radians) noexcept
template<typename NumericType>
bool juce::juce_isfinite (NumericType) noexcept
template<>
bool juce::juce_isfinite (float value) noexcept
template<>
bool juce::juce_isfinite (double value) noexcept
template<typename FloatType>
int juce::roundToInt (const FloatType value) noexcept
int juce::roundToInt (int value) noexcept
int juce::roundToIntAccurate (double value) noexcept
template<typename FloatType>
unsigned int juce::truncatePositiveToUnsignedInt (FloatType value) noexcept
template<typename IntegerType>
constexpr bool juce::isPowerOfTwo (IntegerType value)
int juce::nextPowerOfTwo (int n) noexcept
int juce::findHighestSetBit (uint32 n) noexcept
int juce::countNumberOfBits (uint32 n) noexcept
int juce::countNumberOfBits (uint64 n) noexcept
template<typename IntegerType>
IntegerType juce::negativeAwareModulo (IntegerType dividend, const IntegerType divisor) noexcept
template<typename NumericType>
constexpr NumericType juce::square (NumericType n) noexcept
void juce::writeLittleEndianBitsInBuffer (void *buffer, uint32 startBit, uint32 numBits, uint32 value) noexcept
uint32 juce::readLittleEndianBitsInBuffer (const void *buffer, uint32 startBit, uint32 numBits) noexcept
int juce::roundDoubleToInt (double value) noexcept
int juce::roundFloatToInt (float value) noexcept
int64 juce::abs64 (int64 n) noexcept

Variables

const constexpr double juce::double_Pi = MathConstants<double>::pi
const constexpr float juce::float_Pi = MathConstants<float>::pi

Macro Definition Documentation

◆ JUCE_UNDENORMALISE

#define JUCE_UNDENORMALISE ( x)

◆ literal64bit

#define literal64bit ( longLiteral)
Value:
(longLiteral##LL)

A macro for creating 64-bit literals. Historically, this was needed to support portability with MSVC6, and is kept here so that old code will still compile, but nowadays every compiler will support the LL and ULL suffixes, so you should use those in preference to this macro.