Skip to content

Commit d58de52

Browse files
committed
Formatting
1 parent 93ef8c0 commit d58de52

7 files changed

+57
-43
lines changed

lib/x86simdsort-avx2.cpp

+2-1
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,8 @@
2424
avx2_partial_qsort(arr, k, arrsize, hasnan, descending); \
2525
} \
2626
template <> \
27-
std::vector<size_t> argsort(type *arr, size_t arrsize, bool hasnan, bool descending) \
27+
std::vector<size_t> argsort( \
28+
type *arr, size_t arrsize, bool hasnan, bool descending) \
2829
{ \
2930
return avx2_argsort(arr, arrsize, hasnan, descending); \
3031
} \

lib/x86simdsort-internal.h

+12-6
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,10 @@ namespace avx512 {
3030
bool descending = false);
3131
// argsort
3232
template <typename T>
33-
XSS_HIDE_SYMBOL std::vector<size_t>
34-
argsort(T *arr, size_t arrsize, bool hasnan = false, bool descending = false);
33+
XSS_HIDE_SYMBOL std::vector<size_t> argsort(T *arr,
34+
size_t arrsize,
35+
bool hasnan = false,
36+
bool descending = false);
3537
// argselect
3638
template <typename T>
3739
XSS_HIDE_SYMBOL std::vector<size_t>
@@ -62,8 +64,10 @@ namespace avx2 {
6264
bool descending = false);
6365
// argsort
6466
template <typename T>
65-
XSS_HIDE_SYMBOL std::vector<size_t>
66-
argsort(T *arr, size_t arrsize, bool hasnan = false, bool descending = false);
67+
XSS_HIDE_SYMBOL std::vector<size_t> argsort(T *arr,
68+
size_t arrsize,
69+
bool hasnan = false,
70+
bool descending = false);
6771
// argselect
6872
template <typename T>
6973
XSS_HIDE_SYMBOL std::vector<size_t>
@@ -94,8 +98,10 @@ namespace scalar {
9498
bool descending = false);
9599
// argsort
96100
template <typename T>
97-
XSS_HIDE_SYMBOL std::vector<size_t>
98-
argsort(T *arr, size_t arrsize, bool hasnan = false, bool descending = false);
101+
XSS_HIDE_SYMBOL std::vector<size_t> argsort(T *arr,
102+
size_t arrsize,
103+
bool hasnan = false,
104+
bool descending = false);
99105
// argselect
100106
template <typename T>
101107
XSS_HIDE_SYMBOL std::vector<size_t>

lib/x86simdsort-scalar.h

+10-5
Original file line numberDiff line numberDiff line change
@@ -70,15 +70,20 @@ namespace scalar {
7070
xss::utils::get_cmp_func<T>(hasnan, reversed));
7171
}
7272
template <typename T>
73-
std::vector<size_t> argsort(T *arr, size_t arrsize, bool hasnan, bool reversed)
73+
std::vector<size_t>
74+
argsort(T *arr, size_t arrsize, bool hasnan, bool reversed)
7475
{
7576
UNUSED(hasnan);
7677
std::vector<size_t> arg(arrsize);
7778
std::iota(arg.begin(), arg.end(), 0);
78-
if (reversed){
79-
std::sort(arg.begin(), arg.end(), compare_arg<T, std::greater<T>>(arr));
80-
}else{
81-
std::sort(arg.begin(), arg.end(), compare_arg<T, std::less<T>>(arr));
79+
if (reversed) {
80+
std::sort(arg.begin(),
81+
arg.end(),
82+
compare_arg<T, std::greater<T>>(arr));
83+
}
84+
else {
85+
std::sort(
86+
arg.begin(), arg.end(), compare_arg<T, std::less<T>>(arr));
8287
}
8388
return arg;
8489
}

lib/x86simdsort-skx.cpp

+2-1
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,8 @@
2424
avx512_partial_qsort(arr, k, arrsize, hasnan, descending); \
2525
} \
2626
template <> \
27-
std::vector<size_t> argsort(type *arr, size_t arrsize, bool hasnan, bool descending) \
27+
std::vector<size_t> argsort( \
28+
type *arr, size_t arrsize, bool hasnan, bool descending) \
2829
{ \
2930
return avx512_argsort(arr, arrsize, hasnan, descending); \
3031
} \

lib/x86simdsort.cpp

+4-2
Original file line numberDiff line numberDiff line change
@@ -86,10 +86,12 @@ namespace x86simdsort {
8686
}
8787

8888
#define DECLARE_INTERNAL_argsort(TYPE) \
89-
static std::vector<size_t> (*internal_argsort##TYPE)(TYPE *, size_t, bool, bool) \
89+
static std::vector<size_t> (*internal_argsort##TYPE)( \
90+
TYPE *, size_t, bool, bool) \
9091
= NULL; \
9192
template <> \
92-
std::vector<size_t> argsort(TYPE *arr, size_t arrsize, bool hasnan, bool descending) \
93+
std::vector<size_t> argsort( \
94+
TYPE *arr, size_t arrsize, bool hasnan, bool descending) \
9395
{ \
9496
return (*internal_argsort##TYPE)(arr, arrsize, hasnan, descending); \
9597
}

src/xss-common-argsort.h

+25-27
Original file line numberDiff line numberDiff line change
@@ -541,8 +541,11 @@ X86_SIMD_SORT_INLINE void argselect_64bit_(type_t *arr,
541541

542542
/* argsort methods for 32-bit and 64-bit dtypes */
543543
template <typename T>
544-
X86_SIMD_SORT_INLINE void
545-
avx512_argsort(T *arr, arrsize_t *arg, arrsize_t arrsize, bool hasnan = false, bool descending = false)
544+
X86_SIMD_SORT_INLINE void avx512_argsort(T *arr,
545+
arrsize_t *arg,
546+
arrsize_t arrsize,
547+
bool hasnan = false,
548+
bool descending = false)
546549
{
547550
/* TODO optimization: on 32-bit, use zmm_vector for 32-bit dtype */
548551
using vectype = typename std::conditional<sizeof(T) == sizeof(int32_t),
@@ -558,27 +561,23 @@ avx512_argsort(T *arr, arrsize_t *arg, arrsize_t arrsize, bool hasnan = false, b
558561
if constexpr (std::is_floating_point_v<T>) {
559562
if ((hasnan) && (array_has_nan<vectype>(arr, arrsize))) {
560563
std_argsort_withnan(arr, arg, 0, arrsize);
561-
562-
if (descending){
563-
std::reverse(arg, arg + arrsize);
564-
}
565-
564+
565+
if (descending) { std::reverse(arg, arg + arrsize); }
566+
566567
return;
567568
}
568569
}
569570
UNUSED(hasnan);
570571
argsort_64bit_<vectype, argtype>(
571572
arr, arg, 0, arrsize - 1, 2 * (arrsize_t)log2(arrsize));
572-
573-
if (descending){
574-
std::reverse(arg, arg + arrsize);
575-
}
573+
574+
if (descending) { std::reverse(arg, arg + arrsize); }
576575
}
577576
}
578577

579578
template <typename T>
580-
X86_SIMD_SORT_INLINE std::vector<arrsize_t>
581-
avx512_argsort(T *arr, arrsize_t arrsize, bool hasnan = false, bool descending = false)
579+
X86_SIMD_SORT_INLINE std::vector<arrsize_t> avx512_argsort(
580+
T *arr, arrsize_t arrsize, bool hasnan = false, bool descending = false)
582581
{
583582
std::vector<arrsize_t> indices(arrsize);
584583
std::iota(indices.begin(), indices.end(), 0);
@@ -588,8 +587,11 @@ avx512_argsort(T *arr, arrsize_t arrsize, bool hasnan = false, bool descending =
588587

589588
/* argsort methods for 32-bit and 64-bit dtypes */
590589
template <typename T>
591-
X86_SIMD_SORT_INLINE void
592-
avx2_argsort(T *arr, arrsize_t *arg, arrsize_t arrsize, bool hasnan = false, bool descending = false)
590+
X86_SIMD_SORT_INLINE void avx2_argsort(T *arr,
591+
arrsize_t *arg,
592+
arrsize_t arrsize,
593+
bool hasnan = false,
594+
bool descending = false)
593595
{
594596
using vectype = typename std::conditional<sizeof(T) == sizeof(int32_t),
595597
avx2_half_vector<T>,
@@ -603,27 +605,23 @@ avx2_argsort(T *arr, arrsize_t *arg, arrsize_t arrsize, bool hasnan = false, boo
603605
if constexpr (std::is_floating_point_v<T>) {
604606
if ((hasnan) && (array_has_nan<vectype>(arr, arrsize))) {
605607
std_argsort_withnan(arr, arg, 0, arrsize);
606-
607-
if (descending){
608-
std::reverse(arg, arg + arrsize);
609-
}
610-
608+
609+
if (descending) { std::reverse(arg, arg + arrsize); }
610+
611611
return;
612612
}
613613
}
614614
UNUSED(hasnan);
615615
argsort_64bit_<vectype, argtype>(
616616
arr, arg, 0, arrsize - 1, 2 * (arrsize_t)log2(arrsize));
617-
618-
if (descending){
619-
std::reverse(arg, arg + arrsize);
620-
}
617+
618+
if (descending) { std::reverse(arg, arg + arrsize); }
621619
}
622620
}
623621

624622
template <typename T>
625-
X86_SIMD_SORT_INLINE std::vector<arrsize_t>
626-
avx2_argsort(T *arr, arrsize_t arrsize, bool hasnan = false, bool descending = false)
623+
X86_SIMD_SORT_INLINE std::vector<arrsize_t> avx2_argsort(
624+
T *arr, arrsize_t arrsize, bool hasnan = false, bool descending = false)
627625
{
628626
std::vector<arrsize_t> indices(arrsize);
629627
std::iota(indices.begin(), indices.end(), 0);
@@ -649,7 +647,7 @@ X86_SIMD_SORT_INLINE void avx512_argselect(T *arr,
649647
ymm_vector<arrsize_t>,
650648
zmm_vector<arrsize_t>>::type;
651649

652-
if (arrsize > 1) {
650+
if (arrsize > 1) {
653651
if constexpr (std::is_floating_point_v<T>) {
654652
if ((hasnan) && (array_has_nan<vectype>(arr, arrsize))) {
655653
std_argselect_withnan(arr, arg, k, 0, arrsize);

tests/test-qsort.cpp

+2-1
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,8 @@ TYPED_TEST_P(simdsort, test_argsort_descending)
9999
std::sort(sortedarr.begin(),
100100
sortedarr.end(),
101101
compare<TypeParam, std::greater<TypeParam>>());
102-
auto arg = x86simdsort::argsort(arr.data(), arr.size(), hasnan, true);
102+
auto arg = x86simdsort::argsort(
103+
arr.data(), arr.size(), hasnan, true);
103104
IS_ARG_SORTED(sortedarr, arr, arg, type);
104105
arr.clear();
105106
arg.clear();

0 commit comments

Comments
 (0)