48 # define M_TWOPI 6.2831853071795862319959 52 # define M_PI 3.141592653589793238462643383279502884196 55 #define to_radians(x) ( (x) * (M_PI / 180.0 )) 56 #define to_degrees(x) ( (x) * (180.0 / M_PI )) 58 #define max(A, B) (A < B ? B : A) 59 #define min(A, B) (A < B ? A : B) 69 static inline int dequals_mag(
double a,
double b,
double thresh)
71 return (fabs(a-b) < thresh);
74 static inline int isq(
int v)
79 static inline float fsq(
float v)
84 static inline double sq(
double v)
89 static inline double sgn(
double v)
91 return (v>=0) ? 1 : -1;
97 return ((
float) rand()) / (RAND_MAX + 1.0);
103 return randf()*2 - 1;
109 int v = (int) (
randf()*bound);
132 return ref +
mod2pi(vin - ref);
138 return vin - 360 * floor(vin / 360);
150 int v = (int) (theta /
M_TWOPI * max);
155 assert (v >= 0 && v < max);
160 static inline int imin(
int a,
int b)
162 return (a < b) ? a : b;
165 static inline int imax(
int a,
int b)
167 return (a > b) ? a : b;
170 static inline int64_t
imin64(int64_t a, int64_t b)
172 return (a < b) ? a : b;
175 static inline int64_t
imax64(int64_t a, int64_t b)
177 return (a > b) ? a : b;
180 static inline int iclamp(
int v,
int minv,
int maxv)
194 static inline int fltcmp (
float f1,
float f2)
196 float epsilon = f1-f2;
199 else if (epsilon > 0.0)
205 static inline int dblcmp (
double d1,
double d2)
207 double epsilon = d1-d2;
210 else if (epsilon > 0.0)
static int iclamp(int v, int minv, int maxv)
static int dblcmp(double d1, double d2)
static double mod360_positive(double vin)
static int irand(int bound)
static int imax(int a, int b)
static double sgn(double v)
static double mod2pi(double vin)
static int fltcmp(float f1, float f2)
static double sq(double v)
static int imin(int a, int b)
static float fsq(float v)
static double mod360(double vin)
static float signed_randf()
static int64_t imin64(int64_t a, int64_t b)
static double mod2pi_ref(double ref, double vin)
static double dclamp(double a, double min, double max)
static int64_t imax64(int64_t a, int64_t b)
static int theta_to_int(double theta, int max)
static int dequals_mag(double a, double b, double thresh)
static double mod2pi_positive(double vin)