@@ -8,13 +8,31 @@ AVX2 specific implementations, please see
88[ README] ( https://github.com/intel/x86-simd-sort/blob/main/src/README.md )  file under
99` src/ `  directory. The following routines are currently supported:
1010
11+ 
12+ #### Sort routines on arrays  
1113``` cpp 
1214x86simdsort::qsort (T*  arr, size_t size, bool hasnan);
1315x86simdsort::qselect(T*  arr, size_t k, size_t size, bool hasnan);
1416x86simdsort::partial_qsort(T*  arr, size_t k, size_t size, bool hasnan);
17+ ``` 
18+ Supported datatypes: `T $\in$ [_Float16, uint16_t, int16_t, float, uint32_t, 
19+ int32_t, double, uint64_t, int64_t]` 
20+ 
21+ #### Key-value sort routines on pairs of arrays 
22+ ```cpp 
23+ x86simdsort::keyvalue_qsort(T1* key, T2* val, size_t size, bool hasnan); 
24+ ``` 
25+ Supported datatypes: `T1, T2 $\in$ [ float, uint32_t, int32_t, double,
26+ uint64_t, int64_t] ` Note that keyvalue sort is not yet supported for 16-bit
27+ data types.
28+ 
29+ #### Arg sort routines on arrays  
30+ ``` cpp 
1531std::vector<size_t > arg = x86simdsort::argsort(T* arr, size_t  size, bool  hasnan);
1632std::vector<size_t > arg = x86simdsort::argselect(T* arr, size_t  k, size_t  size, bool  hasnan);
1733``` 
34+ Supported datatypes: `T $\in$ [ _ Float16, uint16_t, int16_t, float, uint32_t,
35+ int32_t, double, uint64_t, int64_t] `
1836
1937### Build/Install  
2038
0 commit comments