|
@@ -117,7 +117,11 @@
|
117
|
117
|
#define DEGREES(r) ((r)*180.0/M_PI)
|
118
|
118
|
#define HYPOT2(x,y) (sq(x)+sq(y))
|
119
|
119
|
|
|
120
|
+#define CIRCLE_AREA(R) (M_PI * sq(R))
|
|
121
|
+#define CIRCLE_CIRC(R) (2.0 * M_PI * (R))
|
|
122
|
+
|
120
|
123
|
#define SIGN(a) ((a>0)-(a<0))
|
|
124
|
+#define IS_POWER_OF_2(x) ((x) && !((x) & ((x) - 1)))
|
121
|
125
|
|
122
|
126
|
// Macros to contrain values
|
123
|
127
|
#define NOLESS(v,n) do{ if (v < n) v = n; }while(0)
|
|
@@ -184,6 +188,9 @@
|
184
|
188
|
#define PENDING(NOW,SOON) ((long)(NOW-(SOON))<0)
|
185
|
189
|
#define ELAPSED(NOW,SOON) (!PENDING(NOW,SOON))
|
186
|
190
|
|
|
191
|
+#define MMM_TO_MMS(MM_M) ((MM_M)/60.0)
|
|
192
|
+#define MMS_TO_MMM(MM_S) ((MM_S)*60.0)
|
|
193
|
+
|
187
|
194
|
#define NOOP do{} while(0)
|
188
|
195
|
|
189
|
196
|
#define CEILING(x,y) (((x) + (y) - 1) / (y))
|