mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2024-11-14 05:16:18 +01:00
34 lines
589 B
C
34 lines
589 B
C
#undef G_DISABLE_ASSERT
|
|
#undef G_LOG_DOMAIN
|
|
|
|
#include <glib.h>
|
|
|
|
#define SIZE 100000
|
|
|
|
guint32 array[SIZE];
|
|
|
|
static gint
|
|
sort (gconstpointer a, gconstpointer b, gpointer user_data)
|
|
{
|
|
return *(guint32*)a < *(guint32*)b ? -1 : 1;
|
|
}
|
|
|
|
int
|
|
main (int argc, char **argv)
|
|
{
|
|
int i;
|
|
|
|
for (i = 0; i < SIZE; i++)
|
|
array[i] = g_random_int ();
|
|
|
|
g_qsort_with_data (array, SIZE, sizeof (guint32), sort, NULL);
|
|
|
|
for (i = 0; i < SIZE - 1; i++)
|
|
g_assert (array[i] <= array[i+1]);
|
|
|
|
/* 0 elements is a valid case */
|
|
g_qsort_with_data (array, 0, sizeof (guint32), sort, NULL);
|
|
|
|
return 0;
|
|
}
|