@@ -13,7 +13,7 @@ namespace avx512 {
13
13
// key-value quicksort
14
14
template <typename T1, typename T2>
15
15
XSS_HIDE_SYMBOL void
16
- keyvalue_qsort (T1 *key, T2 *val, size_t arrsize, bool hasnan = false );
16
+ keyvalue_qsort (T1 *key, T2 *val, size_t arrsize, bool hasnan = false , bool descending = false );
17
17
// quickselect
18
18
template <typename T>
19
19
XSS_HIDE_SYMBOL void qselect (T *arr,
@@ -24,7 +24,7 @@ namespace avx512 {
24
24
// key-value select
25
25
template <typename T1, typename T2>
26
26
XSS_EXPORT_SYMBOL void
27
- keyvalue_select (T1 *key, T2 *val, size_t k, size_t arrsize, bool hasnan = false );
27
+ keyvalue_select (T1 *key, T2 *val, size_t k, size_t arrsize, bool hasnan = false , bool descending = false );
28
28
// partial sort
29
29
template <typename T>
30
30
XSS_HIDE_SYMBOL void partial_qsort (T *arr,
@@ -35,7 +35,7 @@ namespace avx512 {
35
35
// key-value partial sort
36
36
template <typename T1, typename T2>
37
37
XSS_EXPORT_SYMBOL void
38
- keyvalue_partial_sort (T1 *key, T2 *val, size_t k, size_t arrsize, bool hasnan = false );
38
+ keyvalue_partial_sort (T1 *key, T2 *val, size_t k, size_t arrsize, bool hasnan = false , bool descending = false );
39
39
// argsort
40
40
template <typename T>
41
41
XSS_HIDE_SYMBOL std::vector<size_t > argsort (T *arr,
@@ -66,7 +66,7 @@ namespace avx2 {
66
66
// key-value select
67
67
template <typename T1, typename T2>
68
68
XSS_EXPORT_SYMBOL void
69
- keyvalue_select (T1 *key, T2 *val, size_t k, size_t arrsize, bool hasnan = false );
69
+ keyvalue_select (T1 *key, T2 *val, size_t k, size_t arrsize, bool hasnan = false , bool descending = false );
70
70
// partial sort
71
71
template <typename T>
72
72
XSS_HIDE_SYMBOL void partial_qsort (T *arr,
@@ -77,7 +77,7 @@ namespace avx2 {
77
77
// key-value partial sort
78
78
template <typename T1, typename T2>
79
79
XSS_EXPORT_SYMBOL void
80
- keyvalue_partial_sort (T1 *key, T2 *val, size_t k, size_t arrsize, bool hasnan = false );
80
+ keyvalue_partial_sort (T1 *key, T2 *val, size_t k, size_t arrsize, bool hasnan = false , bool descending = false );
81
81
// argsort
82
82
template <typename T>
83
83
XSS_HIDE_SYMBOL std::vector<size_t > argsort (T *arr,
@@ -97,7 +97,7 @@ namespace scalar {
97
97
// key-value quicksort
98
98
template <typename T1, typename T2>
99
99
XSS_HIDE_SYMBOL void
100
- keyvalue_qsort (T1 *key, T2 *val, size_t arrsize, bool hasnan = false );
100
+ keyvalue_qsort (T1 *key, T2 *val, size_t arrsize, bool hasnan = false , bool descending = false );
101
101
// quickselect
102
102
template <typename T>
103
103
XSS_HIDE_SYMBOL void qselect (T *arr,
@@ -108,7 +108,7 @@ namespace scalar {
108
108
// key-value select
109
109
template <typename T1, typename T2>
110
110
XSS_EXPORT_SYMBOL void
111
- keyvalue_select (T1 *key, T2 *val, size_t k, size_t arrsize, bool hasnan = false );
111
+ keyvalue_select (T1 *key, T2 *val, size_t k, size_t arrsize, bool hasnan = false , bool descending = false );
112
112
// partial sort
113
113
template <typename T>
114
114
XSS_HIDE_SYMBOL void partial_qsort (T *arr,
@@ -119,7 +119,7 @@ namespace scalar {
119
119
// key-value partial sort
120
120
template <typename T1, typename T2>
121
121
XSS_EXPORT_SYMBOL void
122
- keyvalue_partial_sort (T1 *key, T2 *val, size_t k, size_t arrsize, bool hasnan = false );
122
+ keyvalue_partial_sort (T1 *key, T2 *val, size_t k, size_t arrsize, bool hasnan = false , bool descending = false );
123
123
// argsort
124
124
template <typename T>
125
125
XSS_HIDE_SYMBOL std::vector<size_t > argsort (T *arr,
0 commit comments