Skip to content

Commit 5fcbec1

Browse files
authored
Merge pull request #227 from stratakis/switch_lf
Convert CRLF line endings to LF
2 parents 5adb334 + dcd0c6c commit 5fcbec1

6 files changed

Lines changed: 1958 additions & 1958 deletions

File tree

lib/x86simdsort-avx2.cpp

Lines changed: 93 additions & 93 deletions
Original file line numberDiff line numberDiff line change
@@ -1,94 +1,94 @@
1-
// AVX2 specific routines:
2-
3-
#include "x86simdsort-static-incl.h"
4-
#include "x86simdsort-internal.h"
5-
6-
#define DEFINE_ALL_METHODS(type) \
7-
template <> \
8-
void qsort(type *arr, size_t arrsize, bool hasnan, bool descending) \
9-
{ \
10-
x86simdsortStatic::qsort(arr, arrsize, hasnan, descending); \
11-
} \
12-
template <> \
13-
void qselect( \
14-
type *arr, size_t k, size_t arrsize, bool hasnan, bool descending) \
15-
{ \
16-
x86simdsortStatic::qselect(arr, k, arrsize, hasnan, descending); \
17-
} \
18-
template <> \
19-
void partial_qsort( \
20-
type *arr, size_t k, size_t arrsize, bool hasnan, bool descending) \
21-
{ \
22-
x86simdsortStatic::partial_qsort(arr, k, arrsize, hasnan, descending); \
23-
} \
24-
template <> \
25-
std::vector<size_t> argsort( \
26-
type *arr, size_t arrsize, bool hasnan, bool descending) \
27-
{ \
28-
return x86simdsortStatic::argsort(arr, arrsize, hasnan, descending); \
29-
} \
30-
template <> \
31-
std::vector<size_t> argselect( \
32-
type *arr, size_t k, size_t arrsize, bool hasnan) \
33-
{ \
34-
return x86simdsortStatic::argselect(arr, k, arrsize, hasnan); \
35-
}
36-
37-
#define DEFINE_KEYVALUE_METHODS_BASE(type1, type2) \
38-
template <> \
39-
void keyvalue_qsort(type1 *key, \
40-
type2 *val, \
41-
size_t arrsize, \
42-
bool hasnan, \
43-
bool descending) \
44-
{ \
45-
x86simdsortStatic::keyvalue_qsort( \
46-
key, val, arrsize, hasnan, descending); \
47-
} \
48-
template <> \
49-
void keyvalue_select(type1 *key, \
50-
type2 *val, \
51-
size_t k, \
52-
size_t arrsize, \
53-
bool hasnan, \
54-
bool descending) \
55-
{ \
56-
x86simdsortStatic::keyvalue_select( \
57-
key, val, k, arrsize, hasnan, descending); \
58-
} \
59-
template <> \
60-
void keyvalue_partial_sort(type1 *key, \
61-
type2 *val, \
62-
size_t k, \
63-
size_t arrsize, \
64-
bool hasnan, \
65-
bool descending) \
66-
{ \
67-
x86simdsortStatic::keyvalue_partial_sort( \
68-
key, val, k, arrsize, hasnan, descending); \
69-
}
70-
71-
#define DEFINE_KEYVALUE_METHODS(type) \
72-
DEFINE_KEYVALUE_METHODS_BASE(type, uint64_t) \
73-
DEFINE_KEYVALUE_METHODS_BASE(type, int64_t) \
74-
DEFINE_KEYVALUE_METHODS_BASE(type, double) \
75-
DEFINE_KEYVALUE_METHODS_BASE(type, uint32_t) \
76-
DEFINE_KEYVALUE_METHODS_BASE(type, int32_t) \
77-
DEFINE_KEYVALUE_METHODS_BASE(type, float)
78-
79-
namespace xss {
80-
namespace avx2 {
81-
DEFINE_ALL_METHODS(uint32_t)
82-
DEFINE_ALL_METHODS(int32_t)
83-
DEFINE_ALL_METHODS(float)
84-
DEFINE_ALL_METHODS(uint64_t)
85-
DEFINE_ALL_METHODS(int64_t)
86-
DEFINE_ALL_METHODS(double)
87-
DEFINE_KEYVALUE_METHODS(uint64_t)
88-
DEFINE_KEYVALUE_METHODS(int64_t)
89-
DEFINE_KEYVALUE_METHODS(double)
90-
DEFINE_KEYVALUE_METHODS(uint32_t)
91-
DEFINE_KEYVALUE_METHODS(int32_t)
92-
DEFINE_KEYVALUE_METHODS(float)
93-
} // namespace avx2
1+
// AVX2 specific routines:
2+
3+
#include "x86simdsort-static-incl.h"
4+
#include "x86simdsort-internal.h"
5+
6+
#define DEFINE_ALL_METHODS(type) \
7+
template <> \
8+
void qsort(type *arr, size_t arrsize, bool hasnan, bool descending) \
9+
{ \
10+
x86simdsortStatic::qsort(arr, arrsize, hasnan, descending); \
11+
} \
12+
template <> \
13+
void qselect( \
14+
type *arr, size_t k, size_t arrsize, bool hasnan, bool descending) \
15+
{ \
16+
x86simdsortStatic::qselect(arr, k, arrsize, hasnan, descending); \
17+
} \
18+
template <> \
19+
void partial_qsort( \
20+
type *arr, size_t k, size_t arrsize, bool hasnan, bool descending) \
21+
{ \
22+
x86simdsortStatic::partial_qsort(arr, k, arrsize, hasnan, descending); \
23+
} \
24+
template <> \
25+
std::vector<size_t> argsort( \
26+
type *arr, size_t arrsize, bool hasnan, bool descending) \
27+
{ \
28+
return x86simdsortStatic::argsort(arr, arrsize, hasnan, descending); \
29+
} \
30+
template <> \
31+
std::vector<size_t> argselect( \
32+
type *arr, size_t k, size_t arrsize, bool hasnan) \
33+
{ \
34+
return x86simdsortStatic::argselect(arr, k, arrsize, hasnan); \
35+
}
36+
37+
#define DEFINE_KEYVALUE_METHODS_BASE(type1, type2) \
38+
template <> \
39+
void keyvalue_qsort(type1 *key, \
40+
type2 *val, \
41+
size_t arrsize, \
42+
bool hasnan, \
43+
bool descending) \
44+
{ \
45+
x86simdsortStatic::keyvalue_qsort( \
46+
key, val, arrsize, hasnan, descending); \
47+
} \
48+
template <> \
49+
void keyvalue_select(type1 *key, \
50+
type2 *val, \
51+
size_t k, \
52+
size_t arrsize, \
53+
bool hasnan, \
54+
bool descending) \
55+
{ \
56+
x86simdsortStatic::keyvalue_select( \
57+
key, val, k, arrsize, hasnan, descending); \
58+
} \
59+
template <> \
60+
void keyvalue_partial_sort(type1 *key, \
61+
type2 *val, \
62+
size_t k, \
63+
size_t arrsize, \
64+
bool hasnan, \
65+
bool descending) \
66+
{ \
67+
x86simdsortStatic::keyvalue_partial_sort( \
68+
key, val, k, arrsize, hasnan, descending); \
69+
}
70+
71+
#define DEFINE_KEYVALUE_METHODS(type) \
72+
DEFINE_KEYVALUE_METHODS_BASE(type, uint64_t) \
73+
DEFINE_KEYVALUE_METHODS_BASE(type, int64_t) \
74+
DEFINE_KEYVALUE_METHODS_BASE(type, double) \
75+
DEFINE_KEYVALUE_METHODS_BASE(type, uint32_t) \
76+
DEFINE_KEYVALUE_METHODS_BASE(type, int32_t) \
77+
DEFINE_KEYVALUE_METHODS_BASE(type, float)
78+
79+
namespace xss {
80+
namespace avx2 {
81+
DEFINE_ALL_METHODS(uint32_t)
82+
DEFINE_ALL_METHODS(int32_t)
83+
DEFINE_ALL_METHODS(float)
84+
DEFINE_ALL_METHODS(uint64_t)
85+
DEFINE_ALL_METHODS(int64_t)
86+
DEFINE_ALL_METHODS(double)
87+
DEFINE_KEYVALUE_METHODS(uint64_t)
88+
DEFINE_KEYVALUE_METHODS(int64_t)
89+
DEFINE_KEYVALUE_METHODS(double)
90+
DEFINE_KEYVALUE_METHODS(uint32_t)
91+
DEFINE_KEYVALUE_METHODS(int32_t)
92+
DEFINE_KEYVALUE_METHODS(float)
93+
} // namespace avx2
9494
} // namespace xss

0 commit comments

Comments
 (0)