@@ -38,12 +38,14 @@ TYPED_TEST_P(simdsort, test_qsort_ascending)
3838 // Ascending order
3939 std::vector<TypeParam> arr = basearr;
4040 std::vector<TypeParam> sortedarr = arr;
41+
42+ x86simdsort::qsort (arr.data (), arr.size (), hasnan);
43+ #ifndef XSS_ASAN_CI_NOCHECK
4144 std::sort (sortedarr.begin (),
4245 sortedarr.end (),
4346 compare<TypeParam, std::less<TypeParam>>());
44- x86simdsort::qsort (arr.data (), arr.size (), hasnan);
4547 IS_SORTED (sortedarr, arr, type);
46-
48+ # endif
4749 arr.clear ();
4850 sortedarr.clear ();
4951 }
@@ -60,12 +62,14 @@ TYPED_TEST_P(simdsort, test_qsort_descending)
6062 // Descending order
6163 std::vector<TypeParam> arr = basearr;
6264 std::vector<TypeParam> sortedarr = arr;
65+
66+ x86simdsort::qsort (arr.data (), arr.size (), hasnan, true );
67+ #ifndef XSS_ASAN_CI_NOCHECK
6368 std::sort (sortedarr.begin (),
6469 sortedarr.end (),
6570 compare<TypeParam, std::greater<TypeParam>>());
66- x86simdsort::qsort (arr.data (), arr.size (), hasnan, true );
6771 IS_SORTED (sortedarr, arr, type);
68-
72+ # endif
6973 arr.clear ();
7074 sortedarr.clear ();
7175 }
@@ -79,11 +83,14 @@ TYPED_TEST_P(simdsort, test_argsort_ascending)
7983 for (auto size : this ->arrsize ) {
8084 std::vector<TypeParam> arr = get_array<TypeParam>(type, size);
8185 std::vector<TypeParam> sortedarr = arr;
86+
87+ auto arg = x86simdsort::argsort (arr.data (), arr.size (), hasnan);
88+ #ifndef XSS_ASAN_CI_NOCHECK
8289 std::sort (sortedarr.begin (),
8390 sortedarr.end (),
8491 compare<TypeParam, std::less<TypeParam>>());
85- auto arg = x86simdsort::argsort (arr.data (), arr.size (), hasnan);
8692 IS_ARG_SORTED (sortedarr, arr, arg, type);
93+ #endif
8794 arr.clear ();
8895 arg.clear ();
8996 }
@@ -97,12 +104,15 @@ TYPED_TEST_P(simdsort, test_argsort_descending)
97104 for (auto size : this ->arrsize ) {
98105 std::vector<TypeParam> arr = get_array<TypeParam>(type, size);
99106 std::vector<TypeParam> sortedarr = arr;
107+
108+ auto arg = x86simdsort::argsort (
109+ arr.data (), arr.size (), hasnan, true );
110+ #ifndef XSS_ASAN_CI_NOCHECK
100111 std::sort (sortedarr.begin (),
101112 sortedarr.end (),
102113 compare<TypeParam, std::greater<TypeParam>>());
103- auto arg = x86simdsort::argsort (
104- arr.data (), arr.size (), hasnan, true );
105114 IS_ARG_SORTED (sortedarr, arr, arg, type);
115+ #endif
106116 arr.clear ();
107117 arg.clear ();
108118 }
@@ -120,14 +130,16 @@ TYPED_TEST_P(simdsort, test_qselect_ascending)
120130 // Ascending order
121131 std::vector<TypeParam> arr = basearr;
122132 std::vector<TypeParam> sortedarr = arr;
133+
134+ x86simdsort::qselect (arr.data (), k, arr.size (), hasnan);
135+ #ifndef XSS_ASAN_CI_NOCHECK
123136 std::nth_element (sortedarr.begin (),
124137 sortedarr.begin () + k,
125138 sortedarr.end (),
126139 compare<TypeParam, std::less<TypeParam>>());
127- x86simdsort::qselect (arr.data (), k, arr.size (), hasnan);
128140 if (size == 0 ) continue ;
129141 IS_ARR_PARTITIONED (arr, k, sortedarr[k], type);
130-
142+ # endif
131143 arr.clear ();
132144 sortedarr.clear ();
133145 }
@@ -145,14 +157,16 @@ TYPED_TEST_P(simdsort, test_qselect_descending)
145157 // Descending order
146158 std::vector<TypeParam> arr = basearr;
147159 std::vector<TypeParam> sortedarr = arr;
160+
161+ x86simdsort::qselect (arr.data (), k, arr.size (), hasnan, true );
162+ #ifndef XSS_ASAN_CI_NOCHECK
148163 std::nth_element (sortedarr.begin (),
149164 sortedarr.begin () + k,
150165 sortedarr.end (),
151166 compare<TypeParam, std::greater<TypeParam>>());
152- x86simdsort::qselect (arr.data (), k, arr.size (), hasnan, true );
153167 if (size == 0 ) continue ;
154168 IS_ARR_PARTITIONED (arr, k, sortedarr[k], type, true );
155-
169+ # endif
156170 arr.clear ();
157171 sortedarr.clear ();
158172 }
@@ -167,13 +181,16 @@ TYPED_TEST_P(simdsort, test_argselect)
167181 size_t k = size != 0 ? rand () % size : 0 ;
168182 std::vector<TypeParam> arr = get_array<TypeParam>(type, size);
169183 std::vector<TypeParam> sortedarr = arr;
184+
185+ auto arg
186+ = x86simdsort::argselect (arr.data (), k, arr.size (), hasnan);
187+ #ifndef XSS_ASAN_CI_NOCHECK
170188 std::sort (sortedarr.begin (),
171189 sortedarr.end (),
172190 compare<TypeParam, std::less<TypeParam>>());
173- auto arg
174- = x86simdsort::argselect (arr.data (), k, arr.size (), hasnan);
175191 if (size == 0 ) continue ;
176192 IS_ARG_PARTITIONED (arr, arg, sortedarr[k], k, type);
193+ #endif
177194 arr.clear ();
178195 sortedarr.clear ();
179196 }
@@ -191,13 +208,15 @@ TYPED_TEST_P(simdsort, test_partial_qsort_ascending)
191208 // Ascending order
192209 std::vector<TypeParam> arr = basearr;
193210 std::vector<TypeParam> sortedarr = arr;
211+
212+ x86simdsort::partial_qsort (arr.data (), k, arr.size (), hasnan);
213+ #ifndef XSS_ASAN_CI_NOCHECK
194214 std::sort (sortedarr.begin (),
195215 sortedarr.end (),
196216 compare<TypeParam, std::less<TypeParam>>());
197- x86simdsort::partial_qsort (arr.data (), k, arr.size (), hasnan);
198217 if (size == 0 ) continue ;
199218 IS_ARR_PARTIALSORTED (arr, k, sortedarr, type);
200-
219+ # endif
201220 arr.clear ();
202221 sortedarr.clear ();
203222 }
@@ -215,13 +234,15 @@ TYPED_TEST_P(simdsort, test_partial_qsort_descending)
215234 // Descending order
216235 std::vector<TypeParam> arr = basearr;
217236 std::vector<TypeParam> sortedarr = arr;
237+
238+ x86simdsort::partial_qsort (arr.data (), k, arr.size (), hasnan, true );
239+ #ifndef XSS_ASAN_CI_NOCHECK
218240 std::sort (sortedarr.begin (),
219241 sortedarr.end (),
220242 compare<TypeParam, std::greater<TypeParam>>());
221- x86simdsort::partial_qsort (arr.data (), k, arr.size (), hasnan, true );
222243 if (size == 0 ) continue ;
223244 IS_ARR_PARTIALSORTED (arr, k, sortedarr, type);
224-
245+ # endif
225246 arr.clear ();
226247 sortedarr.clear ();
227248 }
0 commit comments