#ifndef _MAIN_H
#define _MAIN_H 

/* Include standard libraries */
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <assert.h>
#include <math.h>

/* G constant */
#define cG 6.672e-11

/* enumeration types */
enum {
  eFalse, eTrue
};

enum {
  eMinX, eMaxX, eMinY, eMaxY, eNBound
};

enum {
  ePos, eVel, eAcc, eNInfo
};

/* user defined types */
typedef char Bool;

typedef struct VectorTag {
  float x;              /* x component */
  float y;              /* y component */
} Vector;

typedef struct ParticleTag {
  int id;               /* particle id */
  int mass;             /* the mass of the particle */
  Vector info[eNInfo];  /* position, velocity, acceleration info */
} Particle;

#endif /* _MAIN_H */






