@@ -12,22 +12,41 @@ namespace avx512 {
12
12
qsort (T *arr, size_t arrsize, bool hasnan = false , bool descending = false );
13
13
// key-value quicksort
14
14
template <typename T1, typename T2>
15
- XSS_HIDE_SYMBOL void
16
- keyvalue_qsort (T1 *key, T2 *val, size_t arrsize, bool hasnan = false );
15
+ XSS_HIDE_SYMBOL void keyvalue_qsort (T1 *key,
16
+ T2 *val,
17
+ size_t arrsize,
18
+ bool hasnan = false ,
19
+ bool descending = false );
17
20
// quickselect
18
21
template <typename T>
19
22
XSS_HIDE_SYMBOL void qselect (T *arr,
20
23
size_t k,
21
24
size_t arrsize,
22
25
bool hasnan = false ,
23
26
bool descending = false );
27
+ // key-value select
28
+ template <typename T1, typename T2>
29
+ XSS_HIDE_SYMBOL void keyvalue_select (T1 *key,
30
+ T2 *val,
31
+ size_t k,
32
+ size_t arrsize,
33
+ bool hasnan = false ,
34
+ bool descending = false );
24
35
// partial sort
25
36
template <typename T>
26
37
XSS_HIDE_SYMBOL void partial_qsort (T *arr,
27
38
size_t k,
28
39
size_t arrsize,
29
40
bool hasnan = false ,
30
41
bool descending = false );
42
+ // key-value partial sort
43
+ template <typename T1, typename T2>
44
+ XSS_HIDE_SYMBOL void keyvalue_partial_sort (T1 *key,
45
+ T2 *val,
46
+ size_t k,
47
+ size_t arrsize,
48
+ bool hasnan = false ,
49
+ bool descending = false );
31
50
// argsort
32
51
template <typename T>
33
52
XSS_HIDE_SYMBOL std::vector<size_t > argsort (T *arr,
@@ -46,22 +65,41 @@ namespace avx2 {
46
65
qsort (T *arr, size_t arrsize, bool hasnan = false , bool descending = false );
47
66
// key-value quicksort
48
67
template <typename T1, typename T2>
49
- XSS_HIDE_SYMBOL void
50
- keyvalue_qsort (T1 *key, T2 *val, size_t arrsize, bool hasnan = false );
68
+ XSS_HIDE_SYMBOL void keyvalue_qsort (T1 *key,
69
+ T2 *val,
70
+ size_t arrsize,
71
+ bool hasnan = false ,
72
+ bool descending = false );
51
73
// quickselect
52
74
template <typename T>
53
75
XSS_HIDE_SYMBOL void qselect (T *arr,
54
76
size_t k,
55
77
size_t arrsize,
56
78
bool hasnan = false ,
57
79
bool descending = false );
80
+ // key-value select
81
+ template <typename T1, typename T2>
82
+ XSS_HIDE_SYMBOL void keyvalue_select (T1 *key,
83
+ T2 *val,
84
+ size_t k,
85
+ size_t arrsize,
86
+ bool hasnan = false ,
87
+ bool descending = false );
58
88
// partial sort
59
89
template <typename T>
60
90
XSS_HIDE_SYMBOL void partial_qsort (T *arr,
61
91
size_t k,
62
92
size_t arrsize,
63
93
bool hasnan = false ,
64
94
bool descending = false );
95
+ // key-value partial sort
96
+ template <typename T1, typename T2>
97
+ XSS_HIDE_SYMBOL void keyvalue_partial_sort (T1 *key,
98
+ T2 *val,
99
+ size_t k,
100
+ size_t arrsize,
101
+ bool hasnan = false ,
102
+ bool descending = false );
65
103
// argsort
66
104
template <typename T>
67
105
XSS_HIDE_SYMBOL std::vector<size_t > argsort (T *arr,
@@ -80,22 +118,41 @@ namespace scalar {
80
118
qsort (T *arr, size_t arrsize, bool hasnan = false , bool descending = false );
81
119
// key-value quicksort
82
120
template <typename T1, typename T2>
83
- XSS_HIDE_SYMBOL void
84
- keyvalue_qsort (T1 *key, T2 *val, size_t arrsize, bool hasnan = false );
121
+ XSS_HIDE_SYMBOL void keyvalue_qsort (T1 *key,
122
+ T2 *val,
123
+ size_t arrsize,
124
+ bool hasnan = false ,
125
+ bool descending = false );
85
126
// quickselect
86
127
template <typename T>
87
128
XSS_HIDE_SYMBOL void qselect (T *arr,
88
129
size_t k,
89
130
size_t arrsize,
90
131
bool hasnan = false ,
91
132
bool descending = false );
133
+ // key-value select
134
+ template <typename T1, typename T2>
135
+ XSS_HIDE_SYMBOL void keyvalue_select (T1 *key,
136
+ T2 *val,
137
+ size_t k,
138
+ size_t arrsize,
139
+ bool hasnan = false ,
140
+ bool descending = false );
92
141
// partial sort
93
142
template <typename T>
94
143
XSS_HIDE_SYMBOL void partial_qsort (T *arr,
95
144
size_t k,
96
145
size_t arrsize,
97
146
bool hasnan = false ,
98
147
bool descending = false );
148
+ // key-value partial sort
149
+ template <typename T1, typename T2>
150
+ XSS_HIDE_SYMBOL void keyvalue_partial_sort (T1 *key,
151
+ T2 *val,
152
+ size_t k,
153
+ size_t arrsize,
154
+ bool hasnan = false ,
155
+ bool descending = false );
99
156
// argsort
100
157
template <typename T>
101
158
XSS_HIDE_SYMBOL std::vector<size_t > argsort (T *arr,
0 commit comments