GRASS Programmer's Manual
6.4.2(2012)
|
00001 #include <grass/gis.h> 00002 #include <grass/stats.h> 00003 00004 void c_divr(DCELL * result, DCELL * values, int n, const void *closure) 00005 { 00006 int count; 00007 DCELL prev; 00008 int i; 00009 00010 /* sort the array of values, then count differences */ 00011 00012 n = sort_cell(values, n); 00013 00014 if (n == 0) { 00015 *result = 0; 00016 return; 00017 } 00018 00019 count = 1; 00020 prev = values[0]; 00021 00022 for (i = 0; i < n; i++) 00023 if (values[i] != prev) { 00024 prev = values[i]; 00025 count++; 00026 } 00027 00028 *result = (DCELL) count; 00029 }