     */
     
     int n = 2000; // # of data points
-	int m = 5; // # of features per data point (i.e., # of points in the SED for the i^th source)
     
     double mu_norm = 8.5 * log(10);  // Average value of the natural logarithm of the SED normalization
     double sig_norm = 0.5 * log(10);  // Standard deviation in the SED normalization

// Function to compute the conditional log-density of the measurements given the chi value
__device__
double logdensity_meas(double* meas, double* meas_unc, int m, double* chi) {
    
    
    
    
    double centered_meas = meas_i - new_chi;
    double logdens_meas = -0.5 * centered_meas * centered_meas / (meas_unc_i * meas_unc_i);

}

// Function to compute the conditional log-density of the chi values given theta
__device__ __host__
double logdensity_pop(double* chi, double* theta) {
    
}

// Initialize the random number generator state


// Perform the MHA update on the n characteristics, done in parallel on the GPU.
__global__
void update_chi(double* chi, double* meas, double* meas_unc, int n, double* logdens, double* prop_cholfact,
                curandState* state, int current_iter)
{
	int i = blockDim.x * blockIdx.x + threadIdx.x;
