@@ -38,12 +38,14 @@ TYPED_TEST_P(simdsort, test_qsort_ascending)
38
38
// Ascending order
39
39
std::vector<TypeParam> arr = basearr;
40
40
std::vector<TypeParam> sortedarr = arr;
41
+
42
+ x86simdsort::qsort (arr.data (), arr.size (), hasnan);
43
+ #ifndef XSS_ASAN_CI_NOCHECK
41
44
std::sort (sortedarr.begin (),
42
45
sortedarr.end (),
43
46
compare<TypeParam, std::less<TypeParam>>());
44
- x86simdsort::qsort (arr.data (), arr.size (), hasnan);
45
47
IS_SORTED (sortedarr, arr, type);
46
-
48
+ # endif
47
49
arr.clear ();
48
50
sortedarr.clear ();
49
51
}
@@ -60,12 +62,14 @@ TYPED_TEST_P(simdsort, test_qsort_descending)
60
62
// Descending order
61
63
std::vector<TypeParam> arr = basearr;
62
64
std::vector<TypeParam> sortedarr = arr;
65
+
66
+ x86simdsort::qsort (arr.data (), arr.size (), hasnan, true );
67
+ #ifndef XSS_ASAN_CI_NOCHECK
63
68
std::sort (sortedarr.begin (),
64
69
sortedarr.end (),
65
70
compare<TypeParam, std::greater<TypeParam>>());
66
- x86simdsort::qsort (arr.data (), arr.size (), hasnan, true );
67
71
IS_SORTED (sortedarr, arr, type);
68
-
72
+ # endif
69
73
arr.clear ();
70
74
sortedarr.clear ();
71
75
}
@@ -79,11 +83,14 @@ TYPED_TEST_P(simdsort, test_argsort_ascending)
79
83
for (auto size : this ->arrsize ) {
80
84
std::vector<TypeParam> arr = get_array<TypeParam>(type, size);
81
85
std::vector<TypeParam> sortedarr = arr;
86
+
87
+ auto arg = x86simdsort::argsort (arr.data (), arr.size (), hasnan);
88
+ #ifndef XSS_ASAN_CI_NOCHECK
82
89
std::sort (sortedarr.begin (),
83
90
sortedarr.end (),
84
91
compare<TypeParam, std::less<TypeParam>>());
85
- auto arg = x86simdsort::argsort (arr.data (), arr.size (), hasnan);
86
92
IS_ARG_SORTED (sortedarr, arr, arg, type);
93
+ #endif
87
94
arr.clear ();
88
95
arg.clear ();
89
96
}
@@ -97,12 +104,15 @@ TYPED_TEST_P(simdsort, test_argsort_descending)
97
104
for (auto size : this ->arrsize ) {
98
105
std::vector<TypeParam> arr = get_array<TypeParam>(type, size);
99
106
std::vector<TypeParam> sortedarr = arr;
107
+
108
+ auto arg = x86simdsort::argsort (
109
+ arr.data (), arr.size (), hasnan, true );
110
+ #ifndef XSS_ASAN_CI_NOCHECK
100
111
std::sort (sortedarr.begin (),
101
112
sortedarr.end (),
102
113
compare<TypeParam, std::greater<TypeParam>>());
103
- auto arg = x86simdsort::argsort (
104
- arr.data (), arr.size (), hasnan, true );
105
114
IS_ARG_SORTED (sortedarr, arr, arg, type);
115
+ #endif
106
116
arr.clear ();
107
117
arg.clear ();
108
118
}
@@ -120,14 +130,16 @@ TYPED_TEST_P(simdsort, test_qselect_ascending)
120
130
// Ascending order
121
131
std::vector<TypeParam> arr = basearr;
122
132
std::vector<TypeParam> sortedarr = arr;
133
+
134
+ x86simdsort::qselect (arr.data (), k, arr.size (), hasnan);
135
+ #ifndef XSS_ASAN_CI_NOCHECK
123
136
std::nth_element (sortedarr.begin (),
124
137
sortedarr.begin () + k,
125
138
sortedarr.end (),
126
139
compare<TypeParam, std::less<TypeParam>>());
127
- x86simdsort::qselect (arr.data (), k, arr.size (), hasnan);
128
140
if (size == 0 ) continue ;
129
141
IS_ARR_PARTITIONED (arr, k, sortedarr[k], type);
130
-
142
+ # endif
131
143
arr.clear ();
132
144
sortedarr.clear ();
133
145
}
@@ -145,14 +157,16 @@ TYPED_TEST_P(simdsort, test_qselect_descending)
145
157
// Descending order
146
158
std::vector<TypeParam> arr = basearr;
147
159
std::vector<TypeParam> sortedarr = arr;
160
+
161
+ x86simdsort::qselect (arr.data (), k, arr.size (), hasnan, true );
162
+ #ifndef XSS_ASAN_CI_NOCHECK
148
163
std::nth_element (sortedarr.begin (),
149
164
sortedarr.begin () + k,
150
165
sortedarr.end (),
151
166
compare<TypeParam, std::greater<TypeParam>>());
152
- x86simdsort::qselect (arr.data (), k, arr.size (), hasnan, true );
153
167
if (size == 0 ) continue ;
154
168
IS_ARR_PARTITIONED (arr, k, sortedarr[k], type, true );
155
-
169
+ # endif
156
170
arr.clear ();
157
171
sortedarr.clear ();
158
172
}
@@ -167,13 +181,16 @@ TYPED_TEST_P(simdsort, test_argselect)
167
181
size_t k = size != 0 ? rand () % size : 0 ;
168
182
std::vector<TypeParam> arr = get_array<TypeParam>(type, size);
169
183
std::vector<TypeParam> sortedarr = arr;
184
+
185
+ auto arg
186
+ = x86simdsort::argselect (arr.data (), k, arr.size (), hasnan);
187
+ #ifndef XSS_ASAN_CI_NOCHECK
170
188
std::sort (sortedarr.begin (),
171
189
sortedarr.end (),
172
190
compare<TypeParam, std::less<TypeParam>>());
173
- auto arg
174
- = x86simdsort::argselect (arr.data (), k, arr.size (), hasnan);
175
191
if (size == 0 ) continue ;
176
192
IS_ARG_PARTITIONED (arr, arg, sortedarr[k], k, type);
193
+ #endif
177
194
arr.clear ();
178
195
sortedarr.clear ();
179
196
}
@@ -191,13 +208,15 @@ TYPED_TEST_P(simdsort, test_partial_qsort_ascending)
191
208
// Ascending order
192
209
std::vector<TypeParam> arr = basearr;
193
210
std::vector<TypeParam> sortedarr = arr;
211
+
212
+ x86simdsort::partial_qsort (arr.data (), k, arr.size (), hasnan);
213
+ #ifndef XSS_ASAN_CI_NOCHECK
194
214
std::sort (sortedarr.begin (),
195
215
sortedarr.end (),
196
216
compare<TypeParam, std::less<TypeParam>>());
197
- x86simdsort::partial_qsort (arr.data (), k, arr.size (), hasnan);
198
217
if (size == 0 ) continue ;
199
218
IS_ARR_PARTIALSORTED (arr, k, sortedarr, type);
200
-
219
+ # endif
201
220
arr.clear ();
202
221
sortedarr.clear ();
203
222
}
@@ -215,13 +234,15 @@ TYPED_TEST_P(simdsort, test_partial_qsort_descending)
215
234
// Descending order
216
235
std::vector<TypeParam> arr = basearr;
217
236
std::vector<TypeParam> sortedarr = arr;
237
+
238
+ x86simdsort::partial_qsort (arr.data (), k, arr.size (), hasnan, true );
239
+ #ifndef XSS_ASAN_CI_NOCHECK
218
240
std::sort (sortedarr.begin (),
219
241
sortedarr.end (),
220
242
compare<TypeParam, std::greater<TypeParam>>());
221
- x86simdsort::partial_qsort (arr.data (), k, arr.size (), hasnan, true );
222
243
if (size == 0 ) continue ;
223
244
IS_ARR_PARTIALSORTED (arr, k, sortedarr, type);
224
-
245
+ # endif
225
246
arr.clear ();
226
247
sortedarr.clear ();
227
248
}
0 commit comments