/* file to store global variables*/

#include <stdio.h>

extern struct io
{
	FILE * pFile;
        FILE * pFile1;
        FILE * pFilereal;
        FILE * pFileimg;
} file;

extern struct ip
{
	char ufile[30];
  	char vfile[30];
  	char wfile[30];
  	char weightsfile[30];
  	char visrealfile[30];
  	char visimgfile[30];
  	char metafile[30];

} in;

extern struct op
{
	char outfile[30];
        char outfile1[30];
        char outfile2[30];
        char outfile3[30];
        char fftfile[30];
        char fftfile2[30];
        char fftfile3[30];
        char logfile[30];
        char extension[30];
        char timingfile[30];

} out;

extern struct meta
{

	long Nmeasures,Nmeasures0;
        long Nvis,Nvis0;
        long Nweights,Nweights0;
        long freq_per_chan,freq_per_chan0;
        long polarisations,polarisations0;
        long Ntimes,Ntimes0;
        double dt,dt0;
        double thours,thours0;
        long baselines,baselines0;
        double uvmin,uvmin0;
        double uvmax,uvmax0;
        double wmin,wmin0;
        double wmax,wmax0;

} metaData;


extern struct time
{
   	double setup_time, process_time, mpi_time, fftw_time, tot_time, kernel_time, reduce_time, compose_time, phase_time;
	double setup_time1, process_time1, mpi_time1, fftw_time1, tot_time1, kernel_time1, reduce_time1, compose_time1, phase_time1;
	double writetime, writetime1;

} timing;

extern char filename[1000];
