4#include <grass/raster.h>
5#include <grass/stats.h>
7static int ascending(
const void *aa,
const void *bb)
9 const DCELL *a = aa, *
b = bb;
15 if (Rast_is_d_null_value((DCELL *)a) && Rast_is_d_null_value((DCELL *)
b))
18 if (Rast_is_d_null_value((DCELL *)a))
21 if (Rast_is_d_null_value((DCELL *)
b))
24 return (*a < *
b) ? -1 : (*a > *
b) ? 1 : 0;
32 for (i = 0; i < n; i++) {
33 if (!Rast_is_d_null_value(&array[i])) {
41 qsort(array, n,
sizeof(DCELL), ascending);
51 for (i = 0; i < n; i++) {
52 if (!Rast_is_d_null_value(&array[i][0]) &&
53 !Rast_is_d_null_value(&array[i][1])) {
54 array[j][0] = array[i][0];
55 array[j][1] = array[i][1];
62 qsort(array, n, 2 *
sizeof(DCELL), ascending);
int sort_cell(DCELL *array, int n)
int sort_cell_w(DCELL(*array)[2], int n)