diff options
author | Stephen Hurd <shurd@FreeBSD.org> | 2014-06-27 19:59:47 +0000 |
---|---|---|
committer | Stephen Hurd <shurd@FreeBSD.org> | 2014-06-27 19:59:47 +0000 |
commit | c15329108935faed56c1df69def06e83e01d116f (patch) | |
tree | 6d0abd2c4ddd20ed1b09c14799b937747def1eab /comms/gmfsk/files/patch-src_misc_misc.h | |
parent | 230f3ffa567c52009c76a187de20fd94bdbdbb0b (diff) | |
download | ports-c15329108935faed56c1df69def06e83e01d116f.tar.gz ports-c15329108935faed56c1df69def06e83e01d116f.zip |
Notes
Diffstat (limited to 'comms/gmfsk/files/patch-src_misc_misc.h')
-rw-r--r-- | comms/gmfsk/files/patch-src_misc_misc.h | 235 |
1 files changed, 235 insertions, 0 deletions
diff --git a/comms/gmfsk/files/patch-src_misc_misc.h b/comms/gmfsk/files/patch-src_misc_misc.h new file mode 100644 index 000000000000..53ef4d3d1068 --- /dev/null +++ b/comms/gmfsk/files/patch-src_misc_misc.h @@ -0,0 +1,235 @@ +--- src/misc/misc.h.orig 2004-04-13 05:45:19.000000000 -0700 ++++ src/misc/misc.h 2014-06-21 03:17:38.000000000 -0700 +@@ -27,12 +27,21 @@ + + #include <math.h> + ++#ifdef __OPTIMIZE__ ++#define INLINE_EXTERN static inline ++#else ++#define INLINE_EXTERN extern ++#endif ++ + /* ---------------------------------------------------------------------- */ + + /* + * Hamming weight (number of bits that are ones). + */ +-extern inline unsigned int hweight32(unsigned int w) ++INLINE_EXTERN unsigned int hweight32(unsigned int w) ++#ifndef __OPTIMIZE__ ++; ++#else + { + w = (w & 0x55555555) + ((w >> 1) & 0x55555555); + w = (w & 0x33333333) + ((w >> 2) & 0x33333333); +@@ -41,8 +50,12 @@ + w = (w & 0x0000FFFF) + ((w >> 16) & 0x0000FFFF); + return w; + } ++#endif + +-extern inline unsigned int hweight16(unsigned short w) ++INLINE_EXTERN unsigned int hweight16(unsigned short w) ++#ifndef __OPTIMIZE__ ++; ++#else + { + w = (w & 0x5555) + ((w >> 1) & 0x5555); + w = (w & 0x3333) + ((w >> 2) & 0x3333); +@@ -50,31 +63,43 @@ + w = (w & 0x00FF) + ((w >> 8) & 0x00FF); + return w; + } ++#endif + +-extern inline unsigned int hweight8(unsigned char w) ++INLINE_EXTERN unsigned int hweight8(unsigned char w) ++#ifndef __OPTIMIZE__ ++; ++#else + { + w = (w & 0x55) + ((w >> 1) & 0x55); + w = (w & 0x33) + ((w >> 2) & 0x33); + w = (w & 0x0F) + ((w >> 4) & 0x0F); + return w; + } ++#endif + + /* ---------------------------------------------------------------------- */ + + /* + * Parity function. Return one if `w' has odd number of ones, zero otherwise. + */ +-extern inline int parity(unsigned int w) ++INLINE_EXTERN int parity(unsigned int w) ++#ifndef __OPTIMIZE__ ++; ++#else + { + return hweight32(w) & 1; + } ++#endif + + /* ---------------------------------------------------------------------- */ + + /* + * Reverse order of bits. + */ +-extern inline unsigned int rbits32(unsigned int w) ++INLINE_EXTERN unsigned int rbits32(unsigned int w) ++#ifndef __OPTIMIZE__ ++; ++#else + { + w = ((w >> 1) & 0x55555555) | ((w << 1) & 0xAAAAAAAA); + w = ((w >> 2) & 0x33333333) | ((w << 2) & 0xCCCCCCCC); +@@ -83,8 +108,12 @@ + w = ((w >> 16) & 0x0000FFFF) | ((w << 16) & 0xFFFF0000); + return w; + } ++#endif + +-extern inline unsigned short rbits16(unsigned short w) ++INLINE_EXTERN unsigned short rbits16(unsigned short w) ++#ifndef __OPTIMIZE__ ++; ++#else + { + w = ((w >> 1) & 0x5555) | ((w << 1) & 0xAAAA); + w = ((w >> 2) & 0x3333) | ((w << 2) & 0xCCCC); +@@ -92,21 +121,29 @@ + w = ((w >> 8) & 0x00FF) | ((w << 8) & 0xFF00); + return w; + } ++#endif + +-extern inline unsigned char rbits8(unsigned char w) ++INLINE_EXTERN unsigned char rbits8(unsigned char w) ++#ifndef __OPTIMIZE__ ++; ++#else + { + w = ((w >> 1) & 0x55) | ((w << 1) & 0xFF); + w = ((w >> 2) & 0x33) | ((w << 2) & 0xCC); + w = ((w >> 4) & 0x0F) | ((w << 4) & 0xF0); + return w; + } ++#endif + + /* ---------------------------------------------------------------------- */ +- ++#ifndef FBSD_HAS_LOG2 + /* + * Integer base-2 logarithm + */ +-extern inline int log2(unsigned int x) ++INLINE_EXTERN int log2(unsigned int x) ++#ifndef __OPTIMIZE__ ++; ++#else + { + int y = 0; + +@@ -119,13 +156,17 @@ + + return y; + } +- ++#endif ++#endif + /* ---------------------------------------------------------------------- */ + + /* + * Gray encoding and decoding (8 bit) + */ +-extern inline unsigned char grayencode(unsigned char data) ++INLINE_EXTERN unsigned char grayencode(unsigned char data) ++#ifndef __OPTIMIZE__ ++; ++#else + { + unsigned char bits = data; + +@@ -139,50 +180,75 @@ + + return bits; + } ++#endif + +-extern inline unsigned char graydecode(unsigned char data) ++INLINE_EXTERN unsigned char graydecode(unsigned char data) ++#ifndef __OPTIMIZE__ ++; ++#else + { + return data ^ (data >> 1); + } ++#endif + + /* ---------------------------------------------------------------------- */ + + /* + * Hamming window function + */ +-extern inline double hamming(double x) ++INLINE_EXTERN double hamming(double x) ++#ifndef __OPTIMIZE__ ++; ++#else + { + return 0.54 - 0.46 * cos(2 * M_PI * x); + } ++#endif + + /* ---------------------------------------------------------------------- */ + + /* + * Sinc etc... + */ +-extern inline double sinc(double x) ++INLINE_EXTERN double sinc(double x) ++#ifndef __OPTIMIZE__ ++; ++#else + { + return (fabs(x) < 1e-10) ? 1.0 : (sin(M_PI * x) / (M_PI * x)); + } ++#endif + +-extern inline double cosc(double x) ++INLINE_EXTERN double cosc(double x) ++#ifndef __OPTIMIZE__ ++; ++#else + { + return (fabs(x) < 1e-10) ? 0.0 : ((1.0 - cos(M_PI * x)) / (M_PI * x)); + } ++#endif + + /* ---------------------------------------------------------------------- */ + +-extern inline float clamp(float x, float min, float max) ++INLINE_EXTERN float clamp(float x, float min, float max) ++#ifndef __OPTIMIZE__ ++; ++#else + { + return (x < min) ? min : ((x > max) ? max : x); + } ++#endif + + /* ---------------------------------------------------------------------- */ + +-extern inline float decayavg(float average, float input, float weight) ++INLINE_EXTERN float decayavg(float average, float input, float weight) ++#ifndef __OPTIMIZE__ ++; ++#else + { + return input * (1.0 / weight) + average * (1.0 - (1.0 / weight)); + } ++#endif + + /* ---------------------------------------------------------------------- */ + |