Go to the documentation of this file.
30 #define _USE_MATH_DEFINES
40 #define to_radians(x) ( (x) * (M_PI / 180.0 ))
41 #define to_degrees(x) ( (x) * (180.0 / M_PI ))
51 static inline int dequals_mag(
double a,
double b,
double thresh)
53 return (fabs(a-b) < thresh);
56 static inline int isq(
int v)
61 static inline float fsq(
float v)
66 static inline double sq(
double v)
71 static inline double sgn(
double v)
73 return (v>=0) ? 1 : -1;
79 return (
float)(rand() / (RAND_MAX + 1.0));
89 static inline int irand(
int bound)
91 int v = (int) (
randf()*bound);
102 return vin - M_2_PI * floor(vin / M_2_PI);
114 return ref +
mod2pi(vin - ref);
120 return vin - 360 * floor(vin / 360);
130 return (vin % mod + mod) % mod;
136 int v = (int) (theta / M_2_PI * max);
141 assert (v >= 0 && v < max);
146 static inline int imin(
int a,
int b)
148 return (a < b) ? a : b;
151 static inline int imax(
int a,
int b)
153 return (a > b) ? a : b;
156 static inline int64_t
imin64(int64_t a, int64_t b)
158 return (a < b) ? a : b;
161 static inline int64_t
imax64(int64_t a, int64_t b)
163 return (a > b) ? a : b;
166 static inline int iclamp(
int v,
int minv,
int maxv)
171 static inline double dclamp(
double a,
double min,
double max)
180 static inline int fltcmp (
float f1,
float f2)
182 float epsilon = f1-f2;
185 else if (epsilon > 0.0)
191 static inline int dblcmp (
double d1,
double d2)
193 double epsilon = d1-d2;
196 else if (epsilon > 0.0)
static int dequals_mag(double a, double b, double thresh)
static double mod360(double vin)
static int imin(int a, int b)
static double dclamp(double a, double min, double max)
static float signed_randf()
static double mod2pi_ref(double ref, double vin)
static int theta_to_int(double theta, int max)
static int iclamp(int v, int minv, int maxv)
static float fsq(float v)
static int64_t imin64(int64_t a, int64_t b)
static int64_t imax64(int64_t a, int64_t b)
static int mod_positive(int vin, int mod)
static double mod2pi(double vin)
static double sq(double v)
static int imax(int a, int b)
static double sgn(double v)
static int dblcmp(double d1, double d2)
static double mod360_positive(double vin)
static int irand(int bound)
static double mod2pi_positive(double vin)
static int fltcmp(float f1, float f2)
apriltag
Author(s): Edwin Olson
, Max Krogius
autogenerated on Sun Apr 20 2025 02:08:19