@@ -47,12 +47,14 @@ TYPED_TEST_P(simdsort, test_qsort_ascending)
4747 // Ascending order
4848 std::vector<TypeParam> arr = basearr;
4949 std::vector<TypeParam> sortedarr = arr;
50+
51+ x86simdsort::qsort (arr.data (), arr.size (), hasnan);
52+ #ifndef XSS_ASAN_CI_NOCHECK
5053 std::sort (sortedarr.begin (),
5154 sortedarr.end (),
5255 compare<TypeParam, std::less<TypeParam>>());
53- x86simdsort::qsort (arr.data (), arr.size (), hasnan);
5456 IS_SORTED (sortedarr, arr, type);
55-
57+ # endif
5658 arr.clear ();
5759 sortedarr.clear ();
5860 }
@@ -69,12 +71,14 @@ TYPED_TEST_P(simdsort, test_qsort_descending)
6971 // Descending order
7072 std::vector<TypeParam> arr = basearr;
7173 std::vector<TypeParam> sortedarr = arr;
74+
75+ x86simdsort::qsort (arr.data (), arr.size (), hasnan, true );
76+ #ifndef XSS_ASAN_CI_NOCHECK
7277 std::sort (sortedarr.begin (),
7378 sortedarr.end (),
7479 compare<TypeParam, std::greater<TypeParam>>());
75- x86simdsort::qsort (arr.data (), arr.size (), hasnan, true );
7680 IS_SORTED (sortedarr, arr, type);
77-
81+ # endif
7882 arr.clear ();
7983 sortedarr.clear ();
8084 }
@@ -88,11 +92,14 @@ TYPED_TEST_P(simdsort, test_argsort_ascending)
8892 for (auto size : this ->arrsize ) {
8993 std::vector<TypeParam> arr = get_array<TypeParam>(type, size);
9094 std::vector<TypeParam> sortedarr = arr;
95+
96+ auto arg = x86simdsort::argsort (arr.data (), arr.size (), hasnan);
97+ #ifndef XSS_ASAN_CI_NOCHECK
9198 std::sort (sortedarr.begin (),
9299 sortedarr.end (),
93100 compare<TypeParam, std::less<TypeParam>>());
94- auto arg = x86simdsort::argsort (arr.data (), arr.size (), hasnan);
95101 IS_ARG_SORTED (sortedarr, arr, arg, type);
102+ #endif
96103 arr.clear ();
97104 arg.clear ();
98105 }
@@ -106,12 +113,15 @@ TYPED_TEST_P(simdsort, test_argsort_descending)
106113 for (auto size : this ->arrsize ) {
107114 std::vector<TypeParam> arr = get_array<TypeParam>(type, size);
108115 std::vector<TypeParam> sortedarr = arr;
116+
117+ auto arg = x86simdsort::argsort (
118+ arr.data (), arr.size (), hasnan, true );
119+ #ifndef XSS_ASAN_CI_NOCHECK
109120 std::sort (sortedarr.begin (),
110121 sortedarr.end (),
111122 compare<TypeParam, std::greater<TypeParam>>());
112- auto arg = x86simdsort::argsort (
113- arr.data (), arr.size (), hasnan, true );
114123 IS_ARG_SORTED (sortedarr, arr, arg, type);
124+ #endif
115125 arr.clear ();
116126 arg.clear ();
117127 }
@@ -129,14 +139,16 @@ TYPED_TEST_P(simdsort, test_qselect_ascending)
129139 // Ascending order
130140 std::vector<TypeParam> arr = basearr;
131141 std::vector<TypeParam> sortedarr = arr;
142+
143+ x86simdsort::qselect (arr.data (), k, arr.size (), hasnan);
144+ #ifndef XSS_ASAN_CI_NOCHECK
132145 std::nth_element (sortedarr.begin (),
133146 sortedarr.begin () + k,
134147 sortedarr.end (),
135148 compare<TypeParam, std::less<TypeParam>>());
136- x86simdsort::qselect (arr.data (), k, arr.size (), hasnan);
137149 if (size == 0 ) continue ;
138150 IS_ARR_PARTITIONED (arr, k, sortedarr[k], type);
139-
151+ # endif
140152 arr.clear ();
141153 sortedarr.clear ();
142154 }
@@ -154,14 +166,16 @@ TYPED_TEST_P(simdsort, test_qselect_descending)
154166 // Descending order
155167 std::vector<TypeParam> arr = basearr;
156168 std::vector<TypeParam> sortedarr = arr;
169+
170+ x86simdsort::qselect (arr.data (), k, arr.size (), hasnan, true );
171+ #ifndef XSS_ASAN_CI_NOCHECK
157172 std::nth_element (sortedarr.begin (),
158173 sortedarr.begin () + k,
159174 sortedarr.end (),
160175 compare<TypeParam, std::greater<TypeParam>>());
161- x86simdsort::qselect (arr.data (), k, arr.size (), hasnan, true );
162176 if (size == 0 ) continue ;
163177 IS_ARR_PARTITIONED (arr, k, sortedarr[k], type, true );
164-
178+ # endif
165179 arr.clear ();
166180 sortedarr.clear ();
167181 }
@@ -176,13 +190,16 @@ TYPED_TEST_P(simdsort, test_argselect)
176190 size_t k = size != 0 ? rand () % size : 0 ;
177191 std::vector<TypeParam> arr = get_array<TypeParam>(type, size);
178192 std::vector<TypeParam> sortedarr = arr;
193+
194+ auto arg
195+ = x86simdsort::argselect (arr.data (), k, arr.size (), hasnan);
196+ #ifndef XSS_ASAN_CI_NOCHECK
179197 std::sort (sortedarr.begin (),
180198 sortedarr.end (),
181199 compare<TypeParam, std::less<TypeParam>>());
182- auto arg
183- = x86simdsort::argselect (arr.data (), k, arr.size (), hasnan);
184200 if (size == 0 ) continue ;
185201 IS_ARG_PARTITIONED (arr, arg, sortedarr[k], k, type);
202+ #endif
186203 arr.clear ();
187204 sortedarr.clear ();
188205 }
@@ -200,13 +217,15 @@ TYPED_TEST_P(simdsort, test_partial_qsort_ascending)
200217 // Ascending order
201218 std::vector<TypeParam> arr = basearr;
202219 std::vector<TypeParam> sortedarr = arr;
220+
221+ x86simdsort::partial_qsort (arr.data (), k, arr.size (), hasnan);
222+ #ifndef XSS_ASAN_CI_NOCHECK
203223 std::sort (sortedarr.begin (),
204224 sortedarr.end (),
205225 compare<TypeParam, std::less<TypeParam>>());
206- x86simdsort::partial_qsort (arr.data (), k, arr.size (), hasnan);
207226 if (size == 0 ) continue ;
208227 IS_ARR_PARTIALSORTED (arr, k, sortedarr, type);
209-
228+ # endif
210229 arr.clear ();
211230 sortedarr.clear ();
212231 }
@@ -224,13 +243,15 @@ TYPED_TEST_P(simdsort, test_partial_qsort_descending)
224243 // Descending order
225244 std::vector<TypeParam> arr = basearr;
226245 std::vector<TypeParam> sortedarr = arr;
246+
247+ x86simdsort::partial_qsort (arr.data (), k, arr.size (), hasnan, true );
248+ #ifndef XSS_ASAN_CI_NOCHECK
227249 std::sort (sortedarr.begin (),
228250 sortedarr.end (),
229251 compare<TypeParam, std::greater<TypeParam>>());
230- x86simdsort::partial_qsort (arr.data (), k, arr.size (), hasnan, true );
231252 if (size == 0 ) continue ;
232253 IS_ARR_PARTIALSORTED (arr, k, sortedarr, type);
233-
254+ # endif
234255 arr.clear ();
235256 sortedarr.clear ();
236257 }
0 commit comments