4 #include <grass/raster.h>
5 #include <grass/stats.h>
7 static int ascending(
const void *aa,
const void *bb)
9 const DCELL *a = aa, *
b = bb;
16 if (Rast_is_d_null_value((DCELL *) a) && Rast_is_d_null_value((DCELL *)
b))
19 if (Rast_is_d_null_value((DCELL *) a))
22 if (Rast_is_d_null_value((DCELL *)
b))
25 return (*a < *
b) ? -1 : (*a > *
b) ? 1 : 0;
33 for (i = 0; i < n; i++) {
34 if (!Rast_is_d_null_value(&array[i])) {
42 qsort(array, n,
sizeof(DCELL), ascending);
52 for (i = 0; i < n; i++) {
53 if (!Rast_is_d_null_value(&array[i][0]) &&
54 !Rast_is_d_null_value(&array[i][1])) {
55 array[j][0] = array[i][0];
56 array[j][1] = array[i][1];
63 qsort(array, n, 2 *
sizeof(DCELL), ascending);
int sort_cell(DCELL *array, int n)
int sort_cell_w(DCELL(*array)[2], int n)