From 7e1db93ccfde8483590623af3c3c4371a61d3239 Mon Sep 17 00:00:00 2001 From: Andreas Gattringer <andreas.gattringer@univie.ac.at> Date: Wed, 19 Jul 2023 14:09:24 +0200 Subject: [PATCH] reduce array access code points in overlay translation --- src/cats/overlays/overlay_exclusion.c | 12 +++++++----- src/cats/overlays/overlay_resources.c | 15 +++++++-------- 2 files changed, 14 insertions(+), 13 deletions(-) diff --git a/src/cats/overlays/overlay_exclusion.c b/src/cats/overlays/overlay_exclusion.c index 808b300..d54fafc 100644 --- a/src/cats/overlays/overlay_exclusion.c +++ b/src/cats/overlays/overlay_exclusion.c @@ -110,17 +110,19 @@ struct cats_2d_array_char *translate_exclusion(const struct cats_2d_array_double for (cats_dt_coord row = 0; row < rows; row++) { for (cats_dt_coord col = 0; col < cols; col++) { - const int32_t val = (int32_t) round(data->data[row][col]); // converter [translate_exclusion] + const int32_t in_val = (int32_t) round(data->data[row][col]); // converter [translate_exclusion] + char out_val; - if (val == 0) { - result->data[row][col] = OL_EXCLUSION_NOT_EXCLUDED; // converter [translate_exclusion] + if (in_val == 0) { + out_val = OL_EXCLUSION_NOT_EXCLUDED; } else if (isnan(data->data[row][col])) { - result->data[row][col] = OL_EXCLUSION_NAN; // converter [translate_exclusion] + out_val = OL_EXCLUSION_NAN; count += 1; } else { - result->data[row][col] = OL_EXCLUSION_EXCLUDED; // converter [translate_exclusion] + out_val = OL_EXCLUSION_EXCLUDED; count += 1; } + result->data[row][col] = out_val; // converter [translate_exclusion] } } diff --git a/src/cats/overlays/overlay_resources.c b/src/cats/overlays/overlay_resources.c index 55f2578..63798ac 100644 --- a/src/cats/overlays/overlay_resources.c +++ b/src/cats/overlays/overlay_resources.c @@ -1,4 +1,3 @@ -#include <assert.h> #include <math.h> #include "overlay_resources.h" #include "memory/arrays.h" @@ -14,15 +13,15 @@ struct cats_2d_array_double *translate_resources(const struct cats_2d_array_doub for (cats_dt_coord row = 0; row < rows; row++) { for (cats_dt_coord col = 0; col < cols; col++) { - double value = data->data[row][col]; // converter [translate_resources] + double in_value = data->data[row][col]; // converter [translate_resources] + double out_value; - if (isnan(value)) { - result->data[row][col] = 0.0; // converter [translate_resources] + if (isnan(in_value)) { + out_value = 0.0; } else { - - if (value <0 ) value = 0; - result->data[row][col] = value; // converter [translate_resources] - } + if (in_value < 0 ) in_value = 0; + out_value = in_value; + } result->data[row][col] = out_value; // converter [translate_resources] } } -- GitLab