|
1 | 1 | #ifndef CLC_RELATIONAL
|
2 | 2 | #define CLC_RELATIONAL
|
3 | 3 |
|
4 |
| -#include <as_type.h> |
| 4 | +#include <clc/clc_as_type.h> |
5 | 5 |
|
6 | 6 | /*
|
7 | 7 | * Contains relational macros that have to return 1 for scalar and -1 for vector
|
|
16 | 16 |
|
17 | 17 | #define _CLC_DEFINE_RELATIONAL_UNARY_VEC2(RET_TYPE, FUNCTION, ARG_TYPE) \
|
18 | 18 | _CLC_DEF _CLC_OVERLOAD RET_TYPE FUNCTION(ARG_TYPE x) { \
|
19 |
| - return as_##RET_TYPE( \ |
| 19 | + return __clc_as_##RET_TYPE( \ |
20 | 20 | ((RET_TYPE){FUNCTION(x.lo), FUNCTION(x.hi)} != (RET_TYPE)0)); \
|
21 | 21 | }
|
22 | 22 |
|
23 | 23 | #define _CLC_DEFINE_RELATIONAL_UNARY_VEC3(RET_TYPE, FUNCTION, ARG_TYPE) \
|
24 | 24 | _CLC_DEF _CLC_OVERLOAD RET_TYPE FUNCTION(ARG_TYPE x) { \
|
25 |
| - return as_##RET_TYPE(((RET_TYPE){FUNCTION(x.s0), FUNCTION(x.s1), \ |
26 |
| - FUNCTION(x.s2)} != (RET_TYPE)0)); \ |
| 25 | + return __clc_as_##RET_TYPE(((RET_TYPE){FUNCTION(x.s0), FUNCTION(x.s1), \ |
| 26 | + FUNCTION(x.s2)} != (RET_TYPE)0)); \ |
27 | 27 | }
|
28 | 28 |
|
29 | 29 | #define _CLC_DEFINE_RELATIONAL_UNARY_VEC4(RET_TYPE, FUNCTION, ARG_TYPE) \
|
30 | 30 | _CLC_DEF _CLC_OVERLOAD RET_TYPE FUNCTION(ARG_TYPE x) { \
|
31 |
| - return as_##RET_TYPE( \ |
| 31 | + return __clc_as_##RET_TYPE( \ |
32 | 32 | ((RET_TYPE){FUNCTION(x.s0), FUNCTION(x.s1), FUNCTION(x.s2), \
|
33 | 33 | FUNCTION(x.s3)} != (RET_TYPE)0)); \
|
34 | 34 | }
|
35 | 35 |
|
36 | 36 | #define _CLC_DEFINE_RELATIONAL_UNARY_VEC8(RET_TYPE, FUNCTION, ARG_TYPE) \
|
37 | 37 | _CLC_DEF _CLC_OVERLOAD RET_TYPE FUNCTION(ARG_TYPE x) { \
|
38 |
| - return as_##RET_TYPE( \ |
| 38 | + return __clc_as_##RET_TYPE( \ |
39 | 39 | ((RET_TYPE){FUNCTION(x.s0), FUNCTION(x.s1), FUNCTION(x.s2), \
|
40 | 40 | FUNCTION(x.s3), FUNCTION(x.s4), FUNCTION(x.s5), \
|
41 | 41 | FUNCTION(x.s6), FUNCTION(x.s7)} != (RET_TYPE)0)); \
|
42 | 42 | }
|
43 | 43 |
|
44 | 44 | #define _CLC_DEFINE_RELATIONAL_UNARY_VEC16(RET_TYPE, FUNCTION, ARG_TYPE) \
|
45 | 45 | _CLC_DEF _CLC_OVERLOAD RET_TYPE FUNCTION(ARG_TYPE x) { \
|
46 |
| - return as_##RET_TYPE( \ |
| 46 | + return __clc_as_##RET_TYPE( \ |
47 | 47 | ((RET_TYPE){FUNCTION(x.s0), FUNCTION(x.s1), FUNCTION(x.s2), \
|
48 | 48 | FUNCTION(x.s3), FUNCTION(x.s4), FUNCTION(x.s5), \
|
49 | 49 | FUNCTION(x.s6), FUNCTION(x.s7), FUNCTION(x.s8), \
|
|
74 | 74 | #define _CLC_DEFINE_RELATIONAL_BINARY_VEC(RET_TYPE, FUNCTION, ARG0_TYPE, \
|
75 | 75 | ARG1_TYPE) \
|
76 | 76 | _CLC_DEF _CLC_OVERLOAD RET_TYPE FUNCTION(ARG0_TYPE x, ARG1_TYPE y) { \
|
77 |
| - return as_##RET_TYPE( \ |
| 77 | + return __clc_as_##RET_TYPE( \ |
78 | 78 | (RET_TYPE)((RET_TYPE){FUNCTION(x.lo, y.lo), FUNCTION(x.hi, y.hi)} != \
|
79 | 79 | (RET_TYPE)0)); \
|
80 | 80 | }
|
81 | 81 |
|
82 | 82 | #define _CLC_DEFINE_RELATIONAL_BINARY_VEC2(RET_TYPE, FUNCTION, ARG0_TYPE, \
|
83 | 83 | ARG1_TYPE) \
|
84 | 84 | _CLC_DEF _CLC_OVERLOAD RET_TYPE FUNCTION(ARG0_TYPE x, ARG1_TYPE y) { \
|
85 |
| - return as_##RET_TYPE(((RET_TYPE){FUNCTION(x.lo, y.lo), \ |
86 |
| - FUNCTION(x.hi, y.hi)} != (RET_TYPE)0)); \ |
| 85 | + return __clc_as_##RET_TYPE( \ |
| 86 | + ((RET_TYPE){FUNCTION(x.lo, y.lo), FUNCTION(x.hi, y.hi)} != \ |
| 87 | + (RET_TYPE)0)); \ |
87 | 88 | }
|
88 | 89 |
|
89 | 90 | #define _CLC_DEFINE_RELATIONAL_BINARY_VEC3(RET_TYPE, FUNCTION, ARG0_TYPE, \
|
90 | 91 | ARG1_TYPE) \
|
91 | 92 | _CLC_DEF _CLC_OVERLOAD RET_TYPE FUNCTION(ARG0_TYPE x, ARG1_TYPE y) { \
|
92 |
| - return as_##RET_TYPE( \ |
| 93 | + return __clc_as_##RET_TYPE( \ |
93 | 94 | ((RET_TYPE){FUNCTION(x.s0, y.s0), FUNCTION(x.s1, y.s1), \
|
94 | 95 | FUNCTION(x.s2, y.s2)} != (RET_TYPE)0)); \
|
95 | 96 | }
|
96 | 97 |
|
97 | 98 | #define _CLC_DEFINE_RELATIONAL_BINARY_VEC4(RET_TYPE, FUNCTION, ARG0_TYPE, \
|
98 | 99 | ARG1_TYPE) \
|
99 | 100 | _CLC_DEF _CLC_OVERLOAD RET_TYPE FUNCTION(ARG0_TYPE x, ARG1_TYPE y) { \
|
100 |
| - return as_##RET_TYPE( \ |
| 101 | + return __clc_as_##RET_TYPE( \ |
101 | 102 | ((RET_TYPE){FUNCTION(x.s0, y.s0), FUNCTION(x.s1, y.s1), \
|
102 | 103 | FUNCTION(x.s2, y.s2), \
|
103 | 104 | FUNCTION(x.s3, y.s3)} != (RET_TYPE)0)); \
|
|
106 | 107 | #define _CLC_DEFINE_RELATIONAL_BINARY_VEC8(RET_TYPE, FUNCTION, ARG0_TYPE, \
|
107 | 108 | ARG1_TYPE) \
|
108 | 109 | _CLC_DEF _CLC_OVERLOAD RET_TYPE FUNCTION(ARG0_TYPE x, ARG1_TYPE y) { \
|
109 |
| - return as_##RET_TYPE( \ |
| 110 | + return __clc_as_##RET_TYPE( \ |
110 | 111 | ((RET_TYPE){ \
|
111 | 112 | FUNCTION(x.s0, y.s0), FUNCTION(x.s1, y.s1), FUNCTION(x.s2, y.s2), \
|
112 | 113 | FUNCTION(x.s3, y.s3), FUNCTION(x.s4, y.s4), FUNCTION(x.s5, y.s5), \
|
|
116 | 117 | #define _CLC_DEFINE_RELATIONAL_BINARY_VEC16(RET_TYPE, FUNCTION, ARG0_TYPE, \
|
117 | 118 | ARG1_TYPE) \
|
118 | 119 | _CLC_DEF _CLC_OVERLOAD RET_TYPE FUNCTION(ARG0_TYPE x, ARG1_TYPE y) { \
|
119 |
| - return as_##RET_TYPE( \ |
| 120 | + return __clc_as_##RET_TYPE( \ |
120 | 121 | ((RET_TYPE){ \
|
121 | 122 | FUNCTION(x.s0, y.s0), FUNCTION(x.s1, y.s1), FUNCTION(x.s2, y.s2), \
|
122 | 123 | FUNCTION(x.s3, y.s3), FUNCTION(x.s4, y.s4), FUNCTION(x.s5, y.s5), \
|
|
0 commit comments