Lines Matching refs:fnc
25 #define FN_FUNC_FN(fnc) \ argument
26 extern float2 __attribute__((overloadable)) fnc(float2 v) { \
28 r.x = fnc(v.x); \
29 r.y = fnc(v.y); \
32 extern float3 __attribute__((overloadable)) fnc(float3 v) { \
34 r.x = fnc(v.x); \
35 r.y = fnc(v.y); \
36 r.z = fnc(v.z); \
39 extern float4 __attribute__((overloadable)) fnc(float4 v) { \
41 r.x = fnc(v.x); \
42 r.y = fnc(v.y); \
43 r.z = fnc(v.z); \
44 r.w = fnc(v.w); \
48 #define IN_FUNC_FN(fnc) \ argument
49 extern int2 __attribute__((overloadable)) fnc(float2 v) { \
51 r.x = fnc(v.x); \
52 r.y = fnc(v.y); \
55 extern int3 __attribute__((overloadable)) fnc(float3 v) { \
57 r.x = fnc(v.x); \
58 r.y = fnc(v.y); \
59 r.z = fnc(v.z); \
62 extern int4 __attribute__((overloadable)) fnc(float4 v) { \
64 r.x = fnc(v.x); \
65 r.y = fnc(v.y); \
66 r.z = fnc(v.z); \
67 r.w = fnc(v.w); \
71 #define FN_FUNC_FN_FN(fnc) \ argument
72 extern float2 __attribute__((overloadable)) fnc(float2 v1, float2 v2) { \
74 r.x = fnc(v1.x, v2.x); \
75 r.y = fnc(v1.y, v2.y); \
78 extern float3 __attribute__((overloadable)) fnc(float3 v1, float3 v2) { \
80 r.x = fnc(v1.x, v2.x); \
81 r.y = fnc(v1.y, v2.y); \
82 r.z = fnc(v1.z, v2.z); \
85 extern float4 __attribute__((overloadable)) fnc(float4 v1, float4 v2) { \
87 r.x = fnc(v1.x, v2.x); \
88 r.y = fnc(v1.y, v2.y); \
89 r.z = fnc(v1.z, v2.z); \
90 r.w = fnc(v1.w, v2.w); \
94 #define FN_FUNC_FN_F(fnc) \ argument
95 extern float2 __attribute__((overloadable)) fnc(float2 v1, float v2) { \
97 r.x = fnc(v1.x, v2); \
98 r.y = fnc(v1.y, v2); \
101 extern float3 __attribute__((overloadable)) fnc(float3 v1, float v2) { \
103 r.x = fnc(v1.x, v2); \
104 r.y = fnc(v1.y, v2); \
105 r.z = fnc(v1.z, v2); \
108 extern float4 __attribute__((overloadable)) fnc(float4 v1, float v2) { \
110 r.x = fnc(v1.x, v2); \
111 r.y = fnc(v1.y, v2); \
112 r.z = fnc(v1.z, v2); \
113 r.w = fnc(v1.w, v2); \
117 #define FN_FUNC_FN_IN(fnc) \ argument
118 extern float2 __attribute__((overloadable)) fnc(float2 v1, int2 v2) { \
120 r.x = fnc(v1.x, v2.x); \
121 r.y = fnc(v1.y, v2.y); \
124 extern float3 __attribute__((overloadable)) fnc(float3 v1, int3 v2) { \
126 r.x = fnc(v1.x, v2.x); \
127 r.y = fnc(v1.y, v2.y); \
128 r.z = fnc(v1.z, v2.z); \
131 extern float4 __attribute__((overloadable)) fnc(float4 v1, int4 v2) { \
133 r.x = fnc(v1.x, v2.x); \
134 r.y = fnc(v1.y, v2.y); \
135 r.z = fnc(v1.z, v2.z); \
136 r.w = fnc(v1.w, v2.w); \
140 #define FN_FUNC_FN_I(fnc) \ argument
141 extern float2 __attribute__((overloadable)) fnc(float2 v1, int v2) { \
143 r.x = fnc(v1.x, v2); \
144 r.y = fnc(v1.y, v2); \
147 extern float3 __attribute__((overloadable)) fnc(float3 v1, int v2) { \
149 r.x = fnc(v1.x, v2); \
150 r.y = fnc(v1.y, v2); \
151 r.z = fnc(v1.z, v2); \
154 extern float4 __attribute__((overloadable)) fnc(float4 v1, int v2) { \
156 r.x = fnc(v1.x, v2); \
157 r.y = fnc(v1.y, v2); \
158 r.z = fnc(v1.z, v2); \
159 r.w = fnc(v1.w, v2); \
163 #define FN_FUNC_FN_PFN(fnc) \ argument
165 fnc(float2 v1, float2 *v2) { \
168 r.x = fnc(v1.x, &t[0]); \
169 r.y = fnc(v1.y, &t[1]); \
175 fnc(float3 v1, float3 *v2) { \
178 r.x = fnc(v1.x, &t[0]); \
179 r.y = fnc(v1.y, &t[1]); \
180 r.z = fnc(v1.z, &t[2]); \
187 fnc(float4 v1, float4 *v2) { \
190 r.x = fnc(v1.x, &t[0]); \
191 r.y = fnc(v1.y, &t[1]); \
192 r.z = fnc(v1.z, &t[2]); \
193 r.w = fnc(v1.w, &t[3]); \
201 #define FN_FUNC_FN_PIN(fnc) \ argument
202 extern float2 __attribute__((overloadable)) fnc(float2 v1, int2 *v2) { \
205 r.x = fnc(v1.x, &t[0]); \
206 r.y = fnc(v1.y, &t[1]); \
211 extern float3 __attribute__((overloadable)) fnc(float3 v1, int3 *v2) { \
214 r.x = fnc(v1.x, &t[0]); \
215 r.y = fnc(v1.y, &t[1]); \
216 r.z = fnc(v1.z, &t[2]); \
222 extern float4 __attribute__((overloadable)) fnc(float4 v1, int4 *v2) { \
225 r.x = fnc(v1.x, &t[0]); \
226 r.y = fnc(v1.y, &t[1]); \
227 r.z = fnc(v1.z, &t[2]); \
228 r.w = fnc(v1.w, &t[3]); \
236 #define FN_FUNC_FN_FN_FN(fnc) \ argument
238 fnc(float2 v1, float2 v2, float2 v3) { \
240 r.x = fnc(v1.x, v2.x, v3.x); \
241 r.y = fnc(v1.y, v2.y, v3.y); \
245 fnc(float3 v1, float3 v2, float3 v3) { \
247 r.x = fnc(v1.x, v2.x, v3.x); \
248 r.y = fnc(v1.y, v2.y, v3.y); \
249 r.z = fnc(v1.z, v2.z, v3.z); \
253 fnc(float4 v1, float4 v2, float4 v3) { \
255 r.x = fnc(v1.x, v2.x, v3.x); \
256 r.y = fnc(v1.y, v2.y, v3.y); \
257 r.z = fnc(v1.z, v2.z, v3.z); \
258 r.w = fnc(v1.w, v2.w, v3.w); \
262 #define FN_FUNC_FN_FN_PIN(fnc) \ argument
264 fnc(float2 v1, float2 v2, int2 *v3) { \
267 r.x = fnc(v1.x, v2.x, &t[0]); \
268 r.y = fnc(v1.y, v2.y, &t[1]); \
274 fnc(float3 v1, float3 v2, int3 *v3) { \
277 r.x = fnc(v1.x, v2.x, &t[0]); \
278 r.y = fnc(v1.y, v2.y, &t[1]); \
279 r.z = fnc(v1.z, v2.z, &t[2]); \
286 fnc(float4 v1, float4 v2, int4 *v3) { \
289 r.x = fnc(v1.x, v2.x, &t[0]); \
290 r.y = fnc(v1.y, v2.y, &t[1]); \
291 r.z = fnc(v1.z, v2.z, &t[2]); \
292 r.w = fnc(v1.w, v2.w, &t[3]); \
811 #define XN_FUNC_YN(typeout, fnc, typein) \ in FN_FUNC_FN() argument
812 extern typeout __attribute__((overloadable)) fnc(typein); \ in FN_FUNC_FN()
813 extern typeout##2 __attribute__((overloadable)) fnc(typein##2 v) { \
815 r.x = fnc(v.x); \
816 r.y = fnc(v.y); \
819 extern typeout##3 __attribute__((overloadable)) fnc(typein##3 v) { \
821 r.x = fnc(v.x); \
822 r.y = fnc(v.y); \
823 r.z = fnc(v.z); \
826 extern typeout##4 __attribute__((overloadable)) fnc(typein##4 v) { \
828 r.x = fnc(v.x); \
829 r.y = fnc(v.y); \
830 r.z = fnc(v.z); \
831 r.w = fnc(v.w); \
836 #define UIN_FUNC_IN(fnc) \ argument
837 XN_FUNC_YN(uchar, fnc, char) \
838 XN_FUNC_YN(ushort, fnc, short) \
839 XN_FUNC_YN(uint, fnc, int)
841 #define IN_FUNC_IN(fnc) \ argument
842 XN_FUNC_YN(uchar, fnc, uchar) \
843 XN_FUNC_YN(char, fnc, char) \
844 XN_FUNC_YN(ushort, fnc, ushort) \
845 XN_FUNC_YN(short, fnc, short) \
846 XN_FUNC_YN(uint, fnc, uint) \
847 XN_FUNC_YN(int, fnc, int)
850 #define XN_FUNC_XN_XN_BODY(type, fnc, body) \ argument
852 fnc(type v1, type v2) { \
856 fnc(type##2 v1, type##2 v2) { \
858 r.x = fnc(v1.x, v2.x); \
859 r.y = fnc(v1.y, v2.y); \
863 fnc(type##3 v1, type##3 v2) { \
865 r.x = fnc(v1.x, v2.x); \
866 r.y = fnc(v1.y, v2.y); \
867 r.z = fnc(v1.z, v2.z); \
871 fnc(type##4 v1, type##4 v2) { \
873 r.x = fnc(v1.x, v2.x); \
874 r.y = fnc(v1.y, v2.y); \
875 r.z = fnc(v1.z, v2.z); \
876 r.w = fnc(v1.w, v2.w); \
880 #define IN_FUNC_IN_IN_BODY(fnc, body) \ argument
881 XN_FUNC_XN_XN_BODY(uchar, fnc, body) \
882 XN_FUNC_XN_XN_BODY(char, fnc, body) \
883 XN_FUNC_XN_XN_BODY(ushort, fnc, body) \
884 XN_FUNC_XN_XN_BODY(short, fnc, body) \
885 XN_FUNC_XN_XN_BODY(uint, fnc, body) \
886 XN_FUNC_XN_XN_BODY(int, fnc, body) \
887 XN_FUNC_XN_XN_BODY(float, fnc, body)
1818 #define SCALARIZE_HN_FUNC_HN_PHN(fnc) \ argument
1819 extern half2 __attribute__((overloadable)) fnc(half2 v1, half2 *v2) { \
1822 ret.x = fnc(v1.x, &t[0]); \
1823 ret.y = fnc(v1.y, &t[1]); \
1828 extern half3 __attribute__((overloadable)) fnc(half3 v1, half3 *v2) { \
1831 ret.x = fnc(v1.x, &t[0]); \
1832 ret.y = fnc(v1.y, &t[1]); \
1833 ret.z = fnc(v1.z, &t[2]); \
1839 extern half4 __attribute__((overloadable)) fnc(half4 v1, half4 *v2) { \
1842 ret.x = fnc(v1.x, &t[0]); \
1843 ret.y = fnc(v1.y, &t[1]); \
1844 ret.z = fnc(v1.z, &t[2]); \
1845 ret.w = fnc(v1.w, &t[3]); \