23#if ! defined (DOXYGEN) && (JUCE_MAC || JUCE_IOS)
24 #include <libkern/OSByteOrder.h>
62 static double swap (
double value)
noexcept;
66 template <
typename Type>
69 #if JUCE_LITTLE_ENDIAN
77 template <
typename Type>
80 #if JUCE_LITTLE_ENDIAN
89 constexpr static uint32 littleEndianInt (
const void* bytes)
noexcept;
92 constexpr static uint64 littleEndianInt64 (
const void* bytes)
noexcept;
95 constexpr static uint16 littleEndianShort (
const void* bytes)
noexcept;
98 constexpr static int littleEndian24Bit (
const void* bytes)
noexcept;
101 static void littleEndian24BitToChars (
int32 value,
void* destBytes)
noexcept;
105 constexpr static uint32 bigEndianInt (
const void* bytes)
noexcept;
108 constexpr static uint64 bigEndianInt64 (
const void* bytes)
noexcept;
111 constexpr static uint16 bigEndianShort (
const void* bytes)
noexcept;
114 constexpr static int bigEndian24Bit (
const void* bytes)
noexcept;
117 static void bigEndian24BitToChars (
int32 value,
void* destBytes)
noexcept;
134 #if JUCE_LITTLE_ENDIAN
154#if JUCE_MSVC && ! defined (__INTEL_COMPILER)
155 #pragma intrinsic (_byteswap_ulong)
160 #if JUCE_MAC || JUCE_IOS
161 return OSSwapInt32 (
n);
162 #elif (JUCE_GCC || JUCE_CLANG) && JUCE_INTEL && ! JUCE_NO_INLINE_ASM
163 asm(
"bswap %%eax" :
"=a"(
n) :
"a"(
n));
166 return _byteswap_ulong (
n);
170 return (
n << 24) | (
n >> 24) | ((
n & 0xff00) << 8) | ((
n & 0xff0000) >> 8);
176 #if JUCE_MAC || JUCE_IOS
177 return OSSwapInt64 (
value);
179 return _byteswap_uint64 (
value);
187 return static_cast<uint16> (
static_cast<uint16> (b0) | (
static_cast<uint16> (b1) << 8));
192 return static_cast<uint32> (b0) | (
static_cast<uint32> (b1) << 8)
193 | (
static_cast<uint32> (b2) << 16) | (
static_cast<uint32> (b3) << 24);
198 return static_cast<uint64> (b0) | (
static_cast<uint64> (b1) << 8) | (
static_cast<uint64> (b2) << 16) | (
static_cast<uint64> (b3) << 24)
199 | (
static_cast<uint64> (b4) << 32) | (
static_cast<uint64> (b5) << 40) | (
static_cast<uint64> (b6) << 48) | (
static_cast<uint64> (b7) << 56);
204 static_cast<const uint8*
> (bytes)[2],
static_cast<const uint8*
> (bytes)[3]); }
206 static_cast<const uint8*
> (bytes)[2],
static_cast<const uint8*
> (bytes)[3],
207 static_cast<const uint8*
> (bytes)[4],
static_cast<const uint8*
> (bytes)[5],
208 static_cast<const uint8*
> (bytes)[6],
static_cast<const uint8*
> (bytes)[7]); }
212 static_cast<const uint8*
> (bytes)[1],
static_cast<const uint8*
> (bytes)[0]); }
214 static_cast<const uint8*
> (bytes)[5],
static_cast<const uint8*
> (bytes)[4],
215 static_cast<const uint8*
> (bytes)[3],
static_cast<const uint8*
> (bytes)[2],
216 static_cast<const uint8*
> (bytes)[1],
static_cast<const uint8*
> (bytes)[0]); }
#define noexcept
Definition DistrhoDefines.h:72
static void littleEndian24BitToChars(int value, void *destBytes) noexcept
Definition ByteOrder.h:247
static uint32 littleEndianInt(const void *bytes) noexcept
Definition ByteOrder.h:236
static uint64 bigEndianInt64(const void *bytes) noexcept
Definition ByteOrder.h:240
static uint64 littleEndianInt64(const void *bytes) noexcept
Definition ByteOrder.h:237
static void bigEndian24BitToChars(int value, void *destBytes) noexcept
Definition ByteOrder.h:248
static uint16 bigEndianShort(const void *bytes) noexcept
Definition ByteOrder.h:241
static uint32 bigEndianInt(const void *bytes) noexcept
Definition ByteOrder.h:239
static uint16 littleEndianShort(const void *bytes) noexcept
Definition ByteOrder.h:238
static uint16 swap(uint16 value) noexcept
Definition ByteOrder.h:151
static int littleEndian24Bit(const void *bytes) noexcept
Definition ByteOrder.h:245
static int bigEndian24Bit(const void *bytes) noexcept
Definition ByteOrder.h:246
static Type swapIfLittleEndian(Type value) noexcept
Definition juce_ByteOrder.h:78
static constexpr uint16 makeInt(uint8 leastSig, uint8 mostSig) noexcept
Definition juce_ByteOrder.h:185
static constexpr uint16 swap(uint16 value) noexcept
Definition juce_ByteOrder.h:147
static Type swapIfBigEndian(Type value) noexcept
Definition juce_ByteOrder.h:67
static constexpr bool isBigEndian() noexcept
Definition juce_ByteOrder.h:132
unsigned v[N_MAX]
Definition inflate.c:1584
static PuglViewHint int value
Definition pugl.h:1708
#define JUCE_API
Definition juce_StandardHeader.h:152
Definition carla_juce.cpp:31
unsigned short uint16
Definition juce_MathsFunctions.h:41
unsigned long long uint64
Definition juce_MathsFunctions.h:56
unsigned int uint32
Definition juce_MathsFunctions.h:45
signed short int16
Definition juce_MathsFunctions.h:39
long long int64
Definition juce_MathsFunctions.h:54
signed char int8
Definition juce_MathsFunctions.h:35
signed int int32
Definition juce_MathsFunctions.h:43
unsigned char uint8
Definition juce_MathsFunctions.h:37
int n
Definition crypt.c:458