#define or ||
#define TRUE 1
#define FALSE 0
+#define PI 3.141592654
#define WEIRDINT (1<<(sizeof(int)*8-1))
#define btoa(EXPR) ((EXPR)?"TRUE":"FALSE")
#define coalesce(VAR,EXPR) (VAR?VAR:(EXPR))
/* variable declarators */
#define Get_obj(ID,MEM,...) MEM ID=get_obj(MEM,__VA_ARGS__)
#define Get_obj_as(ID,COMMUNITY,MEM,...) MEM ID=get_obj_as(COMMUNITY,MEM,INTERFACE,__VA_ARGS__)
-#define I_am(MEM) MEM self=(MEM)community
+#define I_am(SELF,MEM) MEM SELF=(MEM)community
/* .----------------------------------------------------------------------.
/ 9. implementation of C<<1 library functions, updated 2008-01-26 xCh.
'----------------------------------------------------------------------- */
void drawTri(Shape community)
{
- I_am(Tri);
+ I_am(self, Tri);
printf("Drawing %s: %d,%d - %d,%d - %d,%d .\n",
self->name, self->x1, self->y1, self->x2, self->y2, self->x3, self->y3);
void drawRect(Shape community)
{
- I_am(Rect);
+ I_am(self, Rect);
printf("Drawing %s: %d,%d - %d,%d .\n",
self->desc, self->x1, self->y1, self->x2, self->y2);
void drawCirc(Shape community)
{
- I_am(Circ);
+ I_am(self, Circ);
printf("Drawing %s: %d,%d - r=%d .\n",
self->comment, self->x1, self->y1, self->r);
void moveTri(Shape community, int x, int y)
{
- I_am(Tri);
+ I_am(self, Tri);
self->x1 += x;
self->y1 += y;
void moveRect(Shape community, int x, int y)
{
- I_am(Rect);
+ I_am(self, Rect);
self->x1 += x;
self->y1 += y;
void moveCirc(Shape community, int x, int y)
{
- I_am(Circ);
+ I_am(self, Circ);
self->x1 += x;
self->y1 += y;
str descTri(Shape community)
{
- I_am(Tri);
+ I_am(self, Tri);
return self->name;
}
str descRect(Shape community)
{
- I_am(Rect);
+ I_am(self, Rect);
return self->desc;
}
str descCirc(Shape community)
{
- I_am(Circ);
+ I_am(self, Circ);
return self->comment;
}
float calcAreaTri(Shape community)
{
- I_am(Tri);
+ I_am(self, Tri);
return 0;
}
float calcAreaRect(Shape community)
{
- I_am(Rect);
+ I_am(self, Rect);
- return (self->x2-self->x1)*(self->y2-self->y1);
+ return (self->x2 - self->x1)*(self->y2 - self->y1);
}
float calcAreaCirc(Shape community)
{
- I_am(Circ);
+ I_am(self, Circ);
- return 3.14159*self->r*self->r;
+ return PI * self->r * self->r;
}
void setTri(Shape community, int x1, int y1, int x2, int y2, int x3, int y3)
{
- I_am(Tri);
+ I_am(self, Tri);
self->x1 = x1;
self->y1 = y1;
void setRect(Shape community, int x1, int y1, int x2, int y2, int dummy1, int dummy2)
{
- I_am(Rect);
+ I_am(self, Rect);
self->x1 = x1;
self->y1 = y1;
void setCirc(Shape community, int x1, int y1, int r, int dummy1, int dummy2, int dummy3)
{
- I_am(Circ);
+ I_am(self, Circ);
self->x1 = x1;
self->y1 = y1;
void nameRect(Shape community, str name)
{
- I_am(Rect);
+ I_am(self, Rect);
self->desc = name;
}