GRASS 8 Programmer's Manual 8.5.0RC1(2026)-3334b87d9c
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 G_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)
Definition c_intr.c:5
int count