GNU Radio 3.7.1 C++ API
|
00001 #ifndef _MSC_VER // [ 00002 #error "Use this header only with Microsoft Visual C++ compilers!" 00003 #endif // _MSC_VER ] 00004 00005 #ifndef _MSC_CONFIG_H_ // [ 00006 #define _MSC_CONFIG_H_ 00007 00008 //////////////////////////////////////////////////////////////////////// 00009 // enable inline functions for C code 00010 //////////////////////////////////////////////////////////////////////// 00011 #ifndef __cplusplus 00012 # define inline __inline 00013 #endif 00014 00015 //////////////////////////////////////////////////////////////////////// 00016 // signed size_t 00017 //////////////////////////////////////////////////////////////////////// 00018 #include <stddef.h> 00019 typedef ptrdiff_t ssize_t; 00020 00021 //////////////////////////////////////////////////////////////////////// 00022 // rint functions 00023 //////////////////////////////////////////////////////////////////////// 00024 #include <math.h> 00025 static inline long lrint(double x){return (long)(x > 0.0 ? x + 0.5 : x - 0.5);} 00026 static inline long lrintf(float x){return (long)(x > 0.0f ? x + 0.5f : x - 0.5f);} 00027 static inline long long llrint(double x){return (long long)(x > 0.0 ? x + 0.5 : x - 0.5);} 00028 static inline long long llrintf(float x){return (long long)(x > 0.0f ? x + 0.5f : x - 0.5f);} 00029 static inline double rint(double x){return (x > 0.0)? floor(x + 0.5) : ceil(x - 0.5);} 00030 static inline float rintf(float x){return (x > 0.0f)? floorf(x + 0.5f) : ceilf(x - 0.5f);} 00031 00032 //////////////////////////////////////////////////////////////////////// 00033 // math constants 00034 //////////////////////////////////////////////////////////////////////// 00035 #define INFINITY HUGE_VAL 00036 00037 # define M_E 2.7182818284590452354 /* e */ 00038 # define M_LOG2E 1.4426950408889634074 /* log_2 e */ 00039 # define M_LOG10E 0.43429448190325182765 /* log_10 e */ 00040 # define M_LN2 0.69314718055994530942 /* log_e 2 */ 00041 # define M_LN10 2.30258509299404568402 /* log_e 10 */ 00042 # define M_PI 3.14159265358979323846 /* pi */ 00043 # define M_PI_2 1.57079632679489661923 /* pi/2 */ 00044 # define M_PI_4 0.78539816339744830962 /* pi/4 */ 00045 # define M_1_PI 0.31830988618379067154 /* 1/pi */ 00046 # define M_2_PI 0.63661977236758134308 /* 2/pi */ 00047 # define M_2_SQRTPI 1.12837916709551257390 /* 2/sqrt(pi) */ 00048 # define M_SQRT2 1.41421356237309504880 /* sqrt(2) */ 00049 # define M_SQRT1_2 0.70710678118654752440 /* 1/sqrt(2) */ 00050 00051 //////////////////////////////////////////////////////////////////////// 00052 // random and srandom 00053 //////////////////////////////////////////////////////////////////////// 00054 #include <stdlib.h> 00055 static inline long int random (void) { return rand(); } 00056 static inline void srandom (unsigned int seed) { srand(seed); } 00057 00058 #endif // _MSC_CONFIG_H_ ]