 //#define DEFAULT_NBINS 30 
 
 #define CONV_FACTOR 57.2957795 // 180/pi
+
+
+int doCalcRaDec(FILE *infile0, FILE *infile1, FILE *outfile, bool silent_on_GPU_testing, float scale_factor, int nbins, float hist_lower_range, float hist_upper_range, float hist_bin_width, int log_binning_flag, bool two_different_files, float conv_factor_angle);
+
+int doCalcMpc(FILE *infile0, FILE *infile1, FILE *outfile, bool silent_on_GPU_testing, float scale_factor, int nbins, float hist_lower_range, float hist_upper_range, float hist_bin_width, int log_binning_flag, bool two_different_files, float conv_factor_angle);
+
+void getDeviceDiagnostics(int tot_Gals, int n_coords);
 
 ////////////////////////////////////////////////////////////////////////
 // Kernel to calculate angular distances between galaxies and histogram

        printf("Using the same file!\n");
    }
    printf("\n");
    ////////////////////////////////////////////////////////////////////////////
    // Now get the info from the device.
    ////////////////////////////////////////////////////////////////////////////
    if (!silent_on_GPU_testing)
    {
        printf("\n------ CUDA device diagnostics ------\n\n");

        int tot_gals = 100000;
        int nx = SUBMATRIX_SIZE;
        int ncalc = nx * nx;
        int gpu_mem_needed = int(tot_gals * sizeof(float)) * 2; // need to allocate ra, dec.
        printf("Requirements: %d calculations and %d bytes memory on the GPU \n\n", ncalc, gpu_mem_needed);

        int deviceCount = 0;


    float scale_factor = 1.0; // For if we need to convert input to arcsec or arcmin
    float conv_factor_angle = 57.2957795; // 180/pi // For if we need to convert arcdistance to arcsec or arcmin
    int radec_input = 1; // are we using ra/dec coords, or x/y/z coords? 
    bool silent_on_GPU_testing = false;

    ////////////////////////////////////////////////////////////////////////////////
