mirror of
				https://gitlab.gnome.org/GNOME/glib.git
				synced 2025-10-31 08:22:16 +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;
 | |
| }
 |