GRASS GIS 8 Programmer's Manual 8.3.2(2024)-exported
Loading...
Searching...
No Matches
c_intr.c
Go to the documentation of this file.
1#include <grass/gis.h>
2#include <grass/raster.h>
3#include <grass/stats.h>
4
5void c_intr(DCELL *result, DCELL *values, int n, const void *closure UNUSED)
6{
7 DCELL center;
8 int count;
9 int diff;
10 int i;
11
12 if (Rast_is_d_null_value(&values[n / 2])) {
13 Rast_set_d_null_value(result, 1);
14 return;
15 }
16
17 center = values[n / 2];
18 count = 0;
19 diff = 0;
20
21 for (i = 0; i < n; i++) {
22 if (Rast_is_d_null_value(&values[i]))
23 continue;
24
25 count++;
26 if (values[i] != center)
27 diff++;
28 }
29
30 count--;
31
32 if (count <= 0)
33 *result = 0;
34 else
35 *result = (diff * 100.0 + (count / 2)) / count + 1;
36}
void c_intr(DCELL *result, DCELL *values, int n, const void *closure UNUSED)
Definition c_intr.c:5
int count