From e8d2de0bf135d48e043f874ef72e1cd34b0f699f Mon Sep 17 00:00:00 2001 From: Patrick Godwin <patrick.godwin@ligo.org> Date: Sun, 26 Aug 2018 09:36:54 -0700 Subject: [PATCH] gstlal_peakfinder.c: save result of abs value of SNR in gstlal_peak_max_over_channels() to avoid repeated evaluation --- gstlal/lib/gstlal/gstlal_peakfinder.c | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/gstlal/lib/gstlal/gstlal_peakfinder.c b/gstlal/lib/gstlal/gstlal_peakfinder.c index 477493e196..2411ee20c7 100644 --- a/gstlal/lib/gstlal/gstlal_peakfinder.c +++ b/gstlal/lib/gstlal/gstlal_peakfinder.c @@ -208,12 +208,14 @@ int gstlal_peak_max_over_channels(struct gstlal_peak_state *state) case GSTLAL_PEAK_FLOAT: { float max_val = 0; + float current_val = 0; /* Type casting unsigned int (guint) to int */ for(i = 0; i < (int)state->channels; i++) { - if(fabsf(state->values.as_float[i]) > max_val) + current_val = fabsf(state->values.as_float[i]); + if(current_val > max_val) { - max_val = fabsf(state->values.as_float[i]); + max_val = current_val; out = i; } } @@ -223,12 +225,14 @@ int gstlal_peak_max_over_channels(struct gstlal_peak_state *state) case GSTLAL_PEAK_DOUBLE: { double max_val = 0; + double current_val = 0; /* Type casting unsigned int (guint) to int */ for(i = 0; i < (int)state->channels; i++) { - if(fabs(state->values.as_double[i]) > max_val) + current_val = fabsf(state->values.as_double[i]); + if(current_val > max_val) { - max_val = fabs(state->values.as_double[i]); + max_val = current_val; out = i; } } @@ -238,12 +242,14 @@ int gstlal_peak_max_over_channels(struct gstlal_peak_state *state) case GSTLAL_PEAK_COMPLEX: { float max_val = 0; + float current_val = 0; /* Type casting unsigned int (guint) to int */ for(i = 0; i < (int)state->channels; i++) { - if(cabsf(state->values.as_float_complex[i]) > max_val) + current_val = cabsf(state->values.as_float_complex[i]); + if(current_val > max_val) { - max_val = cabsf(state->values.as_float_complex[i]); + max_val = current_val; out = i; } } @@ -253,12 +259,14 @@ int gstlal_peak_max_over_channels(struct gstlal_peak_state *state) case GSTLAL_PEAK_DOUBLE_COMPLEX: { double max_val = 0; + double current_val = 0; /* Type casting unsigned int (guint) to int */ for(i = 0; i < (int)state->channels; i++) { - if(cabs(state->values.as_double_complex[i]) > max_val) + current_val = cabsf(state->values.as_double_complex[i]); + if(current_val > max_val) { - max_val = cabs(state->values.as_double_complex[i]); + max_val = current_val; out = i; } } -- GitLab