/*
 *	Macros.  Not necessarily intended to be comprehensible.
 */

#define round(x) ( (int)( (x)>=0 ? (x)+0.5 : (x)-0.5 ) )
#define TRUE	(1==1)
#define FALSE	(1==0)
#define EPS	1.0e-4

/*
 *	These data types are used everywhere.
 */

typedef struct {
		double x,y,z;
		} RealPoint3D;

typedef struct {
		double x,y;
		} RealPoint2D;

typedef struct {
		int x,y;
		} IntPoint2D;

/*
 *	External function declarations for Plot.c module.
 */
void Plot2D( /*
	double	x( double t ),
	double	y( double t ),
	double	t0, double t1,
	int	nt
	*/
	);

void Plot3D( /*
	double	x( double s,t );
	double	y( double s,t );
	double	z( double s,t );
	double	t0, t1;
	int	nt;
	double	s0,s1;
	int	ns;
	*/ );

void SetRotation(  /* double x,y,z */ );
void SetScale( /* double x,y */ );
void SetOffset( /* int x,y */ );
void SetColour( /* int c */ );
