Add code conditionally for older macOS SDKs.

CQTexperiment
Christopher Snowhill 2017-07-09 15:01:52 -07:00
parent 9df683829a
commit eb2ff0d600
1 changed files with 23 additions and 0 deletions

View File

@ -52,6 +52,29 @@ double Channel::window_lut[Channel::SINC_SAMPLES + 1];
static const double M_PI = 3.14159265358979323846;
#endif
#if !defined(MAC_OS_X_VERSION_10_13) || (MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_13)
// Code from http://hbfs.wordpress.com/2008/08/05/branchless-equivalents-of-simple-functions/
inline int32_t sex(int32_t x)
{
union
{
// let us suppose long is twice as wide as int
int64_t w;
// should be hi,lo on a big endian machine
struct { int32_t lo, hi; } s;
} z;
z.w = x;
return z.s.hi;
}
inline uint32_t abs(int32_t x)
{
return (x ^ sex(x)) - sex(x);
}
#endif
// Code from http://learningcppisfun.blogspot.com/2010/04/comparing-floating-point-numbers.html
template<typename T> inline bool fEqual(T x, T y, int N = 1)
{