Skip to content

gstlal_autocorrelation_chi2.c: modify use of GSL_REAL/GSL_IMAG for GSL 2.7 compatibility

Patrick Godwin requested to merge fix-gsl_2.7_compat into master

As mentioned in #78 (closed), compiling with gstlal with GSL 2.7 causes build issues of the form:

In file included from gstlal_autocorrelation_chi2.c:66:
gstlal_autocorrelation_chi2.c: In function 'gstlal_bankcorrelation_chi2_compute_norms':
gstlal_autocorrelation_chi2.c:493:19: error: lvalue required as unary '&' operand
  493 |    cij = ((float) GSL_REAL(gsl_matrix_complex_get(bankcorrelation_matrix, i, channel)) + (float) GSL_IMAG(gsl_matrix_complex_get(bankcorrelation_matrix, i, channel)) * I);
      |                   ^~~~~~~~
gstlal_autocorrelation_chi2.c:493:98: error: lvalue required as unary '&' operand
  493 |    cij = ((float) GSL_REAL(gsl_matrix_complex_get(bankcorrelation_matrix, i, channel)) + (float) GSL_IMAG(gsl_matrix_complex_get(bankcorrelation_matrix, i, channel)) * I);
      |                                                                                                  ^~~~~~~~
gstlal_autocorrelation_chi2.c: In function 'gstlal_bankcorrelation_chi2_from_peak_float':
gstlal_autocorrelation_chi2.c:530:19: error: lvalue required as unary '&' operand
  530 |    cij = ((float) GSL_REAL(gsl_matrix_complex_get(bcmat, i, j)) + (float) GSL_IMAG(gsl_matrix_complex_get(bcmat, i, j)) * I);
      |                   ^~~~~~~~
gstlal_autocorrelation_chi2.c:530:75: error: lvalue required as unary '&' operand
  530 |    cij = ((float) GSL_REAL(gsl_matrix_complex_get(bcmat, i, j)) + (float) GSL_IMAG(gsl_matrix_complex_get(bcmat, i, j)) * I);
      |                                                                           ^~~~~~~~
make[2]: *** [Makefile:696: libgstlal_la-gstlal_autocorrelation_chi2.lo] Error 1

This solution takes a similar approach as lalsuite in lalsuite#451 (closed) and lalsuite!1634 (merged).

Closes #78 (closed).

Merge request reports