55
66// declare function here, linker will find this when linked to 
77// libx86simdsortcpp.so 
8- void  keyvalue_qsort_float_sizet (float * , size_t * , size_t );
9- void  keyvalue_qsort_float_uint32 (float * , uint32_t * , uint32_t );
10- void  keyvalue_qsort_sizet_sizet (size_t * , size_t * , size_t );
11- void  keyvalue_qsort_sizet_uint32 (size_t * , uint32_t * , uint32_t );
12- void  keyvalue_qsort_uint32_sizet (uint32_t * , size_t * , size_t );
13- void  keyvalue_qsort_uint32_uint32 (uint32_t * , uint32_t * , uint32_t );
14- void  keyvalue_qsort_int32_sizet (int32_t * , size_t * , size_t );
15- void  keyvalue_qsort_int32_uint32 (int32_t * , uint32_t * , uint32_t );
8+ void  keyvalue_qsort_float_sizet (float   * , size_t   * , size_t );
9+ void  keyvalue_qsort_float_uint32 (float   * , uint32_t   * , uint32_t );
10+ void  keyvalue_qsort_sizet_sizet (size_t   * , size_t   * , size_t );
11+ void  keyvalue_qsort_sizet_uint32 (size_t   * , uint32_t   * , uint32_t );
12+ void  keyvalue_qsort_uint32_sizet (uint32_t   * , size_t   * , size_t );
13+ void  keyvalue_qsort_uint32_uint32 (uint32_t   * , uint32_t   * , uint32_t );
14+ void  keyvalue_qsort_int32_sizet (int32_t   * , size_t   * , size_t );
15+ void  keyvalue_qsort_int32_uint32 (int32_t   * , uint32_t   * , uint32_t );
1616
1717// struct definition, we will sort an array of these: 
1818struct  Point  {
@@ -22,15 +22,20 @@ struct Point {
2222    size_t  metric ;
2323};
2424
25- #define  SWAP (a , b , type ) {type temp = a; a = b; b = temp;}
25+ #define  SWAP (a , b , type ) \
26+     { \
27+         type temp = a; \
28+         a = b; \
29+         b = temp; \
30+     }
2631
2732// Function to sort an array of objects: 
28- void  object_qsort (struct  Point *   arr , size_t  size )
33+ void  object_qsort (struct  Point   * arr , size_t  size )
2934{
3035    /* (1) Create and initialize arrays of key and value  */ 
31-     size_t *   key  =  malloc (size  *  sizeof (size_t ));
32-     size_t *   arg  =  malloc (size  *  sizeof (size_t ));
33-     bool *   done  =  malloc (size  *  sizeof (bool ));
36+     size_t   * key  =  malloc (size  *  sizeof (size_t ));
37+     size_t   * arg  =  malloc (size  *  sizeof (size_t ));
38+     bool   * done  =  malloc (size  *  sizeof (bool ));
3439    for  (size_t  ii  =  0 ; ii  <  size ; ++ ii ) {
3540        key [ii ] =  arr [ii ].metric ;
3641        arg [ii ] =  ii ;
@@ -58,14 +63,15 @@ void object_qsort(struct Point* arr, size_t size)
5863    free (done );
5964}
6065
61- int  main () {
66+ int  main ()
67+ {
6268    const  size_t  size  =  10 ;
6369    struct  Point  arr [size ];
6470
6571    // Initialize: 
6672    for  (size_t  ii  =  0 ; ii  <  size ; ++ ii ) {
67-         arr [ii ].distance  =  (float )  rand () / RAND_MAX ;
68-         arr [ii ].metric  =    rand () % 100 ;
73+         arr [ii ].distance  =  (float )rand () / RAND_MAX ;
74+         arr [ii ].metric  =  rand () % 100 ;
6975    }
7076
7177    // sort: 
0 commit comments