GRASS GIS 8 Programmer's Manual 8.3.2(2024)-exported
Loading...
Searching...
No Matches
c_range.c
Go to the documentation of this file.
1#include <grass/gis.h>
2#include <grass/raster.h>
3
4void c_range(DCELL *result, DCELL *values, int n, const void *closure UNUSED)
5{
6 DCELL min, max;
7 int i;
8
9 Rast_set_d_null_value(&min, 1);
10 Rast_set_d_null_value(&max, 1);
11
12 for (i = 0; i < n; i++) {
13 if (Rast_is_d_null_value(&values[i]))
14 continue;
15
16 if (Rast_is_d_null_value(&min) || min > values[i])
17 min = values[i];
18
19 if (Rast_is_d_null_value(&max) || max < values[i])
20 max = values[i];
21 }
22
23 if (Rast_is_d_null_value(&min) || Rast_is_d_null_value(&max))
24 Rast_set_d_null_value(result, 1);
25 else
26 *result = max - min;
27}
void c_range(DCELL *result, DCELL *values, int n, const void *closure UNUSED)
Definition c_range.c:4
#define min(a, b)
#define max(a, b)