cdirt/ascii/
cdirt/data/BULL/
cdirt/data/ZONES/PENDING/
cdirt/pending/
cdirt/src/utils/
cdirt/utils/
#ifndef _MACROS_H
#define _MACROS_H

#define min(x,y)                ((x)>(y)?(y):(x))
#define max(x,y)                ((x)<(y)?(y):(x))
#define arraysize(a)            (sizeof(a)/sizeof(a[0]))
#define EVEN(N)                 (((N)&1) == 0)
#define ODD(N)                  (((N)&1) != 0)

#define setbits(W,F)		((W) |= (F))
#define clrbits(W,F)		((W) &= ~(F))

/* Extracts the bits in mask M from W */
#define bits(W,M)		((W) & (M))

#define xsetbit(W,V)		setbits((W),(1 << V))
#define xclrbit(W,V)		clrbits((W),(1 << V))
#define xtstbit(W,V)	       	((V >= 0) ? bits(W, (1 << V)) : 0)

#define my_random()             ((unsigned int)(rand() >> 8))
#define rnd(X) 			(X > 0 ? (rand() % X +1) : 0)
#endif