

void init_structs( int targetclass, struct nwdata *nwd, 
		   struct initdata *initd, struct results *res );

void init_nmax(struct nwdata *nwd, struct initdata *initd );

void init_f( struct nwdata *nwd, struct initdata *initd );

void init_m( struct nwdata *nwd, struct initdata *initd );

void init_q( struct nwdata *nwd, struct initdata *initd );

void init_qq( struct nwdata *nwd, struct initdata *initd );

void init_p( struct nwdata *nwd, struct initdata *initd );

double *unnormp(double r, int n);

double sum(register double *elements, int n);

double *normp(double r, int n);

void print_all( struct nwdata *nwd, struct initdata *initd);

void print_info( struct nwdata *nwd, struct results *res );

void *emalloc( int n);

double **matrix_new_2d( int n, int m );

double ***matrix_new_3d(int k, int n, int m );

int **matrix_new_int_2d( int n, int m );

void matrix_free_2d( double **C, int n, int m );

void matrix_free_3d( double **C[], int k, int n, int m );

void free_all( struct nwdata *nwd, struct initdata *initd, struct results *res );

