Avoid using static inline in headers

This commit is contained in:
Chris Robinson 2018-02-25 13:14:14 -08:00
parent 654a45833a
commit d25398d2c7
2 changed files with 14 additions and 4 deletions

View File

@ -121,6 +121,16 @@ DEFINE_PROPERTYKEY(PKEY_AudioEndpoint_GUID, 0x1da5d803, 0xd492, 0x4edd, 0x8c, 0x
extern inline ALuint NextPowerOf2(ALuint value);
extern inline size_t RoundUp(size_t value, size_t r);
extern inline ALint fastf2i(ALfloat f);
#ifndef __GNUC__
#if defined(HAVE_BITSCANFORWARD64_INTRINSIC)
extern inline int msvc64_ctz64(ALuint64 v);
#elif defined(HAVE_BITSCANFORWARD_INTRINSIC)
extern inline int msvc_ctz64(ALuint64 v);
#else
extern inline int fallback_popcnt64(ALuint64 v);
extern inline int fallback_ctz64(ALuint64 value);
#endif
#endif
int CPUCapFlags = 0;

View File

@ -99,7 +99,7 @@ typedef ALuint64SOFT ALuint64;
#elif defined(HAVE_BITSCANFORWARD64_INTRINSIC)
static inline int msvc64_ctz64(ALuint64 v)
inline int msvc64_ctz64(ALuint64 v)
{
unsigned long idx = 64;
_BitScanForward64(&idx, v);
@ -109,7 +109,7 @@ static inline int msvc64_ctz64(ALuint64 v)
#elif defined(HAVE_BITSCANFORWARD_INTRINSIC)
static inline int msvc_ctz64(ALuint64 v)
inline int msvc_ctz64(ALuint64 v)
{
unsigned long idx = 64;
if(!_BitScanForward(&idx, v&0xffffffff))
@ -130,7 +130,7 @@ static inline int msvc_ctz64(ALuint64 v)
* as the ntz2 variant. These likely aren't the most efficient methods, but
* they're good enough if the GCC or MSVC intrinsics aren't available.
*/
static inline int fallback_popcnt64(ALuint64 v)
inline int fallback_popcnt64(ALuint64 v)
{
v = v - ((v >> 1) & U64(0x5555555555555555));
v = (v & U64(0x3333333333333333)) + ((v >> 2) & U64(0x3333333333333333));
@ -138,7 +138,7 @@ static inline int fallback_popcnt64(ALuint64 v)
return (int)((v * U64(0x0101010101010101)) >> 56);
}
static inline int fallback_ctz64(ALuint64 value)
inline int fallback_ctz64(ALuint64 value)
{
return fallback_popcnt64(~value & (value - 1));
}