|
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 |
}
|