for (int icorr=0; icorr<4; icorr++)
for (int jcorr=0; jcorr<4; jcorr++)
for (int itsep=0; itsep<O815->comargs.lsize[1]/2; itsep++) {
- gsl_complex tmpc;
- tmpc.dat[0] = OM[icorr*4+jcorr][itsep].real();
- tmpc.dat[1] = OM[icorr*4+jcorr][itsep].imag();
- gsl_matrix_complex_set(measurements[nthmeas][itsep], icorr, jcorr, tmpc);
+ gsl_matrix_complex_set(measurements[nthmeas][itsep], icorr, jcorr,
+ gsl_complex_rect( OM[icorr*4+jcorr][itsep].real(), OM[icorr*4+jcorr][itsep].imag() ));
}
-
+
for (int icorr=0; icorr<4; icorr++) {
- gsl_complex tmpc;
- tmpc.dat[0] = OM[16][icorr].real();
- tmpc.dat[1] = OM[16][icorr].imag();
- gsl_vector_complex_set(measurements_disco[nthmeas], icorr, tmpc);
+ gsl_vector_complex_set(measurements_disco[nthmeas], icorr,
+ gsl_complex_rect( OM[16][icorr].real(), OM[16][icorr].imag() ) );
}
};
for (int imeas=0; imeas<O815->comargs.nmeas; imeas++)
gsl_matrix_complex_add( totalval, measurements[imeas][itsep] );
-
- // compute mean //
- gsl_complex tmpc2;
- tmpc2.dat[0] = 1.0/O815->comargs.nmeas;
- tmpc2.dat[1] = 0;
+
gsl_matrix_complex_memcpy (tmpmatrix, totalval);
- gsl_matrix_complex_scale (tmpmatrix, tmpc2);
-
+ gsl_matrix_complex_scale (tmpmatrix, gsl_complex_rect(1.0/O815->comargs.nmeas, 0.0) );
for (int icorr=0; icorr<4; icorr++)
for (int jcorr=0; jcorr<4; jcorr++) {
gsl_complex discopart = gsl_complex_mul( gsl_vector_complex_get(totaldisco, icorr),
)
);
}
-
cdiag(jackres, tmpmatrix);
- // END
for (int imeas=0; imeas<O815->comargs.nmeas; imeas++) {
- gsl_complex tmpc;
- tmpc.dat[0] = 1.0/(O815->comargs.nmeas-1);
- tmpc.dat[1] = 0;
-
gsl_matrix_complex_memcpy (tmpmatrix, totalval);
gsl_matrix_complex_sub (tmpmatrix, measurements[imeas][itsep]);
-
- gsl_matrix_complex_scale ( tmpmatrix, tmpc );
-
+ gsl_matrix_complex_scale ( tmpmatrix, gsl_complex_rect(1.0/(O815->comargs.nmeas-1), 0.0) );
gsl_vector_complex_memcpy( tmpvecc, totaldisco );
gsl_vector_complex_sub( tmpvecc, measurements_disco[imeas] );
-
for (int icorr=0; icorr<4; icorr++)
for (int jcorr=0; jcorr<4; jcorr++) {
gsl_complex discopart = gsl_complex_mul( gsl_vector_complex_get(tmpvecc, icorr),
)
);
}
-
cdiag(tmpvec, tmpmatrix);
-
gsl_vector_sub(tmpvec, jackres);
gsl_vector_memcpy(tmpvec2, tmpvec);
gsl_vector_mul(tmpvec, tmpvec2);
-
gsl_vector_add(jackerrornorm, tmpvec);
- }
-
+ }
gsl_vector_scale( jackerrornorm,
(double)(O815->comargs.nmeas-1)/O815->comargs.nmeas );
}
gsl_matrix_complex_free(totalval);
+ gsl_matrix_complex_free(tmpmatrix);
+ gsl_vector_free(tmpvec);
+ gsl_vector_complex_free(tmpvecc);
+ gsl_vector_free(tmpvec2);
+ gsl_vector_free(jackres);
+ gsl_vector_free(jackerrornorm);
+ gsl_vector_complex_free(totaldisco);
};
void obs_diagcorr::corrCompute()