unittype
initializeunit(struct unittype * theunit)
showunit(struct unittype * theunit)
addunit(struct unittype * theunit, const char *toadd, int flip)
sortunit(struct unittype * theunit)
cancelunit(struct unittype * theunit)
reduceproduct(struct unittype * theunit, int flip)
reduceunit(struct unittype * theunit)
compareunits(struct unittype * first, struct unittype * second)
compareunitsreciprocal(struct unittype * first, struct unittype * second)
completereduce(struct unittype * unit)
showanswer(struct unittype * have, struct unittype * want)
struct unittype theunit;
static int addunit(struct unittype *, const char *, int);
static void cancelunit(struct unittype *);
static int compareunits(struct unittype *, struct unittype *);
static int compareunitsreciprocal(struct unittype *, struct unittype *);
static int completereduce(struct unittype *);
static void initializeunit(struct unittype *);
struct unittype have, want;
static int reduceproduct(struct unittype *, int);
static int reduceunit(struct unittype *);
static void showanswer(struct unittype *, struct unittype *);
static void showunit(struct unittype *);
static void sortunit(struct unittype *);