GRASS Programmer's Manual  6.4.3(2013)-r
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Macros Pages
c_min.c
Go to the documentation of this file.
1 #include <grass/gis.h>
2 
3 void c_min(DCELL * result, DCELL * values, int n, const void *closure)
4 {
5  DCELL min;
6  int i;
7 
8  G_set_d_null_value(&min, 1);
9 
10  for (i = 0; i < n; i++) {
11  if (G_is_d_null_value(&values[i]))
12  continue;
13 
14  if (G_is_d_null_value(&min) || min > values[i])
15  min = values[i];
16  }
17 
18  if (G_is_d_null_value(&min))
19  G_set_d_null_value(result, 1);
20  else
21  *result = min;
22 }
23 
24 void w_min(DCELL * result, DCELL(*values)[2], int n, const void *closure)
25 {
26  DCELL min;
27  int i;
28 
29  G_set_d_null_value(&min, 1);
30 
31  for (i = 0; i < n; i++) {
32  if (G_is_d_null_value(&values[i][0]))
33  continue;
34 
35  if (G_is_d_null_value(&min) || min > values[i][0])
36  min = values[i][0];
37  }
38 
39  if (G_is_d_null_value(&min))
40  G_set_d_null_value(result, 1);
41  else
42  *result = min;
43 }