/* Bard.h -- code poetry (ie ugly things that allow elegant code expression) */ /* create dynamic copy of structure */ #define NewCopy(s,des,src) \ *((des) = (s *)malloc(sizeof(s))) = *(src); /* create dynamic copy of block */ #define NewBlockCopy(des,src,size) \ memcpy(((des) = (char *)malloc(size)),(char *)src,size) /* min,max */ #define maxof(a,b) ((a) >= (b)) ? (a) : (b) #define minof(a,b) ((a) <= (b)) ? (a) : (b)