Blame tests/qsort-test.c

Packit ae235b
#undef G_DISABLE_ASSERT
Packit ae235b
#undef G_LOG_DOMAIN
Packit ae235b
Packit ae235b
#include <glib.h>
Packit ae235b
Packit ae235b
#define SIZE 100000
Packit ae235b
Packit ae235b
guint32 array[SIZE];
Packit ae235b
Packit ae235b
static gint
Packit ae235b
sort (gconstpointer a, gconstpointer b, gpointer user_data)
Packit ae235b
{
Packit ae235b
  return *(guint32*)a < *(guint32*)b ? -1 : 1;
Packit ae235b
}
Packit ae235b
Packit ae235b
int
Packit ae235b
main (int argc, char **argv)
Packit ae235b
{
Packit ae235b
  int i;
Packit ae235b
Packit ae235b
  for (i = 0; i < SIZE; i++)
Packit ae235b
    array[i] = g_random_int ();
Packit ae235b
Packit ae235b
  g_qsort_with_data (array, SIZE, sizeof (guint32), sort, NULL);
Packit ae235b
Packit ae235b
  for (i = 0; i < SIZE - 1; i++)
Packit ae235b
    g_assert (array[i] <= array[i+1]);
Packit ae235b
Packit ae235b
  /* 0 elements is a valid case */
Packit ae235b
  g_qsort_with_data (array, 0, sizeof (guint32), sort, NULL);
Packit ae235b
Packit ae235b
  return 0;
Packit ae235b
}