@@ -47,12 +47,14 @@ TYPED_TEST_P(simdsort, test_qsort_ascending)
47
47
// Ascending order
48
48
std::vector<TypeParam> arr = basearr;
49
49
std::vector<TypeParam> sortedarr = arr;
50
+
51
+ x86simdsort::qsort (arr.data (), arr.size (), hasnan);
52
+ #ifndef XSS_ASAN_CI_NOCHECK
50
53
std::sort (sortedarr.begin (),
51
54
sortedarr.end (),
52
55
compare<TypeParam, std::less<TypeParam>>());
53
- x86simdsort::qsort (arr.data (), arr.size (), hasnan);
54
56
IS_SORTED (sortedarr, arr, type);
55
-
57
+ # endif
56
58
arr.clear ();
57
59
sortedarr.clear ();
58
60
}
@@ -69,12 +71,14 @@ TYPED_TEST_P(simdsort, test_qsort_descending)
69
71
// Descending order
70
72
std::vector<TypeParam> arr = basearr;
71
73
std::vector<TypeParam> sortedarr = arr;
74
+
75
+ x86simdsort::qsort (arr.data (), arr.size (), hasnan, true );
76
+ #ifndef XSS_ASAN_CI_NOCHECK
72
77
std::sort (sortedarr.begin (),
73
78
sortedarr.end (),
74
79
compare<TypeParam, std::greater<TypeParam>>());
75
- x86simdsort::qsort (arr.data (), arr.size (), hasnan, true );
76
80
IS_SORTED (sortedarr, arr, type);
77
-
81
+ # endif
78
82
arr.clear ();
79
83
sortedarr.clear ();
80
84
}
@@ -88,11 +92,14 @@ TYPED_TEST_P(simdsort, test_argsort_ascending)
88
92
for (auto size : this ->arrsize ) {
89
93
std::vector<TypeParam> arr = get_array<TypeParam>(type, size);
90
94
std::vector<TypeParam> sortedarr = arr;
95
+
96
+ auto arg = x86simdsort::argsort (arr.data (), arr.size (), hasnan);
97
+ #ifndef XSS_ASAN_CI_NOCHECK
91
98
std::sort (sortedarr.begin (),
92
99
sortedarr.end (),
93
100
compare<TypeParam, std::less<TypeParam>>());
94
- auto arg = x86simdsort::argsort (arr.data (), arr.size (), hasnan);
95
101
IS_ARG_SORTED (sortedarr, arr, arg, type);
102
+ #endif
96
103
arr.clear ();
97
104
arg.clear ();
98
105
}
@@ -106,12 +113,15 @@ TYPED_TEST_P(simdsort, test_argsort_descending)
106
113
for (auto size : this ->arrsize ) {
107
114
std::vector<TypeParam> arr = get_array<TypeParam>(type, size);
108
115
std::vector<TypeParam> sortedarr = arr;
116
+
117
+ auto arg = x86simdsort::argsort (
118
+ arr.data (), arr.size (), hasnan, true );
119
+ #ifndef XSS_ASAN_CI_NOCHECK
109
120
std::sort (sortedarr.begin (),
110
121
sortedarr.end (),
111
122
compare<TypeParam, std::greater<TypeParam>>());
112
- auto arg = x86simdsort::argsort (
113
- arr.data (), arr.size (), hasnan, true );
114
123
IS_ARG_SORTED (sortedarr, arr, arg, type);
124
+ #endif
115
125
arr.clear ();
116
126
arg.clear ();
117
127
}
@@ -129,14 +139,16 @@ TYPED_TEST_P(simdsort, test_qselect_ascending)
129
139
// Ascending order
130
140
std::vector<TypeParam> arr = basearr;
131
141
std::vector<TypeParam> sortedarr = arr;
142
+
143
+ x86simdsort::qselect (arr.data (), k, arr.size (), hasnan);
144
+ #ifndef XSS_ASAN_CI_NOCHECK
132
145
std::nth_element (sortedarr.begin (),
133
146
sortedarr.begin () + k,
134
147
sortedarr.end (),
135
148
compare<TypeParam, std::less<TypeParam>>());
136
- x86simdsort::qselect (arr.data (), k, arr.size (), hasnan);
137
149
if (size == 0 ) continue ;
138
150
IS_ARR_PARTITIONED (arr, k, sortedarr[k], type);
139
-
151
+ # endif
140
152
arr.clear ();
141
153
sortedarr.clear ();
142
154
}
@@ -154,14 +166,16 @@ TYPED_TEST_P(simdsort, test_qselect_descending)
154
166
// Descending order
155
167
std::vector<TypeParam> arr = basearr;
156
168
std::vector<TypeParam> sortedarr = arr;
169
+
170
+ x86simdsort::qselect (arr.data (), k, arr.size (), hasnan, true );
171
+ #ifndef XSS_ASAN_CI_NOCHECK
157
172
std::nth_element (sortedarr.begin (),
158
173
sortedarr.begin () + k,
159
174
sortedarr.end (),
160
175
compare<TypeParam, std::greater<TypeParam>>());
161
- x86simdsort::qselect (arr.data (), k, arr.size (), hasnan, true );
162
176
if (size == 0 ) continue ;
163
177
IS_ARR_PARTITIONED (arr, k, sortedarr[k], type, true );
164
-
178
+ # endif
165
179
arr.clear ();
166
180
sortedarr.clear ();
167
181
}
@@ -176,13 +190,16 @@ TYPED_TEST_P(simdsort, test_argselect)
176
190
size_t k = size != 0 ? rand () % size : 0 ;
177
191
std::vector<TypeParam> arr = get_array<TypeParam>(type, size);
178
192
std::vector<TypeParam> sortedarr = arr;
193
+
194
+ auto arg
195
+ = x86simdsort::argselect (arr.data (), k, arr.size (), hasnan);
196
+ #ifndef XSS_ASAN_CI_NOCHECK
179
197
std::sort (sortedarr.begin (),
180
198
sortedarr.end (),
181
199
compare<TypeParam, std::less<TypeParam>>());
182
- auto arg
183
- = x86simdsort::argselect (arr.data (), k, arr.size (), hasnan);
184
200
if (size == 0 ) continue ;
185
201
IS_ARG_PARTITIONED (arr, arg, sortedarr[k], k, type);
202
+ #endif
186
203
arr.clear ();
187
204
sortedarr.clear ();
188
205
}
@@ -200,13 +217,15 @@ TYPED_TEST_P(simdsort, test_partial_qsort_ascending)
200
217
// Ascending order
201
218
std::vector<TypeParam> arr = basearr;
202
219
std::vector<TypeParam> sortedarr = arr;
220
+
221
+ x86simdsort::partial_qsort (arr.data (), k, arr.size (), hasnan);
222
+ #ifndef XSS_ASAN_CI_NOCHECK
203
223
std::sort (sortedarr.begin (),
204
224
sortedarr.end (),
205
225
compare<TypeParam, std::less<TypeParam>>());
206
- x86simdsort::partial_qsort (arr.data (), k, arr.size (), hasnan);
207
226
if (size == 0 ) continue ;
208
227
IS_ARR_PARTIALSORTED (arr, k, sortedarr, type);
209
-
228
+ # endif
210
229
arr.clear ();
211
230
sortedarr.clear ();
212
231
}
@@ -224,13 +243,15 @@ TYPED_TEST_P(simdsort, test_partial_qsort_descending)
224
243
// Descending order
225
244
std::vector<TypeParam> arr = basearr;
226
245
std::vector<TypeParam> sortedarr = arr;
246
+
247
+ x86simdsort::partial_qsort (arr.data (), k, arr.size (), hasnan, true );
248
+ #ifndef XSS_ASAN_CI_NOCHECK
227
249
std::sort (sortedarr.begin (),
228
250
sortedarr.end (),
229
251
compare<TypeParam, std::greater<TypeParam>>());
230
- x86simdsort::partial_qsort (arr.data (), k, arr.size (), hasnan, true );
231
252
if (size == 0 ) continue ;
232
253
IS_ARR_PARTIALSORTED (arr, k, sortedarr, type);
233
-
254
+ # endif
234
255
arr.clear ();
235
256
sortedarr.clear ();
236
257
}
0 commit comments