blob: bc368141053d0ee38cd31db5755d6d4cff22934c [file] [log] [blame]
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07001/* DO NOT MODIFY - automatically generated by generate_builtins.py */
Eric Anholtc22c4002010-03-26 18:20:30 -07002/*
3 * Copyright © 2010 Intel Corporation
4 *
5 * Permission is hereby granted, free of charge, to any person obtaining a
6 * copy of this software and associated documentation files (the "Software"),
7 * to deal in the Software without restriction, including without limitation
8 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
9 * and/or sell copies of the Software, and to permit persons to whom the
10 * Software is furnished to do so, subject to the following conditions:
11 *
12 * The above copyright notice and this permission notice (including the next
13 * paragraph) shall be included in all copies or substantial portions of the
14 * Software.
15 *
16 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
19 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
21 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
22 * DEALINGS IN THE SOFTWARE.
23 */
24
Kenneth Graunkeb3262122010-04-28 23:01:33 -070025#include <stdio.h>
Chia-I Wubfd7c9a2010-08-23 17:51:42 +080026#include "main/core.h" /* for struct gl_shader */
Eric Anholtc22c4002010-03-26 18:20:30 -070027#include "glsl_parser_extras.h"
Kenneth Graunkeb3262122010-04-28 23:01:33 -070028#include "ir_reader.h"
Ian Romanickd5be2ac2010-07-20 11:29:46 -070029#include "program.h"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070030#include "ast.h"
Eric Anholtddd2e832010-03-27 12:59:42 -070031
Ian Romanickd5be2ac2010-07-20 11:29:46 -070032extern "C" struct gl_shader *
Kristian Høgsbergf9995b32010-10-12 12:26:10 -040033_mesa_new_shader(struct gl_context *ctx, GLuint name, GLenum type);
Ian Romanickd5be2ac2010-07-20 11:29:46 -070034
35gl_shader *
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070036read_builtins(GLenum target, const char *protos, const char **functions, unsigned count)
Eric Anholtc22c4002010-03-26 18:20:30 -070037{
Kristian Høgsbergf9995b32010-10-12 12:26:10 -040038 struct gl_context fakeCtx;
Kenneth Graunke7fc88262010-09-08 16:03:33 -070039 fakeCtx.API = API_OPENGL;
Ian Romanickd5be2ac2010-07-20 11:29:46 -070040 gl_shader *sh = _mesa_new_shader(NULL, 0, target);
41 struct _mesa_glsl_parse_state *st =
Ian Romanick961f42c2010-09-08 11:33:12 -070042 new(sh) _mesa_glsl_parse_state(&fakeCtx, target, sh);
Ian Romanickd5be2ac2010-07-20 11:29:46 -070043
44 st->language_version = 130;
Kenneth Graunkee9c7cee2010-08-21 20:23:18 -070045 st->symbols->language_version = 130;
Ian Romanickd5be2ac2010-07-20 11:29:46 -070046 st->ARB_texture_rectangle_enable = true;
47 st->EXT_texture_array_enable = true;
48 _mesa_glsl_initialize_types(st);
49
50 sh->ir = new(sh) exec_list;
51 sh->symbols = st->symbols;
Eric Anholtc22c4002010-03-26 18:20:30 -070052
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070053 /* Read the IR containing the prototypes */
54 _mesa_glsl_read_ir(st, sh->ir, protos, true);
55
56 /* Read ALL the function bodies, telling the IR reader not to scan for
57 * prototypes (we've already created them). The IR reader will skip any
58 * signature that does not already exist as a prototype.
59 */
Kenneth Graunkeb3262122010-04-28 23:01:33 -070060 for (unsigned i = 0; i < count; i++) {
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070061 _mesa_glsl_read_ir(st, sh->ir, functions[i], false);
Eric Anholtc22c4002010-03-26 18:20:30 -070062
Kenneth Graunkeb3262122010-04-28 23:01:33 -070063 if (st->error) {
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070064 printf("error reading builtin: %.35s ...\n", functions[i]);
Kenneth Graunkea8781072010-09-03 16:21:08 -070065 printf("Info log:\n%s\n", st->info_log);
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070066 talloc_free(sh);
Ian Romanickd5be2ac2010-07-20 11:29:46 -070067 return NULL;
Kenneth Graunkeb3262122010-04-28 23:01:33 -070068 }
Eric Anholtcc4ef152010-04-08 15:35:34 -070069 }
Ian Romanickd5be2ac2010-07-20 11:29:46 -070070
71 reparent_ir(sh->ir, sh);
72 delete st;
73
74 return sh;
Eric Anholtcc4ef152010-04-08 15:35:34 -070075}
76
Kenneth Graunke3f5fde52010-10-21 11:43:39 -070077static const char builtin_abs[] =
Eric Anholt47003a82010-08-23 12:39:35 -070078 "((function abs\n"
79 " (signature float\n"
80 " (parameters\n"
81 " (declare (in) float arg0))\n"
82 " ((return (expression float abs (var_ref arg0)))))\n"
83 "\n"
84 " (signature vec2\n"
85 " (parameters\n"
86 " (declare (in) vec2 arg0))\n"
87 " ((return (expression vec2 abs (var_ref arg0)))))\n"
88 "\n"
89 " (signature vec3\n"
90 " (parameters\n"
91 " (declare (in) vec3 arg0))\n"
92 " ((return (expression vec3 abs (var_ref arg0)))))\n"
93 "\n"
94 " (signature vec4\n"
95 " (parameters\n"
96 " (declare (in) vec4 arg0))\n"
97 " ((return (expression vec4 abs (var_ref arg0)))))\n"
98 "))\n"
99 ""
100;
Kenneth Graunke3f5fde52010-10-21 11:43:39 -0700101static const char builtin_acos[] =
Eric Anholt47003a82010-08-23 12:39:35 -0700102 "((function acos\n"
103 " (signature float\n"
104 " (parameters\n"
105 " (declare (in) float x))\n"
106 " ((return (expression float - (constant float (1.5707963))\n"
107 " (call asin ((var_ref x)))))))\n"
108 " (signature vec2\n"
109 " (parameters\n"
110 " (declare (in) vec2 x))\n"
111 " ((return (expression vec2 - (constant float (1.5707963))\n"
112 " (call asin ((var_ref x)))))))\n"
113 " (signature vec3\n"
114 " (parameters\n"
115 " (declare (in) vec3 x))\n"
116 " ((return (expression vec3 - (constant float (1.5707963))\n"
117 " (call asin ((var_ref x)))))))\n"
118 " (signature vec4\n"
119 " (parameters\n"
120 " (declare (in) vec4 x))\n"
121 " ((return (expression vec4 - (constant float (1.5707963))\n"
122 " (call asin ((var_ref x)))))))\n"
123 "))\n"
124 ""
125;
Kenneth Graunke91181c72010-11-15 14:02:13 -0800126static const char builtin_acosh[] =
127 "((function acosh\n"
128 " (signature float\n"
129 " (parameters\n"
130 " (declare (in) float x))\n"
131 " ((return (expression float log (expression float + (var_ref x) (expression float sqrt (expression float - (expression float * (var_ref x) (var_ref x)) (constant float (1)))))))))\n"
132 "\n"
133 " (signature vec2\n"
134 " (parameters\n"
135 " (declare (in) vec2 x))\n"
136 " ((return (expression vec2 log (expression vec2 + (var_ref x) (expression vec2 sqrt (expression vec2 - (expression vec2 * (var_ref x) (var_ref x)) (constant vec2 (1)))))))))\n"
137 "\n"
138 " (signature vec3\n"
139 " (parameters\n"
140 " (declare (in) vec3 x))\n"
141 " ((return (expression vec3 log (expression vec3 + (var_ref x) (expression vec3 sqrt (expression vec3 - (expression vec3 * (var_ref x) (var_ref x)) (constant vec3 (1)))))))))\n"
142 "\n"
143 " (signature vec4\n"
144 " (parameters\n"
145 " (declare (in) vec4 x))\n"
146 " ((return (expression vec4 log (expression vec4 + (var_ref x) (expression vec4 sqrt (expression vec4 - (expression vec4 * (var_ref x) (var_ref x)) (constant vec4 (1)))))))))\n"
147 "))\n"
148 ""
149;
Kenneth Graunke3f5fde52010-10-21 11:43:39 -0700150static const char builtin_all[] =
Kenneth Graunkeb3262122010-04-28 23:01:33 -0700151 "((function all\n"
152 " (signature bool\n"
153 " (parameters\n"
154 " (declare (in) bvec2 arg0))\n"
155 " ((return (expression bool && (swiz x (var_ref arg0))(swiz y (var_ref arg0))))))\n"
156 "\n"
157 " (signature bool\n"
158 " (parameters\n"
159 " (declare (in) bvec3 arg0))\n"
160 " ((return (expression bool && (expression bool && (swiz x (var_ref arg0))(swiz y (var_ref arg0))) (swiz z (var_ref arg0))))))\n"
161 "\n"
162 " (signature bool\n"
163 " (parameters\n"
164 " (declare (in) bvec4 arg0))\n"
165 " ((return (expression bool && (expression bool && (expression bool && (swiz x (var_ref arg0))(swiz y (var_ref arg0))) (swiz z (var_ref arg0))) (swiz w (var_ref arg0))))))\n"
166 "))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700167 ""
168;
Kenneth Graunke3f5fde52010-10-21 11:43:39 -0700169static const char builtin_any[] =
Eric Anholt47003a82010-08-23 12:39:35 -0700170 "((function any\n"
171 " (signature bool\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700172 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700173 " (declare (in) bvec2 arg0))\n"
Eric Anholtb75645d2010-08-23 12:54:55 -0700174 " ((return (expression bool any (var_ref arg0)))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700175 "\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700176 " (signature bool\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700177 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700178 " (declare (in) bvec3 arg0))\n"
Eric Anholtb75645d2010-08-23 12:54:55 -0700179 " ((return (expression bool any (var_ref arg0)))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700180 "\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700181 " (signature bool\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700182 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700183 " (declare (in) bvec4 arg0))\n"
Eric Anholtb75645d2010-08-23 12:54:55 -0700184 " ((return (expression bool any (var_ref arg0)))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700185 "))\n"
186 ""
187;
Kenneth Graunke3f5fde52010-10-21 11:43:39 -0700188static const char builtin_asin[] =
Eric Anholt47003a82010-08-23 12:39:35 -0700189 "((function asin\n"
190 " (signature float\n"
191 " (parameters\n"
192 " (declare (in) float x))\n"
193 " ((return (expression float *\n"
194 " (expression float sign (var_ref x))\n"
195 " (expression float -\n"
196 " (expression float *\n"
197 " (constant float (3.1415926))\n"
198 " (constant float (0.5)))\n"
199 " (expression float *\n"
200 " (expression float sqrt\n"
201 " (expression float -\n"
202 " (constant float (1.0))\n"
203 " (expression float abs (var_ref x))))\n"
204 " (expression float +\n"
205 " (constant float (1.5707288))\n"
206 " (expression float *\n"
207 " (expression float abs (var_ref x))\n"
208 " (expression float +\n"
209 " (constant float (-0.2121144))\n"
210 " (expression float *\n"
211 " (constant float (0.0742610))\n"
212 " (expression float abs (var_ref x))))))))))))\n"
213 "\n"
214 " (signature vec2\n"
215 " (parameters\n"
216 " (declare (in) vec2 x))\n"
217 " ((return (expression vec2 *\n"
218 " (expression vec2 sign (var_ref x))\n"
219 " (expression vec2 -\n"
220 " (expression float *\n"
221 " (constant float (3.1415926))\n"
222 " (constant float (0.5)))\n"
223 " (expression vec2 *\n"
224 " (expression vec2 sqrt\n"
225 " (expression vec2 -\n"
226 " (constant float (1.0))\n"
227 " (expression vec2 abs (var_ref x))))\n"
228 " (expression vec2 +\n"
229 " (constant float (1.5707288))\n"
230 " (expression vec2 *\n"
231 " (expression vec2 abs (var_ref x))\n"
232 " (expression vec2 +\n"
233 " (constant float (-0.2121144))\n"
234 " (expression vec2 *\n"
235 " (constant float (0.0742610))\n"
236 " (expression vec2 abs (var_ref x))))))))))))\n"
237 "\n"
238 " (signature vec3\n"
239 " (parameters\n"
240 " (declare (in) vec3 x))\n"
241 " ((return (expression vec3 *\n"
242 " (expression vec3 sign (var_ref x))\n"
243 " (expression vec3 -\n"
244 " (expression float *\n"
245 " (constant float (3.1415926))\n"
246 " (constant float (0.5)))\n"
247 " (expression vec3 *\n"
248 " (expression vec3 sqrt\n"
249 " (expression vec3 -\n"
250 " (constant float (1.0))\n"
251 " (expression vec3 abs (var_ref x))))\n"
252 " (expression vec3 +\n"
253 " (constant float (1.5707288))\n"
254 " (expression vec3 *\n"
255 " (expression vec3 abs (var_ref x))\n"
256 " (expression vec3 +\n"
257 " (constant float (-0.2121144))\n"
258 " (expression vec3 *\n"
259 " (constant float (0.0742610))\n"
260 " (expression vec3 abs (var_ref x))))))))))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700261 "\n"
262 " (signature vec4\n"
263 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700264 " (declare (in) vec4 x))\n"
265 " ((return (expression vec4 *\n"
266 " (expression vec4 sign (var_ref x))\n"
267 " (expression vec4 -\n"
268 " (expression float *\n"
269 " (constant float (3.1415926))\n"
270 " (constant float (0.5)))\n"
271 " (expression vec4 *\n"
272 " (expression vec4 sqrt\n"
273 " (expression vec4 -\n"
274 " (constant float (1.0))\n"
275 " (expression vec4 abs (var_ref x))))\n"
276 " (expression vec4 +\n"
277 " (constant float (1.5707288))\n"
278 " (expression vec4 *\n"
279 " (expression vec4 abs (var_ref x))\n"
280 " (expression vec4 +\n"
281 " (constant float (-0.2121144))\n"
282 " (expression vec4 *\n"
283 " (constant float (0.0742610))\n"
284 " (expression vec4 abs (var_ref x))))))))))))\n"
285 "))\n"
286 ""
287;
Kenneth Graunke91181c72010-11-15 14:02:13 -0800288static const char builtin_asinh[] =
289 "((function asinh\n"
290 " (signature float\n"
291 " (parameters\n"
292 " (declare (in) float x))\n"
293 " ((return (expression float log (expression float + (var_ref x) (expression float sqrt (expression float + (expression float * (var_ref x) (var_ref x)) (constant float (1)))))))))\n"
294 "\n"
295 " (signature vec2\n"
296 " (parameters\n"
297 " (declare (in) vec2 x))\n"
298 " ((return (expression vec2 log (expression vec2 + (var_ref x) (expression vec2 sqrt (expression vec2 + (expression vec2 * (var_ref x) (var_ref x)) (constant vec2 (1)))))))))\n"
299 "\n"
300 " (signature vec3\n"
301 " (parameters\n"
302 " (declare (in) vec3 x))\n"
303 " ((return (expression vec3 log (expression vec3 + (var_ref x) (expression vec3 sqrt (expression vec3 + (expression vec3 * (var_ref x) (var_ref x)) (constant vec3 (1)))))))))\n"
304 "\n"
305 " (signature vec4\n"
306 " (parameters\n"
307 " (declare (in) vec4 x))\n"
308 " ((return (expression vec4 log (expression vec4 + (var_ref x) (expression vec4 sqrt (expression vec4 + (expression vec4 * (var_ref x) (var_ref x)) (constant vec4 (1)))))))))\n"
309 "))\n"
310 ""
311;
Kenneth Graunke3f5fde52010-10-21 11:43:39 -0700312static const char builtin_atan[] =
Eric Anholt47003a82010-08-23 12:39:35 -0700313 "((function atan\n"
314 " (signature float\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700315 " (parameters\n"
Kenneth Graunke6c4a83c2010-11-02 19:55:36 -0700316 " (declare (in) float y_over_x))\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700317 " ((return (call asin ((expression float *\n"
Kenneth Graunke6c4a83c2010-11-02 19:55:36 -0700318 " (var_ref y_over_x)\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700319 " (expression float rsq\n"
320 " (expression float +\n"
321 " (expression float *\n"
Kenneth Graunke6c4a83c2010-11-02 19:55:36 -0700322 " (var_ref y_over_x)\n"
323 " (var_ref y_over_x))\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700324 " (constant float (1.0))))))))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700325 "\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700326 " (signature vec2\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700327 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700328 " (declare (in) vec2 y_over_x))\n"
329 " ((return (call asin ((expression vec2 *\n"
330 " (var_ref y_over_x)\n"
331 " (expression vec2 rsq\n"
332 " (expression vec2 +\n"
333 " (expression vec2 *\n"
334 " (var_ref y_over_x)\n"
335 " (var_ref y_over_x))\n"
336 " (constant float (1.0))))))))))\n"
337 "\n"
338 " (signature vec3\n"
339 " (parameters\n"
340 " (declare (in) vec3 y_over_x))\n"
341 " ((return (call asin ((expression vec3 *\n"
342 " (var_ref y_over_x)\n"
343 " (expression vec3 rsq\n"
344 " (expression vec3 +\n"
345 " (expression vec3 *\n"
346 " (var_ref y_over_x)\n"
347 " (var_ref y_over_x))\n"
348 " (constant float (1.0))))))))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700349 "\n"
350 " (signature vec4\n"
351 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700352 " (declare (in) vec4 y_over_x))\n"
353 " ((return (call asin ((expression vec4 *\n"
354 " (var_ref y_over_x)\n"
355 " (expression vec4 rsq\n"
356 " (expression vec4 +\n"
357 " (expression vec4 *\n"
358 " (var_ref y_over_x)\n"
359 " (var_ref y_over_x))\n"
360 " (constant float (1.0))))))))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700361 "\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700362 " (signature float\n"
363 " (parameters\n"
364 " (declare (in ) float y)\n"
365 " (declare (in ) float x)\n"
366 " )\n"
367 " (\n"
368 " (declare () float r)\n"
Kenneth Graunke6c4a83c2010-11-02 19:55:36 -0700369 " (if (expression bool > (expression float abs (var_ref x)) (constant float (0.000100))) (\n"
370 " (assign (constant bool (1)) (x) (var_ref r) (call atan ((expression float / (var_ref y) (var_ref x)))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700371 " (if (expression bool < (var_ref x) (constant float (0.000000)) ) (\n"
Kenneth Graunke6c4a83c2010-11-02 19:55:36 -0700372 " (if (expression bool >= (var_ref y) (constant float (0.000000)) )\n"
373 " ((assign (constant bool (1)) (x) (var_ref r) (expression float + (var_ref r) (constant float (3.141593)))))\n"
374 " ((assign (constant bool (1)) (x) (var_ref r) (expression float - (var_ref r) (constant float (3.141593))))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700375 " )\n"
376 " (\n"
377 " ))\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700378 " )\n"
379 " (\n"
Brian Paul16c73342010-08-31 19:13:09 -0600380 " (declare () float sgn)\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -0700381 " (assign (constant bool (1)) (x) (var_ref sgn) (expression float sign (var_ref y)))\n"
382 " (assign (constant bool (1)) (x) (var_ref r) (expression float * (var_ref sgn) (constant float (1.5707965))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700383 " ))\n"
384 "\n"
385 " (return (var_ref r) )\n"
386 " ))\n"
387 "\n"
388 "\n"
389 "\n"
390 " (signature vec2\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700391 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700392 " (declare (in) vec2 y)\n"
393 " (declare (in) vec2 x))\n"
394 " ((declare () vec2 r)\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -0700395 " (assign (constant bool (1)) (x) (var_ref r)\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700396 " (call atan ((swiz x (var_ref y))\n"
397 " (swiz x (var_ref x)))))\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -0700398 " (assign (constant bool (1)) (y) (var_ref r)\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700399 " (call atan ((swiz y (var_ref y))\n"
400 " (swiz y (var_ref x)))))\n"
401 " (return (var_ref r))))\n"
402 "\n"
403 " (signature vec3\n"
404 " (parameters\n"
405 " (declare (in) vec3 y)\n"
406 " (declare (in) vec3 x))\n"
407 " ((declare () vec3 r)\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -0700408 " (assign (constant bool (1)) (x) (var_ref r)\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700409 " (call atan ((swiz x (var_ref y))\n"
410 " (swiz x (var_ref x)))))\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -0700411 " (assign (constant bool (1)) (y) (var_ref r)\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700412 " (call atan ((swiz y (var_ref y))\n"
413 " (swiz y (var_ref x)))))\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -0700414 " (assign (constant bool (1)) (z) (var_ref r)\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700415 " (call atan ((swiz z (var_ref y))\n"
416 " (swiz z (var_ref x)))))\n"
417 " (return (var_ref r))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700418 "\n"
419 " (signature vec4\n"
420 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700421 " (declare (in) vec4 y)\n"
422 " (declare (in) vec4 x))\n"
423 " ((declare () vec4 r)\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -0700424 " (assign (constant bool (1)) (x) (var_ref r)\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700425 " (call atan ((swiz x (var_ref y))\n"
426 " (swiz x (var_ref x)))))\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -0700427 " (assign (constant bool (1)) (y) (var_ref r)\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700428 " (call atan ((swiz y (var_ref y))\n"
429 " (swiz y (var_ref x)))))\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -0700430 " (assign (constant bool (1)) (z) (var_ref r)\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700431 " (call atan ((swiz z (var_ref y))\n"
432 " (swiz z (var_ref x)))))\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -0700433 " (assign (constant bool (1)) (w) (var_ref r)\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700434 " (call atan ((swiz w (var_ref y))\n"
435 " (swiz w (var_ref x)))))\n"
436 " (return (var_ref r)))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700437 "\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700438 "))\n"
439 ""
440;
Kenneth Graunke91181c72010-11-15 14:02:13 -0800441static const char builtin_atanh[] =
442 "((function atanh\n"
443 " (signature float\n"
444 " (parameters\n"
445 " (declare (in) float x))\n"
446 " ((return (expression float * (constant float (0.5))\n"
447 " (expression float log\n"
448 " (expression float /\n"
449 " (expression float + (constant float (1)) (var_ref x))\n"
450 " (expression float - (constant float (1)) (var_ref x))))))))\n"
451 "\n"
452 " (signature vec2\n"
453 " (parameters\n"
454 " (declare (in) vec2 x))\n"
455 " ((return (expression vec2 * (constant vec2 (0.5))\n"
456 " (expression vec2 log\n"
457 " (expression vec2 /\n"
458 " (expression vec2 + (constant vec2 (1)) (var_ref x))\n"
459 " (expression vec2 - (constant vec2 (1)) (var_ref x))))))))\n"
460 "\n"
461 " (signature vec3\n"
462 " (parameters\n"
463 " (declare (in) vec3 x))\n"
464 " ((return (expression vec3 * (constant vec3 (0.5))\n"
465 " (expression vec3 log\n"
466 " (expression vec3 /\n"
467 " (expression vec3 + (constant vec3 (1)) (var_ref x))\n"
468 " (expression vec3 - (constant vec3 (1)) (var_ref x))))))))\n"
469 "\n"
470 " (signature vec4\n"
471 " (parameters\n"
472 " (declare (in) vec4 x))\n"
473 " ((return (expression vec4 * (constant vec4 (0.5))\n"
474 " (expression vec4 log\n"
475 " (expression vec4 /\n"
476 " (expression vec4 + (constant vec4 (1)) (var_ref x))\n"
477 " (expression vec4 - (constant vec4 (1)) (var_ref x))))))))\n"
478 "))\n"
479 ""
480;
Kenneth Graunke3f5fde52010-10-21 11:43:39 -0700481static const char builtin_ceil[] =
Eric Anholt47003a82010-08-23 12:39:35 -0700482 "((function ceil\n"
483 " (signature float\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700484 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700485 " (declare (in) float arg0))\n"
486 " ((return (expression float ceil (var_ref arg0)))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700487 "\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700488 " (signature vec2\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700489 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700490 " (declare (in) vec2 arg0))\n"
491 " ((return (expression vec2 ceil (var_ref arg0)))))\n"
492 "\n"
493 " (signature vec3\n"
494 " (parameters\n"
495 " (declare (in) vec3 arg0))\n"
496 " ((return (expression vec3 ceil (var_ref arg0)))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700497 "\n"
498 " (signature vec4\n"
499 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700500 " (declare (in) vec4 arg0))\n"
501 " ((return (expression vec4 ceil (var_ref arg0)))))\n"
502 "))\n"
503 ""
504;
Kenneth Graunke3f5fde52010-10-21 11:43:39 -0700505static const char builtin_clamp[] =
Eric Anholt47003a82010-08-23 12:39:35 -0700506 "((function clamp\n"
507 " (signature float\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700508 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700509 " (declare (in) float arg0)\n"
510 " (declare (in) float arg1)\n"
511 " (declare (in) float arg2))\n"
512 " ((return (expression float max (expression float min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700513 "\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700514 " (signature vec2\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700515 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700516 " (declare (in) vec2 arg0)\n"
517 " (declare (in) vec2 arg1)\n"
518 " (declare (in) vec2 arg2))\n"
519 " ((return (expression vec2 max (expression vec2 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
520 "\n"
521 " (signature vec3\n"
522 " (parameters\n"
523 " (declare (in) vec3 arg0)\n"
524 " (declare (in) vec3 arg1)\n"
525 " (declare (in) vec3 arg2))\n"
526 " ((return (expression vec3 max (expression vec3 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700527 "\n"
528 " (signature vec4\n"
529 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700530 " (declare (in) vec4 arg0)\n"
531 " (declare (in) vec4 arg1)\n"
532 " (declare (in) vec4 arg2))\n"
533 " ((return (expression vec4 max (expression vec4 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700534 "\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700535 " (signature vec2\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700536 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700537 " (declare (in) vec2 arg0)\n"
538 " (declare (in) float arg1)\n"
539 " (declare (in) float arg2))\n"
540 " ((return (expression vec2 max (expression vec2 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700541 "\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700542 " (signature vec3\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700543 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700544 " (declare (in) vec3 arg0)\n"
545 " (declare (in) float arg1)\n"
546 " (declare (in) float arg2))\n"
547 " ((return (expression vec3 max (expression vec3 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700548 "\n"
549 " (signature vec4\n"
550 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700551 " (declare (in) vec4 arg0)\n"
552 " (declare (in) float arg1)\n"
553 " (declare (in) float arg2))\n"
554 " ((return (expression vec4 max (expression vec4 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
555 "\n"
556 " (signature int\n"
557 " (parameters\n"
558 " (declare (in) int arg0)\n"
559 " (declare (in) int arg1)\n"
560 " (declare (in) int arg2))\n"
561 " ((return (expression int max (expression int min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
562 "\n"
563 " (signature ivec2\n"
564 " (parameters\n"
565 " (declare (in) ivec2 arg0)\n"
566 " (declare (in) ivec2 arg1)\n"
567 " (declare (in) ivec2 arg2))\n"
568 " ((return (expression ivec2 max (expression ivec2 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
569 "\n"
570 " (signature ivec3\n"
571 " (parameters\n"
572 " (declare (in) ivec3 arg0)\n"
573 " (declare (in) ivec3 arg1)\n"
574 " (declare (in) ivec3 arg2))\n"
575 " ((return (expression ivec3 max (expression ivec3 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700576 "\n"
577 " (signature ivec4\n"
578 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700579 " (declare (in) ivec4 arg0)\n"
580 " (declare (in) ivec4 arg1)\n"
581 " (declare (in) ivec4 arg2))\n"
582 " ((return (expression ivec4 max (expression ivec4 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
583 "\n"
584 " (signature ivec2\n"
585 " (parameters\n"
586 " (declare (in) ivec2 arg0)\n"
587 " (declare (in) int arg1)\n"
588 " (declare (in) int arg2))\n"
589 " ((return (expression ivec2 max (expression ivec2 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
590 "\n"
591 " (signature ivec3\n"
592 " (parameters\n"
593 " (declare (in) ivec3 arg0)\n"
594 " (declare (in) int arg1)\n"
595 " (declare (in) int arg2))\n"
596 " ((return (expression ivec3 max (expression ivec3 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
597 "\n"
598 " (signature ivec4\n"
599 " (parameters\n"
600 " (declare (in) ivec4 arg0)\n"
601 " (declare (in) int arg1)\n"
602 " (declare (in) int arg2))\n"
603 " ((return (expression ivec4 max (expression ivec4 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
604 "\n"
605 " (signature uint\n"
606 " (parameters\n"
607 " (declare (in) uint arg0)\n"
608 " (declare (in) uint arg1)\n"
609 " (declare (in) uint arg2))\n"
610 " ((return (expression uint max (expression uint min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
611 "\n"
612 " (signature uvec2\n"
613 " (parameters\n"
614 " (declare (in) uvec2 arg0)\n"
615 " (declare (in) uvec2 arg1)\n"
616 " (declare (in) uvec2 arg2))\n"
617 " ((return (expression uvec2 max (expression uvec2 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
618 "\n"
619 " (signature uvec3\n"
620 " (parameters\n"
621 " (declare (in) uvec3 arg0)\n"
622 " (declare (in) uvec3 arg1)\n"
623 " (declare (in) uvec3 arg2))\n"
624 " ((return (expression uvec3 max (expression uvec3 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700625 "\n"
626 " (signature uvec4\n"
627 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700628 " (declare (in) uvec4 arg0)\n"
629 " (declare (in) uvec4 arg1)\n"
630 " (declare (in) uvec4 arg2))\n"
631 " ((return (expression uvec4 max (expression uvec4 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
632 "\n"
633 " (signature uvec2\n"
634 " (parameters\n"
635 " (declare (in) uvec2 arg0)\n"
636 " (declare (in) uint arg1)\n"
637 " (declare (in) uint arg2))\n"
638 " ((return (expression uvec2 max (expression uvec2 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
639 "\n"
640 " (signature uvec3\n"
641 " (parameters\n"
642 " (declare (in) uvec3 arg0)\n"
643 " (declare (in) uint arg1)\n"
644 " (declare (in) uint arg2))\n"
645 " ((return (expression uvec3 max (expression uvec3 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
646 "\n"
647 " (signature uvec4\n"
648 " (parameters\n"
649 " (declare (in) uvec4 arg0)\n"
650 " (declare (in) uint arg1)\n"
651 " (declare (in) uint arg2))\n"
652 " ((return (expression uvec4 max (expression uvec4 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
653 "))\n"
654 ""
655;
Kenneth Graunke3f5fde52010-10-21 11:43:39 -0700656static const char builtin_cos[] =
Eric Anholt47003a82010-08-23 12:39:35 -0700657 "((function cos\n"
658 " (signature float\n"
659 " (parameters\n"
660 " (declare (in) float angle))\n"
661 " ((return (expression float cos (var_ref angle)))))\n"
662 "\n"
663 " (signature vec2\n"
664 " (parameters\n"
665 " (declare (in) vec2 angle))\n"
666 " ((return (expression vec2 cos (var_ref angle)))))\n"
667 "\n"
668 " (signature vec3\n"
669 " (parameters\n"
670 " (declare (in) vec3 angle))\n"
671 " ((return (expression vec3 cos (var_ref angle)))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700672 "\n"
673 " (signature vec4\n"
674 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700675 " (declare (in) vec4 angle))\n"
676 " ((return (expression vec4 cos (var_ref angle)))))\n"
677 "))\n"
678 ""
679;
Kenneth Graunke3f5fde52010-10-21 11:43:39 -0700680static const char builtin_cosh[] =
Eric Anholt47003a82010-08-23 12:39:35 -0700681 "((function cosh\n"
682 " (signature float\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700683 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700684 " (declare (in) float x))\n"
685 " ((return (expression float * (constant float (0.5))\n"
686 " (expression float +\n"
687 " (expression float exp (var_ref x))\n"
688 " (expression float exp (expression float neg (var_ref x))))))))\n"
689 " (signature vec2\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700690 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700691 " (declare (in) vec2 x))\n"
692 " ((return (expression vec2 * (constant vec2 (0.5))\n"
693 " (expression vec2 +\n"
694 " (expression vec2 exp (var_ref x))\n"
695 " (expression vec2 exp (expression vec2 neg (var_ref x))))))))\n"
696 " (signature vec3\n"
697 " (parameters\n"
698 " (declare (in) vec3 x))\n"
699 " ((return (expression vec3 * (constant vec3 (0.5))\n"
700 " (expression vec3 +\n"
701 " (expression vec3 exp (var_ref x))\n"
702 " (expression vec3 exp (expression vec3 neg (var_ref x))))))))\n"
703 " (signature vec4\n"
704 " (parameters\n"
705 " (declare (in) vec4 x))\n"
706 " ((return (expression vec4 * (constant vec4 (0.5))\n"
707 " (expression vec4 +\n"
708 " (expression vec4 exp (var_ref x))\n"
709 " (expression vec4 exp (expression vec4 neg (var_ref x))))))))\n"
710 "))\n"
711 ""
712;
Kenneth Graunke3f5fde52010-10-21 11:43:39 -0700713static const char builtin_cross[] =
Eric Anholt47003a82010-08-23 12:39:35 -0700714 "((function cross\n"
715 " (signature vec3\n"
716 " (parameters\n"
Kenneth Graunkeaf1cba22010-11-17 13:37:16 -0800717 " (declare (in) vec3 a)\n"
718 " (declare (in) vec3 b))\n"
719 " ((return (expression vec3 -\n"
720 " (expression vec3 * (swiz yzx (var_ref a)) (swiz zxy (var_ref b)))\n"
721 " (expression vec3 * (swiz zxy (var_ref a)) (swiz yzx (var_ref b)))))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700722 "))\n"
723 ""
724;
Kenneth Graunke3f5fde52010-10-21 11:43:39 -0700725static const char builtin_dFdx[] =
Eric Anholt47003a82010-08-23 12:39:35 -0700726 "((function dFdx\n"
727 " (signature float\n"
728 " (parameters\n"
729 " (declare (in) float p))\n"
730 " ((return (expression float dFdx (var_ref p)))))\n"
731 "\n"
732 " (signature vec2\n"
733 " (parameters\n"
734 " (declare (in) vec2 p))\n"
735 " ((return (expression vec2 dFdx (var_ref p)))))\n"
736 "\n"
737 " (signature vec3\n"
738 " (parameters\n"
739 " (declare (in) vec3 p))\n"
740 " ((return (expression vec3 dFdx (var_ref p)))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700741 "\n"
742 " (signature vec4\n"
743 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700744 " (declare (in) vec4 p))\n"
745 " ((return (expression vec4 dFdx (var_ref p)))))\n"
746 "))\n"
747 ""
748;
Kenneth Graunke3f5fde52010-10-21 11:43:39 -0700749static const char builtin_dFdy[] =
Eric Anholt47003a82010-08-23 12:39:35 -0700750 "((function dFdy\n"
751 " (signature float\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700752 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700753 " (declare (in) float p))\n"
754 " ((return (expression float dFdy (var_ref p)))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700755 "\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700756 " (signature vec2\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700757 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700758 " (declare (in) vec2 p))\n"
759 " ((return (expression vec2 dFdy (var_ref p)))))\n"
760 "\n"
761 " (signature vec3\n"
762 " (parameters\n"
763 " (declare (in) vec3 p))\n"
764 " ((return (expression vec3 dFdy (var_ref p)))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700765 "\n"
766 " (signature vec4\n"
767 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700768 " (declare (in) vec4 p))\n"
769 " ((return (expression vec4 dFdy (var_ref p)))))\n"
770 "))\n"
771 ""
772;
Kenneth Graunke3f5fde52010-10-21 11:43:39 -0700773static const char builtin_degrees[] =
Eric Anholt47003a82010-08-23 12:39:35 -0700774 "((function degrees\n"
775 " (signature float\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700776 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700777 " (declare (in) float arg0))\n"
778 " ((return (expression float * (var_ref arg0) (constant float (57.295780))))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700779 "\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700780 " (signature vec2\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700781 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700782 " (declare (in) vec2 arg0))\n"
783 " ((return (expression vec2 * (var_ref arg0) (constant float (57.295780))))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -0700784 "\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700785 " (signature vec3\n"
786 " (parameters\n"
787 " (declare (in) vec3 arg0))\n"
788 " ((return (expression vec3 * (var_ref arg0) (constant float (57.295780))))))\n"
789 "\n"
790 " (signature vec4\n"
791 " (parameters\n"
792 " (declare (in) vec4 arg0))\n"
793 " ((return (expression vec4 * (var_ref arg0) (constant float (57.295780))))))\n"
794 "))\n"
795 ""
796;
Kenneth Graunke3f5fde52010-10-21 11:43:39 -0700797static const char builtin_distance[] =
Eric Anholt47003a82010-08-23 12:39:35 -0700798 "((function distance\n"
799 " (signature float\n"
800 " (parameters\n"
801 " (declare (in) float p0)\n"
802 " (declare (in) float p1))\n"
Kenneth Graunkefc1daab2010-09-08 15:38:09 -0700803 " ((return (expression float abs (expression float - (var_ref p0) (var_ref p1))))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700804 "\n"
805 " (signature float\n"
806 " (parameters\n"
807 " (declare (in) vec2 p0)\n"
808 " (declare (in) vec2 p1))\n"
809 " ((declare () vec2 p)\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -0700810 " (assign (constant bool (1)) (xy) (var_ref p) (expression vec2 - (var_ref p0) (var_ref p1)))\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700811 " (return (expression float sqrt (expression float dot (var_ref p) (var_ref p))))))\n"
812 "\n"
813 " (signature float\n"
814 " (parameters\n"
815 " (declare (in) vec3 p0)\n"
816 " (declare (in) vec3 p1))\n"
817 " ((declare () vec3 p)\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -0700818 " (assign (constant bool (1)) (xyz) (var_ref p) (expression vec3 - (var_ref p0) (var_ref p1)))\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700819 " (return (expression float sqrt (expression float dot (var_ref p) (var_ref p))))))\n"
820 "\n"
821 " (signature float\n"
822 " (parameters\n"
823 " (declare (in) vec4 p0)\n"
824 " (declare (in) vec4 p1))\n"
825 " ((declare () vec4 p)\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -0700826 " (assign (constant bool (1)) (xyzw) (var_ref p) (expression vec4 - (var_ref p0) (var_ref p1)))\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700827 " (return (expression float sqrt (expression float dot (var_ref p) (var_ref p))))))\n"
828 "))\n"
829 ""
830;
Kenneth Graunke3f5fde52010-10-21 11:43:39 -0700831static const char builtin_dot[] =
Eric Anholt47003a82010-08-23 12:39:35 -0700832 "((function dot\n"
833 " (signature float\n"
834 " (parameters\n"
835 " (declare (in) float arg0)\n"
836 " (declare (in) float arg1))\n"
Kenneth Graunke4b2ffa02010-09-07 23:23:03 -0700837 " ((return (expression float * (var_ref arg0) (var_ref arg1)))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700838 "\n"
839 " (signature float\n"
840 " (parameters\n"
841 " (declare (in) vec2 arg0)\n"
842 " (declare (in) vec2 arg1))\n"
843 " ((return (expression float dot (var_ref arg0) (var_ref arg1)))))\n"
844 "\n"
845 " (signature float\n"
846 " (parameters\n"
847 " (declare (in) vec3 arg0)\n"
848 " (declare (in) vec3 arg1))\n"
849 " ((return (expression float dot (var_ref arg0) (var_ref arg1)))))\n"
850 "\n"
851 " (signature float\n"
852 " (parameters\n"
853 " (declare (in) vec4 arg0)\n"
854 " (declare (in) vec4 arg1))\n"
855 " ((return (expression float dot (var_ref arg0) (var_ref arg1)))))\n"
856 "))\n"
857 ""
858;
Kenneth Graunke3f5fde52010-10-21 11:43:39 -0700859static const char builtin_equal[] =
Eric Anholt47003a82010-08-23 12:39:35 -0700860 "((function equal\n"
861 " (signature bvec2\n"
862 " (parameters\n"
863 " (declare (in) vec2 arg0)\n"
864 " (declare (in) vec2 arg1))\n"
Kenneth Graunke52f91562010-09-18 14:44:18 +0200865 " ((return (expression bvec2 == (var_ref arg0) (var_ref arg1)))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700866 "\n"
867 " (signature bvec3\n"
868 " (parameters\n"
869 " (declare (in) vec3 arg0)\n"
870 " (declare (in) vec3 arg1))\n"
Kenneth Graunke52f91562010-09-18 14:44:18 +0200871 " ((return (expression bvec3 == (var_ref arg0) (var_ref arg1)))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700872 "\n"
873 " (signature bvec4\n"
874 " (parameters\n"
875 " (declare (in) vec4 arg0)\n"
876 " (declare (in) vec4 arg1))\n"
Kenneth Graunke52f91562010-09-18 14:44:18 +0200877 " ((return (expression bvec4 == (var_ref arg0) (var_ref arg1)))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700878 "\n"
879 " (signature bvec2\n"
880 " (parameters\n"
Kenneth Graunke01813852010-09-01 11:47:52 -0700881 " (declare (in) bvec2 arg0)\n"
882 " (declare (in) bvec2 arg1))\n"
Kenneth Graunke52f91562010-09-18 14:44:18 +0200883 " ((return (expression bvec2 == (var_ref arg0) (var_ref arg1)))))\n"
Kenneth Graunke01813852010-09-01 11:47:52 -0700884 "\n"
885 " (signature bvec3\n"
886 " (parameters\n"
887 " (declare (in) bvec3 arg0)\n"
888 " (declare (in) bvec3 arg1))\n"
Kenneth Graunke52f91562010-09-18 14:44:18 +0200889 " ((return (expression bvec3 == (var_ref arg0) (var_ref arg1)))))\n"
Kenneth Graunke01813852010-09-01 11:47:52 -0700890 "\n"
891 " (signature bvec4\n"
892 " (parameters\n"
893 " (declare (in) bvec4 arg0)\n"
894 " (declare (in) bvec4 arg1))\n"
Kenneth Graunke52f91562010-09-18 14:44:18 +0200895 " ((return (expression bvec4 == (var_ref arg0) (var_ref arg1)))))\n"
Kenneth Graunke01813852010-09-01 11:47:52 -0700896 "\n"
897 " (signature bvec2\n"
898 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700899 " (declare (in) ivec2 arg0)\n"
900 " (declare (in) ivec2 arg1))\n"
Kenneth Graunke52f91562010-09-18 14:44:18 +0200901 " ((return (expression bvec2 == (var_ref arg0) (var_ref arg1)))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700902 "\n"
903 " (signature bvec3\n"
904 " (parameters\n"
905 " (declare (in) ivec3 arg0)\n"
906 " (declare (in) ivec3 arg1))\n"
Kenneth Graunke52f91562010-09-18 14:44:18 +0200907 " ((return (expression bvec3 == (var_ref arg0) (var_ref arg1)))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700908 "\n"
909 " (signature bvec4\n"
910 " (parameters\n"
911 " (declare (in) ivec4 arg0)\n"
912 " (declare (in) ivec4 arg1))\n"
Kenneth Graunke52f91562010-09-18 14:44:18 +0200913 " ((return (expression bvec4 == (var_ref arg0) (var_ref arg1)))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700914 "\n"
915 " (signature bvec2\n"
916 " (parameters\n"
917 " (declare (in) uvec2 arg0)\n"
918 " (declare (in) uvec2 arg1))\n"
Kenneth Graunke52f91562010-09-18 14:44:18 +0200919 " ((return (expression bvec2 == (var_ref arg0) (var_ref arg1)))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700920 "\n"
921 " (signature bvec3\n"
922 " (parameters\n"
923 " (declare (in) uvec3 arg0)\n"
924 " (declare (in) uvec3 arg1))\n"
Kenneth Graunke52f91562010-09-18 14:44:18 +0200925 " ((return (expression bvec3 == (var_ref arg0) (var_ref arg1)))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700926 "\n"
927 " (signature bvec4\n"
928 " (parameters\n"
929 " (declare (in) uvec4 arg0)\n"
930 " (declare (in) uvec4 arg1))\n"
Kenneth Graunke52f91562010-09-18 14:44:18 +0200931 " ((return (expression bvec4 == (var_ref arg0) (var_ref arg1)))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700932 "))\n"
933 ""
934;
Kenneth Graunke3f5fde52010-10-21 11:43:39 -0700935static const char builtin_exp[] =
Eric Anholt47003a82010-08-23 12:39:35 -0700936 "((function exp\n"
937 " (signature float\n"
938 " (parameters\n"
939 " (declare (in) float arg0))\n"
940 " ((return (expression float exp (var_ref arg0)))))\n"
941 "\n"
942 " (signature vec2\n"
943 " (parameters\n"
944 " (declare (in) vec2 arg0))\n"
945 " ((return (expression vec2 exp (var_ref arg0)))))\n"
946 "\n"
947 " (signature vec3\n"
948 " (parameters\n"
949 " (declare (in) vec3 arg0))\n"
950 " ((return (expression vec3 exp (var_ref arg0)))))\n"
951 "\n"
952 " (signature vec4\n"
953 " (parameters\n"
954 " (declare (in) vec4 arg0))\n"
955 " ((return (expression vec4 exp (var_ref arg0)))))\n"
956 "))\n"
957 ""
958;
Kenneth Graunke3f5fde52010-10-21 11:43:39 -0700959static const char builtin_exp2[] =
Eric Anholt47003a82010-08-23 12:39:35 -0700960 "((function exp2\n"
961 " (signature float\n"
962 " (parameters\n"
963 " (declare (in) float arg0))\n"
964 " ((return (expression float exp2 (var_ref arg0)))))\n"
965 "\n"
966 " (signature vec2\n"
967 " (parameters\n"
968 " (declare (in) vec2 arg0))\n"
969 " ((return (expression vec2 exp2 (var_ref arg0)))))\n"
970 "\n"
971 " (signature vec3\n"
972 " (parameters\n"
973 " (declare (in) vec3 arg0))\n"
974 " ((return (expression vec3 exp2 (var_ref arg0)))))\n"
975 "\n"
976 " (signature vec4\n"
977 " (parameters\n"
978 " (declare (in) vec4 arg0))\n"
979 " ((return (expression vec4 exp2 (var_ref arg0)))))\n"
980 "))\n"
981 ""
982;
Kenneth Graunke3f5fde52010-10-21 11:43:39 -0700983static const char builtin_faceforward[] =
Eric Anholt47003a82010-08-23 12:39:35 -0700984 "((function faceforward\n"
985 " (signature float\n"
986 " (parameters\n"
987 " (declare (in) float N)\n"
988 " (declare (in) float I)\n"
989 " (declare (in) float Nref))\n"
Kenneth Graunke4b2ffa02010-09-07 23:23:03 -0700990 " ((if (expression bool < (expression float * (var_ref Nref) (var_ref I)) (constant float (0)))\n"
Eric Anholt47003a82010-08-23 12:39:35 -0700991 " ((return (var_ref N)))\n"
992 " ((return (expression float neg (var_ref N)))))))\n"
993 "\n"
994 " (signature vec2\n"
995 " (parameters\n"
996 " (declare (in) vec2 N)\n"
997 " (declare (in) vec2 I)\n"
998 " (declare (in) vec2 Nref))\n"
999 " ((if (expression bool < (expression float dot (var_ref Nref) (var_ref I)) (constant float (0)))\n"
1000 " ((return (var_ref N)))\n"
1001 " ((return (expression vec2 neg (var_ref N)))))))\n"
1002 "\n"
1003 " (signature vec3\n"
1004 " (parameters\n"
1005 " (declare (in) vec3 N)\n"
1006 " (declare (in) vec3 I)\n"
1007 " (declare (in) vec3 Nref))\n"
1008 " ((if (expression bool < (expression float dot (var_ref Nref) (var_ref I)) (constant float (0)))\n"
1009 " ((return (var_ref N)))\n"
1010 " ((return (expression vec3 neg (var_ref N)))))))\n"
1011 "\n"
1012 " (signature vec4\n"
1013 " (parameters\n"
1014 " (declare (in) vec4 N)\n"
1015 " (declare (in) vec4 I)\n"
1016 " (declare (in) vec4 Nref))\n"
1017 " ((if (expression bool < (expression float dot (var_ref Nref) (var_ref I)) (constant float (0)))\n"
1018 " ((return (var_ref N)))\n"
1019 " ((return (expression vec4 neg (var_ref N)))))))\n"
1020 "))\n"
1021 ""
1022;
Kenneth Graunke3f5fde52010-10-21 11:43:39 -07001023static const char builtin_floor[] =
Eric Anholt47003a82010-08-23 12:39:35 -07001024 "((function floor\n"
1025 " (signature float\n"
1026 " (parameters\n"
1027 " (declare (in) float arg0))\n"
1028 " ((return (expression float floor (var_ref arg0)))))\n"
1029 "\n"
1030 " (signature vec2\n"
1031 " (parameters\n"
1032 " (declare (in) vec2 arg0))\n"
1033 " ((return (expression vec2 floor (var_ref arg0)))))\n"
1034 "\n"
1035 " (signature vec3\n"
1036 " (parameters\n"
1037 " (declare (in) vec3 arg0))\n"
1038 " ((return (expression vec3 floor (var_ref arg0)))))\n"
1039 "\n"
1040 " (signature vec4\n"
1041 " (parameters\n"
1042 " (declare (in) vec4 arg0))\n"
1043 " ((return (expression vec4 floor (var_ref arg0)))))\n"
1044 "))\n"
1045 ""
1046;
Kenneth Graunke3f5fde52010-10-21 11:43:39 -07001047static const char builtin_fract[] =
Eric Anholt47003a82010-08-23 12:39:35 -07001048 "((function fract\n"
1049 " (signature float\n"
1050 " (parameters\n"
1051 " (declare (in) float x))\n"
1052 " ((return (expression float fract (var_ref x)))))\n"
1053 "\n"
1054 " (signature vec2\n"
1055 " (parameters\n"
1056 " (declare (in) vec2 x))\n"
1057 " ((return (expression vec2 fract (var_ref x)))))\n"
1058 "\n"
1059 " (signature vec3\n"
1060 " (parameters\n"
1061 " (declare (in) vec3 x))\n"
1062 " ((return (expression vec3 fract (var_ref x)))))\n"
1063 "\n"
1064 " (signature vec4\n"
1065 " (parameters\n"
1066 " (declare (in) vec4 x))\n"
1067 " ((return (expression vec4 fract (var_ref x)))))\n"
1068 "))\n"
1069 "\n"
1070 ""
1071;
Kenneth Graunke3f5fde52010-10-21 11:43:39 -07001072static const char builtin_ftransform[] =
Eric Anholt47003a82010-08-23 12:39:35 -07001073 "((declare (uniform) mat4 gl_ModelViewProjectionMatrix)\n"
1074 " (declare (in) vec4 gl_Vertex)\n"
1075 " (function ftransform\n"
1076 " (signature vec4\n"
1077 " (parameters)\n"
1078 " ((return (expression vec4 *\n"
1079 " (var_ref gl_ModelViewProjectionMatrix)\n"
1080 " (var_ref gl_Vertex)))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07001081 "))\n"
1082 ""
1083;
Kenneth Graunke3f5fde52010-10-21 11:43:39 -07001084static const char builtin_fwidth[] =
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07001085 "((function fwidth\n"
1086 " (signature float\n"
1087 " (parameters\n"
1088 " (declare (in) float p))\n"
1089 " ((return (expression float +\n"
1090 " (expression float abs (expression float dFdx (var_ref p)))\n"
1091 " (expression float abs (expression float dFdy (var_ref p)))))))\n"
1092 "\n"
1093 " (signature vec2\n"
1094 " (parameters\n"
1095 " (declare (in) vec2 p))\n"
1096 " ((return (expression vec2 +\n"
1097 " (expression vec2 abs (expression vec2 dFdx (var_ref p)))\n"
1098 " (expression vec2 abs (expression vec2 dFdy (var_ref p)))))))\n"
1099 "\n"
1100 " (signature vec3\n"
1101 " (parameters\n"
1102 " (declare (in) vec3 p))\n"
1103 " ((return (expression vec3 +\n"
1104 " (expression vec3 abs (expression vec3 dFdx (var_ref p)))\n"
1105 " (expression vec3 abs (expression vec3 dFdy (var_ref p)))))))\n"
1106 "\n"
1107 " (signature vec4\n"
1108 " (parameters\n"
1109 " (declare (in) vec4 p))\n"
1110 " ((return (expression vec4 +\n"
1111 " (expression vec4 abs (expression vec4 dFdx (var_ref p)))\n"
1112 " (expression vec4 abs (expression vec4 dFdy (var_ref p)))))))\n"
1113 "))\n"
1114 ""
1115;
Kenneth Graunke3f5fde52010-10-21 11:43:39 -07001116static const char builtin_greaterThan[] =
Eric Anholt47003a82010-08-23 12:39:35 -07001117 "((function greaterThan\n"
1118 " (signature bvec2\n"
1119 " (parameters\n"
1120 " (declare (in) vec2 arg0)\n"
1121 " (declare (in) vec2 arg1))\n"
Kenneth Graunkedbd24802010-09-18 15:56:28 +02001122 " ((return (expression bvec2 > (var_ref arg0) (var_ref arg1)))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07001123 "\n"
1124 " (signature bvec3\n"
1125 " (parameters\n"
1126 " (declare (in) vec3 arg0)\n"
1127 " (declare (in) vec3 arg1))\n"
Kenneth Graunkedbd24802010-09-18 15:56:28 +02001128 " ((return (expression bvec3 > (var_ref arg0) (var_ref arg1)))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07001129 "\n"
1130 " (signature bvec4\n"
1131 " (parameters\n"
1132 " (declare (in) vec4 arg0)\n"
1133 " (declare (in) vec4 arg1))\n"
Kenneth Graunkedbd24802010-09-18 15:56:28 +02001134 " ((return (expression bvec4 > (var_ref arg0) (var_ref arg1)))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07001135 "\n"
1136 " (signature bvec2\n"
1137 " (parameters\n"
1138 " (declare (in) ivec2 arg0)\n"
1139 " (declare (in) ivec2 arg1))\n"
Kenneth Graunkedbd24802010-09-18 15:56:28 +02001140 " ((return (expression bvec2 > (var_ref arg0) (var_ref arg1)))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07001141 "\n"
1142 " (signature bvec3\n"
1143 " (parameters\n"
1144 " (declare (in) ivec3 arg0)\n"
1145 " (declare (in) ivec3 arg1))\n"
Kenneth Graunkedbd24802010-09-18 15:56:28 +02001146 " ((return (expression bvec3 > (var_ref arg0) (var_ref arg1)))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07001147 "\n"
1148 " (signature bvec4\n"
1149 " (parameters\n"
1150 " (declare (in) ivec4 arg0)\n"
1151 " (declare (in) ivec4 arg1))\n"
Kenneth Graunkedbd24802010-09-18 15:56:28 +02001152 " ((return (expression bvec4 > (var_ref arg0) (var_ref arg1)))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07001153 "\n"
1154 " (signature bvec2\n"
1155 " (parameters\n"
1156 " (declare (in) uvec2 arg0)\n"
1157 " (declare (in) uvec2 arg1))\n"
Kenneth Graunkedbd24802010-09-18 15:56:28 +02001158 " ((return (expression bvec2 > (var_ref arg0) (var_ref arg1)))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07001159 "\n"
1160 " (signature bvec3\n"
1161 " (parameters\n"
1162 " (declare (in) uvec3 arg0)\n"
1163 " (declare (in) uvec3 arg1))\n"
Kenneth Graunkedbd24802010-09-18 15:56:28 +02001164 " ((return (expression bvec3 > (var_ref arg0) (var_ref arg1)))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07001165 "\n"
1166 " (signature bvec4\n"
1167 " (parameters\n"
1168 " (declare (in) uvec4 arg0)\n"
1169 " (declare (in) uvec4 arg1))\n"
Kenneth Graunkedbd24802010-09-18 15:56:28 +02001170 " ((return (expression bvec4 > (var_ref arg0) (var_ref arg1)))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07001171 "))\n"
1172 ""
1173;
Kenneth Graunke3f5fde52010-10-21 11:43:39 -07001174static const char builtin_greaterThanEqual[] =
Eric Anholt47003a82010-08-23 12:39:35 -07001175 "((function greaterThanEqual\n"
1176 " (signature bvec2\n"
1177 " (parameters\n"
1178 " (declare (in) vec2 arg0)\n"
1179 " (declare (in) vec2 arg1))\n"
Kenneth Graunkedbd24802010-09-18 15:56:28 +02001180 " ((return (expression bvec2 >= (var_ref arg0) (var_ref arg1)))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07001181 "\n"
1182 " (signature bvec3\n"
1183 " (parameters\n"
1184 " (declare (in) vec3 arg0)\n"
1185 " (declare (in) vec3 arg1))\n"
Kenneth Graunkedbd24802010-09-18 15:56:28 +02001186 " ((return (expression bvec3 >= (var_ref arg0) (var_ref arg1)))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07001187 "\n"
1188 " (signature bvec4\n"
1189 " (parameters\n"
1190 " (declare (in) vec4 arg0)\n"
1191 " (declare (in) vec4 arg1))\n"
Kenneth Graunkedbd24802010-09-18 15:56:28 +02001192 " ((return (expression bvec4 >= (var_ref arg0) (var_ref arg1)))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07001193 "\n"
1194 " (signature bvec2\n"
1195 " (parameters\n"
1196 " (declare (in) ivec2 arg0)\n"
1197 " (declare (in) ivec2 arg1))\n"
Kenneth Graunkedbd24802010-09-18 15:56:28 +02001198 " ((return (expression bvec2 >= (var_ref arg0) (var_ref arg1)))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07001199 "\n"
1200 " (signature bvec3\n"
1201 " (parameters\n"
1202 " (declare (in) ivec3 arg0)\n"
1203 " (declare (in) ivec3 arg1))\n"
Kenneth Graunkedbd24802010-09-18 15:56:28 +02001204 " ((return (expression bvec3 >= (var_ref arg0) (var_ref arg1)))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07001205 "\n"
1206 " (signature bvec4\n"
1207 " (parameters\n"
1208 " (declare (in) ivec4 arg0)\n"
1209 " (declare (in) ivec4 arg1))\n"
Kenneth Graunkedbd24802010-09-18 15:56:28 +02001210 " ((return (expression bvec4 >= (var_ref arg0) (var_ref arg1)))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07001211 "\n"
1212 " (signature bvec2\n"
1213 " (parameters\n"
1214 " (declare (in) uvec2 arg0)\n"
1215 " (declare (in) uvec2 arg1))\n"
Kenneth Graunkedbd24802010-09-18 15:56:28 +02001216 " ((return (expression bvec2 >= (var_ref arg0) (var_ref arg1)))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07001217 "\n"
1218 " (signature bvec3\n"
1219 " (parameters\n"
1220 " (declare (in) uvec3 arg0)\n"
1221 " (declare (in) uvec3 arg1))\n"
Kenneth Graunkedbd24802010-09-18 15:56:28 +02001222 " ((return (expression bvec3 >= (var_ref arg0) (var_ref arg1)))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07001223 "\n"
1224 " (signature bvec4\n"
1225 " (parameters\n"
1226 " (declare (in) uvec4 arg0)\n"
1227 " (declare (in) uvec4 arg1))\n"
Kenneth Graunkedbd24802010-09-18 15:56:28 +02001228 " ((return (expression bvec4 >= (var_ref arg0) (var_ref arg1)))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07001229 "))\n"
1230 ""
1231;
Kenneth Graunke3f5fde52010-10-21 11:43:39 -07001232static const char builtin_inversesqrt[] =
Eric Anholt47003a82010-08-23 12:39:35 -07001233 "((function inversesqrt\n"
1234 " (signature float\n"
1235 " (parameters\n"
1236 " (declare (in) float arg0))\n"
1237 " ((return (expression float rsq (var_ref arg0)))))\n"
1238 "\n"
1239 " (signature vec2\n"
1240 " (parameters\n"
1241 " (declare (in) vec2 arg0))\n"
1242 " ((return (expression vec2 rsq (var_ref arg0)))))\n"
1243 "\n"
1244 " (signature vec3\n"
1245 " (parameters\n"
1246 " (declare (in) vec3 arg0))\n"
1247 " ((return (expression vec3 rsq (var_ref arg0)))))\n"
1248 "\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07001249 " (signature vec4\n"
1250 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07001251 " (declare (in) vec4 arg0))\n"
1252 " ((return (expression vec4 rsq (var_ref arg0)))))\n"
1253 "))\n"
1254 ""
1255;
Kenneth Graunke3f5fde52010-10-21 11:43:39 -07001256static const char builtin_length[] =
Eric Anholt47003a82010-08-23 12:39:35 -07001257 "((function length\n"
1258 " (signature float\n"
1259 " (parameters\n"
1260 " (declare (in) float arg0))\n"
Kenneth Graunkefc1daab2010-09-08 15:38:09 -07001261 " ((return (expression float abs (var_ref arg0)))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07001262 "\n"
1263 " (signature float\n"
1264 " (parameters\n"
1265 " (declare (in) vec2 arg0))\n"
1266 " ((return (expression float sqrt (expression float dot (var_ref arg0) (var_ref arg0))))))\n"
1267 "\n"
1268 " (signature float\n"
1269 " (parameters\n"
1270 " (declare (in) vec3 arg0))\n"
1271 " ((return (expression float sqrt (expression float dot (var_ref arg0) (var_ref arg0))))))\n"
1272 "\n"
1273 " (signature float\n"
1274 " (parameters\n"
1275 " (declare (in) vec4 arg0))\n"
1276 " ((return (expression float sqrt (expression float dot (var_ref arg0) (var_ref arg0))))))\n"
1277 "))\n"
1278 ""
1279;
Kenneth Graunke3f5fde52010-10-21 11:43:39 -07001280static const char builtin_lessThan[] =
Eric Anholt47003a82010-08-23 12:39:35 -07001281 "((function lessThan\n"
1282 " (signature bvec2\n"
1283 " (parameters\n"
1284 " (declare (in) vec2 arg0)\n"
1285 " (declare (in) vec2 arg1))\n"
Kenneth Graunkedbd24802010-09-18 15:56:28 +02001286 " ((return (expression bvec2 < (var_ref arg0) (var_ref arg1)))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07001287 "\n"
1288 " (signature bvec3\n"
1289 " (parameters\n"
1290 " (declare (in) vec3 arg0)\n"
1291 " (declare (in) vec3 arg1))\n"
Kenneth Graunkedbd24802010-09-18 15:56:28 +02001292 " ((return (expression bvec3 < (var_ref arg0) (var_ref arg1)))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07001293 "\n"
1294 " (signature bvec4\n"
1295 " (parameters\n"
1296 " (declare (in) vec4 arg0)\n"
1297 " (declare (in) vec4 arg1))\n"
Kenneth Graunkedbd24802010-09-18 15:56:28 +02001298 " ((return (expression bvec4 < (var_ref arg0) (var_ref arg1)))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07001299 "\n"
1300 " (signature bvec2\n"
1301 " (parameters\n"
1302 " (declare (in) ivec2 arg0)\n"
1303 " (declare (in) ivec2 arg1))\n"
Kenneth Graunkedbd24802010-09-18 15:56:28 +02001304 " ((return (expression bvec2 < (var_ref arg0) (var_ref arg1)))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07001305 "\n"
1306 " (signature bvec3\n"
1307 " (parameters\n"
1308 " (declare (in) ivec3 arg0)\n"
1309 " (declare (in) ivec3 arg1))\n"
Kenneth Graunkedbd24802010-09-18 15:56:28 +02001310 " ((return (expression bvec3 < (var_ref arg0) (var_ref arg1)))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07001311 "\n"
1312 " (signature bvec4\n"
1313 " (parameters\n"
1314 " (declare (in) ivec4 arg0)\n"
1315 " (declare (in) ivec4 arg1))\n"
Kenneth Graunkedbd24802010-09-18 15:56:28 +02001316 " ((return (expression bvec4 < (var_ref arg0) (var_ref arg1)))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07001317 "\n"
1318 " (signature bvec2\n"
1319 " (parameters\n"
1320 " (declare (in) uvec2 arg0)\n"
1321 " (declare (in) uvec2 arg1))\n"
Kenneth Graunkedbd24802010-09-18 15:56:28 +02001322 " ((return (expression bvec2 < (var_ref arg0) (var_ref arg1)))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07001323 "\n"
1324 " (signature bvec3\n"
1325 " (parameters\n"
1326 " (declare (in) uvec3 arg0)\n"
1327 " (declare (in) uvec3 arg1))\n"
Kenneth Graunkedbd24802010-09-18 15:56:28 +02001328 " ((return (expression bvec3 < (var_ref arg0) (var_ref arg1)))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07001329 "\n"
1330 " (signature bvec4\n"
1331 " (parameters\n"
1332 " (declare (in) uvec4 arg0)\n"
1333 " (declare (in) uvec4 arg1))\n"
Kenneth Graunkedbd24802010-09-18 15:56:28 +02001334 " ((return (expression bvec4 < (var_ref arg0) (var_ref arg1)))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07001335 "))\n"
1336 ""
1337;
Kenneth Graunke3f5fde52010-10-21 11:43:39 -07001338static const char builtin_lessThanEqual[] =
Eric Anholt47003a82010-08-23 12:39:35 -07001339 "((function lessThanEqual\n"
1340 " (signature bvec2\n"
1341 " (parameters\n"
1342 " (declare (in) vec2 arg0)\n"
1343 " (declare (in) vec2 arg1))\n"
Kenneth Graunkedbd24802010-09-18 15:56:28 +02001344 " ((return (expression bvec2 <= (var_ref arg0) (var_ref arg1)))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07001345 "\n"
1346 " (signature bvec3\n"
1347 " (parameters\n"
1348 " (declare (in) vec3 arg0)\n"
1349 " (declare (in) vec3 arg1))\n"
Kenneth Graunkedbd24802010-09-18 15:56:28 +02001350 " ((return (expression bvec3 <= (var_ref arg0) (var_ref arg1)))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07001351 "\n"
1352 " (signature bvec4\n"
1353 " (parameters\n"
1354 " (declare (in) vec4 arg0)\n"
1355 " (declare (in) vec4 arg1))\n"
Kenneth Graunkedbd24802010-09-18 15:56:28 +02001356 " ((return (expression bvec4 <= (var_ref arg0) (var_ref arg1)))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07001357 "\n"
1358 " (signature bvec2\n"
1359 " (parameters\n"
1360 " (declare (in) ivec2 arg0)\n"
1361 " (declare (in) ivec2 arg1))\n"
Kenneth Graunkedbd24802010-09-18 15:56:28 +02001362 " ((return (expression bvec2 <= (var_ref arg0) (var_ref arg1)))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07001363 "\n"
1364 " (signature bvec3\n"
1365 " (parameters\n"
1366 " (declare (in) ivec3 arg0)\n"
1367 " (declare (in) ivec3 arg1))\n"
Kenneth Graunkedbd24802010-09-18 15:56:28 +02001368 " ((return (expression bvec3 <= (var_ref arg0) (var_ref arg1)))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07001369 "\n"
1370 " (signature bvec4\n"
1371 " (parameters\n"
1372 " (declare (in) ivec4 arg0)\n"
1373 " (declare (in) ivec4 arg1))\n"
Kenneth Graunkedbd24802010-09-18 15:56:28 +02001374 " ((return (expression bvec4 <= (var_ref arg0) (var_ref arg1)))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07001375 "\n"
1376 " (signature bvec2\n"
1377 " (parameters\n"
1378 " (declare (in) uvec2 arg0)\n"
1379 " (declare (in) uvec2 arg1))\n"
Kenneth Graunkedbd24802010-09-18 15:56:28 +02001380 " ((return (expression bvec2 <= (var_ref arg0) (var_ref arg1)))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07001381 "\n"
1382 " (signature bvec3\n"
1383 " (parameters\n"
1384 " (declare (in) uvec3 arg0)\n"
1385 " (declare (in) uvec3 arg1))\n"
Kenneth Graunkedbd24802010-09-18 15:56:28 +02001386 " ((return (expression bvec3 <= (var_ref arg0) (var_ref arg1)))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07001387 "\n"
1388 " (signature bvec4\n"
1389 " (parameters\n"
1390 " (declare (in) uvec4 arg0)\n"
1391 " (declare (in) uvec4 arg1))\n"
Kenneth Graunkedbd24802010-09-18 15:56:28 +02001392 " ((return (expression bvec4 <= (var_ref arg0) (var_ref arg1)))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07001393 "))\n"
1394 ""
1395;
Kenneth Graunke3f5fde52010-10-21 11:43:39 -07001396static const char builtin_log[] =
Eric Anholt47003a82010-08-23 12:39:35 -07001397 "((function log\n"
1398 " (signature float\n"
1399 " (parameters\n"
1400 " (declare (in) float arg0))\n"
1401 " ((return (expression float log (var_ref arg0)))))\n"
1402 "\n"
1403 " (signature vec2\n"
1404 " (parameters\n"
1405 " (declare (in) vec2 arg0))\n"
1406 " ((return (expression vec2 log (var_ref arg0)))))\n"
1407 "\n"
1408 " (signature vec3\n"
1409 " (parameters\n"
1410 " (declare (in) vec3 arg0))\n"
1411 " ((return (expression vec3 log (var_ref arg0)))))\n"
1412 "\n"
1413 " (signature vec4\n"
1414 " (parameters\n"
1415 " (declare (in) vec4 arg0))\n"
1416 " ((return (expression vec4 log (var_ref arg0)))))\n"
1417 "))\n"
1418 ""
1419;
Kenneth Graunke3f5fde52010-10-21 11:43:39 -07001420static const char builtin_log2[] =
Eric Anholt47003a82010-08-23 12:39:35 -07001421 "((function log2\n"
1422 " (signature float\n"
1423 " (parameters\n"
1424 " (declare (in) float arg0))\n"
1425 " ((return (expression float log2 (var_ref arg0)))))\n"
1426 "\n"
1427 " (signature vec2\n"
1428 " (parameters\n"
1429 " (declare (in) vec2 arg0))\n"
1430 " ((return (expression vec2 log2 (var_ref arg0)))))\n"
1431 "\n"
1432 " (signature vec3\n"
1433 " (parameters\n"
1434 " (declare (in) vec3 arg0))\n"
1435 " ((return (expression vec3 log2 (var_ref arg0)))))\n"
1436 "\n"
1437 " (signature vec4\n"
1438 " (parameters\n"
1439 " (declare (in) vec4 arg0))\n"
1440 " ((return (expression vec4 log2 (var_ref arg0)))))\n"
1441 "))\n"
1442 ""
1443;
Kenneth Graunke3f5fde52010-10-21 11:43:39 -07001444static const char builtin_matrixCompMult[] =
Eric Anholt47003a82010-08-23 12:39:35 -07001445 "((function matrixCompMult\n"
1446 " (signature mat2\n"
1447 " (parameters\n"
1448 " (declare (in) mat2 x)\n"
1449 " (declare (in) mat2 y))\n"
1450 " ((declare () mat2 z)\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07001451 " (assign (constant bool (1)) (xy) (array_ref (var_ref z) (constant int (0))) (expression vec2 * (array_ref (var_ref x) (constant int (0))) (array_ref (var_ref y) (constant int (0)))))\n"
1452 " (assign (constant bool (1)) (xy) (array_ref (var_ref z) (constant int (1))) (expression vec2 * (array_ref (var_ref x) (constant int (1))) (array_ref (var_ref y) (constant int (1)))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07001453 "(return (var_ref z))))\n"
1454 "\n"
1455 " (signature mat3\n"
1456 " (parameters\n"
1457 " (declare (in) mat3 x)\n"
1458 " (declare (in) mat3 y))\n"
1459 " ((declare () mat3 z)\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07001460 " (assign (constant bool (1)) (xyz) (array_ref (var_ref z) (constant int (0))) (expression vec3 * (array_ref (var_ref x) (constant int (0))) (array_ref (var_ref y) (constant int (0)))))\n"
1461 " (assign (constant bool (1)) (xyz) (array_ref (var_ref z) (constant int (1))) (expression vec3 * (array_ref (var_ref x) (constant int (1))) (array_ref (var_ref y) (constant int (1)))))\n"
1462 " (assign (constant bool (1)) (xyz) (array_ref (var_ref z) (constant int (2))) (expression vec3 * (array_ref (var_ref x) (constant int (2))) (array_ref (var_ref y) (constant int (2)))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07001463 "(return (var_ref z))))\n"
1464 "\n"
1465 " (signature mat4\n"
1466 " (parameters\n"
1467 " (declare (in) mat4 x)\n"
1468 " (declare (in) mat4 y))\n"
1469 " ((declare () mat4 z)\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07001470 " (assign (constant bool (1)) (xyzw) (array_ref (var_ref z) (constant int (0))) (expression vec4 * (array_ref (var_ref x) (constant int (0))) (array_ref (var_ref y) (constant int (0)))))\n"
1471 " (assign (constant bool (1)) (xyzw) (array_ref (var_ref z) (constant int (1))) (expression vec4 * (array_ref (var_ref x) (constant int (1))) (array_ref (var_ref y) (constant int (1)))))\n"
1472 " (assign (constant bool (1)) (xyzw) (array_ref (var_ref z) (constant int (2))) (expression vec4 * (array_ref (var_ref x) (constant int (2))) (array_ref (var_ref y) (constant int (2)))))\n"
1473 " (assign (constant bool (1)) (xyzw) (array_ref (var_ref z) (constant int (3))) (expression vec4 * (array_ref (var_ref x) (constant int (3))) (array_ref (var_ref y) (constant int (3)))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07001474 "(return (var_ref z))))\n"
1475 "\n"
1476 " (signature mat2x3\n"
1477 " (parameters\n"
1478 " (declare (in) mat2x3 x)\n"
1479 " (declare (in) mat2x3 y))\n"
1480 " ((declare () mat2x3 z)\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07001481 " (assign (constant bool (1)) (xyz) (array_ref (var_ref z) (constant int (0))) (expression vec3 * (array_ref (var_ref x) (constant int (0))) (array_ref (var_ref y) (constant int (0)))))\n"
1482 " (assign (constant bool (1)) (xyz) (array_ref (var_ref z) (constant int (1))) (expression vec3 * (array_ref (var_ref x) (constant int (1))) (array_ref (var_ref y) (constant int (1)))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07001483 "(return (var_ref z))))\n"
1484 "\n"
1485 " (signature mat3x2\n"
1486 " (parameters\n"
1487 " (declare (in) mat3x2 x)\n"
1488 " (declare (in) mat3x2 y))\n"
1489 " ((declare () mat3x2 z)\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07001490 " (assign (constant bool (1)) (xy) (array_ref (var_ref z) (constant int (0))) (expression vec2 * (array_ref (var_ref x) (constant int (0))) (array_ref (var_ref y) (constant int (0)))))\n"
1491 " (assign (constant bool (1)) (xy) (array_ref (var_ref z) (constant int (1))) (expression vec2 * (array_ref (var_ref x) (constant int (1))) (array_ref (var_ref y) (constant int (1)))))\n"
1492 " (assign (constant bool (1)) (xy) (array_ref (var_ref z) (constant int (2))) (expression vec2 * (array_ref (var_ref x) (constant int (2))) (array_ref (var_ref y) (constant int (2)))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07001493 "(return (var_ref z))))\n"
1494 "\n"
1495 " (signature mat2x4\n"
1496 " (parameters\n"
1497 " (declare (in) mat2x4 x)\n"
1498 " (declare (in) mat2x4 y))\n"
1499 " ((declare () mat2x4 z)\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07001500 " (assign (constant bool (1)) (xyzw) (array_ref (var_ref z) (constant int (0))) (expression vec4 * (array_ref (var_ref x) (constant int (0))) (array_ref (var_ref y) (constant int (0)))))\n"
1501 " (assign (constant bool (1)) (xyzw) (array_ref (var_ref z) (constant int (1))) (expression vec4 * (array_ref (var_ref x) (constant int (1))) (array_ref (var_ref y) (constant int (1)))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07001502 "(return (var_ref z))))\n"
1503 "\n"
1504 " (signature mat4x2\n"
1505 " (parameters\n"
1506 " (declare (in) mat4x2 x)\n"
1507 " (declare (in) mat4x2 y))\n"
1508 " ((declare () mat4x2 z)\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07001509 " (assign (constant bool (1)) (xy) (array_ref (var_ref z) (constant int (0))) (expression vec2 * (array_ref (var_ref x) (constant int (0))) (array_ref (var_ref y) (constant int (0)))))\n"
1510 " (assign (constant bool (1)) (xy) (array_ref (var_ref z) (constant int (1))) (expression vec2 * (array_ref (var_ref x) (constant int (1))) (array_ref (var_ref y) (constant int (1)))))\n"
1511 " (assign (constant bool (1)) (xy) (array_ref (var_ref z) (constant int (2))) (expression vec2 * (array_ref (var_ref x) (constant int (2))) (array_ref (var_ref y) (constant int (2)))))\n"
1512 " (assign (constant bool (1)) (xy) (array_ref (var_ref z) (constant int (3))) (expression vec2 * (array_ref (var_ref x) (constant int (3))) (array_ref (var_ref y) (constant int (3)))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07001513 "(return (var_ref z))))\n"
1514 "\n"
1515 " (signature mat3x4\n"
1516 " (parameters\n"
1517 " (declare (in) mat3x4 x)\n"
1518 " (declare (in) mat3x4 y))\n"
1519 " ((declare () mat3x4 z)\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07001520 " (assign (constant bool (1)) (xyzw) (array_ref (var_ref z) (constant int (0))) (expression vec4 * (array_ref (var_ref x) (constant int (0))) (array_ref (var_ref y) (constant int (0)))))\n"
1521 " (assign (constant bool (1)) (xyzw) (array_ref (var_ref z) (constant int (1))) (expression vec4 * (array_ref (var_ref x) (constant int (1))) (array_ref (var_ref y) (constant int (1)))))\n"
1522 " (assign (constant bool (1)) (xyzw) (array_ref (var_ref z) (constant int (2))) (expression vec4 * (array_ref (var_ref x) (constant int (2))) (array_ref (var_ref y) (constant int (2)))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07001523 "(return (var_ref z))))\n"
1524 "\n"
1525 " (signature mat4x3\n"
1526 " (parameters\n"
1527 " (declare (in) mat4x3 x)\n"
1528 " (declare (in) mat4x3 y))\n"
1529 " ((declare () mat4x3 z)\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07001530 " (assign (constant bool (1)) (xyz) (array_ref (var_ref z) (constant int (0))) (expression vec3 * (array_ref (var_ref x) (constant int (0))) (array_ref (var_ref y) (constant int (0)))))\n"
1531 " (assign (constant bool (1)) (xyz) (array_ref (var_ref z) (constant int (1))) (expression vec3 * (array_ref (var_ref x) (constant int (1))) (array_ref (var_ref y) (constant int (1)))))\n"
1532 " (assign (constant bool (1)) (xyz) (array_ref (var_ref z) (constant int (2))) (expression vec3 * (array_ref (var_ref x) (constant int (2))) (array_ref (var_ref y) (constant int (2)))))\n"
1533 " (assign (constant bool (1)) (xyz) (array_ref (var_ref z) (constant int (3))) (expression vec3 * (array_ref (var_ref x) (constant int (3))) (array_ref (var_ref y) (constant int (3)))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07001534 "(return (var_ref z))))\n"
1535 "))\n"
1536 ""
1537;
Kenneth Graunke3f5fde52010-10-21 11:43:39 -07001538static const char builtin_max[] =
Eric Anholt47003a82010-08-23 12:39:35 -07001539 "((function max\n"
1540 " (signature float\n"
1541 " (parameters\n"
1542 " (declare (in) float arg0)\n"
1543 " (declare (in) float arg1))\n"
1544 " ((return (expression float max (var_ref arg0) (var_ref arg1)))))\n"
1545 "\n"
1546 " (signature vec2\n"
1547 " (parameters\n"
1548 " (declare (in) vec2 arg0)\n"
1549 " (declare (in) vec2 arg1))\n"
1550 " ((return (expression vec2 max (var_ref arg0) (var_ref arg1)))))\n"
1551 "\n"
1552 " (signature vec3\n"
1553 " (parameters\n"
1554 " (declare (in) vec3 arg0)\n"
1555 " (declare (in) vec3 arg1))\n"
1556 " ((return (expression vec3 max (var_ref arg0) (var_ref arg1)))))\n"
1557 "\n"
1558 " (signature vec4\n"
1559 " (parameters\n"
1560 " (declare (in) vec4 arg0)\n"
1561 " (declare (in) vec4 arg1))\n"
1562 " ((return (expression vec4 max (var_ref arg0) (var_ref arg1)))))\n"
1563 "\n"
1564 " (signature vec2\n"
1565 " (parameters\n"
1566 " (declare (in) vec2 arg0)\n"
1567 " (declare (in) float arg1))\n"
1568 " ((return (expression vec2 max (var_ref arg0) (var_ref arg1)))))\n"
1569 "\n"
1570 " (signature vec3\n"
1571 " (parameters\n"
1572 " (declare (in) vec3 arg0)\n"
1573 " (declare (in) float arg1))\n"
1574 " ((return (expression vec3 max (var_ref arg0) (var_ref arg1)))))\n"
1575 "\n"
1576 " (signature vec4\n"
1577 " (parameters\n"
1578 " (declare (in) vec4 arg0)\n"
1579 " (declare (in) float arg1))\n"
1580 " ((return (expression vec4 max (var_ref arg0) (var_ref arg1)))))\n"
1581 "\n"
1582 " (signature int\n"
1583 " (parameters\n"
1584 " (declare (in) int arg0)\n"
1585 " (declare (in) int arg1))\n"
1586 " ((return (expression int max (var_ref arg0) (var_ref arg1)))))\n"
1587 "\n"
1588 " (signature ivec2\n"
1589 " (parameters\n"
1590 " (declare (in) ivec2 arg0)\n"
1591 " (declare (in) ivec2 arg1))\n"
1592 " ((return (expression ivec2 max (var_ref arg0) (var_ref arg1)))))\n"
1593 "\n"
1594 " (signature ivec3\n"
1595 " (parameters\n"
1596 " (declare (in) ivec3 arg0)\n"
1597 " (declare (in) ivec3 arg1))\n"
1598 " ((return (expression ivec3 max (var_ref arg0) (var_ref arg1)))))\n"
1599 "\n"
1600 " (signature ivec4\n"
1601 " (parameters\n"
1602 " (declare (in) ivec4 arg0)\n"
1603 " (declare (in) ivec4 arg1))\n"
1604 " ((return (expression ivec4 max (var_ref arg0) (var_ref arg1)))))\n"
1605 "\n"
1606 " (signature ivec2\n"
1607 " (parameters\n"
1608 " (declare (in) ivec2 arg0)\n"
1609 " (declare (in) int arg1))\n"
1610 " ((return (expression ivec2 max (var_ref arg0) (var_ref arg1)))))\n"
1611 "\n"
1612 " (signature ivec3\n"
1613 " (parameters\n"
1614 " (declare (in) ivec3 arg0)\n"
1615 " (declare (in) int arg1))\n"
1616 " ((return (expression ivec3 max (var_ref arg0) (var_ref arg1)))))\n"
1617 "\n"
1618 " (signature ivec4\n"
1619 " (parameters\n"
1620 " (declare (in) ivec4 arg0)\n"
1621 " (declare (in) int arg1))\n"
1622 " ((return (expression ivec4 max (var_ref arg0) (var_ref arg1)))))\n"
1623 "\n"
1624 " (signature uint\n"
1625 " (parameters\n"
1626 " (declare (in) uint arg0)\n"
1627 " (declare (in) uint arg1))\n"
1628 " ((return (expression uint max (var_ref arg0) (var_ref arg1)))))\n"
1629 "\n"
1630 " (signature uvec2\n"
1631 " (parameters\n"
1632 " (declare (in) uvec2 arg0)\n"
1633 " (declare (in) uvec2 arg1))\n"
1634 " ((return (expression uvec2 max (var_ref arg0) (var_ref arg1)))))\n"
1635 "\n"
1636 " (signature uvec3\n"
1637 " (parameters\n"
1638 " (declare (in) uvec3 arg0)\n"
1639 " (declare (in) uvec3 arg1))\n"
1640 " ((return (expression uvec3 max (var_ref arg0) (var_ref arg1)))))\n"
1641 "\n"
1642 " (signature uvec4\n"
1643 " (parameters\n"
1644 " (declare (in) uvec4 arg0)\n"
1645 " (declare (in) uvec4 arg1))\n"
1646 " ((return (expression uvec4 max (var_ref arg0) (var_ref arg1)))))\n"
1647 "\n"
1648 " (signature uvec2\n"
1649 " (parameters\n"
1650 " (declare (in) uvec2 arg0)\n"
1651 " (declare (in) uint arg1))\n"
1652 " ((return (expression uvec2 max (var_ref arg0) (var_ref arg1)))))\n"
1653 "\n"
1654 " (signature uvec3\n"
1655 " (parameters\n"
1656 " (declare (in) uvec3 arg0)\n"
1657 " (declare (in) uint arg1))\n"
1658 " ((return (expression uvec3 max (var_ref arg0) (var_ref arg1)))))\n"
1659 "\n"
1660 " (signature uvec4\n"
1661 " (parameters\n"
1662 " (declare (in) uvec4 arg0)\n"
1663 " (declare (in) uint arg1))\n"
1664 " ((return (expression uvec4 max (var_ref arg0) (var_ref arg1)))))\n"
1665 "))\n"
1666 ""
1667;
Kenneth Graunke3f5fde52010-10-21 11:43:39 -07001668static const char builtin_min[] =
Eric Anholt47003a82010-08-23 12:39:35 -07001669 "((function min\n"
1670 " (signature float\n"
1671 " (parameters\n"
1672 " (declare (in) float arg0)\n"
1673 " (declare (in) float arg1))\n"
1674 " ((return (expression float min (var_ref arg0) (var_ref arg1)))))\n"
1675 "\n"
1676 " (signature vec2\n"
1677 " (parameters\n"
1678 " (declare (in) vec2 arg0)\n"
1679 " (declare (in) vec2 arg1))\n"
1680 " ((return (expression vec2 min (var_ref arg0) (var_ref arg1)))))\n"
1681 "\n"
1682 " (signature vec3\n"
1683 " (parameters\n"
1684 " (declare (in) vec3 arg0)\n"
1685 " (declare (in) vec3 arg1))\n"
1686 " ((return (expression vec3 min (var_ref arg0) (var_ref arg1)))))\n"
1687 "\n"
1688 " (signature vec4\n"
1689 " (parameters\n"
1690 " (declare (in) vec4 arg0)\n"
1691 " (declare (in) vec4 arg1))\n"
1692 " ((return (expression vec4 min (var_ref arg0) (var_ref arg1)))))\n"
1693 "\n"
1694 " (signature vec2\n"
1695 " (parameters\n"
1696 " (declare (in) vec2 arg0)\n"
1697 " (declare (in) float arg1))\n"
1698 " ((return (expression vec2 min (var_ref arg0) (var_ref arg1)))))\n"
1699 "\n"
1700 " (signature vec3\n"
1701 " (parameters\n"
1702 " (declare (in) vec3 arg0)\n"
1703 " (declare (in) float arg1))\n"
1704 " ((return (expression vec3 min (var_ref arg0) (var_ref arg1)))))\n"
1705 "\n"
1706 " (signature vec4\n"
1707 " (parameters\n"
1708 " (declare (in) vec4 arg0)\n"
1709 " (declare (in) float arg1))\n"
1710 " ((return (expression vec4 min (var_ref arg0) (var_ref arg1)))))\n"
1711 "\n"
1712 " (signature int\n"
1713 " (parameters\n"
1714 " (declare (in) int arg0)\n"
1715 " (declare (in) int arg1))\n"
1716 " ((return (expression int min (var_ref arg0) (var_ref arg1)))))\n"
1717 "\n"
1718 " (signature ivec2\n"
1719 " (parameters\n"
1720 " (declare (in) ivec2 arg0)\n"
1721 " (declare (in) ivec2 arg1))\n"
1722 " ((return (expression ivec2 min (var_ref arg0) (var_ref arg1)))))\n"
1723 "\n"
1724 " (signature ivec3\n"
1725 " (parameters\n"
1726 " (declare (in) ivec3 arg0)\n"
1727 " (declare (in) ivec3 arg1))\n"
1728 " ((return (expression ivec3 min (var_ref arg0) (var_ref arg1)))))\n"
1729 "\n"
1730 " (signature ivec4\n"
1731 " (parameters\n"
1732 " (declare (in) ivec4 arg0)\n"
1733 " (declare (in) ivec4 arg1))\n"
1734 " ((return (expression ivec4 min (var_ref arg0) (var_ref arg1)))))\n"
1735 "\n"
1736 " (signature ivec2\n"
1737 " (parameters\n"
1738 " (declare (in) ivec2 arg0)\n"
1739 " (declare (in) int arg1))\n"
1740 " ((return (expression ivec2 min (var_ref arg0) (var_ref arg1)))))\n"
1741 "\n"
1742 " (signature ivec3\n"
1743 " (parameters\n"
1744 " (declare (in) ivec3 arg0)\n"
1745 " (declare (in) int arg1))\n"
1746 " ((return (expression ivec3 min (var_ref arg0) (var_ref arg1)))))\n"
1747 "\n"
1748 " (signature ivec4\n"
1749 " (parameters\n"
1750 " (declare (in) ivec4 arg0)\n"
1751 " (declare (in) int arg1))\n"
1752 " ((return (expression ivec4 min (var_ref arg0) (var_ref arg1)))))\n"
1753 "\n"
1754 " (signature uint\n"
1755 " (parameters\n"
1756 " (declare (in) uint arg0)\n"
1757 " (declare (in) uint arg1))\n"
1758 " ((return (expression uint min (var_ref arg0) (var_ref arg1)))))\n"
1759 "\n"
1760 " (signature uvec2\n"
1761 " (parameters\n"
1762 " (declare (in) uvec2 arg0)\n"
1763 " (declare (in) uvec2 arg1))\n"
1764 " ((return (expression uvec2 min (var_ref arg0) (var_ref arg1)))))\n"
1765 "\n"
1766 " (signature uvec3\n"
1767 " (parameters\n"
1768 " (declare (in) uvec3 arg0)\n"
1769 " (declare (in) uvec3 arg1))\n"
1770 " ((return (expression uvec3 min (var_ref arg0) (var_ref arg1)))))\n"
1771 "\n"
1772 " (signature uvec4\n"
1773 " (parameters\n"
1774 " (declare (in) uvec4 arg0)\n"
1775 " (declare (in) uvec4 arg1))\n"
1776 " ((return (expression uvec4 min (var_ref arg0) (var_ref arg1)))))\n"
1777 "\n"
1778 " (signature uvec2\n"
1779 " (parameters\n"
1780 " (declare (in) uvec2 arg0)\n"
1781 " (declare (in) uint arg1))\n"
1782 " ((return (expression uvec2 min (var_ref arg0) (var_ref arg1)))))\n"
1783 "\n"
1784 " (signature uvec3\n"
1785 " (parameters\n"
1786 " (declare (in) uvec3 arg0)\n"
1787 " (declare (in) uint arg1))\n"
1788 " ((return (expression uvec3 min (var_ref arg0) (var_ref arg1)))))\n"
1789 "\n"
1790 " (signature uvec4\n"
1791 " (parameters\n"
1792 " (declare (in) uvec4 arg0)\n"
1793 " (declare (in) uint arg1))\n"
1794 " ((return (expression uvec4 min (var_ref arg0) (var_ref arg1)))))\n"
1795 "))\n"
1796 ""
1797;
Kenneth Graunke3f5fde52010-10-21 11:43:39 -07001798static const char builtin_mix[] =
Eric Anholt47003a82010-08-23 12:39:35 -07001799 "((function mix\n"
1800 " (signature float\n"
1801 " (parameters\n"
1802 " (declare (in) float arg0)\n"
1803 " (declare (in) float arg1)\n"
1804 " (declare (in) float arg2))\n"
1805 " ((return (expression float + (expression float * (var_ref arg0) (expression float - (constant float (1.000000)) (var_ref arg2))) (expression float * (var_ref arg1) (var_ref arg2))))))\n"
1806 "\n"
1807 " (signature vec2\n"
1808 " (parameters\n"
1809 " (declare (in) vec2 arg0)\n"
1810 " (declare (in) vec2 arg1)\n"
1811 " (declare (in) vec2 arg2))\n"
1812 " ((return (expression vec2 + (expression vec2 * (var_ref arg0) (expression vec2 - (constant float (1.000000)) (var_ref arg2))) (expression vec2 * (var_ref arg1) (var_ref arg2))))))\n"
1813 "\n"
1814 " (signature vec3\n"
1815 " (parameters\n"
1816 " (declare (in) vec3 arg0)\n"
1817 " (declare (in) vec3 arg1)\n"
1818 " (declare (in) vec3 arg2))\n"
1819 " ((return (expression vec3 + (expression vec3 * (var_ref arg0) (expression vec3 - (constant float (1.000000)) (var_ref arg2))) (expression vec3 * (var_ref arg1) (var_ref arg2))))))\n"
1820 "\n"
1821 " (signature vec4\n"
1822 " (parameters\n"
1823 " (declare (in) vec4 arg0)\n"
1824 " (declare (in) vec4 arg1)\n"
1825 " (declare (in) vec4 arg2))\n"
1826 " ((return (expression vec4 + (expression vec4 * (var_ref arg0) (expression vec4 - (constant float (1.000000)) (var_ref arg2))) (expression vec4 * (var_ref arg1) (var_ref arg2))))))\n"
1827 "\n"
1828 " (signature vec2\n"
1829 " (parameters\n"
1830 " (declare (in) vec2 arg0)\n"
1831 " (declare (in) vec2 arg1)\n"
1832 " (declare (in) float arg2))\n"
1833 " ((return (expression vec2 + (expression vec2 * (var_ref arg0) (expression float - (constant float (1.000000)) (var_ref arg2))) (expression vec2 * (var_ref arg1) (var_ref arg2))))))\n"
1834 "\n"
1835 " (signature vec3\n"
1836 " (parameters\n"
1837 " (declare (in) vec3 arg0)\n"
1838 " (declare (in) vec3 arg1)\n"
1839 " (declare (in) float arg2))\n"
1840 " ((return (expression vec3 + (expression vec3 * (var_ref arg0) (expression float - (constant float (1.000000)) (var_ref arg2))) (expression vec3 * (var_ref arg1) (var_ref arg2))))))\n"
1841 "\n"
1842 " (signature vec4\n"
1843 " (parameters\n"
1844 " (declare (in) vec4 arg0)\n"
1845 " (declare (in) vec4 arg1)\n"
1846 " (declare (in) float arg2))\n"
1847 " ((return (expression vec4 + (expression vec4 * (var_ref arg0) (expression float - (constant float (1.000000)) (var_ref arg2))) (expression vec4 * (var_ref arg1) (var_ref arg2))))))\n"
1848 "\n"
1849 " (signature float\n"
1850 " (parameters\n"
1851 " (declare (in) float v1)\n"
1852 " (declare (in) float v2)\n"
1853 " (declare (in) bool a))\n"
1854 " ((assign (var_ref a) (var_ref v1) (var_ref v2))\n"
1855 " (return (var_ref v1))))\n"
1856 "\n"
1857 " (signature vec2\n"
1858 " (parameters\n"
1859 " (declare (in) vec2 v1)\n"
1860 " (declare (in) vec2 v2)\n"
1861 " (declare (in) bvec2 a))\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07001862 " ((assign (swiz x (var_ref a)) (x) (var_ref v1) (swiz x (var_ref v2)))\n"
1863 " (assign (swiz y (var_ref a)) (y) (var_ref v1) (swiz y (var_ref v2)))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07001864 " (return (var_ref v1))))\n"
1865 "\n"
1866 " (signature vec3\n"
1867 " (parameters\n"
1868 " (declare (in) vec3 v1)\n"
1869 " (declare (in) vec3 v2)\n"
1870 " (declare (in) bvec3 a))\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07001871 " ((assign (swiz x (var_ref a)) (x) (var_ref v1) (swiz x (var_ref v2)))\n"
1872 " (assign (swiz y (var_ref a)) (y) (var_ref v1) (swiz y (var_ref v2)))\n"
1873 " (assign (swiz z (var_ref a)) (z) (var_ref v1) (swiz z (var_ref v2)))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07001874 " (return (var_ref v1))))\n"
1875 "\n"
1876 " (signature vec4\n"
1877 " (parameters\n"
1878 " (declare (in) vec4 v1)\n"
1879 " (declare (in) vec4 v2)\n"
1880 " (declare (in) bvec4 a))\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07001881 " ((assign (swiz x (var_ref a)) (x) (var_ref v1) (swiz x (var_ref v2)))\n"
1882 " (assign (swiz y (var_ref a)) (y) (var_ref v1) (swiz y (var_ref v2)))\n"
1883 " (assign (swiz z (var_ref a)) (z) (var_ref v1) (swiz z (var_ref v2)))\n"
1884 " (assign (swiz w (var_ref a)) (w) (var_ref v1) (swiz w (var_ref v2)))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07001885 " (return (var_ref v1))))\n"
1886 "))\n"
1887 ""
1888;
Kenneth Graunke3f5fde52010-10-21 11:43:39 -07001889static const char builtin_mod[] =
Eric Anholt47003a82010-08-23 12:39:35 -07001890 "((function mod\n"
1891 " (signature float\n"
1892 " (parameters\n"
1893 " (declare (in) float arg0)\n"
1894 " (declare (in) float arg1))\n"
1895 " ((return (expression float % (var_ref arg0) (var_ref arg1)))))\n"
1896 "\n"
1897 " (signature vec2\n"
1898 " (parameters\n"
1899 " (declare (in) vec2 arg0)\n"
1900 " (declare (in) vec2 arg1))\n"
1901 " ((return (expression vec2 % (var_ref arg0) (var_ref arg1)))))\n"
1902 "\n"
1903 " (signature vec3\n"
1904 " (parameters\n"
1905 " (declare (in) vec3 arg0)\n"
1906 " (declare (in) vec3 arg1))\n"
1907 " ((return (expression vec3 % (var_ref arg0) (var_ref arg1)))))\n"
1908 "\n"
1909 " (signature vec4\n"
1910 " (parameters\n"
1911 " (declare (in) vec4 arg0)\n"
1912 " (declare (in) vec4 arg1))\n"
1913 " ((return (expression vec4 % (var_ref arg0) (var_ref arg1)))))\n"
1914 "\n"
1915 " (signature vec2\n"
1916 " (parameters\n"
1917 " (declare (in) vec2 arg0)\n"
1918 " (declare (in) float arg1))\n"
1919 " ((return (expression vec2 % (var_ref arg0) (var_ref arg1)))))\n"
1920 "\n"
1921 " (signature vec3\n"
1922 " (parameters\n"
1923 " (declare (in) vec3 arg0)\n"
1924 " (declare (in) float arg1))\n"
1925 " ((return (expression vec3 % (var_ref arg0) (var_ref arg1)))))\n"
1926 "\n"
1927 " (signature vec4\n"
1928 " (parameters\n"
1929 " (declare (in) vec4 arg0)\n"
1930 " (declare (in) float arg1))\n"
1931 " ((return (expression vec4 % (var_ref arg0) (var_ref arg1)))))\n"
1932 "))\n"
1933 ""
1934;
Kenneth Graunke3f5fde52010-10-21 11:43:39 -07001935static const char builtin_modf[] =
Kenneth Graunkecc043472010-10-19 11:57:15 -07001936 "((function modf\n"
1937 " (signature float\n"
1938 " (parameters\n"
1939 " (declare (in) float x)\n"
1940 " (declare (out) float i))\n"
1941 " ((declare () float t)\n"
1942 " (assign (constant bool (1)) (x) (var_ref t)\n"
1943 " (expression float trunc (var_ref x)))\n"
1944 " (assign (constant bool (1)) (x) (var_ref i) (var_ref t))\n"
1945 " (return (expression float - (var_ref x) (var_ref t)))))\n"
1946 "\n"
1947 " (signature vec2\n"
1948 " (parameters\n"
1949 " (declare (in) vec2 x)\n"
1950 " (declare (out) vec2 i))\n"
1951 " ((declare () vec2 t)\n"
1952 " (assign (constant bool (1)) (xy) (var_ref t)\n"
1953 " (expression vec2 trunc (var_ref x)))\n"
1954 " (assign (constant bool (1)) (xy) (var_ref i) (var_ref t))\n"
1955 " (return (expression vec2 - (var_ref x) (var_ref t)))))\n"
1956 "\n"
1957 " (signature vec3\n"
1958 " (parameters\n"
1959 " (declare (in) vec3 x)\n"
1960 " (declare (out) vec3 i))\n"
1961 " ((declare () vec3 t)\n"
1962 " (assign (constant bool (1)) (xyz) (var_ref t)\n"
1963 " (expression vec3 trunc (var_ref x)))\n"
1964 " (assign (constant bool (1)) (xyz) (var_ref i) (var_ref t))\n"
1965 " (return (expression vec3 - (var_ref x) (var_ref t)))))\n"
1966 "\n"
1967 " (signature vec4\n"
1968 " (parameters\n"
1969 " (declare (in) vec4 x)\n"
1970 " (declare (out) vec4 i))\n"
1971 " ((declare () vec4 t)\n"
1972 " (assign (constant bool (1)) (xyzw) (var_ref t)\n"
1973 " (expression vec4 trunc (var_ref x)))\n"
1974 " (assign (constant bool (1)) (xyzw) (var_ref i) (var_ref t))\n"
1975 " (return (expression vec4 - (var_ref x) (var_ref t)))))\n"
1976 "))\n"
1977 ""
1978;
Kenneth Graunke3f5fde52010-10-21 11:43:39 -07001979static const char builtin_noise1[] =
Eric Anholt47003a82010-08-23 12:39:35 -07001980 "((function noise1\n"
1981 " (signature float\n"
1982 " (parameters\n"
1983 " (declare (in) float x))\n"
Ian Romanick1f3c7d92010-09-01 21:23:52 -07001984 " ((return (expression float noise (var_ref x)))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07001985 " (signature float\n"
1986 " (parameters\n"
1987 " (declare (in) vec2 x))\n"
Ian Romanick1f3c7d92010-09-01 21:23:52 -07001988 " ((return (expression float noise (var_ref x)))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07001989 " (signature float\n"
1990 " (parameters\n"
1991 " (declare (in) vec3 x))\n"
Ian Romanick1f3c7d92010-09-01 21:23:52 -07001992 " ((return (expression float noise (var_ref x)))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07001993 " (signature float\n"
1994 " (parameters\n"
1995 " (declare (in) vec4 x))\n"
Ian Romanick1f3c7d92010-09-01 21:23:52 -07001996 " ((return (expression float noise (var_ref x)))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07001997 "))\n"
1998 ""
1999;
Kenneth Graunke3f5fde52010-10-21 11:43:39 -07002000static const char builtin_noise2[] =
Eric Anholt47003a82010-08-23 12:39:35 -07002001 "((function noise2\n"
Ian Romanick1f3c7d92010-09-01 21:23:52 -07002002 " (signature vec2\n"
2003 " (parameters (declare (in) vec4 p))\n"
2004 " (\n"
2005 " (declare () float a)\n"
2006 " (declare () float b)\n"
2007 " (declare () vec2 t)\n"
2008 "\n"
2009 " (assign (constant bool (1)) (x) (var_ref a) (expression float noise (var_ref p)))\n"
2010 " (assign (constant bool (1)) (x) (var_ref b) (expression float noise (expression vec4 + (var_ref p) (constant vec4 (601.0 313.0 29.0 277.0)))))\n"
Eric Anholtb39e6f32010-09-22 11:47:03 -07002011 " (assign (constant bool (1)) (x) (var_ref t) (var_ref a))\n"
2012 " (assign (constant bool (1)) (y) (var_ref t) (var_ref b))\n"
Ian Romanick1f3c7d92010-09-01 21:23:52 -07002013 " (return (var_ref t))\n"
2014 " ))\n"
2015 "\n"
2016 " (signature vec2\n"
2017 " (parameters (declare (in) vec3 p))\n"
2018 " (\n"
2019 " (declare () float a)\n"
2020 " (declare () float b)\n"
2021 " (declare () vec2 t)\n"
2022 "\n"
2023 " (assign (constant bool (1)) (x) (var_ref a) (expression float noise (var_ref p)))\n"
2024 " (assign (constant bool (1)) (x) (var_ref b) (expression float noise (expression vec3 + (var_ref p) (constant vec3 (601.0 313.0 29.0)))))\n"
Eric Anholtb39e6f32010-09-22 11:47:03 -07002025 " (assign (constant bool (1)) (x) (var_ref t) (var_ref a))\n"
2026 " (assign (constant bool (1)) (y) (var_ref t) (var_ref b))\n"
Ian Romanick1f3c7d92010-09-01 21:23:52 -07002027 " (return (var_ref t))\n"
2028 " ))\n"
2029 "\n"
2030 " (signature vec2\n"
2031 " (parameters\n"
2032 " (declare (in ) vec2 p)\n"
2033 " )\n"
2034 " (\n"
2035 " (declare () float a)\n"
2036 " (declare () float b)\n"
2037 " (declare () vec2 t)\n"
2038 "\n"
2039 " (assign (constant bool (1)) (x) (var_ref a) (expression float noise (var_ref p)))\n"
2040 " (assign (constant bool (1)) (x) (var_ref b) (expression float noise (expression vec2 + (var_ref p) (constant vec2 (601.0 313.0)))))\n"
Eric Anholtb39e6f32010-09-22 11:47:03 -07002041 " (assign (constant bool (1)) (x) (var_ref t) (var_ref a))\n"
2042 " (assign (constant bool (1)) (y) (var_ref t) (var_ref b))\n"
Ian Romanick1f3c7d92010-09-01 21:23:52 -07002043 " (return (var_ref t))\n"
2044 " ))\n"
2045 "\n"
2046 " (signature vec2\n"
2047 " (parameters\n"
2048 " (declare (in ) float p)\n"
2049 " )\n"
2050 " (\n"
2051 " (declare () float a)\n"
2052 " (declare () float b)\n"
2053 " (declare () vec2 t)\n"
2054 "\n"
2055 " (assign (constant bool (1)) (x) (var_ref a) (expression float noise (var_ref p)))\n"
2056 " (assign (constant bool (1)) (x) (var_ref b) (expression float noise (expression float + (var_ref p) (constant float (601.0)))))\n"
Eric Anholtb39e6f32010-09-22 11:47:03 -07002057 " (assign (constant bool (1)) (x) (var_ref t) (var_ref a))\n"
2058 " (assign (constant bool (1)) (y) (var_ref t) (var_ref b))\n"
Ian Romanick1f3c7d92010-09-01 21:23:52 -07002059 " (return (var_ref t))\n"
2060 " ))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07002061 "))\n"
2062 ""
2063;
Kenneth Graunke3f5fde52010-10-21 11:43:39 -07002064static const char builtin_noise3[] =
Eric Anholt47003a82010-08-23 12:39:35 -07002065 "((function noise3\n"
Ian Romanick1f3c7d92010-09-01 21:23:52 -07002066 " (signature vec3\n"
2067 " (parameters (declare (in) vec4 p))\n"
2068 " (\n"
2069 " (declare () float a)\n"
2070 " (declare () float b)\n"
2071 " (declare () float c)\n"
2072 " (declare () vec3 t)\n"
2073 "\n"
2074 " (assign (constant bool (1)) (x) (var_ref a) (expression float noise (var_ref p)))\n"
2075 " (assign (constant bool (1)) (x) (var_ref b) (expression float noise (expression vec4 + (var_ref p) (constant vec4 (601.0 313.0 29.0 277.0)))))\n"
2076 " (assign (constant bool (1)) (x) (var_ref c) (expression float noise (expression vec4 + (var_ref p) (constant vec4 (1559.0 113.0 1861.0 797.0)))))\n"
2077 "\n"
Eric Anholtb39e6f32010-09-22 11:47:03 -07002078 " (assign (constant bool (1)) (x) (var_ref t) (var_ref a))\n"
2079 " (assign (constant bool (1)) (y) (var_ref t) (var_ref b))\n"
2080 " (assign (constant bool (1)) (z) (var_ref t) (var_ref c))\n"
Ian Romanick1f3c7d92010-09-01 21:23:52 -07002081 " (return (var_ref t))\n"
2082 " ))\n"
2083 "\n"
2084 " (signature vec3\n"
2085 " (parameters (declare (in) vec3 p))\n"
2086 " (\n"
2087 " (declare () float a)\n"
2088 " (declare () float b)\n"
2089 " (declare () float c)\n"
2090 " (declare () vec3 t)\n"
2091 "\n"
2092 " (assign (constant bool (1)) (x) (var_ref a) (expression float noise (var_ref p)))\n"
2093 " (assign (constant bool (1)) (x) (var_ref b) (expression float noise (expression vec3 + (var_ref p) (constant vec3 (601.0 313.0 29.0)))))\n"
2094 " (assign (constant bool (1)) (x) (var_ref c) (expression float noise (expression vec3 + (var_ref p) (constant vec3 (1559.0 113.0 1861.0)))))\n"
2095 "\n"
Eric Anholtb39e6f32010-09-22 11:47:03 -07002096 " (assign (constant bool (1)) (x) (var_ref t) (var_ref a))\n"
2097 " (assign (constant bool (1)) (y) (var_ref t) (var_ref b))\n"
2098 " (assign (constant bool (1)) (z) (var_ref t) (var_ref c))\n"
Ian Romanick1f3c7d92010-09-01 21:23:52 -07002099 " (return (var_ref t))\n"
2100 " ))\n"
2101 "\n"
2102 " (signature vec3\n"
2103 " (parameters (declare (in) vec2 p))\n"
2104 " (\n"
2105 " (declare () float a)\n"
2106 " (declare () float b)\n"
2107 " (declare () float c)\n"
2108 " (declare () vec3 t)\n"
2109 "\n"
2110 " (assign (constant bool (1)) (x) (var_ref a) (expression float noise (var_ref p)))\n"
2111 " (assign (constant bool (1)) (x) (var_ref b) (expression float noise (expression vec2 + (var_ref p) (constant vec2 (601.0 313.0)))))\n"
2112 " (assign (constant bool (1)) (x) (var_ref c) (expression float noise (expression vec2 + (var_ref p) (constant vec2 (1559.0 113.0)))))\n"
2113 "\n"
Eric Anholtb39e6f32010-09-22 11:47:03 -07002114 " (assign (constant bool (1)) (x) (var_ref t) (var_ref a))\n"
2115 " (assign (constant bool (1)) (y) (var_ref t) (var_ref b))\n"
2116 " (assign (constant bool (1)) (z) (var_ref t) (var_ref c))\n"
Ian Romanick1f3c7d92010-09-01 21:23:52 -07002117 " (return (var_ref t))\n"
2118 " ))\n"
2119 "\n"
2120 " (signature vec3\n"
2121 " (parameters (declare (in) float p))\n"
2122 " (\n"
2123 " (declare () float a)\n"
2124 " (declare () float b)\n"
2125 " (declare () float c)\n"
2126 " (declare () vec3 t)\n"
2127 "\n"
2128 " (assign (constant bool (1)) (x) (var_ref a) (expression float noise (var_ref p)))\n"
2129 " (assign (constant bool (1)) (x) (var_ref b) (expression float noise (expression float + (var_ref p) (constant float (601.0)))))\n"
2130 " (assign (constant bool (1)) (x) (var_ref c) (expression float noise (expression float + (var_ref p) (constant float (1559.0)))))\n"
2131 "\n"
Eric Anholtb39e6f32010-09-22 11:47:03 -07002132 " (assign (constant bool (1)) (x) (var_ref t) (var_ref a))\n"
2133 " (assign (constant bool (1)) (y) (var_ref t) (var_ref b))\n"
2134 " (assign (constant bool (1)) (z) (var_ref t) (var_ref c))\n"
Ian Romanick1f3c7d92010-09-01 21:23:52 -07002135 " (return (var_ref t))\n"
2136 " ))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07002137 "))\n"
2138 ""
2139;
Kenneth Graunke3f5fde52010-10-21 11:43:39 -07002140static const char builtin_noise4[] =
Eric Anholt47003a82010-08-23 12:39:35 -07002141 "((function noise4\n"
Ian Romanick1f3c7d92010-09-01 21:23:52 -07002142 " (signature vec4\n"
2143 " (parameters (declare (in) vec4 p))\n"
2144 " (\n"
2145 " (declare () float _x)\n"
2146 " (declare () float _y)\n"
2147 " (declare () float _z)\n"
2148 " (declare () float _w)\n"
2149 " (declare () vec4 _r)\n"
2150 "\n"
2151 " (declare () vec4 _p)\n"
2152 " (assign (constant bool (1)) (xyzw) (var_ref _p) (expression vec4 + (var_ref p) (constant vec4 (1559.0 113.0 1861.0 797.0))) )\n"
2153 "\n"
2154 " (assign (constant bool (1)) (x) (var_ref _x) (expression float noise(var_ref p)))\n"
2155 " (assign (constant bool (1)) (x) (var_ref _y) (expression float noise(expression vec4 + (var_ref p) (constant vec4 (601.0 313.0 29.0 277.0)))))\n"
2156 " (assign (constant bool (1)) (x) (var_ref _z) (expression float noise(var_ref _p)))\n"
2157 " (assign (constant bool (1)) (x) (var_ref _w) (expression float noise(expression vec4 + (var_ref _p) (constant vec4 (601.0 313.0 29.0 277.0)))))\n"
2158 "\n"
Eric Anholtb39e6f32010-09-22 11:47:03 -07002159 " (assign (constant bool (1)) (x) (var_ref _r) (var_ref _x))\n"
2160 " (assign (constant bool (1)) (y) (var_ref _r) (var_ref _y))\n"
2161 " (assign (constant bool (1)) (z) (var_ref _r) (var_ref _z))\n"
2162 " (assign (constant bool (1)) (w) (var_ref _r) (var_ref _w))\n"
Ian Romanick1f3c7d92010-09-01 21:23:52 -07002163 " (return (var_ref _r))\n"
2164 " ))\n"
2165 "\n"
2166 " (signature vec4\n"
2167 " (parameters (declare (in) vec3 p))\n"
2168 " (\n"
2169 " (declare () float _x)\n"
2170 " (declare () float _y)\n"
2171 " (declare () float _z)\n"
2172 " (declare () float _w)\n"
2173 " (declare () vec4 _r)\n"
2174 "\n"
2175 " (declare () vec3 _p)\n"
2176 " (assign (constant bool (1)) (xyz) (var_ref _p) (expression vec3 + (var_ref p) (constant vec3 (1559.0 113.0 1861.0))) )\n"
2177 "\n"
2178 " (assign (constant bool (1)) (x) (var_ref _x) (expression float noise(var_ref p)))\n"
2179 " (assign (constant bool (1)) (x) (var_ref _y) (expression float noise(expression vec3 + (var_ref p) (constant vec3 (601.0 313.0 29.0)))))\n"
2180 " (assign (constant bool (1)) (x) (var_ref _z) (expression float noise(var_ref _p)))\n"
2181 " (assign (constant bool (1)) (x) (var_ref _w) (expression float noise(expression vec3 + (var_ref _p) (constant vec3 (601.0 313.0 29.0)))))\n"
2182 "\n"
Eric Anholtb39e6f32010-09-22 11:47:03 -07002183 " (assign (constant bool (1)) (x) (var_ref _r) (var_ref _x))\n"
2184 " (assign (constant bool (1)) (y) (var_ref _r) (var_ref _y))\n"
2185 " (assign (constant bool (1)) (z) (var_ref _r) (var_ref _z))\n"
2186 " (assign (constant bool (1)) (w) (var_ref _r) (var_ref _w))\n"
Ian Romanick1f3c7d92010-09-01 21:23:52 -07002187 " (return (var_ref _r))\n"
2188 " ))\n"
2189 "\n"
2190 " (signature vec4\n"
2191 " (parameters (declare (in) vec2 p))\n"
2192 " (\n"
2193 " (declare () float _x)\n"
2194 " (declare () float _y)\n"
2195 " (declare () float _z)\n"
2196 " (declare () float _w)\n"
2197 " (declare () vec4 _r)\n"
2198 "\n"
2199 " (declare () vec2 _p)\n"
2200 " (assign (constant bool (1)) (xy) (var_ref _p) (expression vec2 + (var_ref p) (constant vec2 (1559.0 113.0))) )\n"
2201 "\n"
2202 " (assign (constant bool (1)) (x) (var_ref _x) (expression float noise(var_ref p)))\n"
2203 " (assign (constant bool (1)) (x) (var_ref _y) (expression float noise(expression vec2 + (var_ref p) (constant vec2 (601.0 313.0)))))\n"
2204 " (assign (constant bool (1)) (x) (var_ref _z) (expression float noise(var_ref _p)))\n"
2205 " (assign (constant bool (1)) (x) (var_ref _w) (expression float noise(expression vec2 + (var_ref _p) (constant vec2 (601.0 313.0)))))\n"
2206 "\n"
Eric Anholtb39e6f32010-09-22 11:47:03 -07002207 " (assign (constant bool (1)) (x) (var_ref _r) (var_ref _x))\n"
2208 " (assign (constant bool (1)) (y) (var_ref _r) (var_ref _y))\n"
2209 " (assign (constant bool (1)) (z) (var_ref _r) (var_ref _z))\n"
2210 " (assign (constant bool (1)) (w) (var_ref _r) (var_ref _w))\n"
Ian Romanick1f3c7d92010-09-01 21:23:52 -07002211 " (return (var_ref _r))\n"
2212 " ))\n"
2213 "\n"
2214 " (signature vec4\n"
2215 " (parameters (declare (in) float p))\n"
2216 " (\n"
2217 " (declare () float _x)\n"
2218 " (declare () float _y)\n"
2219 " (declare () float _z)\n"
2220 " (declare () float _w)\n"
2221 " (declare () vec4 _r)\n"
2222 "\n"
2223 " (declare () float _p)\n"
Eric Anholtb39e6f32010-09-22 11:47:03 -07002224 " (assign (constant bool (1)) (x) (var_ref _p) (expression float + (var_ref p) (constant float (1559.0))) )\n"
Ian Romanick1f3c7d92010-09-01 21:23:52 -07002225 "\n"
2226 " (assign (constant bool (1)) (x) (var_ref _x) (expression float noise(var_ref p)))\n"
2227 " (assign (constant bool (1)) (x) (var_ref _y) (expression float noise(expression float + (var_ref p) (constant float (601.0 313.0 29.0 277.0)))))\n"
2228 " (assign (constant bool (1)) (x) (var_ref _z) (expression float noise(var_ref _p)))\n"
2229 " (assign (constant bool (1)) (x) (var_ref _w) (expression float noise(expression float + (var_ref _p) (constant float (601.0 313.0 29.0 277.0)))))\n"
2230 "\n"
Eric Anholtb39e6f32010-09-22 11:47:03 -07002231 " (assign (constant bool (1)) (x) (var_ref _r) (var_ref _x))\n"
2232 " (assign (constant bool (1)) (y) (var_ref _r) (var_ref _y))\n"
2233 " (assign (constant bool (1)) (z) (var_ref _r) (var_ref _z))\n"
2234 " (assign (constant bool (1)) (w) (var_ref _r) (var_ref _w))\n"
Ian Romanick1f3c7d92010-09-01 21:23:52 -07002235 " (return (var_ref _r))\n"
2236 " ))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07002237 "))\n"
2238 ""
2239;
Kenneth Graunke3f5fde52010-10-21 11:43:39 -07002240static const char builtin_normalize[] =
Eric Anholt47003a82010-08-23 12:39:35 -07002241 "((function normalize\n"
2242 " (signature float\n"
2243 " (parameters\n"
2244 " (declare (in) float arg0))\n"
Kenneth Graunke6dcca5a2010-09-09 15:15:31 -07002245 " ((return (expression float sign (var_ref arg0)))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07002246 "\n"
2247 " (signature vec2\n"
2248 " (parameters\n"
2249 " (declare (in) vec2 arg0))\n"
2250 " ((return (expression vec2 * (var_ref arg0) (expression float rsq (expression float dot (var_ref arg0) (var_ref arg0)))))))\n"
2251 "\n"
2252 " (signature vec3\n"
2253 " (parameters\n"
2254 " (declare (in) vec3 arg0))\n"
2255 " ((return (expression vec3 * (var_ref arg0) (expression float rsq (expression float dot (var_ref arg0) (var_ref arg0)))))))\n"
2256 "\n"
2257 " (signature vec4\n"
2258 " (parameters\n"
2259 " (declare (in) vec4 arg0))\n"
2260 " ((return (expression vec4 * (var_ref arg0) (expression float rsq (expression float dot (var_ref arg0) (var_ref arg0)))))))\n"
2261 "))\n"
2262 ""
2263;
Kenneth Graunke3f5fde52010-10-21 11:43:39 -07002264static const char builtin_not[] =
Eric Anholt47003a82010-08-23 12:39:35 -07002265 "((function not\n"
2266 " (signature bvec2\n"
2267 " (parameters\n"
2268 " (declare (in) bvec2 arg0))\n"
2269 " ((return (expression bvec2 ! (var_ref arg0)))))\n"
2270 "\n"
2271 " (signature bvec3\n"
2272 " (parameters\n"
2273 " (declare (in) bvec3 arg0))\n"
2274 " ((return (expression bvec3 ! (var_ref arg0)))))\n"
2275 "\n"
2276 " (signature bvec4\n"
2277 " (parameters\n"
2278 " (declare (in) bvec4 arg0))\n"
2279 " ((return (expression bvec4 ! (var_ref arg0)))))\n"
2280 "))\n"
2281 ""
2282;
Kenneth Graunke3f5fde52010-10-21 11:43:39 -07002283static const char builtin_notEqual[] =
Eric Anholt47003a82010-08-23 12:39:35 -07002284 "((function notEqual\n"
2285 " (signature bvec2\n"
2286 " (parameters\n"
2287 " (declare (in) vec2 arg0)\n"
2288 " (declare (in) vec2 arg1))\n"
Kenneth Graunke52f91562010-09-18 14:44:18 +02002289 " ((return (expression bvec2 != (var_ref arg0) (var_ref arg1)))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07002290 "\n"
2291 " (signature bvec3\n"
2292 " (parameters\n"
2293 " (declare (in) vec3 arg0)\n"
2294 " (declare (in) vec3 arg1))\n"
Kenneth Graunke52f91562010-09-18 14:44:18 +02002295 " ((return (expression bvec3 != (var_ref arg0) (var_ref arg1)))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07002296 "\n"
2297 " (signature bvec4\n"
2298 " (parameters\n"
2299 " (declare (in) vec4 arg0)\n"
2300 " (declare (in) vec4 arg1))\n"
Kenneth Graunke52f91562010-09-18 14:44:18 +02002301 " ((return (expression bvec4 != (var_ref arg0) (var_ref arg1)))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07002302 "\n"
2303 " (signature bvec2\n"
2304 " (parameters\n"
Kenneth Graunke01813852010-09-01 11:47:52 -07002305 " (declare (in) bvec2 arg0)\n"
2306 " (declare (in) bvec2 arg1))\n"
Kenneth Graunke52f91562010-09-18 14:44:18 +02002307 " ((return (expression bvec2 != (var_ref arg0) (var_ref arg1)))))\n"
Kenneth Graunke01813852010-09-01 11:47:52 -07002308 "\n"
2309 " (signature bvec3\n"
2310 " (parameters\n"
2311 " (declare (in) bvec3 arg0)\n"
2312 " (declare (in) bvec3 arg1))\n"
Kenneth Graunke52f91562010-09-18 14:44:18 +02002313 " ((return (expression bvec3 != (var_ref arg0) (var_ref arg1)))))\n"
Kenneth Graunke01813852010-09-01 11:47:52 -07002314 "\n"
2315 " (signature bvec4\n"
2316 " (parameters\n"
2317 " (declare (in) bvec4 arg0)\n"
2318 " (declare (in) bvec4 arg1))\n"
Kenneth Graunke52f91562010-09-18 14:44:18 +02002319 " ((return (expression bvec4 != (var_ref arg0) (var_ref arg1)))))\n"
Kenneth Graunke01813852010-09-01 11:47:52 -07002320 "\n"
2321 " (signature bvec2\n"
2322 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07002323 " (declare (in) ivec2 arg0)\n"
2324 " (declare (in) ivec2 arg1))\n"
Kenneth Graunke52f91562010-09-18 14:44:18 +02002325 " ((return (expression bvec2 != (var_ref arg0) (var_ref arg1)))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07002326 "\n"
2327 " (signature bvec3\n"
2328 " (parameters\n"
2329 " (declare (in) ivec3 arg0)\n"
2330 " (declare (in) ivec3 arg1))\n"
Kenneth Graunke52f91562010-09-18 14:44:18 +02002331 " ((return (expression bvec3 != (var_ref arg0) (var_ref arg1)))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07002332 "\n"
2333 " (signature bvec4\n"
2334 " (parameters\n"
2335 " (declare (in) ivec4 arg0)\n"
2336 " (declare (in) ivec4 arg1))\n"
Kenneth Graunke52f91562010-09-18 14:44:18 +02002337 " ((return (expression bvec4 != (var_ref arg0) (var_ref arg1)))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07002338 "\n"
2339 " (signature bvec2\n"
2340 " (parameters\n"
2341 " (declare (in) uvec2 arg0)\n"
2342 " (declare (in) uvec2 arg1))\n"
Kenneth Graunke52f91562010-09-18 14:44:18 +02002343 " ((return (expression bvec2 != (var_ref arg0) (var_ref arg1)))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07002344 "\n"
2345 " (signature bvec3\n"
2346 " (parameters\n"
2347 " (declare (in) uvec3 arg0)\n"
2348 " (declare (in) uvec3 arg1))\n"
Kenneth Graunke52f91562010-09-18 14:44:18 +02002349 " ((return (expression bvec3 != (var_ref arg0) (var_ref arg1)))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07002350 "\n"
2351 " (signature bvec4\n"
2352 " (parameters\n"
2353 " (declare (in) uvec4 arg0)\n"
2354 " (declare (in) uvec4 arg1))\n"
Kenneth Graunke52f91562010-09-18 14:44:18 +02002355 " ((return (expression bvec4 != (var_ref arg0) (var_ref arg1)))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07002356 "))\n"
2357 ""
2358;
Kenneth Graunke3f5fde52010-10-21 11:43:39 -07002359static const char builtin_outerProduct[] =
Eric Anholt47003a82010-08-23 12:39:35 -07002360 "((function outerProduct\n"
2361 " (signature mat2\n"
2362 " (parameters\n"
2363 " (declare (in) vec2 u)\n"
2364 " (declare (in) vec2 v))\n"
2365 " ((declare () mat2 m)\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07002366 " (assign (constant bool (1)) (xy) (array_ref (var_ref m) (constant int (0))) (expression vec2 * (var_ref u) (swiz x (var_ref v))))\n"
2367 " (assign (constant bool (1)) (xy) (array_ref (var_ref m) (constant int (1))) (expression vec2 * (var_ref u) (swiz y (var_ref v))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07002368 " (return (var_ref m))))\n"
2369 "\n"
2370 " (signature mat2x3\n"
2371 " (parameters\n"
2372 " (declare (in) vec3 u)\n"
2373 " (declare (in) vec2 v))\n"
2374 " ((declare () mat2x3 m)\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07002375 " (assign (constant bool (1)) (xyz) (array_ref (var_ref m) (constant int (0))) (expression vec3 * (var_ref u) (swiz x (var_ref v))))\n"
2376 " (assign (constant bool (1)) (xyz) (array_ref (var_ref m) (constant int (1))) (expression vec3 * (var_ref u) (swiz y (var_ref v))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07002377 " (return (var_ref m))))\n"
2378 "\n"
2379 " (signature mat2x4\n"
2380 " (parameters\n"
2381 " (declare (in) vec4 u)\n"
2382 " (declare (in) vec2 v))\n"
2383 " ((declare () mat2x4 m)\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07002384 " (assign (constant bool (1)) (xyzw) (array_ref (var_ref m) (constant int (0))) (expression vec4 * (var_ref u) (swiz x (var_ref v))))\n"
2385 " (assign (constant bool (1)) (xyzw) (array_ref (var_ref m) (constant int (1))) (expression vec4 * (var_ref u) (swiz y (var_ref v))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07002386 " (return (var_ref m))))\n"
2387 "\n"
2388 " (signature mat3x2\n"
2389 " (parameters\n"
2390 " (declare (in) vec2 u)\n"
2391 " (declare (in) vec3 v))\n"
2392 " ((declare () mat3x2 m)\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07002393 " (assign (constant bool (1)) (xy) (array_ref (var_ref m) (constant int (0))) (expression vec2 * (var_ref u) (swiz x (var_ref v))))\n"
2394 " (assign (constant bool (1)) (xy) (array_ref (var_ref m) (constant int (1))) (expression vec2 * (var_ref u) (swiz y (var_ref v))))\n"
2395 " (assign (constant bool (1)) (xy) (array_ref (var_ref m) (constant int (2))) (expression vec2 * (var_ref u) (swiz z (var_ref v))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07002396 " (return (var_ref m))\n"
2397 " ))\n"
2398 "\n"
2399 " (signature mat3\n"
2400 " (parameters\n"
2401 " (declare (in) vec3 u)\n"
2402 " (declare (in) vec3 v))\n"
2403 " ((declare () mat3 m)\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07002404 " (assign (constant bool (1)) (xyz) (array_ref (var_ref m) (constant int (0))) (expression vec3 * (var_ref u) (swiz x (var_ref v))))\n"
2405 " (assign (constant bool (1)) (xyz) (array_ref (var_ref m) (constant int (1))) (expression vec3 * (var_ref u) (swiz y (var_ref v))))\n"
2406 " (assign (constant bool (1)) (xyz) (array_ref (var_ref m) (constant int (2))) (expression vec3 * (var_ref u) (swiz z (var_ref v))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07002407 " (return (var_ref m))))\n"
2408 "\n"
2409 " (signature mat3x4\n"
2410 " (parameters\n"
2411 " (declare (in) vec4 u)\n"
2412 " (declare (in) vec3 v))\n"
2413 " ((declare () mat3x4 m)\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07002414 " (assign (constant bool (1)) (xyzw) (array_ref (var_ref m) (constant int (0))) (expression vec4 * (var_ref u) (swiz x (var_ref v))))\n"
2415 " (assign (constant bool (1)) (xyzw) (array_ref (var_ref m) (constant int (1))) (expression vec4 * (var_ref u) (swiz y (var_ref v))))\n"
2416 " (assign (constant bool (1)) (xyzw) (array_ref (var_ref m) (constant int (2))) (expression vec4 * (var_ref u) (swiz z (var_ref v))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07002417 " (return (var_ref m))))\n"
2418 "\n"
2419 " (signature mat4x2\n"
2420 " (parameters\n"
2421 " (declare (in) vec2 u)\n"
2422 " (declare (in) vec4 v))\n"
2423 " ((declare () mat4x2 m)\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07002424 " (assign (constant bool (1)) (xy) (array_ref (var_ref m) (constant int (0))) (expression vec2 * (var_ref u) (swiz x (var_ref v))))\n"
2425 " (assign (constant bool (1)) (xy) (array_ref (var_ref m) (constant int (1))) (expression vec2 * (var_ref u) (swiz y (var_ref v))))\n"
2426 " (assign (constant bool (1)) (xy) (array_ref (var_ref m) (constant int (2))) (expression vec2 * (var_ref u) (swiz z (var_ref v))))\n"
2427 " (assign (constant bool (1)) (xy) (array_ref (var_ref m) (constant int (3))) (expression vec2 * (var_ref u) (swiz w (var_ref v))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07002428 " (return (var_ref m))))\n"
2429 "\n"
2430 " (signature mat4x3\n"
2431 " (parameters\n"
2432 " (declare (in) vec3 u)\n"
2433 " (declare (in) vec4 v))\n"
2434 " ((declare () mat4x3 m)\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07002435 " (assign (constant bool (1)) (xyz) (array_ref (var_ref m) (constant int (0))) (expression vec3 * (var_ref u) (swiz x (var_ref v))))\n"
2436 " (assign (constant bool (1)) (xyz) (array_ref (var_ref m) (constant int (1))) (expression vec3 * (var_ref u) (swiz y (var_ref v))))\n"
2437 " (assign (constant bool (1)) (xyz) (array_ref (var_ref m) (constant int (2))) (expression vec3 * (var_ref u) (swiz z (var_ref v))))\n"
2438 " (assign (constant bool (1)) (xyz) (array_ref (var_ref m) (constant int (3))) (expression vec3 * (var_ref u) (swiz w (var_ref v))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07002439 " (return (var_ref m))))\n"
2440 "\n"
2441 " (signature mat4\n"
2442 " (parameters\n"
2443 " (declare (in) vec4 u)\n"
2444 " (declare (in) vec4 v))\n"
2445 " ((declare () mat4 m)\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07002446 " (assign (constant bool (1)) (xyzw) (array_ref (var_ref m) (constant int (0))) (expression vec4 * (var_ref u) (swiz x (var_ref v))))\n"
2447 " (assign (constant bool (1)) (xyzw) (array_ref (var_ref m) (constant int (1))) (expression vec4 * (var_ref u) (swiz y (var_ref v))))\n"
2448 " (assign (constant bool (1)) (xyzw) (array_ref (var_ref m) (constant int (2))) (expression vec4 * (var_ref u) (swiz z (var_ref v))))\n"
2449 " (assign (constant bool (1)) (xyzw) (array_ref (var_ref m) (constant int (3))) (expression vec4 * (var_ref u) (swiz w (var_ref v))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07002450 " (return (var_ref m))))\n"
2451 "))\n"
2452 ""
2453;
Kenneth Graunke3f5fde52010-10-21 11:43:39 -07002454static const char builtin_pow[] =
Eric Anholt47003a82010-08-23 12:39:35 -07002455 "((function pow\n"
2456 " (signature float\n"
2457 " (parameters\n"
2458 " (declare (in) float arg0)\n"
2459 " (declare (in) float arg1))\n"
2460 " ((return (expression float pow (var_ref arg0) (var_ref arg1)))))\n"
2461 "\n"
2462 " (signature vec2\n"
2463 " (parameters\n"
2464 " (declare (in) vec2 arg0)\n"
2465 " (declare (in) vec2 arg1))\n"
2466 " ((return (expression vec2 pow (var_ref arg0) (var_ref arg1)))))\n"
2467 "\n"
2468 " (signature vec3\n"
2469 " (parameters\n"
2470 " (declare (in) vec3 arg0)\n"
2471 " (declare (in) vec3 arg1))\n"
2472 " ((return (expression vec3 pow (var_ref arg0) (var_ref arg1)))))\n"
2473 "\n"
2474 " (signature vec4\n"
2475 " (parameters\n"
2476 " (declare (in) vec4 arg0)\n"
2477 " (declare (in) vec4 arg1))\n"
2478 " ((return (expression vec4 pow (var_ref arg0) (var_ref arg1)))))\n"
2479 "))\n"
2480 ""
2481;
Kenneth Graunke3f5fde52010-10-21 11:43:39 -07002482static const char builtin_radians[] =
Eric Anholt47003a82010-08-23 12:39:35 -07002483 "((function radians\n"
2484 " (signature float\n"
2485 " (parameters\n"
2486 " (declare (in) float arg0))\n"
2487 " ((return (expression float * (var_ref arg0) (constant float (0.017453))))))\n"
2488 "\n"
2489 " (signature vec2\n"
2490 " (parameters\n"
2491 " (declare (in) vec2 arg0))\n"
2492 " ((return (expression vec2 * (var_ref arg0) (constant float (0.017453))))))\n"
2493 "\n"
2494 " (signature vec3\n"
2495 " (parameters\n"
2496 " (declare (in) vec3 arg0))\n"
2497 " ((return (expression vec3 * (var_ref arg0) (constant float (0.017453))))))\n"
2498 "\n"
2499 " (signature vec4\n"
2500 " (parameters\n"
2501 " (declare (in) vec4 arg0))\n"
2502 " ((return (expression vec4 * (var_ref arg0) (constant float (0.017453))))))\n"
2503 "))\n"
2504 ""
2505;
Kenneth Graunke3f5fde52010-10-21 11:43:39 -07002506static const char builtin_reflect[] =
Eric Anholt47003a82010-08-23 12:39:35 -07002507 "((function reflect\n"
2508 " (signature float\n"
2509 " (parameters\n"
2510 " (declare (in) float i)\n"
2511 " (declare (in) float n))\n"
2512 " ((return (expression float -\n"
2513 " (var_ref i)\n"
2514 " (expression float *\n"
2515 " (constant float (2.0))\n"
2516 " (expression float *\n"
Kenneth Graunke4b2ffa02010-09-07 23:23:03 -07002517 " (expression float *\n"
Eric Anholt47003a82010-08-23 12:39:35 -07002518 " (var_ref n)\n"
2519 " (var_ref i))\n"
2520 " (var_ref n)))))))\n"
2521 "\n"
2522 " (signature vec2\n"
2523 " (parameters\n"
2524 " (declare (in) vec2 i)\n"
2525 " (declare (in) vec2 n))\n"
2526 " ((return (expression vec2 -\n"
2527 " (var_ref i)\n"
2528 " (expression vec2 *\n"
2529 " (constant float (2.0))\n"
2530 " (expression vec2 *\n"
2531 " (expression float dot\n"
2532 " (var_ref n)\n"
2533 " (var_ref i))\n"
2534 " (var_ref n)))))))\n"
2535 "\n"
2536 " (signature vec3\n"
2537 " (parameters\n"
2538 " (declare (in) vec3 i)\n"
2539 " (declare (in) vec3 n))\n"
2540 " ((return (expression vec3 -\n"
2541 " (var_ref i)\n"
2542 " (expression vec3 *\n"
2543 " (constant float (2.0))\n"
2544 " (expression vec3 *\n"
2545 " (expression float dot\n"
2546 " (var_ref n)\n"
2547 " (var_ref i))\n"
2548 " (var_ref n)))))))\n"
2549 "\n"
2550 " (signature vec4\n"
2551 " (parameters\n"
2552 " (declare (in) vec4 i)\n"
2553 " (declare (in) vec4 n))\n"
2554 " ((return (expression vec4 -\n"
2555 " (var_ref i)\n"
2556 " (expression vec4 *\n"
2557 " (constant float (2.0))\n"
2558 " (expression vec4 *\n"
2559 " (expression float dot\n"
2560 " (var_ref n)\n"
2561 " (var_ref i))\n"
2562 " (var_ref n)))))))\n"
2563 "\n"
2564 "))\n"
2565 ""
2566;
Kenneth Graunke3f5fde52010-10-21 11:43:39 -07002567static const char builtin_refract[] =
Eric Anholt47003a82010-08-23 12:39:35 -07002568 "((function refract\n"
2569 " (signature float\n"
2570 " (parameters\n"
2571 " (declare (in) float i)\n"
2572 " (declare (in) float n)\n"
2573 " (declare (in) float eta))\n"
2574 " ((declare () float k)\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07002575 " (assign (constant bool (1)) (x) (var_ref k)\n"
Eric Anholt47003a82010-08-23 12:39:35 -07002576 " (expression float - (constant float (1.0))\n"
2577 " (expression float * (var_ref eta)\n"
2578 " (expression float * (var_ref eta)\n"
2579 " (expression float - (constant float (1.0))\n"
2580 " (expression float * \n"
Kenneth Graunke4b2ffa02010-09-07 23:23:03 -07002581 " (expression float * (var_ref n) (var_ref i))\n"
2582 " (expression float * (var_ref n) (var_ref i))))))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07002583 " (if (expression bool < (var_ref k) (constant float (0.0)))\n"
2584 " ((return (constant float (0.0))))\n"
2585 " ((return (expression float -\n"
2586 " (expression float * (var_ref eta) (var_ref i))\n"
2587 " (expression float *\n"
2588 " (expression float +\n"
2589 " (expression float * (var_ref eta)\n"
Kenneth Graunke4b2ffa02010-09-07 23:23:03 -07002590 " (expression float * (var_ref n) (var_ref i)))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07002591 " (expression float sqrt (var_ref k)))\n"
2592 " (var_ref n))))))))\n"
2593 "\n"
2594 " (signature vec2\n"
2595 " (parameters\n"
2596 " (declare (in) vec2 i)\n"
2597 " (declare (in) vec2 n)\n"
2598 " (declare (in) float eta))\n"
2599 " ((declare () float k)\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07002600 " (assign (constant bool (1)) (x) (var_ref k)\n"
Eric Anholt47003a82010-08-23 12:39:35 -07002601 " (expression float - (constant float (1.0))\n"
2602 " (expression float * (var_ref eta)\n"
2603 " (expression float * (var_ref eta)\n"
2604 " (expression float - (constant float (1.0))\n"
2605 " (expression float * \n"
2606 " (expression float dot (var_ref n) (var_ref i))\n"
2607 " (expression float dot (var_ref n) (var_ref i))))))))\n"
2608 " (if (expression bool < (var_ref k) (constant float (0.0)))\n"
2609 " ((return (constant vec2 (0.0 0.0))))\n"
2610 " ((return (expression vec2 -\n"
2611 " (expression vec2 * (var_ref eta) (var_ref i))\n"
2612 " (expression vec2 *\n"
2613 " (expression float +\n"
2614 " (expression float * (var_ref eta)\n"
2615 " (expression float dot (var_ref n) (var_ref i)))\n"
2616 " (expression float sqrt (var_ref k)))\n"
2617 " (var_ref n))))))))\n"
2618 "\n"
2619 " (signature vec3\n"
2620 " (parameters\n"
2621 " (declare (in) vec3 i)\n"
2622 " (declare (in) vec3 n)\n"
2623 " (declare (in) float eta))\n"
2624 " ((declare () float k)\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07002625 " (assign (constant bool (1)) (x) (var_ref k)\n"
Eric Anholt47003a82010-08-23 12:39:35 -07002626 " (expression float - (constant float (1.0))\n"
2627 " (expression float * (var_ref eta)\n"
2628 " (expression float * (var_ref eta)\n"
2629 " (expression float - (constant float (1.0))\n"
2630 " (expression float * \n"
2631 " (expression float dot (var_ref n) (var_ref i))\n"
2632 " (expression float dot (var_ref n) (var_ref i))))))))\n"
2633 " (if (expression bool < (var_ref k) (constant float (0.0)))\n"
2634 " ((return (constant vec3 (0.0 0.0 0.0))))\n"
2635 " ((return (expression vec3 -\n"
2636 " (expression vec3 * (var_ref eta) (var_ref i))\n"
2637 " (expression vec3 *\n"
2638 " (expression float +\n"
2639 " (expression float * (var_ref eta)\n"
2640 " (expression float dot (var_ref n) (var_ref i)))\n"
2641 " (expression float sqrt (var_ref k)))\n"
2642 " (var_ref n))))))))\n"
2643 "\n"
2644 " (signature vec4\n"
2645 " (parameters\n"
2646 " (declare (in) vec4 i)\n"
2647 " (declare (in) vec4 n)\n"
2648 " (declare (in) float eta))\n"
2649 " ((declare () float k)\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07002650 " (assign (constant bool (1)) (x) (var_ref k)\n"
Eric Anholt47003a82010-08-23 12:39:35 -07002651 " (expression float - (constant float (1.0))\n"
2652 " (expression float * (var_ref eta)\n"
2653 " (expression float * (var_ref eta)\n"
2654 " (expression float - (constant float (1.0))\n"
2655 " (expression float * \n"
2656 " (expression float dot (var_ref n) (var_ref i))\n"
2657 " (expression float dot (var_ref n) (var_ref i))))))))\n"
2658 " (if (expression bool < (var_ref k) (constant float (0.0)))\n"
2659 " ((return (constant vec4 (0.0 0.0 0.0 0.0))))\n"
2660 " ((return (expression vec4 -\n"
2661 " (expression vec4 * (var_ref eta) (var_ref i))\n"
2662 " (expression vec4 *\n"
2663 " (expression float +\n"
2664 " (expression float * (var_ref eta)\n"
2665 " (expression float dot (var_ref n) (var_ref i)))\n"
2666 " (expression float sqrt (var_ref k)))\n"
2667 " (var_ref n))))))))\n"
2668 "\n"
2669 "))\n"
2670 ""
2671;
Kenneth Graunke3f5fde52010-10-21 11:43:39 -07002672static const char builtin_round[] =
Kenneth Graunke2bc704d2010-10-14 13:41:29 -07002673 "((function round\n"
2674 " (signature float\n"
2675 " (parameters\n"
2676 " (declare (in) float arg0))\n"
2677 " ((return (expression float round_even (var_ref arg0)))))\n"
2678 "\n"
2679 " (signature vec2\n"
2680 " (parameters\n"
2681 " (declare (in) vec2 arg0))\n"
2682 " ((return (expression vec2 round_even (var_ref arg0)))))\n"
2683 "\n"
2684 " (signature vec3\n"
2685 " (parameters\n"
2686 " (declare (in) vec3 arg0))\n"
2687 " ((return (expression vec3 round_even (var_ref arg0)))))\n"
2688 "\n"
2689 " (signature vec4\n"
2690 " (parameters\n"
2691 " (declare (in) vec4 arg0))\n"
2692 " ((return (expression vec4 round_even (var_ref arg0)))))\n"
2693 "))\n"
2694 ""
2695;
Kenneth Graunke3f5fde52010-10-21 11:43:39 -07002696static const char builtin_roundEven[] =
Kenneth Graunke2bc704d2010-10-14 13:41:29 -07002697 "((function roundEven\n"
2698 " (signature float\n"
2699 " (parameters\n"
2700 " (declare (in) float arg0))\n"
2701 " ((return (expression float round_even (var_ref arg0)))))\n"
2702 "\n"
2703 " (signature vec2\n"
2704 " (parameters\n"
2705 " (declare (in) vec2 arg0))\n"
2706 " ((return (expression vec2 round_even (var_ref arg0)))))\n"
2707 "\n"
2708 " (signature vec3\n"
2709 " (parameters\n"
2710 " (declare (in) vec3 arg0))\n"
2711 " ((return (expression vec3 round_even (var_ref arg0)))))\n"
2712 "\n"
2713 " (signature vec4\n"
2714 " (parameters\n"
2715 " (declare (in) vec4 arg0))\n"
2716 " ((return (expression vec4 round_even (var_ref arg0)))))\n"
2717 "))\n"
2718 ""
2719;
Kenneth Graunke3f5fde52010-10-21 11:43:39 -07002720static const char builtin_shadow1D[] =
Eric Anholt47003a82010-08-23 12:39:35 -07002721 "((function shadow1D\n"
2722 " (signature vec4\n"
2723 " (parameters\n"
2724 " (declare (in) sampler1DShadow sampler)\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07002725 " (declare (in) vec3 P) )\n"
Eric Anholt47003a82010-08-23 12:39:35 -07002726 " ((return (tex (var_ref sampler) (swiz x (var_ref P)) (0 0 0) 1 (swiz z (var_ref P)) ))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07002727 "\n"
2728 " (signature vec4\n"
2729 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07002730 " (declare (in) sampler1DShadow sampler)\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07002731 " (declare (in) vec3 P) \n"
2732 " (declare (in) float bias) )\n"
Eric Anholt47003a82010-08-23 12:39:35 -07002733 " ((return (txb (var_ref sampler) (swiz x (var_ref P)) (0 0 0) 1 (swiz z (var_ref P)) (var_ref bias) ))))\n"
2734 "\n"
2735 "))\n"
2736 ""
2737;
Kenneth Graunke3f5fde52010-10-21 11:43:39 -07002738static const char builtin_shadow1DArray[] =
Eric Anholt47003a82010-08-23 12:39:35 -07002739 "((function shadow1DArray\n"
2740 " (signature vec4\n"
2741 " (parameters\n"
2742 " (declare (in) sampler1DArrayShadow sampler)\n"
2743 " (declare (in) vec3 P) )\n"
2744 " ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) 1 (swiz z (var_ref P)) ))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07002745 "\n"
2746 " (signature vec4\n"
2747 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07002748 " (declare (in) sampler1DArrayShadow sampler)\n"
2749 " (declare (in) vec3 P) \n"
2750 " (declare (in) float bias) )\n"
2751 " ((return (txb (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) 1 (swiz z (var_ref P)) (var_ref bias) ))))\n"
2752 "\n"
2753 "))\n"
2754 ""
2755;
Kenneth Graunke3f5fde52010-10-21 11:43:39 -07002756static const char builtin_shadow1DArrayLod[] =
Eric Anholt47003a82010-08-23 12:39:35 -07002757 "((function shadow1DArrayLod\n"
2758 " (signature vec4\n"
2759 " (parameters\n"
2760 " (declare (in) sampler1DArrayShadow sampler)\n"
2761 " (declare (in) vec3 P) \n"
2762 " (declare (in) float lod) )\n"
2763 " ((return (txl (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) 1 (swiz z (var_ref P)) (var_ref lod) ))))\n"
2764 "\n"
2765 "))\n"
2766 ""
2767;
Kenneth Graunke3f5fde52010-10-21 11:43:39 -07002768static const char builtin_shadow1DLod[] =
Eric Anholt47003a82010-08-23 12:39:35 -07002769 "((function shadow1DLod\n"
2770 " (signature vec4\n"
2771 " (parameters\n"
2772 " (declare (in) sampler1DShadow sampler)\n"
2773 " (declare (in) vec3 P) \n"
2774 " (declare (in) float lod) )\n"
2775 " ((return (txl (var_ref sampler) (swiz x (var_ref P)) (0 0 0) 1 (swiz z (var_ref P)) (var_ref lod) ))))\n"
2776 "\n"
2777 "))\n"
2778 ""
2779;
Kenneth Graunke3f5fde52010-10-21 11:43:39 -07002780static const char builtin_shadow1DProj[] =
Eric Anholt47003a82010-08-23 12:39:35 -07002781 "((function shadow1DProj\n"
2782 " (signature vec4\n"
2783 " (parameters\n"
2784 " (declare (in) sampler1DShadow sampler)\n"
2785 " (declare (in) vec4 P) )\n"
2786 " ((return (tex (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) (swiz z (var_ref P)) ))))\n"
2787 "\n"
2788 " (signature vec4\n"
2789 " (parameters\n"
2790 " (declare (in) sampler1DShadow sampler)\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07002791 " (declare (in) vec4 P) \n"
2792 " (declare (in) float bias) )\n"
Eric Anholt47003a82010-08-23 12:39:35 -07002793 " ((return (txb (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) (swiz z (var_ref P)) (var_ref bias) ))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07002794 "\n"
2795 "))\n"
2796 ""
2797;
Kenneth Graunke3f5fde52010-10-21 11:43:39 -07002798static const char builtin_shadow1DProjLod[] =
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07002799 "((function shadow1DProjLod\n"
2800 " (signature vec4\n"
2801 " (parameters\n"
2802 " (declare (in) sampler1DShadow sampler)\n"
2803 " (declare (in) vec4 P) \n"
2804 " (declare (in) float lod) )\n"
2805 " ((return (txl (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) (swiz z (var_ref P)) (var_ref lod) ))))\n"
2806 "\n"
2807 "))\n"
2808 ""
2809;
Kenneth Graunke3f5fde52010-10-21 11:43:39 -07002810static const char builtin_shadow2D[] =
Eric Anholt47003a82010-08-23 12:39:35 -07002811 "((function shadow2D\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07002812 " (signature vec4\n"
2813 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07002814 " (declare (in) sampler2DShadow sampler)\n"
2815 " (declare (in) vec3 P) )\n"
2816 " ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) 1 (swiz z (var_ref P)) ))))\n"
2817 "\n"
2818 " (signature vec4\n"
2819 " (parameters\n"
2820 " (declare (in) sampler2DShadow sampler)\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07002821 " (declare (in) vec3 P) \n"
Eric Anholt47003a82010-08-23 12:39:35 -07002822 " (declare (in) float bias) )\n"
2823 " ((return (txb (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) 1 (swiz z (var_ref P)) (var_ref bias) ))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07002824 "\n"
2825 "))\n"
2826 ""
2827;
Kenneth Graunke3f5fde52010-10-21 11:43:39 -07002828static const char builtin_shadow2DArray[] =
Eric Anholt47003a82010-08-23 12:39:35 -07002829 "((function shadow2DArray\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07002830 " (signature vec4\n"
2831 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07002832 " (declare (in) sampler2DArrayShadow sampler)\n"
2833 " (declare (in) vec4 P) )\n"
2834 " ((return (tex (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) 1 (swiz w (var_ref P)) ))))\n"
2835 "\n"
2836 "))\n"
2837 ""
2838;
Kenneth Graunke3f5fde52010-10-21 11:43:39 -07002839static const char builtin_shadow2DLod[] =
Eric Anholt47003a82010-08-23 12:39:35 -07002840 "((function shadow2DLod\n"
2841 " (signature vec4\n"
2842 " (parameters\n"
2843 " (declare (in) sampler2DShadow sampler)\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07002844 " (declare (in) vec3 P) \n"
2845 " (declare (in) float lod) )\n"
Eric Anholt47003a82010-08-23 12:39:35 -07002846 " ((return (txl (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) 1 (swiz z (var_ref P)) (var_ref lod) ))))\n"
2847 "\n"
2848 "))\n"
2849 ""
2850;
Kenneth Graunke3f5fde52010-10-21 11:43:39 -07002851static const char builtin_shadow2DProj[] =
Eric Anholt47003a82010-08-23 12:39:35 -07002852 "((function shadow2DProj\n"
2853 " (signature vec4\n"
2854 " (parameters\n"
2855 " (declare (in) sampler2DShadow sampler)\n"
2856 " (declare (in) vec4 P) )\n"
2857 " ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) (swiz z (var_ref P)) ))))\n"
2858 "\n"
2859 " (signature vec4\n"
2860 " (parameters\n"
2861 " (declare (in) sampler2DShadow sampler)\n"
2862 " (declare (in) vec4 P) \n"
2863 " (declare (in) float bias) )\n"
2864 " ((return (txb (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) (swiz z (var_ref P)) (var_ref bias) ))))\n"
2865 "\n"
2866 "))\n"
2867 ""
2868;
Kenneth Graunke3f5fde52010-10-21 11:43:39 -07002869static const char builtin_shadow2DProjLod[] =
Eric Anholt47003a82010-08-23 12:39:35 -07002870 "((function shadow2DProjLod\n"
2871 " (signature vec4\n"
2872 " (parameters\n"
2873 " (declare (in) sampler2DShadow sampler)\n"
2874 " (declare (in) vec4 P) \n"
2875 " (declare (in) float lod) )\n"
2876 " ((return (txl (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) (swiz z (var_ref P)) (var_ref lod) ))))\n"
2877 "\n"
2878 "))\n"
2879 ""
2880;
Kenneth Graunke3f5fde52010-10-21 11:43:39 -07002881static const char builtin_shadow2DRect[] =
Eric Anholt47003a82010-08-23 12:39:35 -07002882 "((function shadow2DRect\n"
2883 " (signature vec4\n"
2884 " (parameters\n"
2885 " (declare (in) sampler2DRectShadow sampler)\n"
2886 " (declare (in) vec3 P) )\n"
2887 " ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) 1 (swiz z (var_ref P)) ))))\n"
2888 "\n"
2889 "))\n"
2890 ""
2891;
Kenneth Graunke3f5fde52010-10-21 11:43:39 -07002892static const char builtin_shadow2DRectProj[] =
Eric Anholt47003a82010-08-23 12:39:35 -07002893 "((function shadow2DRectProj\n"
2894 " (signature vec4\n"
2895 " (parameters\n"
2896 " (declare (in) sampler2DRectShadow sampler)\n"
2897 " (declare (in) vec4 P) )\n"
2898 " ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) (swiz z (var_ref P)) ))))\n"
2899 "\n"
2900 "))\n"
2901 ""
2902;
Kenneth Graunke3f5fde52010-10-21 11:43:39 -07002903static const char builtin_sign[] =
Eric Anholt47003a82010-08-23 12:39:35 -07002904 "((function sign\n"
2905 " (signature float\n"
2906 " (parameters\n"
2907 " (declare (in) float x))\n"
2908 " ((return (expression float sign (var_ref x)))))\n"
2909 "\n"
2910 " (signature vec2\n"
2911 " (parameters\n"
2912 " (declare (in) vec2 x))\n"
2913 " ((return (expression vec2 sign (var_ref x)))))\n"
2914 "\n"
2915 " (signature vec3\n"
2916 " (parameters\n"
2917 " (declare (in) vec3 x))\n"
2918 " ((return (expression vec3 sign (var_ref x)))))\n"
2919 "\n"
2920 " (signature vec4\n"
2921 " (parameters\n"
2922 " (declare (in) vec4 x))\n"
2923 " ((return (expression vec4 sign (var_ref x)))))\n"
2924 "\n"
2925 " (signature int\n"
2926 " (parameters\n"
2927 " (declare (in) int x))\n"
2928 " ((return (expression int sign (var_ref x)))))\n"
2929 "\n"
2930 " (signature ivec2\n"
2931 " (parameters\n"
2932 " (declare (in) ivec2 x))\n"
2933 " ((return (expression ivec2 sign (var_ref x)))))\n"
2934 "\n"
2935 " (signature ivec3\n"
2936 " (parameters\n"
2937 " (declare (in) ivec3 x))\n"
2938 " ((return (expression ivec3 sign (var_ref x)))))\n"
2939 "\n"
2940 " (signature ivec4\n"
2941 " (parameters\n"
2942 " (declare (in) ivec4 x))\n"
2943 " ((return (expression ivec4 sign (var_ref x)))))\n"
2944 "))\n"
2945 "\n"
2946 ""
2947;
Kenneth Graunke3f5fde52010-10-21 11:43:39 -07002948static const char builtin_sin[] =
Eric Anholt47003a82010-08-23 12:39:35 -07002949 "((function sin\n"
2950 " (signature float\n"
2951 " (parameters\n"
2952 " (declare (in) float angle))\n"
2953 " ((return (expression float sin (var_ref angle)))))\n"
2954 "\n"
2955 " (signature vec2\n"
2956 " (parameters\n"
2957 " (declare (in) vec2 angle))\n"
2958 " ((return (expression vec2 sin (var_ref angle)))))\n"
2959 "\n"
2960 " (signature vec3\n"
2961 " (parameters\n"
2962 " (declare (in) vec3 angle))\n"
2963 " ((return (expression vec3 sin (var_ref angle)))))\n"
2964 "\n"
2965 " (signature vec4\n"
2966 " (parameters\n"
2967 " (declare (in) vec4 angle))\n"
2968 " ((return (expression vec4 sin (var_ref angle)))))\n"
2969 "))\n"
2970 ""
2971;
Kenneth Graunke3f5fde52010-10-21 11:43:39 -07002972static const char builtin_sinh[] =
Eric Anholt47003a82010-08-23 12:39:35 -07002973 "((function sinh\n"
2974 " (signature float\n"
2975 " (parameters\n"
2976 " (declare (in) float x))\n"
2977 " ((return (expression float * (constant float (0.5))\n"
2978 " (expression float -\n"
2979 " (expression float exp (var_ref x))\n"
2980 " (expression float exp (expression float neg (var_ref x))))))))\n"
2981 " (signature vec2\n"
2982 " (parameters\n"
2983 " (declare (in) vec2 x))\n"
2984 " ((return (expression vec2 * (constant vec2 (0.5))\n"
2985 " (expression vec2 -\n"
2986 " (expression vec2 exp (var_ref x))\n"
2987 " (expression vec2 exp (expression vec2 neg (var_ref x))))))))\n"
2988 " (signature vec3\n"
2989 " (parameters\n"
2990 " (declare (in) vec3 x))\n"
2991 " ((return (expression vec3 * (constant vec3 (0.5))\n"
2992 " (expression vec3 -\n"
2993 " (expression vec3 exp (var_ref x))\n"
2994 " (expression vec3 exp (expression vec3 neg (var_ref x))))))))\n"
2995 " (signature vec4\n"
2996 " (parameters\n"
2997 " (declare (in) vec4 x))\n"
2998 " ((return (expression vec4 * (constant vec4 (0.5))\n"
2999 " (expression vec4 -\n"
3000 " (expression vec4 exp (var_ref x))\n"
3001 " (expression vec4 exp (expression vec4 neg (var_ref x))))))))\n"
3002 "))\n"
3003 ""
3004;
Kenneth Graunke3f5fde52010-10-21 11:43:39 -07003005static const char builtin_smoothstep[] =
Eric Anholt47003a82010-08-23 12:39:35 -07003006 "((function smoothstep\n"
3007 " (signature float\n"
3008 " (parameters\n"
3009 " (declare (in) float edge0)\n"
3010 " (declare (in) float edge1)\n"
3011 " (declare (in) float x))\n"
3012 " ((declare () float t)\n"
3013 "\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07003014 " (assign (constant bool (1)) (x) (var_ref t)\n"
Eric Anholt47003a82010-08-23 12:39:35 -07003015 " (expression float max\n"
3016 " (expression float min\n"
3017 " (expression float / (expression float - (var_ref x) (var_ref edge0)) (expression float - (var_ref edge1) (var_ref edge0)))\n"
3018 " (constant float (1.0)))\n"
3019 " (constant float (0.0))))\n"
3020 " (return (expression float * (var_ref t) (expression float * (var_ref t) (expression float - (constant float (3.000000)) (expression float * (constant float (2.000000)) (var_ref t))))))))\n"
3021 "\n"
3022 " (signature vec2\n"
3023 " (parameters\n"
3024 " (declare (in) float edge0)\n"
3025 " (declare (in) float edge1)\n"
3026 " (declare (in) vec2 x))\n"
3027 " ((declare () vec2 t)\n"
3028 " (declare () vec2 retval)\n"
3029 "\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07003030 " (assign (constant bool (1)) (x) (var_ref t)\n"
Eric Anholt47003a82010-08-23 12:39:35 -07003031 " (expression float max\n"
3032 " (expression float min\n"
3033 " (expression float / (expression float - (swiz x (var_ref x)) (var_ref edge0)) (expression float - (var_ref edge1) (var_ref edge0)))\n"
3034 " (constant float (1.0)))\n"
3035 " (constant float (0.0))))\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07003036 " (assign (constant bool (1)) (x) (var_ref retval) (expression float * (swiz x (var_ref t)) (expression float * (swiz x (var_ref t)) (expression float - (constant float (3.000000)) (expression float * (constant float (2.000000)) (swiz x (var_ref t)))))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07003037 "\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07003038 " (assign (constant bool (1)) (y) (var_ref t)\n"
Eric Anholt47003a82010-08-23 12:39:35 -07003039 " (expression float max\n"
3040 " (expression float min\n"
3041 " (expression float / (expression float - (swiz y (var_ref x)) (var_ref edge0)) (expression float - (var_ref edge1) (var_ref edge0)))\n"
3042 " (constant float (1.0)))\n"
3043 " (constant float (0.0))))\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07003044 " (assign (constant bool (1)) (y) (var_ref retval) (expression float * (swiz y (var_ref t)) (expression float * (swiz y (var_ref t)) (expression float - (constant float (3.000000)) (expression float * (constant float (2.000000)) (swiz y (var_ref t)))))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07003045 " (return (var_ref retval))\n"
3046 " ))\n"
3047 "\n"
3048 " (signature vec3\n"
3049 " (parameters\n"
3050 " (declare (in) float edge0)\n"
3051 " (declare (in) float edge1)\n"
3052 " (declare (in) vec3 x))\n"
3053 " ((declare () vec3 t)\n"
3054 " (declare () vec3 retval)\n"
3055 "\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07003056 " (assign (constant bool (1)) (x) (var_ref t)\n"
Eric Anholt47003a82010-08-23 12:39:35 -07003057 " (expression float max\n"
3058 " (expression float min\n"
3059 " (expression float / (expression float - (swiz x (var_ref x)) (var_ref edge0)) (expression float - (var_ref edge1) (var_ref edge0)))\n"
3060 " (constant float (1.0)))\n"
3061 " (constant float (0.0))))\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07003062 " (assign (constant bool (1)) (x) (var_ref retval) (expression float * (swiz x (var_ref t)) (expression float * (swiz x (var_ref t)) (expression float - (constant float (3.000000)) (expression float * (constant float (2.000000)) (swiz x (var_ref t)))))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07003063 "\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07003064 " (assign (constant bool (1)) (y) (var_ref t)\n"
Eric Anholt47003a82010-08-23 12:39:35 -07003065 " (expression float max\n"
3066 " (expression float min\n"
3067 " (expression float / (expression float - (swiz y (var_ref x)) (var_ref edge0)) (expression float - (var_ref edge1) (var_ref edge0)))\n"
3068 " (constant float (1.0)))\n"
3069 " (constant float (0.0))))\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07003070 " (assign (constant bool (1)) (y) (var_ref retval) (expression float * (swiz y (var_ref t)) (expression float * (swiz y (var_ref t)) (expression float - (constant float (3.000000)) (expression float * (constant float (2.000000)) (swiz y (var_ref t)))))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07003071 "\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07003072 " (assign (constant bool (1)) (z) (var_ref t)\n"
Eric Anholt47003a82010-08-23 12:39:35 -07003073 " (expression float max\n"
3074 " (expression float min\n"
3075 " (expression float / (expression float - (swiz z (var_ref x)) (var_ref edge0)) (expression float - (var_ref edge1) (var_ref edge0)))\n"
3076 " (constant float (1.0)))\n"
3077 " (constant float (0.0))))\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07003078 " (assign (constant bool (1)) (z) (var_ref retval) (expression float * (swiz z (var_ref t)) (expression float * (swiz z (var_ref t)) (expression float - (constant float (3.000000)) (expression float * (constant float (2.000000)) (swiz z (var_ref t)))))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07003079 " (return (var_ref retval))\n"
3080 " ))\n"
3081 "\n"
3082 "\n"
3083 " (signature vec4\n"
3084 " (parameters\n"
3085 " (declare (in) float edge0)\n"
3086 " (declare (in) float edge1)\n"
3087 " (declare (in) vec4 x))\n"
3088 " ((declare () vec4 t)\n"
3089 " (declare () vec4 retval)\n"
3090 "\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07003091 " (assign (constant bool (1)) (x) (var_ref t)\n"
Eric Anholt47003a82010-08-23 12:39:35 -07003092 " (expression float max\n"
3093 " (expression float min\n"
3094 " (expression float / (expression float - (swiz x (var_ref x)) (var_ref edge0)) (expression float - (var_ref edge1) (var_ref edge0)))\n"
3095 " (constant float (1.0)))\n"
3096 " (constant float (0.0))))\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07003097 " (assign (constant bool (1)) (x) (var_ref retval) (expression float * (swiz x (var_ref t)) (expression float * (swiz x (var_ref t)) (expression float - (constant float (3.000000)) (expression float * (constant float (2.000000)) (swiz x (var_ref t)))))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07003098 "\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07003099 " (assign (constant bool (1)) (y) (var_ref t)\n"
Eric Anholt47003a82010-08-23 12:39:35 -07003100 " (expression float max\n"
3101 " (expression float min\n"
3102 " (expression float / (expression float - (swiz y (var_ref x)) (var_ref edge0)) (expression float - (var_ref edge1) (var_ref edge0)))\n"
3103 " (constant float (1.0)))\n"
3104 " (constant float (0.0))))\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07003105 " (assign (constant bool (1)) (y) (var_ref retval) (expression float * (swiz y (var_ref t)) (expression float * (swiz y (var_ref t)) (expression float - (constant float (3.000000)) (expression float * (constant float (2.000000)) (swiz y (var_ref t)))))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07003106 "\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07003107 " (assign (constant bool (1)) (z) (var_ref t)\n"
Eric Anholt47003a82010-08-23 12:39:35 -07003108 " (expression float max\n"
3109 " (expression float min\n"
3110 " (expression float / (expression float - (swiz z (var_ref x)) (var_ref edge0)) (expression float - (var_ref edge1) (var_ref edge0)))\n"
3111 " (constant float (1.0)))\n"
3112 " (constant float (0.0))))\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07003113 " (assign (constant bool (1)) (z) (var_ref retval) (expression float * (swiz z (var_ref t)) (expression float * (swiz z (var_ref t)) (expression float - (constant float (3.000000)) (expression float * (constant float (2.000000)) (swiz z (var_ref t)))))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07003114 "\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07003115 " (assign (constant bool (1)) (w) (var_ref t)\n"
Eric Anholt47003a82010-08-23 12:39:35 -07003116 " (expression float max\n"
3117 " (expression float min\n"
3118 " (expression float / (expression float - (swiz w (var_ref x)) (var_ref edge0)) (expression float - (var_ref edge1) (var_ref edge0)))\n"
3119 " (constant float (1.0)))\n"
3120 " (constant float (0.0))))\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07003121 " (assign (constant bool (1)) (w) (var_ref retval) (expression float * (swiz w (var_ref t)) (expression float * (swiz w (var_ref t)) (expression float - (constant float (3.000000)) (expression float * (constant float (2.000000)) (swiz w (var_ref t)))))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07003122 " (return (var_ref retval))\n"
3123 " ))\n"
3124 "\n"
3125 " (signature vec2\n"
3126 " (parameters\n"
3127 " (declare (in) vec2 edge0)\n"
3128 " (declare (in) vec2 edge1)\n"
3129 " (declare (in) vec2 x))\n"
3130 " ((return (expression vec2 max\n"
3131 " (expression vec2 min\n"
3132 " (expression vec2 / (expression vec2 - (var_ref x) (var_ref edge0)) (expression vec2 - (var_ref edge1) (var_ref edge0)))\n"
3133 " (constant vec2 (1.0 1.0)))\n"
3134 " (constant vec2 (0.0 0.0))))))\n"
3135 "\n"
3136 " (signature vec3\n"
3137 " (parameters\n"
3138 " (declare (in) vec3 edge0)\n"
3139 " (declare (in) vec3 edge1)\n"
3140 " (declare (in) vec3 x))\n"
3141 " ((return (expression vec3 max\n"
3142 " (expression vec3 min\n"
3143 " (expression vec3 / (expression vec3 - (var_ref x) (var_ref edge0)) (expression vec3 - (var_ref edge1) (var_ref edge0)))\n"
3144 " (constant vec3 (1.0 1.0 1.0)))\n"
3145 " (constant vec3 (0.0 0.0 0.0))))))\n"
3146 "\n"
3147 " (signature vec4\n"
3148 " (parameters\n"
3149 " (declare (in) vec4 edge0)\n"
3150 " (declare (in) vec4 edge1)\n"
3151 " (declare (in) vec4 x))\n"
3152 " ((return (expression vec4 max\n"
3153 " (expression vec4 min\n"
3154 " (expression vec4 / (expression vec4 - (var_ref x) (var_ref edge0)) (expression vec4 - (var_ref edge1) (var_ref edge0)))\n"
3155 " (constant vec4 (1.0 1.0 1.0 1.0)))\n"
3156 " (constant vec4 (0.0 0.0 0.0 0.0))))))\n"
3157 "))\n"
3158 "\n"
3159 ""
3160;
Kenneth Graunke3f5fde52010-10-21 11:43:39 -07003161static const char builtin_sqrt[] =
Eric Anholt47003a82010-08-23 12:39:35 -07003162 "((function sqrt\n"
3163 " (signature float\n"
3164 " (parameters\n"
3165 " (declare (in) float arg0))\n"
3166 " ((return (expression float sqrt (var_ref arg0)))))\n"
3167 "\n"
3168 " (signature vec2\n"
3169 " (parameters\n"
3170 " (declare (in) vec2 arg0))\n"
3171 " ((return (expression vec2 sqrt (var_ref arg0)))))\n"
3172 "\n"
3173 " (signature vec3\n"
3174 " (parameters\n"
3175 " (declare (in) vec3 arg0))\n"
3176 " ((return (expression vec3 sqrt (var_ref arg0)))))\n"
3177 "\n"
3178 " (signature vec4\n"
3179 " (parameters\n"
3180 " (declare (in) vec4 arg0))\n"
3181 " ((return (expression vec4 sqrt (var_ref arg0)))))\n"
3182 "))\n"
3183 ""
3184;
Kenneth Graunke3f5fde52010-10-21 11:43:39 -07003185static const char builtin_step[] =
Eric Anholt47003a82010-08-23 12:39:35 -07003186 "((function step\n"
3187 " (signature float\n"
3188 " (parameters\n"
3189 " (declare (in) float edge)\n"
3190 " (declare (in) float x))\n"
3191 " ((return (expression float b2f (expression bool >= (var_ref x) (var_ref edge))))))\n"
3192 "\n"
3193 " (signature vec2\n"
3194 " (parameters\n"
3195 " (declare (in) float edge)\n"
3196 " (declare (in) vec2 x))\n"
3197 " ((declare () vec2 t)\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07003198 " (assign (constant bool (1)) (x) (var_ref t) (expression float b2f (expression bool >= (swiz x (var_ref x))(var_ref edge))))\n"
3199 " (assign (constant bool (1)) (y) (var_ref t) (expression float b2f (expression bool >= (swiz y (var_ref x))(var_ref edge))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07003200 " (return (var_ref t))))\n"
3201 "\n"
3202 " (signature vec3\n"
3203 " (parameters\n"
3204 " (declare (in) float edge)\n"
3205 " (declare (in) vec3 x))\n"
3206 " ((declare () vec3 t)\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07003207 " (assign (constant bool (1)) (x) (var_ref t) (expression float b2f (expression bool >= (swiz x (var_ref x))(var_ref edge))))\n"
3208 " (assign (constant bool (1)) (y) (var_ref t) (expression float b2f (expression bool >= (swiz y (var_ref x))(var_ref edge))))\n"
3209 " (assign (constant bool (1)) (z) (var_ref t) (expression float b2f (expression bool >= (swiz z (var_ref x))(var_ref edge))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07003210 " (return (var_ref t))))\n"
3211 "\n"
3212 " (signature vec4\n"
3213 " (parameters\n"
3214 " (declare (in) float edge)\n"
3215 " (declare (in) vec4 x))\n"
3216 " ((declare () vec4 t)\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07003217 " (assign (constant bool (1)) (x) (var_ref t) (expression float b2f (expression bool >= (swiz x (var_ref x))(var_ref edge))))\n"
3218 " (assign (constant bool (1)) (y) (var_ref t) (expression float b2f (expression bool >= (swiz y (var_ref x))(var_ref edge))))\n"
3219 " (assign (constant bool (1)) (z) (var_ref t) (expression float b2f (expression bool >= (swiz z (var_ref x))(var_ref edge))))\n"
3220 " (assign (constant bool (1)) (w) (var_ref t) (expression float b2f (expression bool >= (swiz w (var_ref x))(var_ref edge))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07003221 " (return (var_ref t))))\n"
3222 "\n"
3223 " (signature vec2\n"
3224 " (parameters\n"
3225 " (declare (in) vec2 edge)\n"
3226 " (declare (in) vec2 x))\n"
3227 " ((declare () vec2 t)\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07003228 " (assign (constant bool (1)) (x) (var_ref t) (expression float b2f (expression bool >= (swiz x (var_ref x))(swiz x (var_ref edge)))))\n"
3229 " (assign (constant bool (1)) (y) (var_ref t) (expression float b2f (expression bool >= (swiz y (var_ref x))(swiz y (var_ref edge)))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07003230 " (return (var_ref t))))\n"
3231 "\n"
3232 " (signature vec3\n"
3233 " (parameters\n"
3234 " (declare (in) vec3 edge)\n"
3235 " (declare (in) vec3 x))\n"
3236 " ((declare () vec3 t)\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07003237 " (assign (constant bool (1)) (x) (var_ref t) (expression float b2f (expression bool >= (swiz x (var_ref x))(swiz x (var_ref edge)))))\n"
3238 " (assign (constant bool (1)) (y) (var_ref t) (expression float b2f (expression bool >= (swiz y (var_ref x))(swiz y (var_ref edge)))))\n"
3239 " (assign (constant bool (1)) (z) (var_ref t) (expression float b2f (expression bool >= (swiz z (var_ref x))(swiz z (var_ref edge)))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07003240 " (return (var_ref t))))\n"
3241 "\n"
3242 " (signature vec4\n"
3243 " (parameters\n"
3244 " (declare (in) vec4 edge)\n"
3245 " (declare (in) vec4 x))\n"
3246 " ((declare () vec4 t)\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07003247 " (assign (constant bool (1)) (x) (var_ref t) (expression float b2f (expression bool >= (swiz x (var_ref x))(swiz x (var_ref edge)))))\n"
3248 " (assign (constant bool (1)) (y) (var_ref t) (expression float b2f (expression bool >= (swiz y (var_ref x))(swiz y (var_ref edge)))))\n"
Eric Anholtc3db43d2010-09-08 15:01:02 -07003249 " (assign (constant bool (1)) (z) (var_ref t) (expression float b2f (expression bool >= (swiz z (var_ref x))(swiz z (var_ref edge)))))\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07003250 " (assign (constant bool (1)) (w) (var_ref t) (expression float b2f (expression bool >= (swiz w (var_ref x))(swiz w (var_ref edge)))))\n"
Eric Anholt47003a82010-08-23 12:39:35 -07003251 " (return (var_ref t))))\n"
3252 "))\n"
3253 "\n"
3254 ""
3255;
Kenneth Graunke3f5fde52010-10-21 11:43:39 -07003256static const char builtin_tan[] =
Eric Anholt47003a82010-08-23 12:39:35 -07003257 "((function tan\n"
3258 " (signature float\n"
3259 " (parameters\n"
3260 " (declare (in) float angle))\n"
3261 " ((return (expression float / (expression float sin (var_ref angle)) (expression float cos (var_ref angle))))))\n"
3262 "\n"
3263 " (signature vec2\n"
3264 " (parameters\n"
3265 " (declare (in) vec2 angle))\n"
3266 " ((return (expression vec2 / (expression vec2 sin (var_ref angle)) (expression vec2 cos (var_ref angle))))))\n"
3267 "\n"
3268 " (signature vec3\n"
3269 " (parameters\n"
3270 " (declare (in) vec3 angle))\n"
3271 " ((return (expression vec3 / (expression vec3 sin (var_ref angle)) (expression vec3 cos (var_ref angle))))))\n"
3272 "\n"
3273 " (signature vec4\n"
3274 " (parameters\n"
3275 " (declare (in) vec4 angle))\n"
3276 " ((return (expression vec4 / (expression vec4 sin (var_ref angle)) (expression vec4 cos (var_ref angle))))))\n"
3277 "))\n"
3278 ""
3279;
Kenneth Graunke3f5fde52010-10-21 11:43:39 -07003280static const char builtin_tanh[] =
Eric Anholt47003a82010-08-23 12:39:35 -07003281 "((function tanh\n"
3282 " (signature float\n"
3283 " (parameters\n"
3284 " (declare (in) float x))\n"
3285 " ((return (expression float /\n"
3286 " (expression float -\n"
3287 " (expression float exp (var_ref x))\n"
3288 " (expression float exp (expression float neg (var_ref x))))\n"
3289 " (expression float +\n"
3290 " (expression float exp (var_ref x))\n"
3291 " (expression float exp (expression float neg (var_ref x))))))))\n"
3292 " (signature vec2\n"
3293 " (parameters\n"
3294 " (declare (in) vec2 x))\n"
3295 " ((return (expression vec2 /\n"
3296 " (expression vec2 -\n"
3297 " (expression vec2 exp (var_ref x))\n"
3298 " (expression vec2 exp (expression vec2 neg (var_ref x))))\n"
3299 " (expression vec2 +\n"
3300 " (expression vec2 exp (var_ref x))\n"
3301 " (expression vec2 exp (expression vec2 neg (var_ref x))))))))\n"
3302 " (signature vec3\n"
3303 " (parameters\n"
3304 " (declare (in) vec3 x))\n"
3305 " ((return (expression vec3 /\n"
3306 " (expression vec3 -\n"
3307 " (expression vec3 exp (var_ref x))\n"
3308 " (expression vec3 exp (expression vec3 neg (var_ref x))))\n"
3309 " (expression vec3 +\n"
3310 " (expression vec3 exp (var_ref x))\n"
3311 " (expression vec3 exp (expression vec3 neg (var_ref x))))))))\n"
3312 " (signature vec4\n"
3313 " (parameters\n"
3314 " (declare (in) vec4 x))\n"
3315 " ((return (expression vec4 /\n"
3316 " (expression vec4 -\n"
3317 " (expression vec4 exp (var_ref x))\n"
3318 " (expression vec4 exp (expression vec4 neg (var_ref x))))\n"
3319 " (expression vec4 +\n"
3320 " (expression vec4 exp (var_ref x))\n"
3321 " (expression vec4 exp (expression vec4 neg (var_ref x))))))))\n"
3322 "))\n"
3323 ""
3324;
Kenneth Graunke3f5fde52010-10-21 11:43:39 -07003325static const char builtin_texelFetch[] =
Eric Anholt47003a82010-08-23 12:39:35 -07003326 "((function texelFetch\n"
3327 " (signature vec4\n"
3328 " (parameters\n"
3329 " (declare (in) sampler1D sampler)\n"
3330 " (declare (in) int P) \n"
3331 " (declare (in) int lod) )\n"
3332 " ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
3333 "\n"
3334 " (signature ivec4\n"
3335 " (parameters\n"
3336 " (declare (in) isampler1D sampler)\n"
3337 " (declare (in) int P) \n"
3338 " (declare (in) int lod) )\n"
3339 " ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
3340 "\n"
3341 " (signature uvec4\n"
3342 " (parameters\n"
3343 " (declare (in) usampler1D sampler)\n"
3344 " (declare (in) int P) \n"
3345 " (declare (in) int lod) )\n"
3346 " ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
3347 "\n"
3348 " (signature vec4\n"
3349 " (parameters\n"
3350 " (declare (in) sampler2D sampler)\n"
3351 " (declare (in) ivec2 P) \n"
3352 " (declare (in) int lod) )\n"
3353 " ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
3354 "\n"
3355 " (signature ivec4\n"
3356 " (parameters\n"
3357 " (declare (in) isampler2D sampler)\n"
3358 " (declare (in) ivec2 P) \n"
3359 " (declare (in) int lod) )\n"
3360 " ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
3361 "\n"
3362 " (signature uvec4\n"
3363 " (parameters\n"
3364 " (declare (in) usampler2D sampler)\n"
3365 " (declare (in) ivec2 P) \n"
3366 " (declare (in) int lod) )\n"
3367 " ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
3368 "\n"
3369 " (signature vec4\n"
3370 " (parameters\n"
3371 " (declare (in) sampler3D sampler)\n"
3372 " (declare (in) ivec3 P) \n"
3373 " (declare (in) int lod) )\n"
3374 " ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
3375 "\n"
3376 " (signature ivec4\n"
3377 " (parameters\n"
3378 " (declare (in) isampler3D sampler)\n"
3379 " (declare (in) ivec3 P) \n"
3380 " (declare (in) int lod) )\n"
3381 " ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
3382 "\n"
3383 " (signature uvec4\n"
3384 " (parameters\n"
3385 " (declare (in) usampler3D sampler)\n"
3386 " (declare (in) ivec3 P) \n"
3387 " (declare (in) int lod) )\n"
3388 " ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
3389 "\n"
3390 " (signature vec4\n"
3391 " (parameters\n"
3392 " (declare (in) sampler1DArray sampler)\n"
3393 " (declare (in) ivec2 P) \n"
3394 " (declare (in) int lod) )\n"
3395 " ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
3396 "\n"
3397 " (signature ivec4\n"
3398 " (parameters\n"
3399 " (declare (in) isampler1DArray sampler)\n"
3400 " (declare (in) ivec2 P) \n"
3401 " (declare (in) int lod) )\n"
3402 " ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
3403 "\n"
3404 " (signature uvec4\n"
3405 " (parameters\n"
3406 " (declare (in) usampler1DArray sampler)\n"
3407 " (declare (in) ivec2 P) \n"
3408 " (declare (in) int lod) )\n"
3409 " ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
3410 "\n"
3411 " (signature vec4\n"
3412 " (parameters\n"
3413 " (declare (in) sampler2DArray sampler)\n"
3414 " (declare (in) ivec3 P) \n"
3415 " (declare (in) int lod) )\n"
3416 " ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
3417 "\n"
3418 " (signature ivec4\n"
3419 " (parameters\n"
3420 " (declare (in) isampler2DArray sampler)\n"
3421 " (declare (in) ivec3 P) \n"
3422 " (declare (in) int lod) )\n"
3423 " ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
3424 "\n"
3425 " (signature uvec4\n"
3426 " (parameters\n"
3427 " (declare (in) usampler2DArray sampler)\n"
3428 " (declare (in) ivec3 P) \n"
3429 " (declare (in) int lod) )\n"
3430 " ((return (txf (var_ref sampler) (var_ref P) (0 0 0) (var_ref lod) ))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07003431 "\n"
3432 "))\n"
3433 ""
3434;
Kenneth Graunke3f5fde52010-10-21 11:43:39 -07003435static const char builtin_texture[] =
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07003436 "((function texture\n"
3437 " (signature vec4\n"
3438 " (parameters\n"
3439 " (declare (in) sampler1D sampler)\n"
3440 " (declare (in) float P) )\n"
3441 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3442 "\n"
3443 " (signature ivec4\n"
3444 " (parameters\n"
3445 " (declare (in) isampler1D sampler)\n"
3446 " (declare (in) float P) )\n"
3447 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3448 "\n"
3449 " (signature uvec4\n"
3450 " (parameters\n"
3451 " (declare (in) usampler1D sampler)\n"
3452 " (declare (in) float P) )\n"
3453 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3454 "\n"
3455 " (signature vec4\n"
3456 " (parameters\n"
3457 " (declare (in) sampler2D sampler)\n"
3458 " (declare (in) vec2 P) )\n"
3459 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3460 "\n"
3461 " (signature ivec4\n"
3462 " (parameters\n"
3463 " (declare (in) isampler2D sampler)\n"
3464 " (declare (in) vec2 P) )\n"
3465 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3466 "\n"
3467 " (signature uvec4\n"
3468 " (parameters\n"
3469 " (declare (in) usampler2D sampler)\n"
3470 " (declare (in) vec2 P) )\n"
3471 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3472 "\n"
3473 " (signature vec4\n"
3474 " (parameters\n"
3475 " (declare (in) sampler3D sampler)\n"
3476 " (declare (in) vec3 P) )\n"
3477 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3478 "\n"
3479 " (signature ivec4\n"
3480 " (parameters\n"
3481 " (declare (in) isampler3D sampler)\n"
3482 " (declare (in) vec3 P) )\n"
3483 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3484 "\n"
3485 " (signature uvec4\n"
3486 " (parameters\n"
3487 " (declare (in) usampler3D sampler)\n"
3488 " (declare (in) vec3 P) )\n"
3489 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3490 "\n"
3491 " (signature vec4\n"
3492 " (parameters\n"
3493 " (declare (in) samplerCube sampler)\n"
3494 " (declare (in) vec3 P) )\n"
3495 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3496 "\n"
3497 " (signature ivec4\n"
3498 " (parameters\n"
3499 " (declare (in) isamplerCube sampler)\n"
3500 " (declare (in) vec3 P) )\n"
3501 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3502 "\n"
3503 " (signature uvec4\n"
3504 " (parameters\n"
3505 " (declare (in) usamplerCube sampler)\n"
3506 " (declare (in) vec3 P) )\n"
3507 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3508 "\n"
3509 " (signature vec4\n"
3510 " (parameters\n"
3511 " (declare (in) sampler1DArray sampler)\n"
3512 " (declare (in) vec2 P) )\n"
3513 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3514 "\n"
3515 " (signature ivec4\n"
3516 " (parameters\n"
3517 " (declare (in) isampler1DArray sampler)\n"
3518 " (declare (in) vec2 P) )\n"
3519 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3520 "\n"
3521 " (signature uvec4\n"
3522 " (parameters\n"
3523 " (declare (in) usampler1DArray sampler)\n"
3524 " (declare (in) vec2 P) )\n"
3525 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3526 "\n"
3527 " (signature vec4\n"
3528 " (parameters\n"
3529 " (declare (in) sampler2DArray sampler)\n"
3530 " (declare (in) vec3 P) )\n"
3531 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3532 "\n"
3533 " (signature ivec4\n"
3534 " (parameters\n"
3535 " (declare (in) isampler2DArray sampler)\n"
3536 " (declare (in) vec3 P) )\n"
3537 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3538 "\n"
3539 " (signature uvec4\n"
3540 " (parameters\n"
3541 " (declare (in) usampler2DArray sampler)\n"
3542 " (declare (in) vec3 P) )\n"
3543 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3544 "\n"
3545 " (signature vec4\n"
3546 " (parameters\n"
3547 " (declare (in) sampler1D sampler)\n"
3548 " (declare (in) float P) \n"
3549 " (declare (in) float bias) )\n"
3550 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3551 "\n"
3552 " (signature ivec4\n"
3553 " (parameters\n"
3554 " (declare (in) isampler1D sampler)\n"
3555 " (declare (in) float P) \n"
3556 " (declare (in) float bias) )\n"
3557 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3558 "\n"
3559 " (signature uvec4\n"
3560 " (parameters\n"
3561 " (declare (in) usampler1D sampler)\n"
3562 " (declare (in) float P) \n"
3563 " (declare (in) float bias) )\n"
3564 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3565 "\n"
3566 " (signature vec4\n"
3567 " (parameters\n"
3568 " (declare (in) sampler2D sampler)\n"
3569 " (declare (in) vec2 P) \n"
3570 " (declare (in) float bias) )\n"
3571 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3572 "\n"
3573 " (signature ivec4\n"
3574 " (parameters\n"
3575 " (declare (in) isampler2D sampler)\n"
3576 " (declare (in) vec2 P) \n"
3577 " (declare (in) float bias) )\n"
3578 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3579 "\n"
3580 " (signature uvec4\n"
3581 " (parameters\n"
3582 " (declare (in) usampler2D sampler)\n"
3583 " (declare (in) vec2 P) \n"
3584 " (declare (in) float bias) )\n"
3585 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3586 "\n"
3587 " (signature vec4\n"
3588 " (parameters\n"
3589 " (declare (in) sampler3D sampler)\n"
3590 " (declare (in) vec3 P) \n"
3591 " (declare (in) float bias) )\n"
3592 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3593 "\n"
3594 " (signature ivec4\n"
3595 " (parameters\n"
3596 " (declare (in) isampler3D sampler)\n"
3597 " (declare (in) vec3 P) \n"
3598 " (declare (in) float bias) )\n"
3599 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3600 "\n"
3601 " (signature uvec4\n"
3602 " (parameters\n"
3603 " (declare (in) usampler3D sampler)\n"
3604 " (declare (in) vec3 P) \n"
3605 " (declare (in) float bias) )\n"
3606 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3607 "\n"
3608 " (signature vec4\n"
3609 " (parameters\n"
3610 " (declare (in) samplerCube sampler)\n"
3611 " (declare (in) vec3 P) \n"
3612 " (declare (in) float bias) )\n"
3613 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3614 "\n"
3615 " (signature ivec4\n"
3616 " (parameters\n"
3617 " (declare (in) isamplerCube sampler)\n"
3618 " (declare (in) vec3 P) \n"
3619 " (declare (in) float bias) )\n"
3620 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3621 "\n"
3622 " (signature uvec4\n"
3623 " (parameters\n"
3624 " (declare (in) usamplerCube sampler)\n"
3625 " (declare (in) vec3 P) \n"
3626 " (declare (in) float bias) )\n"
3627 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3628 "\n"
3629 " (signature vec4\n"
3630 " (parameters\n"
3631 " (declare (in) sampler1DArray sampler)\n"
3632 " (declare (in) vec2 P) \n"
3633 " (declare (in) float bias) )\n"
3634 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3635 "\n"
3636 " (signature ivec4\n"
3637 " (parameters\n"
3638 " (declare (in) isampler1DArray sampler)\n"
3639 " (declare (in) vec2 P) \n"
3640 " (declare (in) float bias) )\n"
3641 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3642 "\n"
3643 " (signature uvec4\n"
3644 " (parameters\n"
3645 " (declare (in) usampler1DArray sampler)\n"
3646 " (declare (in) vec2 P) \n"
3647 " (declare (in) float bias) )\n"
3648 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3649 "\n"
3650 " (signature vec4\n"
3651 " (parameters\n"
3652 " (declare (in) sampler2DArray sampler)\n"
3653 " (declare (in) vec3 P) \n"
3654 " (declare (in) float bias) )\n"
3655 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3656 "\n"
3657 " (signature ivec4\n"
3658 " (parameters\n"
3659 " (declare (in) isampler2DArray sampler)\n"
3660 " (declare (in) vec3 P) \n"
3661 " (declare (in) float bias) )\n"
3662 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3663 "\n"
3664 " (signature uvec4\n"
3665 " (parameters\n"
3666 " (declare (in) usampler2DArray sampler)\n"
3667 " (declare (in) vec3 P) \n"
3668 " (declare (in) float bias) )\n"
3669 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3670 "\n"
3671 "))\n"
3672 ""
3673;
Kenneth Graunke3f5fde52010-10-21 11:43:39 -07003674static const char builtin_texture1D[] =
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07003675 "((function texture1D\n"
3676 " (signature vec4\n"
3677 " (parameters\n"
3678 " (declare (in) sampler1D sampler)\n"
3679 " (declare (in) float P) )\n"
3680 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3681 "\n"
3682 " (signature vec4\n"
3683 " (parameters\n"
3684 " (declare (in) sampler1D sampler)\n"
3685 " (declare (in) float P) \n"
3686 " (declare (in) float bias) )\n"
3687 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3688 "\n"
3689 "))\n"
3690 ""
3691;
Kenneth Graunke3f5fde52010-10-21 11:43:39 -07003692static const char builtin_texture1DArray[] =
Eric Anholt47003a82010-08-23 12:39:35 -07003693 "((function texture1DArray\n"
3694 " (signature vec4\n"
Kenneth Graunkeb3262122010-04-28 23:01:33 -07003695 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07003696 " (declare (in) sampler1DArray sampler)\n"
3697 " (declare (in) vec2 P) )\n"
3698 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
Kenneth Graunkeb3262122010-04-28 23:01:33 -07003699 "\n"
Eric Anholt47003a82010-08-23 12:39:35 -07003700 " (signature vec4\n"
Kenneth Graunkeb3262122010-04-28 23:01:33 -07003701 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07003702 " (declare (in) sampler1DArray sampler)\n"
3703 " (declare (in) vec2 P) \n"
3704 " (declare (in) float bias) )\n"
3705 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
Kenneth Graunkeb3262122010-04-28 23:01:33 -07003706 "\n"
Eric Anholt47003a82010-08-23 12:39:35 -07003707 "))\n"
3708 ""
3709;
Kenneth Graunke3f5fde52010-10-21 11:43:39 -07003710static const char builtin_texture1DArrayLod[] =
Eric Anholt47003a82010-08-23 12:39:35 -07003711 "((function texture1DArrayLod\n"
3712 " (signature vec4\n"
Kenneth Graunkeb3262122010-04-28 23:01:33 -07003713 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07003714 " (declare (in) sampler1DArray sampler)\n"
3715 " (declare (in) vec2 P) \n"
3716 " (declare (in) float lod) )\n"
3717 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
3718 "\n"
3719 "))\n"
3720 ""
3721;
Kenneth Graunke3f5fde52010-10-21 11:43:39 -07003722static const char builtin_texture1DLod[] =
Eric Anholt47003a82010-08-23 12:39:35 -07003723 "((function texture1DLod\n"
3724 " (signature vec4\n"
3725 " (parameters\n"
3726 " (declare (in) sampler1D sampler)\n"
3727 " (declare (in) float P) \n"
3728 " (declare (in) float lod) )\n"
3729 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
3730 "\n"
3731 "))\n"
3732 ""
3733;
Kenneth Graunke3f5fde52010-10-21 11:43:39 -07003734static const char builtin_texture1DProj[] =
Eric Anholt47003a82010-08-23 12:39:35 -07003735 "((function texture1DProj\n"
3736 " (signature vec4\n"
3737 " (parameters\n"
3738 " (declare (in) sampler1D sampler)\n"
3739 " (declare (in) vec2 P) )\n"
3740 " ((return (tex (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () ))))\n"
3741 "\n"
3742 " (signature vec4\n"
3743 " (parameters\n"
3744 " (declare (in) sampler1D sampler)\n"
3745 " (declare (in) vec4 P) )\n"
3746 " ((return (tex (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
3747 "\n"
3748 " (signature vec4\n"
3749 " (parameters\n"
3750 " (declare (in) sampler1D sampler)\n"
3751 " (declare (in) vec2 P) \n"
3752 " (declare (in) float bias) )\n"
3753 " ((return (txb (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () (var_ref bias) ))))\n"
3754 "\n"
3755 " (signature vec4\n"
3756 " (parameters\n"
3757 " (declare (in) sampler1D sampler)\n"
3758 " (declare (in) vec4 P) \n"
3759 " (declare (in) float bias) )\n"
3760 " ((return (txb (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
3761 "\n"
3762 "))\n"
3763 ""
3764;
Kenneth Graunke3f5fde52010-10-21 11:43:39 -07003765static const char builtin_texture1DProjLod[] =
Eric Anholt47003a82010-08-23 12:39:35 -07003766 "((function texture1DProjLod\n"
3767 " (signature vec4\n"
3768 " (parameters\n"
3769 " (declare (in) sampler1D sampler)\n"
3770 " (declare (in) vec2 P) \n"
3771 " (declare (in) float lod) )\n"
3772 " ((return (txl (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () (var_ref lod) ))))\n"
3773 "\n"
3774 " (signature vec4\n"
3775 " (parameters\n"
3776 " (declare (in) sampler1D sampler)\n"
3777 " (declare (in) vec4 P) \n"
3778 " (declare (in) float lod) )\n"
3779 " ((return (txl (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
3780 "\n"
3781 "))\n"
3782 ""
3783;
Kenneth Graunke3f5fde52010-10-21 11:43:39 -07003784static const char builtin_texture2D[] =
Eric Anholt47003a82010-08-23 12:39:35 -07003785 "((function texture2D\n"
3786 " (signature vec4\n"
3787 " (parameters\n"
3788 " (declare (in) sampler2D sampler)\n"
3789 " (declare (in) vec2 P) )\n"
3790 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3791 "\n"
3792 " (signature vec4\n"
3793 " (parameters\n"
3794 " (declare (in) sampler2D sampler)\n"
3795 " (declare (in) vec2 P) \n"
3796 " (declare (in) float bias) )\n"
3797 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3798 "\n"
3799 "))\n"
3800 ""
3801;
Kenneth Graunke3f5fde52010-10-21 11:43:39 -07003802static const char builtin_texture2DArray[] =
Eric Anholt47003a82010-08-23 12:39:35 -07003803 "((function texture2DArray\n"
3804 " (signature vec4\n"
3805 " (parameters\n"
3806 " (declare (in) sampler2DArray sampler)\n"
3807 " (declare (in) vec3 P) )\n"
3808 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3809 "\n"
3810 " (signature vec4\n"
3811 " (parameters\n"
3812 " (declare (in) sampler2DArray sampler)\n"
3813 " (declare (in) vec3 P) \n"
3814 " (declare (in) float bias) )\n"
3815 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3816 "\n"
3817 "))\n"
3818 ""
3819;
Kenneth Graunke3f5fde52010-10-21 11:43:39 -07003820static const char builtin_texture2DArrayLod[] =
Eric Anholt47003a82010-08-23 12:39:35 -07003821 "((function texture2DArrayLod\n"
3822 " (signature vec4\n"
3823 " (parameters\n"
3824 " (declare (in) sampler2DArray sampler)\n"
3825 " (declare (in) vec3 P) \n"
3826 " (declare (in) float lod) )\n"
3827 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
3828 "\n"
3829 "))\n"
3830 ""
3831;
Kenneth Graunke3f5fde52010-10-21 11:43:39 -07003832static const char builtin_texture2DLod[] =
Eric Anholt47003a82010-08-23 12:39:35 -07003833 "((function texture2DLod\n"
3834 " (signature vec4\n"
3835 " (parameters\n"
3836 " (declare (in) sampler2D sampler)\n"
3837 " (declare (in) vec2 P) \n"
3838 " (declare (in) float lod) )\n"
3839 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
3840 "\n"
3841 "))\n"
3842 ""
3843;
Kenneth Graunke3f5fde52010-10-21 11:43:39 -07003844static const char builtin_texture2DProj[] =
Eric Anholt47003a82010-08-23 12:39:35 -07003845 "((function texture2DProj\n"
3846 " (signature vec4\n"
3847 " (parameters\n"
3848 " (declare (in) sampler2D sampler)\n"
3849 " (declare (in) vec3 P) )\n"
3850 " ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () ))))\n"
3851 "\n"
3852 " (signature vec4\n"
3853 " (parameters\n"
3854 " (declare (in) sampler2D sampler)\n"
3855 " (declare (in) vec4 P) )\n"
3856 " ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
3857 "\n"
3858 " (signature vec4\n"
3859 " (parameters\n"
3860 " (declare (in) sampler2D sampler)\n"
3861 " (declare (in) vec3 P) \n"
3862 " (declare (in) float bias) )\n"
3863 " ((return (txb (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () (var_ref bias) ))))\n"
3864 "\n"
3865 " (signature vec4\n"
3866 " (parameters\n"
3867 " (declare (in) sampler2D sampler)\n"
3868 " (declare (in) vec4 P) \n"
3869 " (declare (in) float bias) )\n"
3870 " ((return (txb (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
3871 "\n"
3872 "))\n"
3873 ""
3874;
Kenneth Graunke3f5fde52010-10-21 11:43:39 -07003875static const char builtin_texture2DProjLod[] =
Eric Anholt47003a82010-08-23 12:39:35 -07003876 "((function texture2DProjLod\n"
3877 " (signature vec4\n"
3878 " (parameters\n"
3879 " (declare (in) sampler2D sampler)\n"
3880 " (declare (in) vec3 P) \n"
3881 " (declare (in) float lod) )\n"
3882 " ((return (txl (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () (var_ref lod) ))))\n"
3883 "\n"
3884 " (signature vec4\n"
3885 " (parameters\n"
3886 " (declare (in) sampler2D sampler)\n"
3887 " (declare (in) vec4 P) \n"
3888 " (declare (in) float lod) )\n"
3889 " ((return (txl (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
3890 "\n"
3891 "))\n"
3892 ""
3893;
Kenneth Graunke3f5fde52010-10-21 11:43:39 -07003894static const char builtin_texture2DRect[] =
Eric Anholt47003a82010-08-23 12:39:35 -07003895 "((function texture2DRect\n"
3896 " (signature vec4\n"
3897 " (parameters\n"
3898 " (declare (in) sampler2DRect sampler)\n"
3899 " (declare (in) vec2 P) )\n"
3900 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
3901 "\n"
Kenneth Graunkeb3262122010-04-28 23:01:33 -07003902 "))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07003903 ""
3904;
Kenneth Graunke3f5fde52010-10-21 11:43:39 -07003905static const char builtin_texture2DRectProj[] =
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07003906 "((function texture2DRectProj\n"
3907 " (signature vec4\n"
3908 " (parameters\n"
3909 " (declare (in) sampler2DRect sampler)\n"
3910 " (declare (in) vec3 P) )\n"
3911 " ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () ))))\n"
3912 "\n"
3913 " (signature vec4\n"
3914 " (parameters\n"
3915 " (declare (in) sampler2DRect sampler)\n"
3916 " (declare (in) vec4 P) )\n"
3917 " ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
3918 "\n"
3919 "))\n"
3920 ""
3921;
Kenneth Graunke3f5fde52010-10-21 11:43:39 -07003922static const char builtin_texture3D[] =
Eric Anholt47003a82010-08-23 12:39:35 -07003923 "((function texture3D\n"
3924 " (signature vec4\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07003925 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07003926 " (declare (in) sampler3D sampler)\n"
3927 " (declare (in) vec3 P) )\n"
3928 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07003929 "\n"
3930 " (signature vec4\n"
3931 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07003932 " (declare (in) sampler3D sampler)\n"
3933 " (declare (in) vec3 P) \n"
3934 " (declare (in) float bias) )\n"
3935 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07003936 "\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07003937 "))\n"
3938 ""
3939;
Kenneth Graunke3f5fde52010-10-21 11:43:39 -07003940static const char builtin_texture3DLod[] =
Eric Anholt47003a82010-08-23 12:39:35 -07003941 "((function texture3DLod\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07003942 " (signature vec4\n"
3943 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07003944 " (declare (in) sampler3D sampler)\n"
3945 " (declare (in) vec3 P) \n"
3946 " (declare (in) float lod) )\n"
3947 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
3948 "\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07003949 "))\n"
3950 ""
3951;
Kenneth Graunke3f5fde52010-10-21 11:43:39 -07003952static const char builtin_texture3DProj[] =
Eric Anholt47003a82010-08-23 12:39:35 -07003953 "((function texture3DProj\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07003954 " (signature vec4\n"
3955 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07003956 " (declare (in) sampler3D sampler)\n"
3957 " (declare (in) vec4 P) )\n"
3958 " ((return (tex (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07003959 "\n"
3960 " (signature vec4\n"
3961 " (parameters\n"
3962 " (declare (in) sampler3D sampler)\n"
3963 " (declare (in) vec4 P) \n"
Eric Anholt47003a82010-08-23 12:39:35 -07003964 " (declare (in) float bias) )\n"
3965 " ((return (txb (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07003966 "\n"
3967 "))\n"
3968 ""
3969;
Kenneth Graunke3f5fde52010-10-21 11:43:39 -07003970static const char builtin_texture3DProjLod[] =
Eric Anholt47003a82010-08-23 12:39:35 -07003971 "((function texture3DProjLod\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07003972 " (signature vec4\n"
3973 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07003974 " (declare (in) sampler3D sampler)\n"
3975 " (declare (in) vec4 P) \n"
3976 " (declare (in) float lod) )\n"
3977 " ((return (txl (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
3978 "\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07003979 "))\n"
3980 ""
3981;
Kenneth Graunke3f5fde52010-10-21 11:43:39 -07003982static const char builtin_textureCube[] =
Eric Anholt47003a82010-08-23 12:39:35 -07003983 "((function textureCube\n"
3984 " (signature vec4\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07003985 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07003986 " (declare (in) samplerCube sampler)\n"
3987 " (declare (in) vec3 P) )\n"
3988 " ((return (tex (var_ref sampler) (var_ref P) (0 0 0) 1 () ))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07003989 "\n"
3990 " (signature vec4\n"
3991 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07003992 " (declare (in) samplerCube sampler)\n"
3993 " (declare (in) vec3 P) \n"
3994 " (declare (in) float bias) )\n"
3995 " ((return (txb (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref bias) ))))\n"
3996 "\n"
3997 "))\n"
3998 ""
3999;
Kenneth Graunke3f5fde52010-10-21 11:43:39 -07004000static const char builtin_textureCubeLod[] =
Eric Anholt47003a82010-08-23 12:39:35 -07004001 "((function textureCubeLod\n"
4002 " (signature vec4\n"
4003 " (parameters\n"
4004 " (declare (in) samplerCube sampler)\n"
4005 " (declare (in) vec3 P) \n"
4006 " (declare (in) float lod) )\n"
4007 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4008 "\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004009 "))\n"
4010 ""
4011;
Kenneth Graunke3f5fde52010-10-21 11:43:39 -07004012static const char builtin_textureGrad[] =
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004013 "((function textureGrad\n"
4014 " (signature vec4\n"
4015 " (parameters\n"
4016 " (declare (in) sampler1D sampler)\n"
4017 " (declare (in) float P) \n"
4018 " (declare (in) float dPdx) \n"
4019 " (declare (in) float dPdy) )\n"
4020 " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4021 "\n"
4022 " (signature ivec4\n"
4023 " (parameters\n"
4024 " (declare (in) isampler1D sampler)\n"
4025 " (declare (in) float P) \n"
4026 " (declare (in) float dPdx) \n"
4027 " (declare (in) float dPdy) )\n"
4028 " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4029 "\n"
4030 " (signature uvec4\n"
4031 " (parameters\n"
4032 " (declare (in) usampler1D sampler)\n"
4033 " (declare (in) float P) \n"
4034 " (declare (in) float dPdx) \n"
4035 " (declare (in) float dPdy) )\n"
4036 " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4037 "\n"
4038 " (signature vec4\n"
4039 " (parameters\n"
4040 " (declare (in) sampler2D sampler)\n"
4041 " (declare (in) vec2 P) \n"
4042 " (declare (in) vec2 dPdx) \n"
4043 " (declare (in) vec2 dPdy) )\n"
4044 " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4045 "\n"
4046 " (signature ivec4\n"
4047 " (parameters\n"
4048 " (declare (in) isampler2D sampler)\n"
4049 " (declare (in) vec2 P) \n"
4050 " (declare (in) vec2 dPdx) \n"
4051 " (declare (in) vec2 dPdy) )\n"
4052 " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4053 "\n"
4054 " (signature uvec4\n"
4055 " (parameters\n"
4056 " (declare (in) usampler2D sampler)\n"
4057 " (declare (in) vec2 P) \n"
4058 " (declare (in) vec2 dPdx) \n"
4059 " (declare (in) vec2 dPdy) )\n"
4060 " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4061 "\n"
4062 " (signature vec4\n"
4063 " (parameters\n"
4064 " (declare (in) sampler3D sampler)\n"
4065 " (declare (in) vec3 P) \n"
4066 " (declare (in) vec3 dPdx) \n"
4067 " (declare (in) vec3 dPdy) )\n"
4068 " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4069 "\n"
4070 " (signature ivec4\n"
4071 " (parameters\n"
4072 " (declare (in) isampler3D sampler)\n"
4073 " (declare (in) vec3 P) \n"
4074 " (declare (in) vec3 dPdx) \n"
4075 " (declare (in) vec3 dPdy) )\n"
4076 " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4077 "\n"
4078 " (signature uvec4\n"
4079 " (parameters\n"
4080 " (declare (in) usampler3D sampler)\n"
4081 " (declare (in) vec3 P) \n"
4082 " (declare (in) vec3 dPdx) \n"
4083 " (declare (in) vec3 dPdy) )\n"
4084 " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4085 "\n"
4086 " (signature vec4\n"
4087 " (parameters\n"
4088 " (declare (in) samplerCube sampler)\n"
4089 " (declare (in) vec3 P) \n"
4090 " (declare (in) vec3 dPdx) \n"
4091 " (declare (in) vec3 dPdy) )\n"
4092 " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4093 "\n"
4094 " (signature ivec4\n"
4095 " (parameters\n"
4096 " (declare (in) isamplerCube sampler)\n"
4097 " (declare (in) vec3 P) \n"
4098 " (declare (in) vec3 dPdx) \n"
4099 " (declare (in) vec3 dPdy) )\n"
4100 " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4101 "\n"
4102 " (signature uvec4\n"
4103 " (parameters\n"
4104 " (declare (in) usamplerCube sampler)\n"
4105 " (declare (in) vec3 P) \n"
4106 " (declare (in) vec3 dPdx) \n"
4107 " (declare (in) vec3 dPdy) )\n"
4108 " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4109 "\n"
4110 " (signature vec4\n"
4111 " (parameters\n"
4112 " (declare (in) sampler1DArray sampler)\n"
4113 " (declare (in) vec2 P) \n"
4114 " (declare (in) vec2 dPdx) \n"
4115 " (declare (in) vec2 dPdy) )\n"
4116 " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4117 "\n"
4118 " (signature ivec4\n"
4119 " (parameters\n"
4120 " (declare (in) isampler1DArray sampler)\n"
4121 " (declare (in) vec2 P) \n"
4122 " (declare (in) vec2 dPdx) \n"
4123 " (declare (in) vec2 dPdy) )\n"
4124 " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4125 "\n"
4126 " (signature uvec4\n"
4127 " (parameters\n"
4128 " (declare (in) usampler1DArray sampler)\n"
4129 " (declare (in) vec2 P) \n"
4130 " (declare (in) vec2 dPdx) \n"
4131 " (declare (in) vec2 dPdy) )\n"
4132 " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4133 "\n"
4134 " (signature vec4\n"
4135 " (parameters\n"
4136 " (declare (in) sampler2DArray sampler)\n"
4137 " (declare (in) vec3 P) \n"
4138 " (declare (in) vec3 dPdx) \n"
4139 " (declare (in) vec3 dPdy) )\n"
4140 " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4141 "\n"
4142 " (signature ivec4\n"
4143 " (parameters\n"
4144 " (declare (in) isampler2DArray sampler)\n"
4145 " (declare (in) vec3 P) \n"
4146 " (declare (in) vec3 dPdx) \n"
4147 " (declare (in) vec3 dPdy) )\n"
4148 " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4149 "\n"
4150 " (signature uvec4\n"
4151 " (parameters\n"
4152 " (declare (in) usampler2DArray sampler)\n"
4153 " (declare (in) vec3 P) \n"
4154 " (declare (in) vec3 dPdx) \n"
4155 " (declare (in) vec3 dPdy) )\n"
4156 " ((return (txd (var_ref sampler) (var_ref P) (0 0 0) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4157 "\n"
4158 "))\n"
4159 ""
4160;
Kenneth Graunke3f5fde52010-10-21 11:43:39 -07004161static const char builtin_textureLod[] =
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004162 "((function textureLod\n"
4163 " (signature vec4\n"
4164 " (parameters\n"
4165 " (declare (in) sampler1D sampler)\n"
4166 " (declare (in) float P) \n"
4167 " (declare (in) float lod) )\n"
4168 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4169 "\n"
4170 " (signature ivec4\n"
4171 " (parameters\n"
4172 " (declare (in) isampler1D sampler)\n"
4173 " (declare (in) float P) \n"
4174 " (declare (in) float lod) )\n"
4175 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4176 "\n"
4177 " (signature uvec4\n"
4178 " (parameters\n"
4179 " (declare (in) usampler1D sampler)\n"
4180 " (declare (in) float P) \n"
4181 " (declare (in) float lod) )\n"
4182 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4183 "\n"
4184 " (signature vec4\n"
4185 " (parameters\n"
4186 " (declare (in) sampler2D sampler)\n"
4187 " (declare (in) vec2 P) \n"
4188 " (declare (in) float lod) )\n"
4189 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4190 "\n"
4191 " (signature ivec4\n"
4192 " (parameters\n"
4193 " (declare (in) isampler2D sampler)\n"
4194 " (declare (in) vec2 P) \n"
4195 " (declare (in) float lod) )\n"
4196 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4197 "\n"
4198 " (signature uvec4\n"
4199 " (parameters\n"
4200 " (declare (in) usampler2D sampler)\n"
4201 " (declare (in) vec2 P) \n"
4202 " (declare (in) float lod) )\n"
4203 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4204 "\n"
4205 " (signature vec4\n"
4206 " (parameters\n"
4207 " (declare (in) sampler3D sampler)\n"
4208 " (declare (in) vec3 P) \n"
4209 " (declare (in) float lod) )\n"
4210 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4211 "\n"
4212 " (signature ivec4\n"
4213 " (parameters\n"
4214 " (declare (in) isampler3D sampler)\n"
4215 " (declare (in) vec3 P) \n"
4216 " (declare (in) float lod) )\n"
4217 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4218 "\n"
4219 " (signature uvec4\n"
4220 " (parameters\n"
4221 " (declare (in) usampler3D sampler)\n"
4222 " (declare (in) vec3 P) \n"
4223 " (declare (in) float lod) )\n"
4224 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4225 "\n"
4226 " (signature vec4\n"
4227 " (parameters\n"
4228 " (declare (in) samplerCube sampler)\n"
4229 " (declare (in) vec3 P) \n"
4230 " (declare (in) float lod) )\n"
4231 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4232 "\n"
4233 " (signature ivec4\n"
4234 " (parameters\n"
4235 " (declare (in) isamplerCube sampler)\n"
4236 " (declare (in) vec3 P) \n"
4237 " (declare (in) float lod) )\n"
4238 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4239 "\n"
4240 " (signature uvec4\n"
4241 " (parameters\n"
4242 " (declare (in) usamplerCube sampler)\n"
4243 " (declare (in) vec3 P) \n"
4244 " (declare (in) float lod) )\n"
4245 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4246 "\n"
4247 " (signature vec4\n"
4248 " (parameters\n"
4249 " (declare (in) sampler1DArray sampler)\n"
4250 " (declare (in) vec2 P) \n"
4251 " (declare (in) float lod) )\n"
4252 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4253 "\n"
4254 " (signature ivec4\n"
4255 " (parameters\n"
4256 " (declare (in) isampler1DArray sampler)\n"
4257 " (declare (in) vec2 P) \n"
4258 " (declare (in) float lod) )\n"
4259 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4260 "\n"
4261 " (signature uvec4\n"
4262 " (parameters\n"
4263 " (declare (in) usampler1DArray sampler)\n"
4264 " (declare (in) vec2 P) \n"
4265 " (declare (in) float lod) )\n"
4266 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4267 "\n"
4268 " (signature vec4\n"
4269 " (parameters\n"
4270 " (declare (in) sampler2DArray sampler)\n"
4271 " (declare (in) vec3 P) \n"
4272 " (declare (in) float lod) )\n"
4273 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4274 "\n"
4275 " (signature ivec4\n"
4276 " (parameters\n"
4277 " (declare (in) isampler2DArray sampler)\n"
4278 " (declare (in) vec3 P) \n"
4279 " (declare (in) float lod) )\n"
4280 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4281 "\n"
4282 " (signature uvec4\n"
4283 " (parameters\n"
4284 " (declare (in) usampler2DArray sampler)\n"
4285 " (declare (in) vec3 P) \n"
4286 " (declare (in) float lod) )\n"
4287 " ((return (txl (var_ref sampler) (var_ref P) (0 0 0) 1 () (var_ref lod) ))))\n"
4288 "\n"
4289 "))\n"
4290 ""
4291;
Kenneth Graunke3f5fde52010-10-21 11:43:39 -07004292static const char builtin_textureProj[] =
Eric Anholt47003a82010-08-23 12:39:35 -07004293 "((function textureProj\n"
4294 " (signature vec4\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004295 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07004296 " (declare (in) sampler1D sampler)\n"
4297 " (declare (in) vec2 P) )\n"
4298 " ((return (tex (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () ))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004299 "\n"
Eric Anholt47003a82010-08-23 12:39:35 -07004300 " (signature ivec4\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004301 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07004302 " (declare (in) isampler1D sampler)\n"
4303 " (declare (in) vec2 P) )\n"
4304 " ((return (tex (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () ))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004305 "\n"
Eric Anholt47003a82010-08-23 12:39:35 -07004306 " (signature uvec4\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004307 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07004308 " (declare (in) usampler1D sampler)\n"
4309 " (declare (in) vec2 P) )\n"
4310 " ((return (tex (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () ))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004311 "\n"
4312 " (signature vec4\n"
4313 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07004314 " (declare (in) sampler1D sampler)\n"
4315 " (declare (in) vec4 P) )\n"
4316 " ((return (tex (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004317 "\n"
Eric Anholt47003a82010-08-23 12:39:35 -07004318 " (signature ivec4\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004319 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07004320 " (declare (in) isampler1D sampler)\n"
4321 " (declare (in) vec4 P) )\n"
4322 " ((return (tex (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004323 "\n"
Eric Anholt47003a82010-08-23 12:39:35 -07004324 " (signature uvec4\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004325 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07004326 " (declare (in) usampler1D sampler)\n"
4327 " (declare (in) vec4 P) )\n"
4328 " ((return (tex (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004329 "\n"
4330 " (signature vec4\n"
4331 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07004332 " (declare (in) sampler2D sampler)\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004333 " (declare (in) vec3 P) )\n"
Eric Anholt47003a82010-08-23 12:39:35 -07004334 " ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () ))))\n"
4335 "\n"
4336 " (signature ivec4\n"
4337 " (parameters\n"
4338 " (declare (in) isampler2D sampler)\n"
4339 " (declare (in) vec3 P) )\n"
4340 " ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () ))))\n"
4341 "\n"
4342 " (signature uvec4\n"
4343 " (parameters\n"
4344 " (declare (in) usampler2D sampler)\n"
4345 " (declare (in) vec3 P) )\n"
4346 " ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () ))))\n"
4347 "\n"
4348 " (signature vec4\n"
4349 " (parameters\n"
4350 " (declare (in) sampler2D sampler)\n"
4351 " (declare (in) vec4 P) )\n"
4352 " ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
4353 "\n"
4354 " (signature ivec4\n"
4355 " (parameters\n"
4356 " (declare (in) isampler2D sampler)\n"
4357 " (declare (in) vec4 P) )\n"
4358 " ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
4359 "\n"
4360 " (signature uvec4\n"
4361 " (parameters\n"
4362 " (declare (in) usampler2D sampler)\n"
4363 " (declare (in) vec4 P) )\n"
4364 " ((return (tex (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
4365 "\n"
4366 " (signature vec4\n"
4367 " (parameters\n"
4368 " (declare (in) sampler3D sampler)\n"
4369 " (declare (in) vec4 P) )\n"
4370 " ((return (tex (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
4371 "\n"
4372 " (signature ivec4\n"
4373 " (parameters\n"
4374 " (declare (in) isampler3D sampler)\n"
4375 " (declare (in) vec4 P) )\n"
4376 " ((return (tex (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
4377 "\n"
4378 " (signature uvec4\n"
4379 " (parameters\n"
4380 " (declare (in) usampler3D sampler)\n"
4381 " (declare (in) vec4 P) )\n"
4382 " ((return (tex (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ))))\n"
4383 "\n"
4384 " (signature vec4\n"
4385 " (parameters\n"
4386 " (declare (in) sampler1D sampler)\n"
4387 " (declare (in) vec2 P) \n"
4388 " (declare (in) float bias) )\n"
4389 " ((return (txb (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () (var_ref bias) ))))\n"
4390 "\n"
4391 " (signature ivec4\n"
4392 " (parameters\n"
4393 " (declare (in) isampler1D sampler)\n"
4394 " (declare (in) vec2 P) \n"
4395 " (declare (in) float bias) )\n"
4396 " ((return (txb (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () (var_ref bias) ))))\n"
4397 "\n"
4398 " (signature uvec4\n"
4399 " (parameters\n"
4400 " (declare (in) usampler1D sampler)\n"
4401 " (declare (in) vec2 P) \n"
4402 " (declare (in) float bias) )\n"
4403 " ((return (txb (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () (var_ref bias) ))))\n"
4404 "\n"
4405 " (signature vec4\n"
4406 " (parameters\n"
4407 " (declare (in) sampler1D sampler)\n"
4408 " (declare (in) vec4 P) \n"
4409 " (declare (in) float bias) )\n"
4410 " ((return (txb (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
4411 "\n"
4412 " (signature ivec4\n"
4413 " (parameters\n"
4414 " (declare (in) isampler1D sampler)\n"
4415 " (declare (in) vec4 P) \n"
4416 " (declare (in) float bias) )\n"
4417 " ((return (txb (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
4418 "\n"
4419 " (signature uvec4\n"
4420 " (parameters\n"
4421 " (declare (in) usampler1D sampler)\n"
4422 " (declare (in) vec4 P) \n"
4423 " (declare (in) float bias) )\n"
4424 " ((return (txb (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
4425 "\n"
4426 " (signature vec4\n"
4427 " (parameters\n"
4428 " (declare (in) sampler2D sampler)\n"
4429 " (declare (in) vec3 P) \n"
4430 " (declare (in) float bias) )\n"
4431 " ((return (txb (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () (var_ref bias) ))))\n"
4432 "\n"
4433 " (signature ivec4\n"
4434 " (parameters\n"
4435 " (declare (in) isampler2D sampler)\n"
4436 " (declare (in) vec3 P) \n"
4437 " (declare (in) float bias) )\n"
4438 " ((return (txb (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () (var_ref bias) ))))\n"
4439 "\n"
4440 " (signature uvec4\n"
4441 " (parameters\n"
4442 " (declare (in) usampler2D sampler)\n"
4443 " (declare (in) vec3 P) \n"
4444 " (declare (in) float bias) )\n"
4445 " ((return (txb (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () (var_ref bias) ))))\n"
4446 "\n"
4447 " (signature vec4\n"
4448 " (parameters\n"
4449 " (declare (in) sampler2D sampler)\n"
4450 " (declare (in) vec4 P) \n"
4451 " (declare (in) float bias) )\n"
4452 " ((return (txb (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
4453 "\n"
4454 " (signature ivec4\n"
4455 " (parameters\n"
4456 " (declare (in) isampler2D sampler)\n"
4457 " (declare (in) vec4 P) \n"
4458 " (declare (in) float bias) )\n"
4459 " ((return (txb (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
4460 "\n"
4461 " (signature uvec4\n"
4462 " (parameters\n"
4463 " (declare (in) usampler2D sampler)\n"
4464 " (declare (in) vec4 P) \n"
4465 " (declare (in) float bias) )\n"
4466 " ((return (txb (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
4467 "\n"
4468 " (signature vec4\n"
4469 " (parameters\n"
4470 " (declare (in) sampler3D sampler)\n"
4471 " (declare (in) vec4 P) \n"
4472 " (declare (in) float bias) )\n"
4473 " ((return (txb (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
4474 "\n"
4475 " (signature ivec4\n"
4476 " (parameters\n"
4477 " (declare (in) isampler3D sampler)\n"
4478 " (declare (in) vec4 P) \n"
4479 " (declare (in) float bias) )\n"
4480 " ((return (txb (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
4481 "\n"
4482 " (signature uvec4\n"
4483 " (parameters\n"
4484 " (declare (in) usampler3D sampler)\n"
4485 " (declare (in) vec4 P) \n"
4486 " (declare (in) float bias) )\n"
4487 " ((return (txb (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004488 "\n"
4489 "))\n"
4490 ""
4491;
Kenneth Graunke3f5fde52010-10-21 11:43:39 -07004492static const char builtin_textureProjGrad[] =
Eric Anholt47003a82010-08-23 12:39:35 -07004493 "((function textureProjGrad\n"
4494 " (signature vec4\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004495 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07004496 " (declare (in) sampler1D sampler)\n"
4497 " (declare (in) vec2 P) \n"
4498 " (declare (in) float dPdx) \n"
4499 " (declare (in) float dPdy) )\n"
4500 " ((return (txd (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004501 "\n"
Eric Anholt47003a82010-08-23 12:39:35 -07004502 " (signature ivec4\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004503 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07004504 " (declare (in) isampler1D sampler)\n"
4505 " (declare (in) vec2 P) \n"
4506 " (declare (in) float dPdx) \n"
4507 " (declare (in) float dPdy) )\n"
4508 " ((return (txd (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004509 "\n"
Eric Anholt47003a82010-08-23 12:39:35 -07004510 " (signature uvec4\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004511 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07004512 " (declare (in) usampler1D sampler)\n"
4513 " (declare (in) vec2 P) \n"
4514 " (declare (in) float dPdx) \n"
4515 " (declare (in) float dPdy) )\n"
4516 " ((return (txd (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004517 "\n"
Eric Anholt47003a82010-08-23 12:39:35 -07004518 " (signature vec4\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004519 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07004520 " (declare (in) sampler1D sampler)\n"
4521 " (declare (in) vec4 P) \n"
4522 " (declare (in) float dPdx) \n"
4523 " (declare (in) float dPdy) )\n"
4524 " ((return (txd (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004525 "\n"
Eric Anholt47003a82010-08-23 12:39:35 -07004526 " (signature ivec4\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004527 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07004528 " (declare (in) isampler1D sampler)\n"
4529 " (declare (in) vec4 P) \n"
4530 " (declare (in) float dPdx) \n"
4531 " (declare (in) float dPdy) )\n"
4532 " ((return (txd (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004533 "\n"
Eric Anholt47003a82010-08-23 12:39:35 -07004534 " (signature uvec4\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004535 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07004536 " (declare (in) usampler1D sampler)\n"
4537 " (declare (in) vec4 P) \n"
4538 " (declare (in) float dPdx) \n"
4539 " (declare (in) float dPdy) )\n"
4540 " ((return (txd (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004541 "\n"
Eric Anholt47003a82010-08-23 12:39:35 -07004542 " (signature vec4\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004543 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07004544 " (declare (in) sampler2D sampler)\n"
4545 " (declare (in) vec3 P) \n"
4546 " (declare (in) vec2 dPdx) \n"
4547 " (declare (in) vec2 dPdy) )\n"
4548 " ((return (txd (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004549 "\n"
Eric Anholt47003a82010-08-23 12:39:35 -07004550 " (signature ivec4\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004551 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07004552 " (declare (in) isampler2D sampler)\n"
4553 " (declare (in) vec3 P) \n"
4554 " (declare (in) vec2 dPdx) \n"
4555 " (declare (in) vec2 dPdy) )\n"
4556 " ((return (txd (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004557 "\n"
Eric Anholt47003a82010-08-23 12:39:35 -07004558 " (signature uvec4\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004559 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07004560 " (declare (in) usampler2D sampler)\n"
4561 " (declare (in) vec3 P) \n"
4562 " (declare (in) vec2 dPdx) \n"
4563 " (declare (in) vec2 dPdy) )\n"
4564 " ((return (txd (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4565 "\n"
4566 " (signature vec4\n"
4567 " (parameters\n"
4568 " (declare (in) sampler2D sampler)\n"
4569 " (declare (in) vec4 P) \n"
4570 " (declare (in) vec2 dPdx) \n"
4571 " (declare (in) vec2 dPdy) )\n"
4572 " ((return (txd (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4573 "\n"
4574 " (signature ivec4\n"
4575 " (parameters\n"
4576 " (declare (in) isampler2D sampler)\n"
4577 " (declare (in) vec4 P) \n"
4578 " (declare (in) vec2 dPdx) \n"
4579 " (declare (in) vec2 dPdy) )\n"
4580 " ((return (txd (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4581 "\n"
4582 " (signature uvec4\n"
4583 " (parameters\n"
4584 " (declare (in) usampler2D sampler)\n"
4585 " (declare (in) vec4 P) \n"
4586 " (declare (in) vec2 dPdx) \n"
4587 " (declare (in) vec2 dPdy) )\n"
4588 " ((return (txd (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4589 "\n"
4590 " (signature vec4\n"
4591 " (parameters\n"
4592 " (declare (in) sampler3D sampler)\n"
4593 " (declare (in) vec4 P) \n"
4594 " (declare (in) vec3 dPdx) \n"
4595 " (declare (in) vec3 dPdy) )\n"
4596 " ((return (txd (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4597 "\n"
4598 " (signature ivec4\n"
4599 " (parameters\n"
4600 " (declare (in) isampler3D sampler)\n"
4601 " (declare (in) vec4 P) \n"
4602 " (declare (in) vec3 dPdx) \n"
4603 " (declare (in) vec3 dPdy) )\n"
4604 " ((return (txd (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4605 "\n"
4606 " (signature uvec4\n"
4607 " (parameters\n"
4608 " (declare (in) usampler3D sampler)\n"
4609 " (declare (in) vec4 P) \n"
4610 " (declare (in) vec3 dPdx) \n"
4611 " (declare (in) vec3 dPdy) )\n"
4612 " ((return (txd (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4613 "\n"
4614 "))\n"
4615 ""
4616;
Kenneth Graunke3f5fde52010-10-21 11:43:39 -07004617static const char builtin_textureProjLod[] =
Eric Anholt47003a82010-08-23 12:39:35 -07004618 "((function textureProjLod\n"
4619 " (signature vec4\n"
4620 " (parameters\n"
4621 " (declare (in) sampler1D sampler)\n"
4622 " (declare (in) vec2 P) \n"
4623 " (declare (in) float lod) )\n"
4624 " ((return (txl (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () (var_ref lod) ))))\n"
4625 "\n"
4626 " (signature ivec4\n"
4627 " (parameters\n"
4628 " (declare (in) isampler1D sampler)\n"
4629 " (declare (in) vec2 P) \n"
4630 " (declare (in) float lod) )\n"
4631 " ((return (txl (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () (var_ref lod) ))))\n"
4632 "\n"
4633 " (signature uvec4\n"
4634 " (parameters\n"
4635 " (declare (in) usampler1D sampler)\n"
4636 " (declare (in) vec2 P) \n"
4637 " (declare (in) float lod) )\n"
4638 " ((return (txl (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz y (var_ref P)) () (var_ref lod) ))))\n"
4639 "\n"
4640 " (signature vec4\n"
4641 " (parameters\n"
4642 " (declare (in) sampler1D sampler)\n"
4643 " (declare (in) vec4 P) \n"
4644 " (declare (in) float lod) )\n"
4645 " ((return (txl (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
4646 "\n"
4647 " (signature ivec4\n"
4648 " (parameters\n"
4649 " (declare (in) isampler1D sampler)\n"
4650 " (declare (in) vec4 P) \n"
4651 " (declare (in) float lod) )\n"
4652 " ((return (txl (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
4653 "\n"
4654 " (signature uvec4\n"
4655 " (parameters\n"
4656 " (declare (in) usampler1D sampler)\n"
4657 " (declare (in) vec4 P) \n"
4658 " (declare (in) float lod) )\n"
4659 " ((return (txl (var_ref sampler) (swiz x (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
4660 "\n"
4661 " (signature vec4\n"
4662 " (parameters\n"
4663 " (declare (in) sampler2D sampler)\n"
4664 " (declare (in) vec3 P) \n"
4665 " (declare (in) float lod) )\n"
4666 " ((return (txl (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () (var_ref lod) ))))\n"
4667 "\n"
4668 " (signature ivec4\n"
4669 " (parameters\n"
4670 " (declare (in) isampler2D sampler)\n"
4671 " (declare (in) vec3 P) \n"
4672 " (declare (in) float lod) )\n"
4673 " ((return (txl (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () (var_ref lod) ))))\n"
4674 "\n"
4675 " (signature uvec4\n"
4676 " (parameters\n"
4677 " (declare (in) usampler2D sampler)\n"
4678 " (declare (in) vec3 P) \n"
4679 " (declare (in) float lod) )\n"
4680 " ((return (txl (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz z (var_ref P)) () (var_ref lod) ))))\n"
4681 "\n"
4682 " (signature vec4\n"
4683 " (parameters\n"
4684 " (declare (in) sampler2D sampler)\n"
4685 " (declare (in) vec4 P) \n"
4686 " (declare (in) float lod) )\n"
4687 " ((return (txl (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
4688 "\n"
4689 " (signature ivec4\n"
4690 " (parameters\n"
4691 " (declare (in) isampler2D sampler)\n"
4692 " (declare (in) vec4 P) \n"
4693 " (declare (in) float lod) )\n"
4694 " ((return (txl (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
4695 "\n"
4696 " (signature uvec4\n"
4697 " (parameters\n"
4698 " (declare (in) usampler2D sampler)\n"
4699 " (declare (in) vec4 P) \n"
4700 " (declare (in) float lod) )\n"
4701 " ((return (txl (var_ref sampler) (swiz xy (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
4702 "\n"
4703 " (signature vec4\n"
4704 " (parameters\n"
4705 " (declare (in) sampler3D sampler)\n"
4706 " (declare (in) vec4 P) \n"
4707 " (declare (in) float lod) )\n"
4708 " ((return (txl (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
4709 "\n"
4710 " (signature ivec4\n"
4711 " (parameters\n"
4712 " (declare (in) isampler3D sampler)\n"
4713 " (declare (in) vec4 P) \n"
4714 " (declare (in) float lod) )\n"
4715 " ((return (txl (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
4716 "\n"
4717 " (signature uvec4\n"
4718 " (parameters\n"
4719 " (declare (in) usampler3D sampler)\n"
4720 " (declare (in) vec4 P) \n"
4721 " (declare (in) float lod) )\n"
4722 " ((return (txl (var_ref sampler) (swiz xyz (var_ref P)) (0 0 0) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
4723 "\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004724 "))\n"
4725 ""
4726;
Kenneth Graunke3f5fde52010-10-21 11:43:39 -07004727static const char builtin_transpose[] =
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004728 "((function transpose\n"
4729 " (signature mat2\n"
4730 " (parameters\n"
4731 " (declare (in) mat2 m))\n"
4732 " ((declare () mat2 t)\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07004733 " (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (0)))))\n"
4734 " (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (0)))))\n"
4735 " (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (1)))))\n"
4736 " (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (1)))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004737 "(return (var_ref t))))\n"
4738 "\n"
4739 " (signature mat3x2\n"
4740 " (parameters\n"
4741 " (declare (in) mat2x3 m))\n"
4742 " ((declare () mat3x2 t)\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07004743 " (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (0)))))\n"
4744 " (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (0)))))\n"
4745 " (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (0)))))\n"
4746 " (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (1)))))\n"
4747 " (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (1)))))\n"
4748 " (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (1)))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004749 "(return (var_ref t))))\n"
4750 "\n"
4751 " (signature mat4x2\n"
4752 " (parameters\n"
4753 " (declare (in) mat2x4 m))\n"
4754 " ((declare () mat4x2 t)\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07004755 " (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (0)))))\n"
4756 " (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (0)))))\n"
4757 " (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (0)))))\n"
4758 " (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (3))) (swiz w (array_ref (var_ref m) (constant int (0)))))\n"
4759 " (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (1)))))\n"
4760 " (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (1)))))\n"
4761 " (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (1)))))\n"
4762 " (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (3))) (swiz w (array_ref (var_ref m) (constant int (1)))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004763 "(return (var_ref t))))\n"
4764 "\n"
4765 " (signature mat2x3\n"
4766 " (parameters\n"
4767 " (declare (in) mat3x2 m))\n"
4768 " ((declare () mat2x3 t)\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07004769 " (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (0)))))\n"
4770 " (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (0)))))\n"
4771 " (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (1)))))\n"
4772 " (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (1)))))\n"
4773 " (assign (constant bool (1)) (z) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (2)))))\n"
4774 " (assign (constant bool (1)) (z) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (2)))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004775 "(return (var_ref t))))\n"
4776 "\n"
4777 " (signature mat3\n"
4778 " (parameters\n"
4779 " (declare (in) mat3 m))\n"
4780 " ((declare () mat3 t)\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07004781 " (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (0)))))\n"
4782 " (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (0)))))\n"
4783 " (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (0)))))\n"
4784 " (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (1)))))\n"
4785 " (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (1)))))\n"
4786 " (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (1)))))\n"
4787 " (assign (constant bool (1)) (z) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (2)))))\n"
4788 " (assign (constant bool (1)) (z) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (2)))))\n"
4789 " (assign (constant bool (1)) (z) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (2)))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004790 "(return (var_ref t))))\n"
4791 "\n"
4792 " (signature mat4x3\n"
4793 " (parameters\n"
4794 " (declare (in) mat3x4 m))\n"
4795 " ((declare () mat4x3 t)\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07004796 " (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (0)))))\n"
4797 " (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (0)))))\n"
4798 " (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (0)))))\n"
4799 " (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (3))) (swiz w (array_ref (var_ref m) (constant int (0)))))\n"
4800 " (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (1)))))\n"
4801 " (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (1)))))\n"
4802 " (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (1)))))\n"
4803 " (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (3))) (swiz w (array_ref (var_ref m) (constant int (1)))))\n"
4804 " (assign (constant bool (1)) (z) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (2)))))\n"
4805 " (assign (constant bool (1)) (z) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (2)))))\n"
4806 " (assign (constant bool (1)) (z) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (2)))))\n"
4807 " (assign (constant bool (1)) (z) (array_ref (var_ref t) (constant int (3))) (swiz w (array_ref (var_ref m) (constant int (2)))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004808 "(return (var_ref t))))\n"
4809 "\n"
4810 " (signature mat2x4\n"
4811 " (parameters\n"
4812 " (declare (in) mat4x2 m))\n"
4813 " ((declare () mat2x4 t)\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07004814 " (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (0)))))\n"
4815 " (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (0)))))\n"
4816 " (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (1)))))\n"
4817 " (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (1)))))\n"
4818 " (assign (constant bool (1)) (z) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (2)))))\n"
4819 " (assign (constant bool (1)) (z) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (2)))))\n"
4820 " (assign (constant bool (1)) (w) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (3)))))\n"
4821 " (assign (constant bool (1)) (w) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (3)))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004822 "(return (var_ref t))))\n"
4823 "\n"
4824 " (signature mat3x4\n"
4825 " (parameters\n"
4826 " (declare (in) mat4x3 m))\n"
4827 " ((declare () mat3x4 t)\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07004828 " (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (0)))))\n"
4829 " (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (0)))))\n"
4830 " (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (0)))))\n"
4831 " (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (1)))))\n"
4832 " (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (1)))))\n"
4833 " (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (1)))))\n"
4834 " (assign (constant bool (1)) (z) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (2)))))\n"
4835 " (assign (constant bool (1)) (z) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (2)))))\n"
4836 " (assign (constant bool (1)) (z) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (2)))))\n"
4837 " (assign (constant bool (1)) (w) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (3)))))\n"
4838 " (assign (constant bool (1)) (w) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (3)))))\n"
4839 " (assign (constant bool (1)) (w) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (3)))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004840 "(return (var_ref t))))\n"
4841 "\n"
4842 " (signature mat4\n"
4843 " (parameters\n"
4844 " (declare (in) mat4 m))\n"
4845 " ((declare () mat4 t)\n"
Kenneth Graunkea8781072010-09-03 16:21:08 -07004846 " (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (0)))))\n"
4847 " (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (0)))))\n"
4848 " (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (0)))))\n"
4849 " (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (3))) (swiz w (array_ref (var_ref m) (constant int (0)))))\n"
4850 " (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (1)))))\n"
4851 " (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (1)))))\n"
4852 " (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (1)))))\n"
4853 " (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (3))) (swiz w (array_ref (var_ref m) (constant int (1)))))\n"
4854 " (assign (constant bool (1)) (z) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (2)))))\n"
4855 " (assign (constant bool (1)) (z) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (2)))))\n"
4856 " (assign (constant bool (1)) (z) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (2)))))\n"
4857 " (assign (constant bool (1)) (z) (array_ref (var_ref t) (constant int (3))) (swiz w (array_ref (var_ref m) (constant int (2)))))\n"
4858 " (assign (constant bool (1)) (w) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (3)))))\n"
4859 " (assign (constant bool (1)) (w) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (3)))))\n"
4860 " (assign (constant bool (1)) (w) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (3)))))\n"
4861 " (assign (constant bool (1)) (w) (array_ref (var_ref t) (constant int (3))) (swiz w (array_ref (var_ref m) (constant int (3)))))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07004862 "(return (var_ref t))))\n"
4863 ")\n"
4864 "\n"
4865 ")\n"
4866 "\n"
4867 ""
4868;
Kenneth Graunke3f5fde52010-10-21 11:43:39 -07004869static const char builtin_trunc[] =
Kenneth Graunkef9bd4c62010-10-14 10:51:09 -07004870 "((function trunc\n"
4871 " (signature float\n"
4872 " (parameters\n"
4873 " (declare (in) float arg0))\n"
4874 " ((return (expression float trunc (var_ref arg0)))))\n"
4875 "\n"
4876 " (signature vec2\n"
4877 " (parameters\n"
4878 " (declare (in) vec2 arg0))\n"
4879 " ((return (expression vec2 trunc (var_ref arg0)))))\n"
4880 "\n"
4881 " (signature vec3\n"
4882 " (parameters\n"
4883 " (declare (in) vec3 arg0))\n"
4884 " ((return (expression vec3 trunc (var_ref arg0)))))\n"
4885 "\n"
4886 " (signature vec4\n"
4887 " (parameters\n"
4888 " (declare (in) vec4 arg0))\n"
4889 " ((return (expression vec4 trunc (var_ref arg0)))))\n"
4890 "))\n"
4891 ""
4892;
Kenneth Graunke3f5fde52010-10-21 11:43:39 -07004893static const char prototypes_for_100_frag[] =
Kenneth Graunke116dc672010-08-16 13:04:09 -07004894 "(\n"
4895 "(function radians\n"
4896 " (signature float\n"
4897 " (parameters\n"
4898 " (declare (in) float degrees))\n"
4899 " ())\n"
4900 " (signature vec2\n"
4901 " (parameters\n"
4902 " (declare (in) vec2 degrees))\n"
4903 " ())\n"
4904 " (signature vec3\n"
4905 " (parameters\n"
4906 " (declare (in) vec3 degrees))\n"
4907 " ())\n"
4908 " (signature vec4\n"
4909 " (parameters\n"
4910 " (declare (in) vec4 degrees))\n"
4911 " ()))\n"
4912 "(function degrees\n"
4913 " (signature float\n"
4914 " (parameters\n"
4915 " (declare (in) float radians))\n"
4916 " ())\n"
4917 " (signature vec2\n"
4918 " (parameters\n"
4919 " (declare (in) vec2 radians))\n"
4920 " ())\n"
4921 " (signature vec3\n"
4922 " (parameters\n"
4923 " (declare (in) vec3 radians))\n"
4924 " ())\n"
4925 " (signature vec4\n"
4926 " (parameters\n"
4927 " (declare (in) vec4 radians))\n"
4928 " ()))\n"
4929 "(function sin\n"
4930 " (signature float\n"
4931 " (parameters\n"
4932 " (declare (in) float angle))\n"
4933 " ())\n"
4934 " (signature vec2\n"
4935 " (parameters\n"
4936 " (declare (in) vec2 angle))\n"
4937 " ())\n"
4938 " (signature vec3\n"
4939 " (parameters\n"
4940 " (declare (in) vec3 angle))\n"
4941 " ())\n"
4942 " (signature vec4\n"
4943 " (parameters\n"
4944 " (declare (in) vec4 angle))\n"
4945 " ()))\n"
4946 "(function cos\n"
4947 " (signature float\n"
4948 " (parameters\n"
4949 " (declare (in) float angle))\n"
4950 " ())\n"
4951 " (signature vec2\n"
4952 " (parameters\n"
4953 " (declare (in) vec2 angle))\n"
4954 " ())\n"
4955 " (signature vec3\n"
4956 " (parameters\n"
4957 " (declare (in) vec3 angle))\n"
4958 " ())\n"
4959 " (signature vec4\n"
4960 " (parameters\n"
4961 " (declare (in) vec4 angle))\n"
4962 " ()))\n"
4963 "(function tan\n"
4964 " (signature float\n"
4965 " (parameters\n"
4966 " (declare (in) float angle))\n"
4967 " ())\n"
4968 " (signature vec2\n"
4969 " (parameters\n"
4970 " (declare (in) vec2 angle))\n"
4971 " ())\n"
4972 " (signature vec3\n"
4973 " (parameters\n"
4974 " (declare (in) vec3 angle))\n"
4975 " ())\n"
4976 " (signature vec4\n"
4977 " (parameters\n"
4978 " (declare (in) vec4 angle))\n"
4979 " ()))\n"
4980 "(function asin\n"
4981 " (signature float\n"
4982 " (parameters\n"
4983 " (declare (in) float angle))\n"
4984 " ())\n"
4985 " (signature vec2\n"
4986 " (parameters\n"
4987 " (declare (in) vec2 angle))\n"
4988 " ())\n"
4989 " (signature vec3\n"
4990 " (parameters\n"
4991 " (declare (in) vec3 angle))\n"
4992 " ())\n"
4993 " (signature vec4\n"
4994 " (parameters\n"
4995 " (declare (in) vec4 angle))\n"
4996 " ()))\n"
4997 "(function acos\n"
4998 " (signature float\n"
4999 " (parameters\n"
5000 " (declare (in) float angle))\n"
5001 " ())\n"
5002 " (signature vec2\n"
5003 " (parameters\n"
5004 " (declare (in) vec2 angle))\n"
5005 " ())\n"
5006 " (signature vec3\n"
5007 " (parameters\n"
5008 " (declare (in) vec3 angle))\n"
5009 " ())\n"
5010 " (signature vec4\n"
5011 " (parameters\n"
5012 " (declare (in) vec4 angle))\n"
5013 " ()))\n"
5014 "(function atan\n"
5015 " (signature float\n"
5016 " (parameters\n"
5017 " (declare (in) float y)\n"
5018 " (declare (in) float x))\n"
5019 " ())\n"
5020 " (signature vec2\n"
5021 " (parameters\n"
5022 " (declare (in) vec2 y)\n"
5023 " (declare (in) vec2 x))\n"
5024 " ())\n"
5025 " (signature vec3\n"
5026 " (parameters\n"
5027 " (declare (in) vec3 y)\n"
5028 " (declare (in) vec3 x))\n"
5029 " ())\n"
5030 " (signature vec4\n"
5031 " (parameters\n"
5032 " (declare (in) vec4 y)\n"
5033 " (declare (in) vec4 x))\n"
5034 " ())\n"
5035 " (signature float\n"
5036 " (parameters\n"
5037 " (declare (in) float y_over_x))\n"
5038 " ())\n"
5039 " (signature vec2\n"
5040 " (parameters\n"
5041 " (declare (in) vec2 y_over_x))\n"
5042 " ())\n"
5043 " (signature vec3\n"
5044 " (parameters\n"
5045 " (declare (in) vec3 y_over_x))\n"
5046 " ())\n"
5047 " (signature vec4\n"
5048 " (parameters\n"
5049 " (declare (in) vec4 y_over_x))\n"
5050 " ()))\n"
5051 "(function pow\n"
5052 " (signature float\n"
5053 " (parameters\n"
5054 " (declare (in) float x)\n"
5055 " (declare (in) float y))\n"
5056 " ())\n"
5057 " (signature vec2\n"
5058 " (parameters\n"
5059 " (declare (in) vec2 x)\n"
5060 " (declare (in) vec2 y))\n"
5061 " ())\n"
5062 " (signature vec3\n"
5063 " (parameters\n"
5064 " (declare (in) vec3 x)\n"
5065 " (declare (in) vec3 y))\n"
5066 " ())\n"
5067 " (signature vec4\n"
5068 " (parameters\n"
5069 " (declare (in) vec4 x)\n"
5070 " (declare (in) vec4 y))\n"
5071 " ()))\n"
5072 "(function exp\n"
5073 " (signature float\n"
5074 " (parameters\n"
5075 " (declare (in) float x))\n"
5076 " ())\n"
5077 " (signature vec2\n"
5078 " (parameters\n"
5079 " (declare (in) vec2 x))\n"
5080 " ())\n"
5081 " (signature vec3\n"
5082 " (parameters\n"
5083 " (declare (in) vec3 x))\n"
5084 " ())\n"
5085 " (signature vec4\n"
5086 " (parameters\n"
5087 " (declare (in) vec4 x))\n"
5088 " ()))\n"
5089 "(function log\n"
5090 " (signature float\n"
5091 " (parameters\n"
5092 " (declare (in) float x))\n"
5093 " ())\n"
5094 " (signature vec2\n"
5095 " (parameters\n"
5096 " (declare (in) vec2 x))\n"
5097 " ())\n"
5098 " (signature vec3\n"
5099 " (parameters\n"
5100 " (declare (in) vec3 x))\n"
5101 " ())\n"
5102 " (signature vec4\n"
5103 " (parameters\n"
5104 " (declare (in) vec4 x))\n"
5105 " ()))\n"
5106 "(function exp2\n"
5107 " (signature float\n"
5108 " (parameters\n"
5109 " (declare (in) float x))\n"
5110 " ())\n"
5111 " (signature vec2\n"
5112 " (parameters\n"
5113 " (declare (in) vec2 x))\n"
5114 " ())\n"
5115 " (signature vec3\n"
5116 " (parameters\n"
5117 " (declare (in) vec3 x))\n"
5118 " ())\n"
5119 " (signature vec4\n"
5120 " (parameters\n"
5121 " (declare (in) vec4 x))\n"
5122 " ()))\n"
5123 "(function log2\n"
5124 " (signature float\n"
5125 " (parameters\n"
5126 " (declare (in) float x))\n"
5127 " ())\n"
5128 " (signature vec2\n"
5129 " (parameters\n"
5130 " (declare (in) vec2 x))\n"
5131 " ())\n"
5132 " (signature vec3\n"
5133 " (parameters\n"
5134 " (declare (in) vec3 x))\n"
5135 " ())\n"
5136 " (signature vec4\n"
5137 " (parameters\n"
5138 " (declare (in) vec4 x))\n"
5139 " ()))\n"
5140 "(function sqrt\n"
5141 " (signature float\n"
5142 " (parameters\n"
5143 " (declare (in) float x))\n"
5144 " ())\n"
5145 " (signature vec2\n"
5146 " (parameters\n"
5147 " (declare (in) vec2 x))\n"
5148 " ())\n"
5149 " (signature vec3\n"
5150 " (parameters\n"
5151 " (declare (in) vec3 x))\n"
5152 " ())\n"
5153 " (signature vec4\n"
5154 " (parameters\n"
5155 " (declare (in) vec4 x))\n"
5156 " ()))\n"
5157 "(function inversesqrt\n"
5158 " (signature float\n"
5159 " (parameters\n"
5160 " (declare (in) float x))\n"
5161 " ())\n"
5162 " (signature vec2\n"
5163 " (parameters\n"
5164 " (declare (in) vec2 x))\n"
5165 " ())\n"
5166 " (signature vec3\n"
5167 " (parameters\n"
5168 " (declare (in) vec3 x))\n"
5169 " ())\n"
5170 " (signature vec4\n"
5171 " (parameters\n"
5172 " (declare (in) vec4 x))\n"
5173 " ()))\n"
5174 "(function abs\n"
5175 " (signature float\n"
5176 " (parameters\n"
5177 " (declare (in) float x))\n"
5178 " ())\n"
5179 " (signature vec2\n"
5180 " (parameters\n"
5181 " (declare (in) vec2 x))\n"
5182 " ())\n"
5183 " (signature vec3\n"
5184 " (parameters\n"
5185 " (declare (in) vec3 x))\n"
5186 " ())\n"
5187 " (signature vec4\n"
5188 " (parameters\n"
5189 " (declare (in) vec4 x))\n"
5190 " ()))\n"
5191 "(function sign\n"
5192 " (signature float\n"
5193 " (parameters\n"
5194 " (declare (in) float x))\n"
5195 " ())\n"
5196 " (signature vec2\n"
5197 " (parameters\n"
5198 " (declare (in) vec2 x))\n"
5199 " ())\n"
5200 " (signature vec3\n"
5201 " (parameters\n"
5202 " (declare (in) vec3 x))\n"
5203 " ())\n"
5204 " (signature vec4\n"
5205 " (parameters\n"
5206 " (declare (in) vec4 x))\n"
5207 " ()))\n"
5208 "(function floor\n"
5209 " (signature float\n"
5210 " (parameters\n"
5211 " (declare (in) float x))\n"
5212 " ())\n"
5213 " (signature vec2\n"
5214 " (parameters\n"
5215 " (declare (in) vec2 x))\n"
5216 " ())\n"
5217 " (signature vec3\n"
5218 " (parameters\n"
5219 " (declare (in) vec3 x))\n"
5220 " ())\n"
5221 " (signature vec4\n"
5222 " (parameters\n"
5223 " (declare (in) vec4 x))\n"
5224 " ()))\n"
5225 "(function ceil\n"
5226 " (signature float\n"
5227 " (parameters\n"
5228 " (declare (in) float x))\n"
5229 " ())\n"
5230 " (signature vec2\n"
5231 " (parameters\n"
5232 " (declare (in) vec2 x))\n"
5233 " ())\n"
5234 " (signature vec3\n"
5235 " (parameters\n"
5236 " (declare (in) vec3 x))\n"
5237 " ())\n"
5238 " (signature vec4\n"
5239 " (parameters\n"
5240 " (declare (in) vec4 x))\n"
5241 " ()))\n"
5242 "(function fract\n"
5243 " (signature float\n"
5244 " (parameters\n"
5245 " (declare (in) float x))\n"
5246 " ())\n"
5247 " (signature vec2\n"
5248 " (parameters\n"
5249 " (declare (in) vec2 x))\n"
5250 " ())\n"
5251 " (signature vec3\n"
5252 " (parameters\n"
5253 " (declare (in) vec3 x))\n"
5254 " ())\n"
5255 " (signature vec4\n"
5256 " (parameters\n"
5257 " (declare (in) vec4 x))\n"
5258 " ()))\n"
5259 "(function mod\n"
5260 " (signature float\n"
5261 " (parameters\n"
5262 " (declare (in) float x)\n"
5263 " (declare (in) float y))\n"
5264 " ())\n"
5265 " (signature vec2\n"
5266 " (parameters\n"
5267 " (declare (in) vec2 x)\n"
5268 " (declare (in) float y))\n"
5269 " ())\n"
5270 " (signature vec3\n"
5271 " (parameters\n"
5272 " (declare (in) vec3 x)\n"
5273 " (declare (in) float y))\n"
5274 " ())\n"
5275 " (signature vec4\n"
5276 " (parameters\n"
5277 " (declare (in) vec4 x)\n"
5278 " (declare (in) float y))\n"
5279 " ())\n"
5280 " (signature vec2\n"
5281 " (parameters\n"
5282 " (declare (in) vec2 x)\n"
5283 " (declare (in) vec2 y))\n"
5284 " ())\n"
5285 " (signature vec3\n"
5286 " (parameters\n"
5287 " (declare (in) vec3 x)\n"
5288 " (declare (in) vec3 y))\n"
5289 " ())\n"
5290 " (signature vec4\n"
5291 " (parameters\n"
5292 " (declare (in) vec4 x)\n"
5293 " (declare (in) vec4 y))\n"
5294 " ()))\n"
5295 "(function min\n"
5296 " (signature float\n"
5297 " (parameters\n"
5298 " (declare (in) float x)\n"
5299 " (declare (in) float y))\n"
5300 " ())\n"
5301 " (signature vec2\n"
5302 " (parameters\n"
5303 " (declare (in) vec2 x)\n"
5304 " (declare (in) vec2 y))\n"
5305 " ())\n"
5306 " (signature vec3\n"
5307 " (parameters\n"
5308 " (declare (in) vec3 x)\n"
5309 " (declare (in) vec3 y))\n"
5310 " ())\n"
5311 " (signature vec4\n"
5312 " (parameters\n"
5313 " (declare (in) vec4 x)\n"
5314 " (declare (in) vec4 y))\n"
5315 " ())\n"
5316 " (signature vec2\n"
5317 " (parameters\n"
5318 " (declare (in) vec2 x)\n"
5319 " (declare (in) float y))\n"
5320 " ())\n"
5321 " (signature vec3\n"
5322 " (parameters\n"
5323 " (declare (in) vec3 x)\n"
5324 " (declare (in) float y))\n"
5325 " ())\n"
5326 " (signature vec4\n"
5327 " (parameters\n"
5328 " (declare (in) vec4 x)\n"
5329 " (declare (in) float y))\n"
5330 " ()))\n"
5331 "(function max\n"
5332 " (signature float\n"
5333 " (parameters\n"
5334 " (declare (in) float x)\n"
5335 " (declare (in) float y))\n"
5336 " ())\n"
5337 " (signature vec2\n"
5338 " (parameters\n"
5339 " (declare (in) vec2 x)\n"
5340 " (declare (in) vec2 y))\n"
5341 " ())\n"
5342 " (signature vec3\n"
5343 " (parameters\n"
5344 " (declare (in) vec3 x)\n"
5345 " (declare (in) vec3 y))\n"
5346 " ())\n"
5347 " (signature vec4\n"
5348 " (parameters\n"
5349 " (declare (in) vec4 x)\n"
5350 " (declare (in) vec4 y))\n"
5351 " ())\n"
5352 " (signature vec2\n"
5353 " (parameters\n"
5354 " (declare (in) vec2 x)\n"
5355 " (declare (in) float y))\n"
5356 " ())\n"
5357 " (signature vec3\n"
5358 " (parameters\n"
5359 " (declare (in) vec3 x)\n"
5360 " (declare (in) float y))\n"
5361 " ())\n"
5362 " (signature vec4\n"
5363 " (parameters\n"
5364 " (declare (in) vec4 x)\n"
5365 " (declare (in) float y))\n"
5366 " ()))\n"
5367 "(function clamp\n"
5368 " (signature float\n"
5369 " (parameters\n"
5370 " (declare (in) float x)\n"
5371 " (declare (in) float minVal)\n"
5372 " (declare (in) float maxVal))\n"
5373 " ())\n"
5374 " (signature vec2\n"
5375 " (parameters\n"
5376 " (declare (in) vec2 x)\n"
5377 " (declare (in) vec2 minVal)\n"
5378 " (declare (in) vec2 maxVal))\n"
5379 " ())\n"
5380 " (signature vec3\n"
5381 " (parameters\n"
5382 " (declare (in) vec3 x)\n"
5383 " (declare (in) vec3 minVal)\n"
5384 " (declare (in) vec3 maxVal))\n"
5385 " ())\n"
5386 " (signature vec4\n"
5387 " (parameters\n"
5388 " (declare (in) vec4 x)\n"
5389 " (declare (in) vec4 minVal)\n"
5390 " (declare (in) vec4 maxVal))\n"
5391 " ())\n"
5392 " (signature vec2\n"
5393 " (parameters\n"
5394 " (declare (in) vec2 x)\n"
5395 " (declare (in) float minVal)\n"
5396 " (declare (in) float maxVal))\n"
5397 " ())\n"
5398 " (signature vec3\n"
5399 " (parameters\n"
5400 " (declare (in) vec3 x)\n"
5401 " (declare (in) float minVal)\n"
5402 " (declare (in) float maxVal))\n"
5403 " ())\n"
5404 " (signature vec4\n"
5405 " (parameters\n"
5406 " (declare (in) vec4 x)\n"
5407 " (declare (in) float minVal)\n"
5408 " (declare (in) float maxVal))\n"
5409 " ()))\n"
5410 "(function mix\n"
5411 " (signature float\n"
5412 " (parameters\n"
5413 " (declare (in) float x)\n"
5414 " (declare (in) float y)\n"
5415 " (declare (in) float a))\n"
5416 " ())\n"
5417 " (signature vec2\n"
5418 " (parameters\n"
5419 " (declare (in) vec2 x)\n"
5420 " (declare (in) vec2 y)\n"
5421 " (declare (in) vec2 a))\n"
5422 " ())\n"
5423 " (signature vec3\n"
5424 " (parameters\n"
5425 " (declare (in) vec3 x)\n"
5426 " (declare (in) vec3 y)\n"
5427 " (declare (in) vec3 a))\n"
5428 " ())\n"
5429 " (signature vec4\n"
5430 " (parameters\n"
5431 " (declare (in) vec4 x)\n"
5432 " (declare (in) vec4 y)\n"
5433 " (declare (in) vec4 a))\n"
5434 " ())\n"
5435 " (signature vec2\n"
5436 " (parameters\n"
5437 " (declare (in) vec2 x)\n"
5438 " (declare (in) vec2 y)\n"
5439 " (declare (in) float a))\n"
5440 " ())\n"
5441 " (signature vec3\n"
5442 " (parameters\n"
5443 " (declare (in) vec3 x)\n"
5444 " (declare (in) vec3 y)\n"
5445 " (declare (in) float a))\n"
5446 " ())\n"
5447 " (signature vec4\n"
5448 " (parameters\n"
5449 " (declare (in) vec4 x)\n"
5450 " (declare (in) vec4 y)\n"
5451 " (declare (in) float a))\n"
5452 " ()))\n"
5453 "(function step\n"
5454 " (signature float\n"
5455 " (parameters\n"
5456 " (declare (in) float edge)\n"
5457 " (declare (in) float x))\n"
5458 " ())\n"
5459 " (signature vec2\n"
5460 " (parameters\n"
5461 " (declare (in) vec2 edge)\n"
5462 " (declare (in) vec2 x))\n"
5463 " ())\n"
5464 " (signature vec3\n"
5465 " (parameters\n"
5466 " (declare (in) vec3 edge)\n"
5467 " (declare (in) vec3 x))\n"
5468 " ())\n"
5469 " (signature vec4\n"
5470 " (parameters\n"
5471 " (declare (in) vec4 edge)\n"
5472 " (declare (in) vec4 x))\n"
5473 " ())\n"
5474 " (signature vec2\n"
5475 " (parameters\n"
5476 " (declare (in) float edge)\n"
5477 " (declare (in) vec2 x))\n"
5478 " ())\n"
5479 " (signature vec3\n"
5480 " (parameters\n"
5481 " (declare (in) float edge)\n"
5482 " (declare (in) vec3 x))\n"
5483 " ())\n"
5484 " (signature vec4\n"
5485 " (parameters\n"
5486 " (declare (in) float edge)\n"
5487 " (declare (in) vec4 x))\n"
5488 " ()))\n"
5489 "(function smoothstep\n"
5490 " (signature float\n"
5491 " (parameters\n"
5492 " (declare (in) float edge0)\n"
5493 " (declare (in) float edge1)\n"
5494 " (declare (in) float x))\n"
5495 " ())\n"
5496 " (signature vec2\n"
5497 " (parameters\n"
5498 " (declare (in) vec2 edge0)\n"
5499 " (declare (in) vec2 edge1)\n"
5500 " (declare (in) vec2 x))\n"
5501 " ())\n"
5502 " (signature vec3\n"
5503 " (parameters\n"
5504 " (declare (in) vec3 edge0)\n"
5505 " (declare (in) vec3 edge1)\n"
5506 " (declare (in) vec3 x))\n"
5507 " ())\n"
5508 " (signature vec4\n"
5509 " (parameters\n"
5510 " (declare (in) vec4 edge0)\n"
5511 " (declare (in) vec4 edge1)\n"
5512 " (declare (in) vec4 x))\n"
5513 " ())\n"
5514 " (signature vec2\n"
5515 " (parameters\n"
5516 " (declare (in) float edge0)\n"
5517 " (declare (in) float edge1)\n"
5518 " (declare (in) vec2 x))\n"
5519 " ())\n"
5520 " (signature vec3\n"
5521 " (parameters\n"
5522 " (declare (in) float edge0)\n"
5523 " (declare (in) float edge1)\n"
5524 " (declare (in) vec3 x))\n"
5525 " ())\n"
5526 " (signature vec4\n"
5527 " (parameters\n"
5528 " (declare (in) float edge0)\n"
5529 " (declare (in) float edge1)\n"
5530 " (declare (in) vec4 x))\n"
5531 " ()))\n"
5532 "(function length\n"
5533 " (signature float\n"
5534 " (parameters\n"
5535 " (declare (in) float x))\n"
5536 " ())\n"
5537 " (signature float\n"
5538 " (parameters\n"
5539 " (declare (in) vec2 x))\n"
5540 " ())\n"
5541 " (signature float\n"
5542 " (parameters\n"
5543 " (declare (in) vec3 x))\n"
5544 " ())\n"
5545 " (signature float\n"
5546 " (parameters\n"
5547 " (declare (in) vec4 x))\n"
5548 " ()))\n"
5549 "(function distance\n"
5550 " (signature float\n"
5551 " (parameters\n"
5552 " (declare (in) float p0)\n"
5553 " (declare (in) float p1))\n"
5554 " ())\n"
5555 " (signature float\n"
5556 " (parameters\n"
5557 " (declare (in) vec2 p0)\n"
5558 " (declare (in) vec2 p1))\n"
5559 " ())\n"
5560 " (signature float\n"
5561 " (parameters\n"
5562 " (declare (in) vec3 p0)\n"
5563 " (declare (in) vec3 p1))\n"
5564 " ())\n"
5565 " (signature float\n"
5566 " (parameters\n"
5567 " (declare (in) vec4 p0)\n"
5568 " (declare (in) vec4 p1))\n"
5569 " ()))\n"
5570 "(function dot\n"
5571 " (signature float\n"
5572 " (parameters\n"
5573 " (declare (in) float x)\n"
5574 " (declare (in) float y))\n"
5575 " ())\n"
5576 " (signature float\n"
5577 " (parameters\n"
5578 " (declare (in) vec2 x)\n"
5579 " (declare (in) vec2 y))\n"
5580 " ())\n"
5581 " (signature float\n"
5582 " (parameters\n"
5583 " (declare (in) vec3 x)\n"
5584 " (declare (in) vec3 y))\n"
5585 " ())\n"
5586 " (signature float\n"
5587 " (parameters\n"
5588 " (declare (in) vec4 x)\n"
5589 " (declare (in) vec4 y))\n"
5590 " ()))\n"
5591 "(function cross\n"
5592 " (signature vec3\n"
5593 " (parameters\n"
5594 " (declare (in) vec3 x)\n"
5595 " (declare (in) vec3 y))\n"
5596 " ()))\n"
5597 "(function normalize\n"
5598 " (signature float\n"
5599 " (parameters\n"
5600 " (declare (in) float x))\n"
5601 " ())\n"
5602 " (signature vec2\n"
5603 " (parameters\n"
5604 " (declare (in) vec2 x))\n"
5605 " ())\n"
5606 " (signature vec3\n"
5607 " (parameters\n"
5608 " (declare (in) vec3 x))\n"
5609 " ())\n"
5610 " (signature vec4\n"
5611 " (parameters\n"
5612 " (declare (in) vec4 x))\n"
5613 " ()))\n"
5614 "(function faceforward\n"
5615 " (signature float\n"
5616 " (parameters\n"
5617 " (declare (in) float N)\n"
5618 " (declare (in) float I)\n"
5619 " (declare (in) float Nref))\n"
5620 " ())\n"
5621 " (signature vec2\n"
5622 " (parameters\n"
5623 " (declare (in) vec2 N)\n"
5624 " (declare (in) vec2 I)\n"
5625 " (declare (in) vec2 Nref))\n"
5626 " ())\n"
5627 " (signature vec3\n"
5628 " (parameters\n"
5629 " (declare (in) vec3 N)\n"
5630 " (declare (in) vec3 I)\n"
5631 " (declare (in) vec3 Nref))\n"
5632 " ())\n"
5633 " (signature vec4\n"
5634 " (parameters\n"
5635 " (declare (in) vec4 N)\n"
5636 " (declare (in) vec4 I)\n"
5637 " (declare (in) vec4 Nref))\n"
5638 " ()))\n"
5639 "(function reflect\n"
5640 " (signature float\n"
5641 " (parameters\n"
5642 " (declare (in) float I)\n"
5643 " (declare (in) float N))\n"
5644 " ())\n"
5645 " (signature vec2\n"
5646 " (parameters\n"
5647 " (declare (in) vec2 I)\n"
5648 " (declare (in) vec2 N))\n"
5649 " ())\n"
5650 " (signature vec3\n"
5651 " (parameters\n"
5652 " (declare (in) vec3 I)\n"
5653 " (declare (in) vec3 N))\n"
5654 " ())\n"
5655 " (signature vec4\n"
5656 " (parameters\n"
5657 " (declare (in) vec4 I)\n"
5658 " (declare (in) vec4 N))\n"
5659 " ()))\n"
5660 "(function refract\n"
5661 " (signature float\n"
5662 " (parameters\n"
5663 " (declare (in) float I)\n"
5664 " (declare (in) float N)\n"
5665 " (declare (in) float eta))\n"
5666 " ())\n"
5667 " (signature vec2\n"
5668 " (parameters\n"
5669 " (declare (in) vec2 I)\n"
5670 " (declare (in) vec2 N)\n"
5671 " (declare (in) float eta))\n"
5672 " ())\n"
5673 " (signature vec3\n"
5674 " (parameters\n"
5675 " (declare (in) vec3 I)\n"
5676 " (declare (in) vec3 N)\n"
5677 " (declare (in) float eta))\n"
5678 " ())\n"
5679 " (signature vec4\n"
5680 " (parameters\n"
5681 " (declare (in) vec4 I)\n"
5682 " (declare (in) vec4 N)\n"
5683 " (declare (in) float eta))\n"
5684 " ()))\n"
5685 "(function matrixCompMult\n"
5686 " (signature mat2\n"
5687 " (parameters\n"
5688 " (declare (in) mat2 x)\n"
5689 " (declare (in) mat2 y))\n"
5690 " ())\n"
5691 " (signature mat3\n"
5692 " (parameters\n"
5693 " (declare (in) mat3 x)\n"
5694 " (declare (in) mat3 y))\n"
5695 " ())\n"
5696 " (signature mat4\n"
5697 " (parameters\n"
5698 " (declare (in) mat4 x)\n"
5699 " (declare (in) mat4 y))\n"
5700 " ()))\n"
5701 "(function lessThan\n"
5702 " (signature bvec2\n"
5703 " (parameters\n"
5704 " (declare (in) vec2 x)\n"
5705 " (declare (in) vec2 y))\n"
5706 " ())\n"
5707 " (signature bvec3\n"
5708 " (parameters\n"
5709 " (declare (in) vec3 x)\n"
5710 " (declare (in) vec3 y))\n"
5711 " ())\n"
5712 " (signature bvec4\n"
5713 " (parameters\n"
5714 " (declare (in) vec4 x)\n"
5715 " (declare (in) vec4 y))\n"
5716 " ())\n"
5717 " (signature bvec2\n"
5718 " (parameters\n"
5719 " (declare (in) ivec2 x)\n"
5720 " (declare (in) ivec2 y))\n"
5721 " ())\n"
5722 " (signature bvec3\n"
5723 " (parameters\n"
5724 " (declare (in) ivec3 x)\n"
5725 " (declare (in) ivec3 y))\n"
5726 " ())\n"
5727 " (signature bvec4\n"
5728 " (parameters\n"
5729 " (declare (in) ivec4 x)\n"
5730 " (declare (in) ivec4 y))\n"
5731 " ()))\n"
5732 "(function lessThanEqual\n"
5733 " (signature bvec2\n"
5734 " (parameters\n"
5735 " (declare (in) vec2 x)\n"
5736 " (declare (in) vec2 y))\n"
5737 " ())\n"
5738 " (signature bvec3\n"
5739 " (parameters\n"
5740 " (declare (in) vec3 x)\n"
5741 " (declare (in) vec3 y))\n"
5742 " ())\n"
5743 " (signature bvec4\n"
5744 " (parameters\n"
5745 " (declare (in) vec4 x)\n"
5746 " (declare (in) vec4 y))\n"
5747 " ())\n"
5748 " (signature bvec2\n"
5749 " (parameters\n"
5750 " (declare (in) ivec2 x)\n"
5751 " (declare (in) ivec2 y))\n"
5752 " ())\n"
5753 " (signature bvec3\n"
5754 " (parameters\n"
5755 " (declare (in) ivec3 x)\n"
5756 " (declare (in) ivec3 y))\n"
5757 " ())\n"
5758 " (signature bvec4\n"
5759 " (parameters\n"
5760 " (declare (in) ivec4 x)\n"
5761 " (declare (in) ivec4 y))\n"
5762 " ()))\n"
5763 "(function greaterThan\n"
5764 " (signature bvec2\n"
5765 " (parameters\n"
5766 " (declare (in) vec2 x)\n"
5767 " (declare (in) vec2 y))\n"
5768 " ())\n"
5769 " (signature bvec3\n"
5770 " (parameters\n"
5771 " (declare (in) vec3 x)\n"
5772 " (declare (in) vec3 y))\n"
5773 " ())\n"
5774 " (signature bvec4\n"
5775 " (parameters\n"
5776 " (declare (in) vec4 x)\n"
5777 " (declare (in) vec4 y))\n"
5778 " ())\n"
5779 " (signature bvec2\n"
5780 " (parameters\n"
5781 " (declare (in) ivec2 x)\n"
5782 " (declare (in) ivec2 y))\n"
5783 " ())\n"
5784 " (signature bvec3\n"
5785 " (parameters\n"
5786 " (declare (in) ivec3 x)\n"
5787 " (declare (in) ivec3 y))\n"
5788 " ())\n"
5789 " (signature bvec4\n"
5790 " (parameters\n"
5791 " (declare (in) ivec4 x)\n"
5792 " (declare (in) ivec4 y))\n"
5793 " ()))\n"
5794 "(function greaterThanEqual\n"
5795 " (signature bvec2\n"
5796 " (parameters\n"
5797 " (declare (in) vec2 x)\n"
5798 " (declare (in) vec2 y))\n"
5799 " ())\n"
5800 " (signature bvec3\n"
5801 " (parameters\n"
5802 " (declare (in) vec3 x)\n"
5803 " (declare (in) vec3 y))\n"
5804 " ())\n"
5805 " (signature bvec4\n"
5806 " (parameters\n"
5807 " (declare (in) vec4 x)\n"
5808 " (declare (in) vec4 y))\n"
5809 " ())\n"
5810 " (signature bvec2\n"
5811 " (parameters\n"
5812 " (declare (in) ivec2 x)\n"
5813 " (declare (in) ivec2 y))\n"
5814 " ())\n"
5815 " (signature bvec3\n"
5816 " (parameters\n"
5817 " (declare (in) ivec3 x)\n"
5818 " (declare (in) ivec3 y))\n"
5819 " ())\n"
5820 " (signature bvec4\n"
5821 " (parameters\n"
5822 " (declare (in) ivec4 x)\n"
5823 " (declare (in) ivec4 y))\n"
5824 " ()))\n"
5825 "(function equal\n"
5826 " (signature bvec2\n"
5827 " (parameters\n"
5828 " (declare (in) vec2 x)\n"
5829 " (declare (in) vec2 y))\n"
5830 " ())\n"
5831 " (signature bvec3\n"
5832 " (parameters\n"
5833 " (declare (in) vec3 x)\n"
5834 " (declare (in) vec3 y))\n"
5835 " ())\n"
5836 " (signature bvec4\n"
5837 " (parameters\n"
5838 " (declare (in) vec4 x)\n"
5839 " (declare (in) vec4 y))\n"
5840 " ())\n"
5841 " (signature bvec2\n"
5842 " (parameters\n"
5843 " (declare (in) ivec2 x)\n"
5844 " (declare (in) ivec2 y))\n"
5845 " ())\n"
5846 " (signature bvec3\n"
5847 " (parameters\n"
5848 " (declare (in) ivec3 x)\n"
5849 " (declare (in) ivec3 y))\n"
5850 " ())\n"
5851 " (signature bvec4\n"
5852 " (parameters\n"
5853 " (declare (in) ivec4 x)\n"
5854 " (declare (in) ivec4 y))\n"
5855 " ())\n"
5856 " (signature bvec2\n"
5857 " (parameters\n"
5858 " (declare (in) bvec2 x)\n"
5859 " (declare (in) bvec2 y))\n"
5860 " ())\n"
5861 " (signature bvec3\n"
5862 " (parameters\n"
5863 " (declare (in) bvec3 x)\n"
5864 " (declare (in) bvec3 y))\n"
5865 " ())\n"
5866 " (signature bvec4\n"
5867 " (parameters\n"
5868 " (declare (in) bvec4 x)\n"
5869 " (declare (in) bvec4 y))\n"
5870 " ()))\n"
5871 "(function notEqual\n"
5872 " (signature bvec2\n"
5873 " (parameters\n"
5874 " (declare (in) vec2 x)\n"
5875 " (declare (in) vec2 y))\n"
5876 " ())\n"
5877 " (signature bvec3\n"
5878 " (parameters\n"
5879 " (declare (in) vec3 x)\n"
5880 " (declare (in) vec3 y))\n"
5881 " ())\n"
5882 " (signature bvec4\n"
5883 " (parameters\n"
5884 " (declare (in) vec4 x)\n"
5885 " (declare (in) vec4 y))\n"
5886 " ())\n"
5887 " (signature bvec2\n"
5888 " (parameters\n"
5889 " (declare (in) ivec2 x)\n"
5890 " (declare (in) ivec2 y))\n"
5891 " ())\n"
5892 " (signature bvec3\n"
5893 " (parameters\n"
5894 " (declare (in) ivec3 x)\n"
5895 " (declare (in) ivec3 y))\n"
5896 " ())\n"
5897 " (signature bvec4\n"
5898 " (parameters\n"
5899 " (declare (in) ivec4 x)\n"
5900 " (declare (in) ivec4 y))\n"
5901 " ())\n"
5902 " (signature bvec2\n"
5903 " (parameters\n"
5904 " (declare (in) bvec2 x)\n"
5905 " (declare (in) bvec2 y))\n"
5906 " ())\n"
5907 " (signature bvec3\n"
5908 " (parameters\n"
5909 " (declare (in) bvec3 x)\n"
5910 " (declare (in) bvec3 y))\n"
5911 " ())\n"
5912 " (signature bvec4\n"
5913 " (parameters\n"
5914 " (declare (in) bvec4 x)\n"
5915 " (declare (in) bvec4 y))\n"
5916 " ()))\n"
5917 "(function any\n"
5918 " (signature bool\n"
5919 " (parameters\n"
5920 " (declare (in) bvec2 x))\n"
5921 " ())\n"
5922 " (signature bool\n"
5923 " (parameters\n"
5924 " (declare (in) bvec3 x))\n"
5925 " ())\n"
5926 " (signature bool\n"
5927 " (parameters\n"
5928 " (declare (in) bvec4 x))\n"
5929 " ()))\n"
5930 "(function all\n"
5931 " (signature bool\n"
5932 " (parameters\n"
5933 " (declare (in) bvec2 x))\n"
5934 " ())\n"
5935 " (signature bool\n"
5936 " (parameters\n"
5937 " (declare (in) bvec3 x))\n"
5938 " ())\n"
5939 " (signature bool\n"
5940 " (parameters\n"
5941 " (declare (in) bvec4 x))\n"
5942 " ()))\n"
5943 "(function not\n"
5944 " (signature bvec2\n"
5945 " (parameters\n"
5946 " (declare (in) bvec2 x))\n"
5947 " ())\n"
5948 " (signature bvec3\n"
5949 " (parameters\n"
5950 " (declare (in) bvec3 x))\n"
5951 " ())\n"
5952 " (signature bvec4\n"
5953 " (parameters\n"
5954 " (declare (in) bvec4 x))\n"
5955 " ()))\n"
5956 "(function texture2D\n"
5957 " (signature vec4\n"
5958 " (parameters\n"
5959 " (declare (in) sampler2D sampler)\n"
5960 " (declare (in) vec2 coord))\n"
5961 " ())\n"
5962 " (signature vec4\n"
5963 " (parameters\n"
5964 " (declare (in) sampler2D sampler)\n"
5965 " (declare (in) vec2 coord)\n"
5966 " (declare (in) float bias))\n"
5967 " ()))\n"
5968 "(function texture2DProj\n"
5969 " (signature vec4\n"
5970 " (parameters\n"
5971 " (declare (in) sampler2D sampler)\n"
5972 " (declare (in) vec3 coord))\n"
5973 " ())\n"
5974 " (signature vec4\n"
5975 " (parameters\n"
5976 " (declare (in) sampler2D sampler)\n"
5977 " (declare (in) vec4 coord))\n"
5978 " ())\n"
5979 " (signature vec4\n"
5980 " (parameters\n"
5981 " (declare (in) sampler2D sampler)\n"
5982 " (declare (in) vec3 coord)\n"
5983 " (declare (in) float bias))\n"
5984 " ())\n"
5985 " (signature vec4\n"
5986 " (parameters\n"
5987 " (declare (in) sampler2D sampler)\n"
5988 " (declare (in) vec4 coord)\n"
5989 " (declare (in) float bias))\n"
5990 " ()))\n"
5991 "(function textureCube\n"
5992 " (signature vec4\n"
5993 " (parameters\n"
5994 " (declare (in) samplerCube sampler)\n"
5995 " (declare (in) vec3 coord))\n"
5996 " ())\n"
5997 " (signature vec4\n"
5998 " (parameters\n"
5999 " (declare (in) samplerCube sampler)\n"
6000 " (declare (in) vec3 coord)\n"
6001 " (declare (in) float bias))\n"
6002 " ())))"
6003;
6004static const char *functions_for_100_frag [] = {
6005 builtin_abs,
6006 builtin_acos,
6007 builtin_all,
6008 builtin_any,
6009 builtin_asin,
6010 builtin_atan,
6011 builtin_ceil,
6012 builtin_clamp,
6013 builtin_cos,
6014 builtin_cross,
6015 builtin_degrees,
6016 builtin_distance,
6017 builtin_dot,
6018 builtin_equal,
6019 builtin_exp,
6020 builtin_exp2,
6021 builtin_faceforward,
6022 builtin_floor,
6023 builtin_fract,
6024 builtin_greaterThan,
6025 builtin_greaterThanEqual,
6026 builtin_inversesqrt,
6027 builtin_length,
6028 builtin_lessThan,
6029 builtin_lessThanEqual,
6030 builtin_log,
6031 builtin_log2,
6032 builtin_matrixCompMult,
6033 builtin_max,
6034 builtin_min,
6035 builtin_mix,
6036 builtin_mod,
6037 builtin_normalize,
6038 builtin_not,
6039 builtin_notEqual,
6040 builtin_pow,
6041 builtin_radians,
6042 builtin_reflect,
6043 builtin_refract,
6044 builtin_sign,
6045 builtin_sin,
6046 builtin_smoothstep,
6047 builtin_sqrt,
6048 builtin_step,
6049 builtin_tan,
6050 builtin_texture2D,
6051 builtin_texture2DProj,
6052 builtin_textureCube,
6053};
Kenneth Graunke3f5fde52010-10-21 11:43:39 -07006054static const char prototypes_for_100_vert[] =
Kenneth Graunke116dc672010-08-16 13:04:09 -07006055 "(\n"
6056 "(function radians\n"
6057 " (signature float\n"
6058 " (parameters\n"
6059 " (declare (in) float degrees))\n"
6060 " ())\n"
6061 " (signature vec2\n"
6062 " (parameters\n"
6063 " (declare (in) vec2 degrees))\n"
6064 " ())\n"
6065 " (signature vec3\n"
6066 " (parameters\n"
6067 " (declare (in) vec3 degrees))\n"
6068 " ())\n"
6069 " (signature vec4\n"
6070 " (parameters\n"
6071 " (declare (in) vec4 degrees))\n"
6072 " ()))\n"
6073 "(function degrees\n"
6074 " (signature float\n"
6075 " (parameters\n"
6076 " (declare (in) float radians))\n"
6077 " ())\n"
6078 " (signature vec2\n"
6079 " (parameters\n"
6080 " (declare (in) vec2 radians))\n"
6081 " ())\n"
6082 " (signature vec3\n"
6083 " (parameters\n"
6084 " (declare (in) vec3 radians))\n"
6085 " ())\n"
6086 " (signature vec4\n"
6087 " (parameters\n"
6088 " (declare (in) vec4 radians))\n"
6089 " ()))\n"
6090 "(function sin\n"
6091 " (signature float\n"
6092 " (parameters\n"
6093 " (declare (in) float angle))\n"
6094 " ())\n"
6095 " (signature vec2\n"
6096 " (parameters\n"
6097 " (declare (in) vec2 angle))\n"
6098 " ())\n"
6099 " (signature vec3\n"
6100 " (parameters\n"
6101 " (declare (in) vec3 angle))\n"
6102 " ())\n"
6103 " (signature vec4\n"
6104 " (parameters\n"
6105 " (declare (in) vec4 angle))\n"
6106 " ()))\n"
6107 "(function cos\n"
6108 " (signature float\n"
6109 " (parameters\n"
6110 " (declare (in) float angle))\n"
6111 " ())\n"
6112 " (signature vec2\n"
6113 " (parameters\n"
6114 " (declare (in) vec2 angle))\n"
6115 " ())\n"
6116 " (signature vec3\n"
6117 " (parameters\n"
6118 " (declare (in) vec3 angle))\n"
6119 " ())\n"
6120 " (signature vec4\n"
6121 " (parameters\n"
6122 " (declare (in) vec4 angle))\n"
6123 " ()))\n"
6124 "(function tan\n"
6125 " (signature float\n"
6126 " (parameters\n"
6127 " (declare (in) float angle))\n"
6128 " ())\n"
6129 " (signature vec2\n"
6130 " (parameters\n"
6131 " (declare (in) vec2 angle))\n"
6132 " ())\n"
6133 " (signature vec3\n"
6134 " (parameters\n"
6135 " (declare (in) vec3 angle))\n"
6136 " ())\n"
6137 " (signature vec4\n"
6138 " (parameters\n"
6139 " (declare (in) vec4 angle))\n"
6140 " ()))\n"
6141 "(function asin\n"
6142 " (signature float\n"
6143 " (parameters\n"
6144 " (declare (in) float angle))\n"
6145 " ())\n"
6146 " (signature vec2\n"
6147 " (parameters\n"
6148 " (declare (in) vec2 angle))\n"
6149 " ())\n"
6150 " (signature vec3\n"
6151 " (parameters\n"
6152 " (declare (in) vec3 angle))\n"
6153 " ())\n"
6154 " (signature vec4\n"
6155 " (parameters\n"
6156 " (declare (in) vec4 angle))\n"
6157 " ()))\n"
6158 "(function acos\n"
6159 " (signature float\n"
6160 " (parameters\n"
6161 " (declare (in) float angle))\n"
6162 " ())\n"
6163 " (signature vec2\n"
6164 " (parameters\n"
6165 " (declare (in) vec2 angle))\n"
6166 " ())\n"
6167 " (signature vec3\n"
6168 " (parameters\n"
6169 " (declare (in) vec3 angle))\n"
6170 " ())\n"
6171 " (signature vec4\n"
6172 " (parameters\n"
6173 " (declare (in) vec4 angle))\n"
6174 " ()))\n"
6175 "(function atan\n"
6176 " (signature float\n"
6177 " (parameters\n"
6178 " (declare (in) float y)\n"
6179 " (declare (in) float x))\n"
6180 " ())\n"
6181 " (signature vec2\n"
6182 " (parameters\n"
6183 " (declare (in) vec2 y)\n"
6184 " (declare (in) vec2 x))\n"
6185 " ())\n"
6186 " (signature vec3\n"
6187 " (parameters\n"
6188 " (declare (in) vec3 y)\n"
6189 " (declare (in) vec3 x))\n"
6190 " ())\n"
6191 " (signature vec4\n"
6192 " (parameters\n"
6193 " (declare (in) vec4 y)\n"
6194 " (declare (in) vec4 x))\n"
6195 " ())\n"
6196 " (signature float\n"
6197 " (parameters\n"
6198 " (declare (in) float y_over_x))\n"
6199 " ())\n"
6200 " (signature vec2\n"
6201 " (parameters\n"
6202 " (declare (in) vec2 y_over_x))\n"
6203 " ())\n"
6204 " (signature vec3\n"
6205 " (parameters\n"
6206 " (declare (in) vec3 y_over_x))\n"
6207 " ())\n"
6208 " (signature vec4\n"
6209 " (parameters\n"
6210 " (declare (in) vec4 y_over_x))\n"
6211 " ()))\n"
6212 "(function pow\n"
6213 " (signature float\n"
6214 " (parameters\n"
6215 " (declare (in) float x)\n"
6216 " (declare (in) float y))\n"
6217 " ())\n"
6218 " (signature vec2\n"
6219 " (parameters\n"
6220 " (declare (in) vec2 x)\n"
6221 " (declare (in) vec2 y))\n"
6222 " ())\n"
6223 " (signature vec3\n"
6224 " (parameters\n"
6225 " (declare (in) vec3 x)\n"
6226 " (declare (in) vec3 y))\n"
6227 " ())\n"
6228 " (signature vec4\n"
6229 " (parameters\n"
6230 " (declare (in) vec4 x)\n"
6231 " (declare (in) vec4 y))\n"
6232 " ()))\n"
6233 "(function exp\n"
6234 " (signature float\n"
6235 " (parameters\n"
6236 " (declare (in) float x))\n"
6237 " ())\n"
6238 " (signature vec2\n"
6239 " (parameters\n"
6240 " (declare (in) vec2 x))\n"
6241 " ())\n"
6242 " (signature vec3\n"
6243 " (parameters\n"
6244 " (declare (in) vec3 x))\n"
6245 " ())\n"
6246 " (signature vec4\n"
6247 " (parameters\n"
6248 " (declare (in) vec4 x))\n"
6249 " ()))\n"
6250 "(function log\n"
6251 " (signature float\n"
6252 " (parameters\n"
6253 " (declare (in) float x))\n"
6254 " ())\n"
6255 " (signature vec2\n"
6256 " (parameters\n"
6257 " (declare (in) vec2 x))\n"
6258 " ())\n"
6259 " (signature vec3\n"
6260 " (parameters\n"
6261 " (declare (in) vec3 x))\n"
6262 " ())\n"
6263 " (signature vec4\n"
6264 " (parameters\n"
6265 " (declare (in) vec4 x))\n"
6266 " ()))\n"
6267 "(function exp2\n"
6268 " (signature float\n"
6269 " (parameters\n"
6270 " (declare (in) float x))\n"
6271 " ())\n"
6272 " (signature vec2\n"
6273 " (parameters\n"
6274 " (declare (in) vec2 x))\n"
6275 " ())\n"
6276 " (signature vec3\n"
6277 " (parameters\n"
6278 " (declare (in) vec3 x))\n"
6279 " ())\n"
6280 " (signature vec4\n"
6281 " (parameters\n"
6282 " (declare (in) vec4 x))\n"
6283 " ()))\n"
6284 "(function log2\n"
6285 " (signature float\n"
6286 " (parameters\n"
6287 " (declare (in) float x))\n"
6288 " ())\n"
6289 " (signature vec2\n"
6290 " (parameters\n"
6291 " (declare (in) vec2 x))\n"
6292 " ())\n"
6293 " (signature vec3\n"
6294 " (parameters\n"
6295 " (declare (in) vec3 x))\n"
6296 " ())\n"
6297 " (signature vec4\n"
6298 " (parameters\n"
6299 " (declare (in) vec4 x))\n"
6300 " ()))\n"
6301 "(function sqrt\n"
6302 " (signature float\n"
6303 " (parameters\n"
6304 " (declare (in) float x))\n"
6305 " ())\n"
6306 " (signature vec2\n"
6307 " (parameters\n"
6308 " (declare (in) vec2 x))\n"
6309 " ())\n"
6310 " (signature vec3\n"
6311 " (parameters\n"
6312 " (declare (in) vec3 x))\n"
6313 " ())\n"
6314 " (signature vec4\n"
6315 " (parameters\n"
6316 " (declare (in) vec4 x))\n"
6317 " ()))\n"
6318 "(function inversesqrt\n"
6319 " (signature float\n"
6320 " (parameters\n"
6321 " (declare (in) float x))\n"
6322 " ())\n"
6323 " (signature vec2\n"
6324 " (parameters\n"
6325 " (declare (in) vec2 x))\n"
6326 " ())\n"
6327 " (signature vec3\n"
6328 " (parameters\n"
6329 " (declare (in) vec3 x))\n"
6330 " ())\n"
6331 " (signature vec4\n"
6332 " (parameters\n"
6333 " (declare (in) vec4 x))\n"
6334 " ()))\n"
6335 "(function abs\n"
6336 " (signature float\n"
6337 " (parameters\n"
6338 " (declare (in) float x))\n"
6339 " ())\n"
6340 " (signature vec2\n"
6341 " (parameters\n"
6342 " (declare (in) vec2 x))\n"
6343 " ())\n"
6344 " (signature vec3\n"
6345 " (parameters\n"
6346 " (declare (in) vec3 x))\n"
6347 " ())\n"
6348 " (signature vec4\n"
6349 " (parameters\n"
6350 " (declare (in) vec4 x))\n"
6351 " ()))\n"
6352 "(function sign\n"
6353 " (signature float\n"
6354 " (parameters\n"
6355 " (declare (in) float x))\n"
6356 " ())\n"
6357 " (signature vec2\n"
6358 " (parameters\n"
6359 " (declare (in) vec2 x))\n"
6360 " ())\n"
6361 " (signature vec3\n"
6362 " (parameters\n"
6363 " (declare (in) vec3 x))\n"
6364 " ())\n"
6365 " (signature vec4\n"
6366 " (parameters\n"
6367 " (declare (in) vec4 x))\n"
6368 " ()))\n"
6369 "(function floor\n"
6370 " (signature float\n"
6371 " (parameters\n"
6372 " (declare (in) float x))\n"
6373 " ())\n"
6374 " (signature vec2\n"
6375 " (parameters\n"
6376 " (declare (in) vec2 x))\n"
6377 " ())\n"
6378 " (signature vec3\n"
6379 " (parameters\n"
6380 " (declare (in) vec3 x))\n"
6381 " ())\n"
6382 " (signature vec4\n"
6383 " (parameters\n"
6384 " (declare (in) vec4 x))\n"
6385 " ()))\n"
6386 "(function ceil\n"
6387 " (signature float\n"
6388 " (parameters\n"
6389 " (declare (in) float x))\n"
6390 " ())\n"
6391 " (signature vec2\n"
6392 " (parameters\n"
6393 " (declare (in) vec2 x))\n"
6394 " ())\n"
6395 " (signature vec3\n"
6396 " (parameters\n"
6397 " (declare (in) vec3 x))\n"
6398 " ())\n"
6399 " (signature vec4\n"
6400 " (parameters\n"
6401 " (declare (in) vec4 x))\n"
6402 " ()))\n"
6403 "(function fract\n"
6404 " (signature float\n"
6405 " (parameters\n"
6406 " (declare (in) float x))\n"
6407 " ())\n"
6408 " (signature vec2\n"
6409 " (parameters\n"
6410 " (declare (in) vec2 x))\n"
6411 " ())\n"
6412 " (signature vec3\n"
6413 " (parameters\n"
6414 " (declare (in) vec3 x))\n"
6415 " ())\n"
6416 " (signature vec4\n"
6417 " (parameters\n"
6418 " (declare (in) vec4 x))\n"
6419 " ()))\n"
6420 "(function mod\n"
6421 " (signature float\n"
6422 " (parameters\n"
6423 " (declare (in) float x)\n"
6424 " (declare (in) float y))\n"
6425 " ())\n"
6426 " (signature vec2\n"
6427 " (parameters\n"
6428 " (declare (in) vec2 x)\n"
6429 " (declare (in) float y))\n"
6430 " ())\n"
6431 " (signature vec3\n"
6432 " (parameters\n"
6433 " (declare (in) vec3 x)\n"
6434 " (declare (in) float y))\n"
6435 " ())\n"
6436 " (signature vec4\n"
6437 " (parameters\n"
6438 " (declare (in) vec4 x)\n"
6439 " (declare (in) float y))\n"
6440 " ())\n"
6441 " (signature vec2\n"
6442 " (parameters\n"
6443 " (declare (in) vec2 x)\n"
6444 " (declare (in) vec2 y))\n"
6445 " ())\n"
6446 " (signature vec3\n"
6447 " (parameters\n"
6448 " (declare (in) vec3 x)\n"
6449 " (declare (in) vec3 y))\n"
6450 " ())\n"
6451 " (signature vec4\n"
6452 " (parameters\n"
6453 " (declare (in) vec4 x)\n"
6454 " (declare (in) vec4 y))\n"
6455 " ()))\n"
6456 "(function min\n"
6457 " (signature float\n"
6458 " (parameters\n"
6459 " (declare (in) float x)\n"
6460 " (declare (in) float y))\n"
6461 " ())\n"
6462 " (signature vec2\n"
6463 " (parameters\n"
6464 " (declare (in) vec2 x)\n"
6465 " (declare (in) vec2 y))\n"
6466 " ())\n"
6467 " (signature vec3\n"
6468 " (parameters\n"
6469 " (declare (in) vec3 x)\n"
6470 " (declare (in) vec3 y))\n"
6471 " ())\n"
6472 " (signature vec4\n"
6473 " (parameters\n"
6474 " (declare (in) vec4 x)\n"
6475 " (declare (in) vec4 y))\n"
6476 " ())\n"
6477 " (signature vec2\n"
6478 " (parameters\n"
6479 " (declare (in) vec2 x)\n"
6480 " (declare (in) float y))\n"
6481 " ())\n"
6482 " (signature vec3\n"
6483 " (parameters\n"
6484 " (declare (in) vec3 x)\n"
6485 " (declare (in) float y))\n"
6486 " ())\n"
6487 " (signature vec4\n"
6488 " (parameters\n"
6489 " (declare (in) vec4 x)\n"
6490 " (declare (in) float y))\n"
6491 " ()))\n"
6492 "(function max\n"
6493 " (signature float\n"
6494 " (parameters\n"
6495 " (declare (in) float x)\n"
6496 " (declare (in) float y))\n"
6497 " ())\n"
6498 " (signature vec2\n"
6499 " (parameters\n"
6500 " (declare (in) vec2 x)\n"
6501 " (declare (in) vec2 y))\n"
6502 " ())\n"
6503 " (signature vec3\n"
6504 " (parameters\n"
6505 " (declare (in) vec3 x)\n"
6506 " (declare (in) vec3 y))\n"
6507 " ())\n"
6508 " (signature vec4\n"
6509 " (parameters\n"
6510 " (declare (in) vec4 x)\n"
6511 " (declare (in) vec4 y))\n"
6512 " ())\n"
6513 " (signature vec2\n"
6514 " (parameters\n"
6515 " (declare (in) vec2 x)\n"
6516 " (declare (in) float y))\n"
6517 " ())\n"
6518 " (signature vec3\n"
6519 " (parameters\n"
6520 " (declare (in) vec3 x)\n"
6521 " (declare (in) float y))\n"
6522 " ())\n"
6523 " (signature vec4\n"
6524 " (parameters\n"
6525 " (declare (in) vec4 x)\n"
6526 " (declare (in) float y))\n"
6527 " ()))\n"
6528 "(function clamp\n"
6529 " (signature float\n"
6530 " (parameters\n"
6531 " (declare (in) float x)\n"
6532 " (declare (in) float minVal)\n"
6533 " (declare (in) float maxVal))\n"
6534 " ())\n"
6535 " (signature vec2\n"
6536 " (parameters\n"
6537 " (declare (in) vec2 x)\n"
6538 " (declare (in) vec2 minVal)\n"
6539 " (declare (in) vec2 maxVal))\n"
6540 " ())\n"
6541 " (signature vec3\n"
6542 " (parameters\n"
6543 " (declare (in) vec3 x)\n"
6544 " (declare (in) vec3 minVal)\n"
6545 " (declare (in) vec3 maxVal))\n"
6546 " ())\n"
6547 " (signature vec4\n"
6548 " (parameters\n"
6549 " (declare (in) vec4 x)\n"
6550 " (declare (in) vec4 minVal)\n"
6551 " (declare (in) vec4 maxVal))\n"
6552 " ())\n"
6553 " (signature vec2\n"
6554 " (parameters\n"
6555 " (declare (in) vec2 x)\n"
6556 " (declare (in) float minVal)\n"
6557 " (declare (in) float maxVal))\n"
6558 " ())\n"
6559 " (signature vec3\n"
6560 " (parameters\n"
6561 " (declare (in) vec3 x)\n"
6562 " (declare (in) float minVal)\n"
6563 " (declare (in) float maxVal))\n"
6564 " ())\n"
6565 " (signature vec4\n"
6566 " (parameters\n"
6567 " (declare (in) vec4 x)\n"
6568 " (declare (in) float minVal)\n"
6569 " (declare (in) float maxVal))\n"
6570 " ()))\n"
6571 "(function mix\n"
6572 " (signature float\n"
6573 " (parameters\n"
6574 " (declare (in) float x)\n"
6575 " (declare (in) float y)\n"
6576 " (declare (in) float a))\n"
6577 " ())\n"
6578 " (signature vec2\n"
6579 " (parameters\n"
6580 " (declare (in) vec2 x)\n"
6581 " (declare (in) vec2 y)\n"
6582 " (declare (in) vec2 a))\n"
6583 " ())\n"
6584 " (signature vec3\n"
6585 " (parameters\n"
6586 " (declare (in) vec3 x)\n"
6587 " (declare (in) vec3 y)\n"
6588 " (declare (in) vec3 a))\n"
6589 " ())\n"
6590 " (signature vec4\n"
6591 " (parameters\n"
6592 " (declare (in) vec4 x)\n"
6593 " (declare (in) vec4 y)\n"
6594 " (declare (in) vec4 a))\n"
6595 " ())\n"
6596 " (signature vec2\n"
6597 " (parameters\n"
6598 " (declare (in) vec2 x)\n"
6599 " (declare (in) vec2 y)\n"
6600 " (declare (in) float a))\n"
6601 " ())\n"
6602 " (signature vec3\n"
6603 " (parameters\n"
6604 " (declare (in) vec3 x)\n"
6605 " (declare (in) vec3 y)\n"
6606 " (declare (in) float a))\n"
6607 " ())\n"
6608 " (signature vec4\n"
6609 " (parameters\n"
6610 " (declare (in) vec4 x)\n"
6611 " (declare (in) vec4 y)\n"
6612 " (declare (in) float a))\n"
6613 " ()))\n"
6614 "(function step\n"
6615 " (signature float\n"
6616 " (parameters\n"
6617 " (declare (in) float edge)\n"
6618 " (declare (in) float x))\n"
6619 " ())\n"
6620 " (signature vec2\n"
6621 " (parameters\n"
6622 " (declare (in) vec2 edge)\n"
6623 " (declare (in) vec2 x))\n"
6624 " ())\n"
6625 " (signature vec3\n"
6626 " (parameters\n"
6627 " (declare (in) vec3 edge)\n"
6628 " (declare (in) vec3 x))\n"
6629 " ())\n"
6630 " (signature vec4\n"
6631 " (parameters\n"
6632 " (declare (in) vec4 edge)\n"
6633 " (declare (in) vec4 x))\n"
6634 " ())\n"
6635 " (signature vec2\n"
6636 " (parameters\n"
6637 " (declare (in) float edge)\n"
6638 " (declare (in) vec2 x))\n"
6639 " ())\n"
6640 " (signature vec3\n"
6641 " (parameters\n"
6642 " (declare (in) float edge)\n"
6643 " (declare (in) vec3 x))\n"
6644 " ())\n"
6645 " (signature vec4\n"
6646 " (parameters\n"
6647 " (declare (in) float edge)\n"
6648 " (declare (in) vec4 x))\n"
6649 " ()))\n"
6650 "(function smoothstep\n"
6651 " (signature float\n"
6652 " (parameters\n"
6653 " (declare (in) float edge0)\n"
6654 " (declare (in) float edge1)\n"
6655 " (declare (in) float x))\n"
6656 " ())\n"
6657 " (signature vec2\n"
6658 " (parameters\n"
6659 " (declare (in) vec2 edge0)\n"
6660 " (declare (in) vec2 edge1)\n"
6661 " (declare (in) vec2 x))\n"
6662 " ())\n"
6663 " (signature vec3\n"
6664 " (parameters\n"
6665 " (declare (in) vec3 edge0)\n"
6666 " (declare (in) vec3 edge1)\n"
6667 " (declare (in) vec3 x))\n"
6668 " ())\n"
6669 " (signature vec4\n"
6670 " (parameters\n"
6671 " (declare (in) vec4 edge0)\n"
6672 " (declare (in) vec4 edge1)\n"
6673 " (declare (in) vec4 x))\n"
6674 " ())\n"
6675 " (signature vec2\n"
6676 " (parameters\n"
6677 " (declare (in) float edge0)\n"
6678 " (declare (in) float edge1)\n"
6679 " (declare (in) vec2 x))\n"
6680 " ())\n"
6681 " (signature vec3\n"
6682 " (parameters\n"
6683 " (declare (in) float edge0)\n"
6684 " (declare (in) float edge1)\n"
6685 " (declare (in) vec3 x))\n"
6686 " ())\n"
6687 " (signature vec4\n"
6688 " (parameters\n"
6689 " (declare (in) float edge0)\n"
6690 " (declare (in) float edge1)\n"
6691 " (declare (in) vec4 x))\n"
6692 " ()))\n"
6693 "(function length\n"
6694 " (signature float\n"
6695 " (parameters\n"
6696 " (declare (in) float x))\n"
6697 " ())\n"
6698 " (signature float\n"
6699 " (parameters\n"
6700 " (declare (in) vec2 x))\n"
6701 " ())\n"
6702 " (signature float\n"
6703 " (parameters\n"
6704 " (declare (in) vec3 x))\n"
6705 " ())\n"
6706 " (signature float\n"
6707 " (parameters\n"
6708 " (declare (in) vec4 x))\n"
6709 " ()))\n"
6710 "(function distance\n"
6711 " (signature float\n"
6712 " (parameters\n"
6713 " (declare (in) float p0)\n"
6714 " (declare (in) float p1))\n"
6715 " ())\n"
6716 " (signature float\n"
6717 " (parameters\n"
6718 " (declare (in) vec2 p0)\n"
6719 " (declare (in) vec2 p1))\n"
6720 " ())\n"
6721 " (signature float\n"
6722 " (parameters\n"
6723 " (declare (in) vec3 p0)\n"
6724 " (declare (in) vec3 p1))\n"
6725 " ())\n"
6726 " (signature float\n"
6727 " (parameters\n"
6728 " (declare (in) vec4 p0)\n"
6729 " (declare (in) vec4 p1))\n"
6730 " ()))\n"
6731 "(function dot\n"
6732 " (signature float\n"
6733 " (parameters\n"
6734 " (declare (in) float x)\n"
6735 " (declare (in) float y))\n"
6736 " ())\n"
6737 " (signature float\n"
6738 " (parameters\n"
6739 " (declare (in) vec2 x)\n"
6740 " (declare (in) vec2 y))\n"
6741 " ())\n"
6742 " (signature float\n"
6743 " (parameters\n"
6744 " (declare (in) vec3 x)\n"
6745 " (declare (in) vec3 y))\n"
6746 " ())\n"
6747 " (signature float\n"
6748 " (parameters\n"
6749 " (declare (in) vec4 x)\n"
6750 " (declare (in) vec4 y))\n"
6751 " ()))\n"
6752 "(function cross\n"
6753 " (signature vec3\n"
6754 " (parameters\n"
6755 " (declare (in) vec3 x)\n"
6756 " (declare (in) vec3 y))\n"
6757 " ()))\n"
6758 "(function normalize\n"
6759 " (signature float\n"
6760 " (parameters\n"
6761 " (declare (in) float x))\n"
6762 " ())\n"
6763 " (signature vec2\n"
6764 " (parameters\n"
6765 " (declare (in) vec2 x))\n"
6766 " ())\n"
6767 " (signature vec3\n"
6768 " (parameters\n"
6769 " (declare (in) vec3 x))\n"
6770 " ())\n"
6771 " (signature vec4\n"
6772 " (parameters\n"
6773 " (declare (in) vec4 x))\n"
6774 " ()))\n"
6775 "(function faceforward\n"
6776 " (signature float\n"
6777 " (parameters\n"
6778 " (declare (in) float N)\n"
6779 " (declare (in) float I)\n"
6780 " (declare (in) float Nref))\n"
6781 " ())\n"
6782 " (signature vec2\n"
6783 " (parameters\n"
6784 " (declare (in) vec2 N)\n"
6785 " (declare (in) vec2 I)\n"
6786 " (declare (in) vec2 Nref))\n"
6787 " ())\n"
6788 " (signature vec3\n"
6789 " (parameters\n"
6790 " (declare (in) vec3 N)\n"
6791 " (declare (in) vec3 I)\n"
6792 " (declare (in) vec3 Nref))\n"
6793 " ())\n"
6794 " (signature vec4\n"
6795 " (parameters\n"
6796 " (declare (in) vec4 N)\n"
6797 " (declare (in) vec4 I)\n"
6798 " (declare (in) vec4 Nref))\n"
6799 " ()))\n"
6800 "(function reflect\n"
6801 " (signature float\n"
6802 " (parameters\n"
6803 " (declare (in) float I)\n"
6804 " (declare (in) float N))\n"
6805 " ())\n"
6806 " (signature vec2\n"
6807 " (parameters\n"
6808 " (declare (in) vec2 I)\n"
6809 " (declare (in) vec2 N))\n"
6810 " ())\n"
6811 " (signature vec3\n"
6812 " (parameters\n"
6813 " (declare (in) vec3 I)\n"
6814 " (declare (in) vec3 N))\n"
6815 " ())\n"
6816 " (signature vec4\n"
6817 " (parameters\n"
6818 " (declare (in) vec4 I)\n"
6819 " (declare (in) vec4 N))\n"
6820 " ()))\n"
6821 "(function refract\n"
6822 " (signature float\n"
6823 " (parameters\n"
6824 " (declare (in) float I)\n"
6825 " (declare (in) float N)\n"
6826 " (declare (in) float eta))\n"
6827 " ())\n"
6828 " (signature vec2\n"
6829 " (parameters\n"
6830 " (declare (in) vec2 I)\n"
6831 " (declare (in) vec2 N)\n"
6832 " (declare (in) float eta))\n"
6833 " ())\n"
6834 " (signature vec3\n"
6835 " (parameters\n"
6836 " (declare (in) vec3 I)\n"
6837 " (declare (in) vec3 N)\n"
6838 " (declare (in) float eta))\n"
6839 " ())\n"
6840 " (signature vec4\n"
6841 " (parameters\n"
6842 " (declare (in) vec4 I)\n"
6843 " (declare (in) vec4 N)\n"
6844 " (declare (in) float eta))\n"
6845 " ()))\n"
6846 "(function matrixCompMult\n"
6847 " (signature mat2\n"
6848 " (parameters\n"
6849 " (declare (in) mat2 x)\n"
6850 " (declare (in) mat2 y))\n"
6851 " ())\n"
6852 " (signature mat3\n"
6853 " (parameters\n"
6854 " (declare (in) mat3 x)\n"
6855 " (declare (in) mat3 y))\n"
6856 " ())\n"
6857 " (signature mat4\n"
6858 " (parameters\n"
6859 " (declare (in) mat4 x)\n"
6860 " (declare (in) mat4 y))\n"
6861 " ()))\n"
6862 "(function lessThan\n"
6863 " (signature bvec2\n"
6864 " (parameters\n"
6865 " (declare (in) vec2 x)\n"
6866 " (declare (in) vec2 y))\n"
6867 " ())\n"
6868 " (signature bvec3\n"
6869 " (parameters\n"
6870 " (declare (in) vec3 x)\n"
6871 " (declare (in) vec3 y))\n"
6872 " ())\n"
6873 " (signature bvec4\n"
6874 " (parameters\n"
6875 " (declare (in) vec4 x)\n"
6876 " (declare (in) vec4 y))\n"
6877 " ())\n"
6878 " (signature bvec2\n"
6879 " (parameters\n"
6880 " (declare (in) ivec2 x)\n"
6881 " (declare (in) ivec2 y))\n"
6882 " ())\n"
6883 " (signature bvec3\n"
6884 " (parameters\n"
6885 " (declare (in) ivec3 x)\n"
6886 " (declare (in) ivec3 y))\n"
6887 " ())\n"
6888 " (signature bvec4\n"
6889 " (parameters\n"
6890 " (declare (in) ivec4 x)\n"
6891 " (declare (in) ivec4 y))\n"
6892 " ()))\n"
6893 "(function lessThanEqual\n"
6894 " (signature bvec2\n"
6895 " (parameters\n"
6896 " (declare (in) vec2 x)\n"
6897 " (declare (in) vec2 y))\n"
6898 " ())\n"
6899 " (signature bvec3\n"
6900 " (parameters\n"
6901 " (declare (in) vec3 x)\n"
6902 " (declare (in) vec3 y))\n"
6903 " ())\n"
6904 " (signature bvec4\n"
6905 " (parameters\n"
6906 " (declare (in) vec4 x)\n"
6907 " (declare (in) vec4 y))\n"
6908 " ())\n"
6909 " (signature bvec2\n"
6910 " (parameters\n"
6911 " (declare (in) ivec2 x)\n"
6912 " (declare (in) ivec2 y))\n"
6913 " ())\n"
6914 " (signature bvec3\n"
6915 " (parameters\n"
6916 " (declare (in) ivec3 x)\n"
6917 " (declare (in) ivec3 y))\n"
6918 " ())\n"
6919 " (signature bvec4\n"
6920 " (parameters\n"
6921 " (declare (in) ivec4 x)\n"
6922 " (declare (in) ivec4 y))\n"
6923 " ()))\n"
6924 "(function greaterThan\n"
6925 " (signature bvec2\n"
6926 " (parameters\n"
6927 " (declare (in) vec2 x)\n"
6928 " (declare (in) vec2 y))\n"
6929 " ())\n"
6930 " (signature bvec3\n"
6931 " (parameters\n"
6932 " (declare (in) vec3 x)\n"
6933 " (declare (in) vec3 y))\n"
6934 " ())\n"
6935 " (signature bvec4\n"
6936 " (parameters\n"
6937 " (declare (in) vec4 x)\n"
6938 " (declare (in) vec4 y))\n"
6939 " ())\n"
6940 " (signature bvec2\n"
6941 " (parameters\n"
6942 " (declare (in) ivec2 x)\n"
6943 " (declare (in) ivec2 y))\n"
6944 " ())\n"
6945 " (signature bvec3\n"
6946 " (parameters\n"
6947 " (declare (in) ivec3 x)\n"
6948 " (declare (in) ivec3 y))\n"
6949 " ())\n"
6950 " (signature bvec4\n"
6951 " (parameters\n"
6952 " (declare (in) ivec4 x)\n"
6953 " (declare (in) ivec4 y))\n"
6954 " ()))\n"
6955 "(function greaterThanEqual\n"
6956 " (signature bvec2\n"
6957 " (parameters\n"
6958 " (declare (in) vec2 x)\n"
6959 " (declare (in) vec2 y))\n"
6960 " ())\n"
6961 " (signature bvec3\n"
6962 " (parameters\n"
6963 " (declare (in) vec3 x)\n"
6964 " (declare (in) vec3 y))\n"
6965 " ())\n"
6966 " (signature bvec4\n"
6967 " (parameters\n"
6968 " (declare (in) vec4 x)\n"
6969 " (declare (in) vec4 y))\n"
6970 " ())\n"
6971 " (signature bvec2\n"
6972 " (parameters\n"
6973 " (declare (in) ivec2 x)\n"
6974 " (declare (in) ivec2 y))\n"
6975 " ())\n"
6976 " (signature bvec3\n"
6977 " (parameters\n"
6978 " (declare (in) ivec3 x)\n"
6979 " (declare (in) ivec3 y))\n"
6980 " ())\n"
6981 " (signature bvec4\n"
6982 " (parameters\n"
6983 " (declare (in) ivec4 x)\n"
6984 " (declare (in) ivec4 y))\n"
6985 " ()))\n"
6986 "(function equal\n"
6987 " (signature bvec2\n"
6988 " (parameters\n"
6989 " (declare (in) vec2 x)\n"
6990 " (declare (in) vec2 y))\n"
6991 " ())\n"
6992 " (signature bvec3\n"
6993 " (parameters\n"
6994 " (declare (in) vec3 x)\n"
6995 " (declare (in) vec3 y))\n"
6996 " ())\n"
6997 " (signature bvec4\n"
6998 " (parameters\n"
6999 " (declare (in) vec4 x)\n"
7000 " (declare (in) vec4 y))\n"
7001 " ())\n"
7002 " (signature bvec2\n"
7003 " (parameters\n"
7004 " (declare (in) ivec2 x)\n"
7005 " (declare (in) ivec2 y))\n"
7006 " ())\n"
7007 " (signature bvec3\n"
7008 " (parameters\n"
7009 " (declare (in) ivec3 x)\n"
7010 " (declare (in) ivec3 y))\n"
7011 " ())\n"
7012 " (signature bvec4\n"
7013 " (parameters\n"
7014 " (declare (in) ivec4 x)\n"
7015 " (declare (in) ivec4 y))\n"
7016 " ())\n"
7017 " (signature bvec2\n"
7018 " (parameters\n"
7019 " (declare (in) bvec2 x)\n"
7020 " (declare (in) bvec2 y))\n"
7021 " ())\n"
7022 " (signature bvec3\n"
7023 " (parameters\n"
7024 " (declare (in) bvec3 x)\n"
7025 " (declare (in) bvec3 y))\n"
7026 " ())\n"
7027 " (signature bvec4\n"
7028 " (parameters\n"
7029 " (declare (in) bvec4 x)\n"
7030 " (declare (in) bvec4 y))\n"
7031 " ()))\n"
7032 "(function notEqual\n"
7033 " (signature bvec2\n"
7034 " (parameters\n"
7035 " (declare (in) vec2 x)\n"
7036 " (declare (in) vec2 y))\n"
7037 " ())\n"
7038 " (signature bvec3\n"
7039 " (parameters\n"
7040 " (declare (in) vec3 x)\n"
7041 " (declare (in) vec3 y))\n"
7042 " ())\n"
7043 " (signature bvec4\n"
7044 " (parameters\n"
7045 " (declare (in) vec4 x)\n"
7046 " (declare (in) vec4 y))\n"
7047 " ())\n"
7048 " (signature bvec2\n"
7049 " (parameters\n"
7050 " (declare (in) ivec2 x)\n"
7051 " (declare (in) ivec2 y))\n"
7052 " ())\n"
7053 " (signature bvec3\n"
7054 " (parameters\n"
7055 " (declare (in) ivec3 x)\n"
7056 " (declare (in) ivec3 y))\n"
7057 " ())\n"
7058 " (signature bvec4\n"
7059 " (parameters\n"
7060 " (declare (in) ivec4 x)\n"
7061 " (declare (in) ivec4 y))\n"
7062 " ())\n"
7063 " (signature bvec2\n"
7064 " (parameters\n"
7065 " (declare (in) bvec2 x)\n"
7066 " (declare (in) bvec2 y))\n"
7067 " ())\n"
7068 " (signature bvec3\n"
7069 " (parameters\n"
7070 " (declare (in) bvec3 x)\n"
7071 " (declare (in) bvec3 y))\n"
7072 " ())\n"
7073 " (signature bvec4\n"
7074 " (parameters\n"
7075 " (declare (in) bvec4 x)\n"
7076 " (declare (in) bvec4 y))\n"
7077 " ()))\n"
7078 "(function any\n"
7079 " (signature bool\n"
7080 " (parameters\n"
7081 " (declare (in) bvec2 x))\n"
7082 " ())\n"
7083 " (signature bool\n"
7084 " (parameters\n"
7085 " (declare (in) bvec3 x))\n"
7086 " ())\n"
7087 " (signature bool\n"
7088 " (parameters\n"
7089 " (declare (in) bvec4 x))\n"
7090 " ()))\n"
7091 "(function all\n"
7092 " (signature bool\n"
7093 " (parameters\n"
7094 " (declare (in) bvec2 x))\n"
7095 " ())\n"
7096 " (signature bool\n"
7097 " (parameters\n"
7098 " (declare (in) bvec3 x))\n"
7099 " ())\n"
7100 " (signature bool\n"
7101 " (parameters\n"
7102 " (declare (in) bvec4 x))\n"
7103 " ()))\n"
7104 "(function not\n"
7105 " (signature bvec2\n"
7106 " (parameters\n"
7107 " (declare (in) bvec2 x))\n"
7108 " ())\n"
7109 " (signature bvec3\n"
7110 " (parameters\n"
7111 " (declare (in) bvec3 x))\n"
7112 " ())\n"
7113 " (signature bvec4\n"
7114 " (parameters\n"
7115 " (declare (in) bvec4 x))\n"
7116 " ()))\n"
7117 "(function texture2D\n"
7118 " (signature vec4\n"
7119 " (parameters\n"
7120 " (declare (in) sampler2D sampler)\n"
7121 " (declare (in) vec2 coord))\n"
7122 " ()))\n"
7123 "(function texture2DProj\n"
7124 " (signature vec4\n"
7125 " (parameters\n"
7126 " (declare (in) sampler2D sampler)\n"
7127 " (declare (in) vec3 coord))\n"
7128 " ())\n"
7129 " (signature vec4\n"
7130 " (parameters\n"
7131 " (declare (in) sampler2D sampler)\n"
7132 " (declare (in) vec4 coord))\n"
7133 " ()))\n"
7134 "(function texture2DLod\n"
7135 " (signature vec4\n"
7136 " (parameters\n"
7137 " (declare (in) sampler2D sampler)\n"
7138 " (declare (in) vec2 coord)\n"
7139 " (declare (in) float lod))\n"
7140 " ()))\n"
7141 "(function texture2DProjLod\n"
7142 " (signature vec4\n"
7143 " (parameters\n"
7144 " (declare (in) sampler2D sampler)\n"
7145 " (declare (in) vec3 coord)\n"
7146 " (declare (in) float lod))\n"
7147 " ())\n"
7148 " (signature vec4\n"
7149 " (parameters\n"
7150 " (declare (in) sampler2D sampler)\n"
7151 " (declare (in) vec4 coord)\n"
7152 " (declare (in) float lod))\n"
7153 " ()))\n"
7154 "(function textureCube\n"
7155 " (signature vec4\n"
7156 " (parameters\n"
7157 " (declare (in) samplerCube sampler)\n"
7158 " (declare (in) vec3 coord))\n"
7159 " ()))\n"
7160 "(function textureCubeLod\n"
7161 " (signature vec4\n"
7162 " (parameters\n"
7163 " (declare (in) samplerCube sampler)\n"
7164 " (declare (in) vec3 coord)\n"
7165 " (declare (in) float lod))\n"
7166 " ())))"
7167;
7168static const char *functions_for_100_vert [] = {
7169 builtin_abs,
7170 builtin_acos,
7171 builtin_all,
7172 builtin_any,
7173 builtin_asin,
7174 builtin_atan,
7175 builtin_ceil,
7176 builtin_clamp,
7177 builtin_cos,
7178 builtin_cross,
7179 builtin_degrees,
7180 builtin_distance,
7181 builtin_dot,
7182 builtin_equal,
7183 builtin_exp,
7184 builtin_exp2,
7185 builtin_faceforward,
7186 builtin_floor,
7187 builtin_fract,
7188 builtin_greaterThan,
7189 builtin_greaterThanEqual,
7190 builtin_inversesqrt,
7191 builtin_length,
7192 builtin_lessThan,
7193 builtin_lessThanEqual,
7194 builtin_log,
7195 builtin_log2,
7196 builtin_matrixCompMult,
7197 builtin_max,
7198 builtin_min,
7199 builtin_mix,
7200 builtin_mod,
7201 builtin_normalize,
7202 builtin_not,
7203 builtin_notEqual,
7204 builtin_pow,
7205 builtin_radians,
7206 builtin_reflect,
7207 builtin_refract,
7208 builtin_sign,
7209 builtin_sin,
7210 builtin_smoothstep,
7211 builtin_sqrt,
7212 builtin_step,
7213 builtin_tan,
7214 builtin_texture2D,
7215 builtin_texture2DLod,
7216 builtin_texture2DProj,
7217 builtin_texture2DProjLod,
7218 builtin_textureCube,
7219 builtin_textureCubeLod,
7220};
Kenneth Graunke3f5fde52010-10-21 11:43:39 -07007221static const char prototypes_for_110_frag[] =
Eric Anholt47003a82010-08-23 12:39:35 -07007222 "(\n"
7223 "(function radians\n"
Eric Anholt3fa1b852010-07-30 10:20:34 -07007224 " (signature float\n"
7225 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -07007226 " (declare (in) float degrees))\n"
7227 " ())\n"
7228 " (signature vec2\n"
7229 " (parameters\n"
7230 " (declare (in) vec2 degrees))\n"
7231 " ())\n"
7232 " (signature vec3\n"
7233 " (parameters\n"
7234 " (declare (in) vec3 degrees))\n"
7235 " ())\n"
7236 " (signature vec4\n"
7237 " (parameters\n"
7238 " (declare (in) vec4 degrees))\n"
7239 " ()))\n"
7240 "(function degrees\n"
7241 " (signature float\n"
7242 " (parameters\n"
7243 " (declare (in) float radians))\n"
7244 " ())\n"
7245 " (signature vec2\n"
7246 " (parameters\n"
7247 " (declare (in) vec2 radians))\n"
7248 " ())\n"
7249 " (signature vec3\n"
7250 " (parameters\n"
7251 " (declare (in) vec3 radians))\n"
7252 " ())\n"
7253 " (signature vec4\n"
7254 " (parameters\n"
7255 " (declare (in) vec4 radians))\n"
7256 " ()))\n"
7257 "(function sin\n"
7258 " (signature float\n"
7259 " (parameters\n"
7260 " (declare (in) float angle))\n"
7261 " ())\n"
7262 " (signature vec2\n"
7263 " (parameters\n"
7264 " (declare (in) vec2 angle))\n"
7265 " ())\n"
7266 " (signature vec3\n"
7267 " (parameters\n"
7268 " (declare (in) vec3 angle))\n"
7269 " ())\n"
7270 " (signature vec4\n"
7271 " (parameters\n"
7272 " (declare (in) vec4 angle))\n"
7273 " ()))\n"
7274 "(function cos\n"
7275 " (signature float\n"
7276 " (parameters\n"
7277 " (declare (in) float angle))\n"
7278 " ())\n"
7279 " (signature vec2\n"
7280 " (parameters\n"
7281 " (declare (in) vec2 angle))\n"
7282 " ())\n"
7283 " (signature vec3\n"
7284 " (parameters\n"
7285 " (declare (in) vec3 angle))\n"
7286 " ())\n"
7287 " (signature vec4\n"
7288 " (parameters\n"
7289 " (declare (in) vec4 angle))\n"
7290 " ()))\n"
7291 "(function tan\n"
7292 " (signature float\n"
7293 " (parameters\n"
7294 " (declare (in) float angle))\n"
7295 " ())\n"
7296 " (signature vec2\n"
7297 " (parameters\n"
7298 " (declare (in) vec2 angle))\n"
7299 " ())\n"
7300 " (signature vec3\n"
7301 " (parameters\n"
7302 " (declare (in) vec3 angle))\n"
7303 " ())\n"
7304 " (signature vec4\n"
7305 " (parameters\n"
7306 " (declare (in) vec4 angle))\n"
7307 " ()))\n"
7308 "(function asin\n"
7309 " (signature float\n"
7310 " (parameters\n"
7311 " (declare (in) float angle))\n"
7312 " ())\n"
7313 " (signature vec2\n"
7314 " (parameters\n"
7315 " (declare (in) vec2 angle))\n"
7316 " ())\n"
7317 " (signature vec3\n"
7318 " (parameters\n"
7319 " (declare (in) vec3 angle))\n"
7320 " ())\n"
7321 " (signature vec4\n"
7322 " (parameters\n"
7323 " (declare (in) vec4 angle))\n"
7324 " ()))\n"
7325 "(function acos\n"
7326 " (signature float\n"
7327 " (parameters\n"
7328 " (declare (in) float angle))\n"
7329 " ())\n"
7330 " (signature vec2\n"
7331 " (parameters\n"
7332 " (declare (in) vec2 angle))\n"
7333 " ())\n"
7334 " (signature vec3\n"
7335 " (parameters\n"
7336 " (declare (in) vec3 angle))\n"
7337 " ())\n"
7338 " (signature vec4\n"
7339 " (parameters\n"
7340 " (declare (in) vec4 angle))\n"
7341 " ()))\n"
7342 "(function atan\n"
7343 " (signature float\n"
7344 " (parameters\n"
7345 " (declare (in) float y)\n"
7346 " (declare (in) float x))\n"
7347 " ())\n"
7348 " (signature vec2\n"
7349 " (parameters\n"
7350 " (declare (in) vec2 y)\n"
7351 " (declare (in) vec2 x))\n"
7352 " ())\n"
7353 " (signature vec3\n"
7354 " (parameters\n"
7355 " (declare (in) vec3 y)\n"
7356 " (declare (in) vec3 x))\n"
7357 " ())\n"
7358 " (signature vec4\n"
7359 " (parameters\n"
7360 " (declare (in) vec4 y)\n"
7361 " (declare (in) vec4 x))\n"
7362 " ())\n"
7363 " (signature float\n"
7364 " (parameters\n"
7365 " (declare (in) float y_over_x))\n"
7366 " ())\n"
7367 " (signature vec2\n"
7368 " (parameters\n"
7369 " (declare (in) vec2 y_over_x))\n"
7370 " ())\n"
7371 " (signature vec3\n"
7372 " (parameters\n"
7373 " (declare (in) vec3 y_over_x))\n"
7374 " ())\n"
7375 " (signature vec4\n"
7376 " (parameters\n"
7377 " (declare (in) vec4 y_over_x))\n"
7378 " ()))\n"
7379 "(function pow\n"
7380 " (signature float\n"
7381 " (parameters\n"
7382 " (declare (in) float x)\n"
7383 " (declare (in) float y))\n"
7384 " ())\n"
7385 " (signature vec2\n"
7386 " (parameters\n"
7387 " (declare (in) vec2 x)\n"
7388 " (declare (in) vec2 y))\n"
7389 " ())\n"
7390 " (signature vec3\n"
7391 " (parameters\n"
7392 " (declare (in) vec3 x)\n"
7393 " (declare (in) vec3 y))\n"
7394 " ())\n"
7395 " (signature vec4\n"
7396 " (parameters\n"
7397 " (declare (in) vec4 x)\n"
7398 " (declare (in) vec4 y))\n"
7399 " ()))\n"
7400 "(function exp\n"
7401 " (signature float\n"
7402 " (parameters\n"
7403 " (declare (in) float x))\n"
7404 " ())\n"
7405 " (signature vec2\n"
7406 " (parameters\n"
7407 " (declare (in) vec2 x))\n"
7408 " ())\n"
7409 " (signature vec3\n"
7410 " (parameters\n"
7411 " (declare (in) vec3 x))\n"
7412 " ())\n"
7413 " (signature vec4\n"
7414 " (parameters\n"
7415 " (declare (in) vec4 x))\n"
7416 " ()))\n"
7417 "(function log\n"
7418 " (signature float\n"
7419 " (parameters\n"
7420 " (declare (in) float x))\n"
7421 " ())\n"
7422 " (signature vec2\n"
7423 " (parameters\n"
7424 " (declare (in) vec2 x))\n"
7425 " ())\n"
7426 " (signature vec3\n"
7427 " (parameters\n"
7428 " (declare (in) vec3 x))\n"
7429 " ())\n"
7430 " (signature vec4\n"
7431 " (parameters\n"
7432 " (declare (in) vec4 x))\n"
7433 " ()))\n"
7434 "(function exp2\n"
7435 " (signature float\n"
7436 " (parameters\n"
7437 " (declare (in) float x))\n"
7438 " ())\n"
7439 " (signature vec2\n"
7440 " (parameters\n"
7441 " (declare (in) vec2 x))\n"
7442 " ())\n"
7443 " (signature vec3\n"
7444 " (parameters\n"
7445 " (declare (in) vec3 x))\n"
7446 " ())\n"
7447 " (signature vec4\n"
7448 " (parameters\n"
7449 " (declare (in) vec4 x))\n"
7450 " ()))\n"
7451 "(function log2\n"
7452 " (signature float\n"
7453 " (parameters\n"
7454 " (declare (in) float x))\n"
7455 " ())\n"
7456 " (signature vec2\n"
7457 " (parameters\n"
7458 " (declare (in) vec2 x))\n"
7459 " ())\n"
7460 " (signature vec3\n"
7461 " (parameters\n"
7462 " (declare (in) vec3 x))\n"
7463 " ())\n"
7464 " (signature vec4\n"
7465 " (parameters\n"
7466 " (declare (in) vec4 x))\n"
7467 " ()))\n"
7468 "(function sqrt\n"
7469 " (signature float\n"
7470 " (parameters\n"
7471 " (declare (in) float x))\n"
7472 " ())\n"
7473 " (signature vec2\n"
7474 " (parameters\n"
7475 " (declare (in) vec2 x))\n"
7476 " ())\n"
7477 " (signature vec3\n"
7478 " (parameters\n"
7479 " (declare (in) vec3 x))\n"
7480 " ())\n"
7481 " (signature vec4\n"
7482 " (parameters\n"
7483 " (declare (in) vec4 x))\n"
7484 " ()))\n"
7485 "(function inversesqrt\n"
7486 " (signature float\n"
7487 " (parameters\n"
7488 " (declare (in) float x))\n"
7489 " ())\n"
7490 " (signature vec2\n"
7491 " (parameters\n"
7492 " (declare (in) vec2 x))\n"
7493 " ())\n"
7494 " (signature vec3\n"
7495 " (parameters\n"
7496 " (declare (in) vec3 x))\n"
7497 " ())\n"
7498 " (signature vec4\n"
7499 " (parameters\n"
7500 " (declare (in) vec4 x))\n"
7501 " ()))\n"
7502 "(function abs\n"
7503 " (signature float\n"
7504 " (parameters\n"
7505 " (declare (in) float x))\n"
7506 " ())\n"
7507 " (signature vec2\n"
7508 " (parameters\n"
7509 " (declare (in) vec2 x))\n"
7510 " ())\n"
7511 " (signature vec3\n"
7512 " (parameters\n"
7513 " (declare (in) vec3 x))\n"
7514 " ())\n"
7515 " (signature vec4\n"
7516 " (parameters\n"
7517 " (declare (in) vec4 x))\n"
7518 " ()))\n"
7519 "(function sign\n"
7520 " (signature float\n"
7521 " (parameters\n"
7522 " (declare (in) float x))\n"
7523 " ())\n"
7524 " (signature vec2\n"
7525 " (parameters\n"
7526 " (declare (in) vec2 x))\n"
7527 " ())\n"
7528 " (signature vec3\n"
7529 " (parameters\n"
7530 " (declare (in) vec3 x))\n"
7531 " ())\n"
7532 " (signature vec4\n"
7533 " (parameters\n"
7534 " (declare (in) vec4 x))\n"
7535 " ()))\n"
7536 "(function floor\n"
7537 " (signature float\n"
7538 " (parameters\n"
7539 " (declare (in) float x))\n"
7540 " ())\n"
7541 " (signature vec2\n"
7542 " (parameters\n"
7543 " (declare (in) vec2 x))\n"
7544 " ())\n"
7545 " (signature vec3\n"
7546 " (parameters\n"
7547 " (declare (in) vec3 x))\n"
7548 " ())\n"
7549 " (signature vec4\n"
7550 " (parameters\n"
7551 " (declare (in) vec4 x))\n"
7552 " ()))\n"
7553 "(function ceil\n"
7554 " (signature float\n"
7555 " (parameters\n"
7556 " (declare (in) float x))\n"
7557 " ())\n"
7558 " (signature vec2\n"
7559 " (parameters\n"
7560 " (declare (in) vec2 x))\n"
7561 " ())\n"
7562 " (signature vec3\n"
7563 " (parameters\n"
7564 " (declare (in) vec3 x))\n"
7565 " ())\n"
7566 " (signature vec4\n"
7567 " (parameters\n"
7568 " (declare (in) vec4 x))\n"
7569 " ()))\n"
7570 "(function fract\n"
7571 " (signature float\n"
7572 " (parameters\n"
7573 " (declare (in) float x))\n"
7574 " ())\n"
7575 " (signature vec2\n"
7576 " (parameters\n"
7577 " (declare (in) vec2 x))\n"
7578 " ())\n"
7579 " (signature vec3\n"
7580 " (parameters\n"
7581 " (declare (in) vec3 x))\n"
7582 " ())\n"
7583 " (signature vec4\n"
7584 " (parameters\n"
7585 " (declare (in) vec4 x))\n"
7586 " ()))\n"
7587 "(function mod\n"
7588 " (signature float\n"
7589 " (parameters\n"
7590 " (declare (in) float x)\n"
7591 " (declare (in) float y))\n"
7592 " ())\n"
7593 " (signature vec2\n"
7594 " (parameters\n"
7595 " (declare (in) vec2 x)\n"
7596 " (declare (in) float y))\n"
7597 " ())\n"
7598 " (signature vec3\n"
7599 " (parameters\n"
7600 " (declare (in) vec3 x)\n"
7601 " (declare (in) float y))\n"
7602 " ())\n"
7603 " (signature vec4\n"
7604 " (parameters\n"
7605 " (declare (in) vec4 x)\n"
7606 " (declare (in) float y))\n"
7607 " ())\n"
7608 " (signature vec2\n"
7609 " (parameters\n"
7610 " (declare (in) vec2 x)\n"
7611 " (declare (in) vec2 y))\n"
7612 " ())\n"
7613 " (signature vec3\n"
7614 " (parameters\n"
7615 " (declare (in) vec3 x)\n"
7616 " (declare (in) vec3 y))\n"
7617 " ())\n"
7618 " (signature vec4\n"
7619 " (parameters\n"
7620 " (declare (in) vec4 x)\n"
7621 " (declare (in) vec4 y))\n"
7622 " ()))\n"
7623 "(function min\n"
7624 " (signature float\n"
7625 " (parameters\n"
7626 " (declare (in) float x)\n"
7627 " (declare (in) float y))\n"
7628 " ())\n"
7629 " (signature vec2\n"
7630 " (parameters\n"
7631 " (declare (in) vec2 x)\n"
7632 " (declare (in) vec2 y))\n"
7633 " ())\n"
7634 " (signature vec3\n"
7635 " (parameters\n"
7636 " (declare (in) vec3 x)\n"
7637 " (declare (in) vec3 y))\n"
7638 " ())\n"
7639 " (signature vec4\n"
7640 " (parameters\n"
7641 " (declare (in) vec4 x)\n"
7642 " (declare (in) vec4 y))\n"
7643 " ())\n"
7644 " (signature vec2\n"
7645 " (parameters\n"
7646 " (declare (in) vec2 x)\n"
7647 " (declare (in) float y))\n"
7648 " ())\n"
7649 " (signature vec3\n"
7650 " (parameters\n"
7651 " (declare (in) vec3 x)\n"
7652 " (declare (in) float y))\n"
7653 " ())\n"
7654 " (signature vec4\n"
7655 " (parameters\n"
7656 " (declare (in) vec4 x)\n"
7657 " (declare (in) float y))\n"
7658 " ()))\n"
7659 "(function max\n"
7660 " (signature float\n"
7661 " (parameters\n"
7662 " (declare (in) float x)\n"
7663 " (declare (in) float y))\n"
7664 " ())\n"
7665 " (signature vec2\n"
7666 " (parameters\n"
7667 " (declare (in) vec2 x)\n"
7668 " (declare (in) vec2 y))\n"
7669 " ())\n"
7670 " (signature vec3\n"
7671 " (parameters\n"
7672 " (declare (in) vec3 x)\n"
7673 " (declare (in) vec3 y))\n"
7674 " ())\n"
7675 " (signature vec4\n"
7676 " (parameters\n"
7677 " (declare (in) vec4 x)\n"
7678 " (declare (in) vec4 y))\n"
7679 " ())\n"
7680 " (signature vec2\n"
7681 " (parameters\n"
7682 " (declare (in) vec2 x)\n"
7683 " (declare (in) float y))\n"
7684 " ())\n"
7685 " (signature vec3\n"
7686 " (parameters\n"
7687 " (declare (in) vec3 x)\n"
7688 " (declare (in) float y))\n"
7689 " ())\n"
7690 " (signature vec4\n"
7691 " (parameters\n"
7692 " (declare (in) vec4 x)\n"
7693 " (declare (in) float y))\n"
7694 " ()))\n"
7695 "(function clamp\n"
7696 " (signature float\n"
7697 " (parameters\n"
7698 " (declare (in) float x)\n"
7699 " (declare (in) float minVal)\n"
7700 " (declare (in) float maxVal))\n"
7701 " ())\n"
7702 " (signature vec2\n"
7703 " (parameters\n"
7704 " (declare (in) vec2 x)\n"
7705 " (declare (in) vec2 minVal)\n"
7706 " (declare (in) vec2 maxVal))\n"
7707 " ())\n"
7708 " (signature vec3\n"
7709 " (parameters\n"
7710 " (declare (in) vec3 x)\n"
7711 " (declare (in) vec3 minVal)\n"
7712 " (declare (in) vec3 maxVal))\n"
7713 " ())\n"
7714 " (signature vec4\n"
7715 " (parameters\n"
7716 " (declare (in) vec4 x)\n"
7717 " (declare (in) vec4 minVal)\n"
7718 " (declare (in) vec4 maxVal))\n"
7719 " ())\n"
7720 " (signature vec2\n"
7721 " (parameters\n"
7722 " (declare (in) vec2 x)\n"
7723 " (declare (in) float minVal)\n"
7724 " (declare (in) float maxVal))\n"
7725 " ())\n"
7726 " (signature vec3\n"
7727 " (parameters\n"
7728 " (declare (in) vec3 x)\n"
7729 " (declare (in) float minVal)\n"
7730 " (declare (in) float maxVal))\n"
7731 " ())\n"
7732 " (signature vec4\n"
7733 " (parameters\n"
7734 " (declare (in) vec4 x)\n"
7735 " (declare (in) float minVal)\n"
7736 " (declare (in) float maxVal))\n"
7737 " ()))\n"
7738 "(function mix\n"
7739 " (signature float\n"
7740 " (parameters\n"
7741 " (declare (in) float x)\n"
7742 " (declare (in) float y)\n"
7743 " (declare (in) float a))\n"
7744 " ())\n"
7745 " (signature vec2\n"
7746 " (parameters\n"
7747 " (declare (in) vec2 x)\n"
7748 " (declare (in) vec2 y)\n"
7749 " (declare (in) vec2 a))\n"
7750 " ())\n"
7751 " (signature vec3\n"
7752 " (parameters\n"
7753 " (declare (in) vec3 x)\n"
7754 " (declare (in) vec3 y)\n"
7755 " (declare (in) vec3 a))\n"
7756 " ())\n"
7757 " (signature vec4\n"
7758 " (parameters\n"
7759 " (declare (in) vec4 x)\n"
7760 " (declare (in) vec4 y)\n"
7761 " (declare (in) vec4 a))\n"
7762 " ())\n"
7763 " (signature vec2\n"
7764 " (parameters\n"
7765 " (declare (in) vec2 x)\n"
7766 " (declare (in) vec2 y)\n"
7767 " (declare (in) float a))\n"
7768 " ())\n"
7769 " (signature vec3\n"
7770 " (parameters\n"
7771 " (declare (in) vec3 x)\n"
7772 " (declare (in) vec3 y)\n"
7773 " (declare (in) float a))\n"
7774 " ())\n"
7775 " (signature vec4\n"
7776 " (parameters\n"
7777 " (declare (in) vec4 x)\n"
7778 " (declare (in) vec4 y)\n"
7779 " (declare (in) float a))\n"
7780 " ()))\n"
7781 "(function step\n"
7782 " (signature float\n"
7783 " (parameters\n"
7784 " (declare (in) float edge)\n"
7785 " (declare (in) float x))\n"
7786 " ())\n"
7787 " (signature vec2\n"
7788 " (parameters\n"
7789 " (declare (in) vec2 edge)\n"
7790 " (declare (in) vec2 x))\n"
7791 " ())\n"
7792 " (signature vec3\n"
7793 " (parameters\n"
7794 " (declare (in) vec3 edge)\n"
7795 " (declare (in) vec3 x))\n"
7796 " ())\n"
7797 " (signature vec4\n"
7798 " (parameters\n"
7799 " (declare (in) vec4 edge)\n"
7800 " (declare (in) vec4 x))\n"
7801 " ())\n"
7802 " (signature vec2\n"
7803 " (parameters\n"
7804 " (declare (in) float edge)\n"
7805 " (declare (in) vec2 x))\n"
7806 " ())\n"
7807 " (signature vec3\n"
7808 " (parameters\n"
7809 " (declare (in) float edge)\n"
7810 " (declare (in) vec3 x))\n"
7811 " ())\n"
7812 " (signature vec4\n"
7813 " (parameters\n"
7814 " (declare (in) float edge)\n"
7815 " (declare (in) vec4 x))\n"
7816 " ()))\n"
7817 "(function smoothstep\n"
7818 " (signature float\n"
7819 " (parameters\n"
7820 " (declare (in) float edge0)\n"
7821 " (declare (in) float edge1)\n"
7822 " (declare (in) float x))\n"
7823 " ())\n"
7824 " (signature vec2\n"
7825 " (parameters\n"
7826 " (declare (in) vec2 edge0)\n"
7827 " (declare (in) vec2 edge1)\n"
7828 " (declare (in) vec2 x))\n"
7829 " ())\n"
7830 " (signature vec3\n"
7831 " (parameters\n"
7832 " (declare (in) vec3 edge0)\n"
7833 " (declare (in) vec3 edge1)\n"
7834 " (declare (in) vec3 x))\n"
7835 " ())\n"
7836 " (signature vec4\n"
7837 " (parameters\n"
7838 " (declare (in) vec4 edge0)\n"
7839 " (declare (in) vec4 edge1)\n"
7840 " (declare (in) vec4 x))\n"
7841 " ())\n"
7842 " (signature vec2\n"
7843 " (parameters\n"
7844 " (declare (in) float edge0)\n"
7845 " (declare (in) float edge1)\n"
7846 " (declare (in) vec2 x))\n"
7847 " ())\n"
7848 " (signature vec3\n"
7849 " (parameters\n"
7850 " (declare (in) float edge0)\n"
7851 " (declare (in) float edge1)\n"
7852 " (declare (in) vec3 x))\n"
7853 " ())\n"
7854 " (signature vec4\n"
7855 " (parameters\n"
7856 " (declare (in) float edge0)\n"
7857 " (declare (in) float edge1)\n"
7858 " (declare (in) vec4 x))\n"
7859 " ()))\n"
7860 "(function length\n"
7861 " (signature float\n"
7862 " (parameters\n"
7863 " (declare (in) float x))\n"
7864 " ())\n"
7865 " (signature float\n"
7866 " (parameters\n"
7867 " (declare (in) vec2 x))\n"
7868 " ())\n"
7869 " (signature float\n"
7870 " (parameters\n"
7871 " (declare (in) vec3 x))\n"
7872 " ())\n"
7873 " (signature float\n"
7874 " (parameters\n"
7875 " (declare (in) vec4 x))\n"
7876 " ()))\n"
7877 "(function distance\n"
7878 " (signature float\n"
7879 " (parameters\n"
7880 " (declare (in) float p0)\n"
7881 " (declare (in) float p1))\n"
7882 " ())\n"
7883 " (signature float\n"
7884 " (parameters\n"
7885 " (declare (in) vec2 p0)\n"
7886 " (declare (in) vec2 p1))\n"
7887 " ())\n"
7888 " (signature float\n"
7889 " (parameters\n"
7890 " (declare (in) vec3 p0)\n"
7891 " (declare (in) vec3 p1))\n"
7892 " ())\n"
7893 " (signature float\n"
7894 " (parameters\n"
7895 " (declare (in) vec4 p0)\n"
7896 " (declare (in) vec4 p1))\n"
7897 " ()))\n"
7898 "(function dot\n"
7899 " (signature float\n"
7900 " (parameters\n"
7901 " (declare (in) float x)\n"
7902 " (declare (in) float y))\n"
7903 " ())\n"
7904 " (signature float\n"
7905 " (parameters\n"
7906 " (declare (in) vec2 x)\n"
7907 " (declare (in) vec2 y))\n"
7908 " ())\n"
7909 " (signature float\n"
7910 " (parameters\n"
7911 " (declare (in) vec3 x)\n"
7912 " (declare (in) vec3 y))\n"
7913 " ())\n"
7914 " (signature float\n"
7915 " (parameters\n"
7916 " (declare (in) vec4 x)\n"
7917 " (declare (in) vec4 y))\n"
7918 " ()))\n"
7919 "(function cross\n"
7920 " (signature vec3\n"
7921 " (parameters\n"
7922 " (declare (in) vec3 x)\n"
7923 " (declare (in) vec3 y))\n"
7924 " ()))\n"
7925 "(function normalize\n"
7926 " (signature float\n"
7927 " (parameters\n"
7928 " (declare (in) float x))\n"
7929 " ())\n"
7930 " (signature vec2\n"
7931 " (parameters\n"
7932 " (declare (in) vec2 x))\n"
7933 " ())\n"
7934 " (signature vec3\n"
7935 " (parameters\n"
7936 " (declare (in) vec3 x))\n"
7937 " ())\n"
7938 " (signature vec4\n"
7939 " (parameters\n"
7940 " (declare (in) vec4 x))\n"
7941 " ()))\n"
7942 "(function faceforward\n"
7943 " (signature float\n"
7944 " (parameters\n"
7945 " (declare (in) float N)\n"
7946 " (declare (in) float I)\n"
7947 " (declare (in) float Nref))\n"
7948 " ())\n"
7949 " (signature vec2\n"
7950 " (parameters\n"
7951 " (declare (in) vec2 N)\n"
7952 " (declare (in) vec2 I)\n"
7953 " (declare (in) vec2 Nref))\n"
7954 " ())\n"
7955 " (signature vec3\n"
7956 " (parameters\n"
7957 " (declare (in) vec3 N)\n"
7958 " (declare (in) vec3 I)\n"
7959 " (declare (in) vec3 Nref))\n"
7960 " ())\n"
7961 " (signature vec4\n"
7962 " (parameters\n"
7963 " (declare (in) vec4 N)\n"
7964 " (declare (in) vec4 I)\n"
7965 " (declare (in) vec4 Nref))\n"
7966 " ()))\n"
7967 "(function reflect\n"
7968 " (signature float\n"
7969 " (parameters\n"
7970 " (declare (in) float I)\n"
7971 " (declare (in) float N))\n"
7972 " ())\n"
7973 " (signature vec2\n"
7974 " (parameters\n"
7975 " (declare (in) vec2 I)\n"
7976 " (declare (in) vec2 N))\n"
7977 " ())\n"
7978 " (signature vec3\n"
7979 " (parameters\n"
7980 " (declare (in) vec3 I)\n"
7981 " (declare (in) vec3 N))\n"
7982 " ())\n"
7983 " (signature vec4\n"
7984 " (parameters\n"
7985 " (declare (in) vec4 I)\n"
7986 " (declare (in) vec4 N))\n"
7987 " ()))\n"
7988 "(function refract\n"
7989 " (signature float\n"
7990 " (parameters\n"
7991 " (declare (in) float I)\n"
7992 " (declare (in) float N)\n"
7993 " (declare (in) float eta))\n"
7994 " ())\n"
7995 " (signature vec2\n"
7996 " (parameters\n"
7997 " (declare (in) vec2 I)\n"
7998 " (declare (in) vec2 N)\n"
7999 " (declare (in) float eta))\n"
8000 " ())\n"
8001 " (signature vec3\n"
8002 " (parameters\n"
8003 " (declare (in) vec3 I)\n"
8004 " (declare (in) vec3 N)\n"
8005 " (declare (in) float eta))\n"
8006 " ())\n"
8007 " (signature vec4\n"
8008 " (parameters\n"
8009 " (declare (in) vec4 I)\n"
8010 " (declare (in) vec4 N)\n"
8011 " (declare (in) float eta))\n"
8012 " ()))\n"
8013 "(function matrixCompMult\n"
8014 " (signature mat2\n"
8015 " (parameters\n"
8016 " (declare (in) mat2 x)\n"
8017 " (declare (in) mat2 y))\n"
8018 " ())\n"
8019 " (signature mat3\n"
8020 " (parameters\n"
8021 " (declare (in) mat3 x)\n"
8022 " (declare (in) mat3 y))\n"
8023 " ())\n"
8024 " (signature mat4\n"
8025 " (parameters\n"
8026 " (declare (in) mat4 x)\n"
8027 " (declare (in) mat4 y))\n"
8028 " ()))\n"
8029 "(function lessThan\n"
8030 " (signature bvec2\n"
8031 " (parameters\n"
8032 " (declare (in) vec2 x)\n"
8033 " (declare (in) vec2 y))\n"
8034 " ())\n"
8035 " (signature bvec3\n"
8036 " (parameters\n"
8037 " (declare (in) vec3 x)\n"
8038 " (declare (in) vec3 y))\n"
8039 " ())\n"
8040 " (signature bvec4\n"
8041 " (parameters\n"
8042 " (declare (in) vec4 x)\n"
8043 " (declare (in) vec4 y))\n"
8044 " ())\n"
8045 " (signature bvec2\n"
8046 " (parameters\n"
8047 " (declare (in) ivec2 x)\n"
8048 " (declare (in) ivec2 y))\n"
8049 " ())\n"
8050 " (signature bvec3\n"
8051 " (parameters\n"
8052 " (declare (in) ivec3 x)\n"
8053 " (declare (in) ivec3 y))\n"
8054 " ())\n"
8055 " (signature bvec4\n"
8056 " (parameters\n"
8057 " (declare (in) ivec4 x)\n"
8058 " (declare (in) ivec4 y))\n"
8059 " ()))\n"
8060 "(function lessThanEqual\n"
8061 " (signature bvec2\n"
8062 " (parameters\n"
8063 " (declare (in) vec2 x)\n"
8064 " (declare (in) vec2 y))\n"
8065 " ())\n"
8066 " (signature bvec3\n"
8067 " (parameters\n"
8068 " (declare (in) vec3 x)\n"
8069 " (declare (in) vec3 y))\n"
8070 " ())\n"
8071 " (signature bvec4\n"
8072 " (parameters\n"
8073 " (declare (in) vec4 x)\n"
8074 " (declare (in) vec4 y))\n"
8075 " ())\n"
8076 " (signature bvec2\n"
8077 " (parameters\n"
8078 " (declare (in) ivec2 x)\n"
8079 " (declare (in) ivec2 y))\n"
8080 " ())\n"
8081 " (signature bvec3\n"
8082 " (parameters\n"
8083 " (declare (in) ivec3 x)\n"
8084 " (declare (in) ivec3 y))\n"
8085 " ())\n"
8086 " (signature bvec4\n"
8087 " (parameters\n"
8088 " (declare (in) ivec4 x)\n"
8089 " (declare (in) ivec4 y))\n"
8090 " ()))\n"
8091 "(function greaterThan\n"
8092 " (signature bvec2\n"
8093 " (parameters\n"
8094 " (declare (in) vec2 x)\n"
8095 " (declare (in) vec2 y))\n"
8096 " ())\n"
8097 " (signature bvec3\n"
8098 " (parameters\n"
8099 " (declare (in) vec3 x)\n"
8100 " (declare (in) vec3 y))\n"
8101 " ())\n"
8102 " (signature bvec4\n"
8103 " (parameters\n"
8104 " (declare (in) vec4 x)\n"
8105 " (declare (in) vec4 y))\n"
8106 " ())\n"
8107 " (signature bvec2\n"
8108 " (parameters\n"
8109 " (declare (in) ivec2 x)\n"
8110 " (declare (in) ivec2 y))\n"
8111 " ())\n"
8112 " (signature bvec3\n"
8113 " (parameters\n"
8114 " (declare (in) ivec3 x)\n"
8115 " (declare (in) ivec3 y))\n"
8116 " ())\n"
8117 " (signature bvec4\n"
8118 " (parameters\n"
8119 " (declare (in) ivec4 x)\n"
8120 " (declare (in) ivec4 y))\n"
8121 " ()))\n"
8122 "(function greaterThanEqual\n"
8123 " (signature bvec2\n"
8124 " (parameters\n"
8125 " (declare (in) vec2 x)\n"
8126 " (declare (in) vec2 y))\n"
8127 " ())\n"
8128 " (signature bvec3\n"
8129 " (parameters\n"
8130 " (declare (in) vec3 x)\n"
8131 " (declare (in) vec3 y))\n"
8132 " ())\n"
8133 " (signature bvec4\n"
8134 " (parameters\n"
8135 " (declare (in) vec4 x)\n"
8136 " (declare (in) vec4 y))\n"
8137 " ())\n"
8138 " (signature bvec2\n"
8139 " (parameters\n"
8140 " (declare (in) ivec2 x)\n"
8141 " (declare (in) ivec2 y))\n"
8142 " ())\n"
8143 " (signature bvec3\n"
8144 " (parameters\n"
8145 " (declare (in) ivec3 x)\n"
8146 " (declare (in) ivec3 y))\n"
8147 " ())\n"
8148 " (signature bvec4\n"
8149 " (parameters\n"
8150 " (declare (in) ivec4 x)\n"
8151 " (declare (in) ivec4 y))\n"
8152 " ()))\n"
8153 "(function equal\n"
8154 " (signature bvec2\n"
8155 " (parameters\n"
8156 " (declare (in) vec2 x)\n"
8157 " (declare (in) vec2 y))\n"
8158 " ())\n"
8159 " (signature bvec3\n"
8160 " (parameters\n"
8161 " (declare (in) vec3 x)\n"
8162 " (declare (in) vec3 y))\n"
8163 " ())\n"
8164 " (signature bvec4\n"
8165 " (parameters\n"
8166 " (declare (in) vec4 x)\n"
8167 " (declare (in) vec4 y))\n"
8168 " ())\n"
8169 " (signature bvec2\n"
8170 " (parameters\n"
8171 " (declare (in) ivec2 x)\n"
8172 " (declare (in) ivec2 y))\n"
8173 " ())\n"
8174 " (signature bvec3\n"
8175 " (parameters\n"
8176 " (declare (in) ivec3 x)\n"
8177 " (declare (in) ivec3 y))\n"
8178 " ())\n"
8179 " (signature bvec4\n"
8180 " (parameters\n"
8181 " (declare (in) ivec4 x)\n"
8182 " (declare (in) ivec4 y))\n"
8183 " ())\n"
8184 " (signature bvec2\n"
8185 " (parameters\n"
8186 " (declare (in) bvec2 x)\n"
8187 " (declare (in) bvec2 y))\n"
8188 " ())\n"
8189 " (signature bvec3\n"
8190 " (parameters\n"
8191 " (declare (in) bvec3 x)\n"
8192 " (declare (in) bvec3 y))\n"
8193 " ())\n"
8194 " (signature bvec4\n"
8195 " (parameters\n"
8196 " (declare (in) bvec4 x)\n"
8197 " (declare (in) bvec4 y))\n"
8198 " ()))\n"
8199 "(function notEqual\n"
8200 " (signature bvec2\n"
8201 " (parameters\n"
8202 " (declare (in) vec2 x)\n"
8203 " (declare (in) vec2 y))\n"
8204 " ())\n"
8205 " (signature bvec3\n"
8206 " (parameters\n"
8207 " (declare (in) vec3 x)\n"
8208 " (declare (in) vec3 y))\n"
8209 " ())\n"
8210 " (signature bvec4\n"
8211 " (parameters\n"
8212 " (declare (in) vec4 x)\n"
8213 " (declare (in) vec4 y))\n"
8214 " ())\n"
8215 " (signature bvec2\n"
8216 " (parameters\n"
8217 " (declare (in) ivec2 x)\n"
8218 " (declare (in) ivec2 y))\n"
8219 " ())\n"
8220 " (signature bvec3\n"
8221 " (parameters\n"
8222 " (declare (in) ivec3 x)\n"
8223 " (declare (in) ivec3 y))\n"
8224 " ())\n"
8225 " (signature bvec4\n"
8226 " (parameters\n"
8227 " (declare (in) ivec4 x)\n"
8228 " (declare (in) ivec4 y))\n"
8229 " ())\n"
8230 " (signature bvec2\n"
8231 " (parameters\n"
8232 " (declare (in) bvec2 x)\n"
8233 " (declare (in) bvec2 y))\n"
8234 " ())\n"
8235 " (signature bvec3\n"
8236 " (parameters\n"
8237 " (declare (in) bvec3 x)\n"
8238 " (declare (in) bvec3 y))\n"
8239 " ())\n"
8240 " (signature bvec4\n"
8241 " (parameters\n"
8242 " (declare (in) bvec4 x)\n"
8243 " (declare (in) bvec4 y))\n"
8244 " ()))\n"
8245 "(function any\n"
8246 " (signature bool\n"
8247 " (parameters\n"
8248 " (declare (in) bvec2 x))\n"
8249 " ())\n"
8250 " (signature bool\n"
8251 " (parameters\n"
8252 " (declare (in) bvec3 x))\n"
8253 " ())\n"
8254 " (signature bool\n"
8255 " (parameters\n"
8256 " (declare (in) bvec4 x))\n"
8257 " ()))\n"
8258 "(function all\n"
8259 " (signature bool\n"
8260 " (parameters\n"
8261 " (declare (in) bvec2 x))\n"
8262 " ())\n"
8263 " (signature bool\n"
8264 " (parameters\n"
8265 " (declare (in) bvec3 x))\n"
8266 " ())\n"
8267 " (signature bool\n"
8268 " (parameters\n"
8269 " (declare (in) bvec4 x))\n"
8270 " ()))\n"
8271 "(function not\n"
8272 " (signature bvec2\n"
8273 " (parameters\n"
8274 " (declare (in) bvec2 x))\n"
8275 " ())\n"
8276 " (signature bvec3\n"
8277 " (parameters\n"
8278 " (declare (in) bvec3 x))\n"
8279 " ())\n"
8280 " (signature bvec4\n"
8281 " (parameters\n"
8282 " (declare (in) bvec4 x))\n"
8283 " ()))\n"
8284 "(function texture1D\n"
8285 " (signature vec4\n"
8286 " (parameters\n"
8287 " (declare (in) sampler1D sampler)\n"
8288 " (declare (in) float coord))\n"
8289 " ())\n"
8290 " (signature vec4\n"
8291 " (parameters\n"
8292 " (declare (in) sampler1D sampler)\n"
8293 " (declare (in) float coord)\n"
8294 " (declare (in) float bias))\n"
8295 " ()))\n"
8296 "(function texture1DProj\n"
8297 " (signature vec4\n"
8298 " (parameters\n"
8299 " (declare (in) sampler1D sampler)\n"
8300 " (declare (in) vec2 coord))\n"
8301 " ())\n"
8302 " (signature vec4\n"
8303 " (parameters\n"
8304 " (declare (in) sampler1D sampler)\n"
8305 " (declare (in) vec4 coord))\n"
8306 " ())\n"
8307 " (signature vec4\n"
8308 " (parameters\n"
8309 " (declare (in) sampler1D sampler)\n"
8310 " (declare (in) vec2 coord)\n"
8311 " (declare (in) float bias))\n"
8312 " ())\n"
8313 " (signature vec4\n"
8314 " (parameters\n"
8315 " (declare (in) sampler1D sampler)\n"
8316 " (declare (in) vec4 coord)\n"
8317 " (declare (in) float bias))\n"
8318 " ()))\n"
8319 "(function texture2D\n"
8320 " (signature vec4\n"
8321 " (parameters\n"
8322 " (declare (in) sampler2D sampler)\n"
8323 " (declare (in) vec2 coord))\n"
8324 " ())\n"
8325 " (signature vec4\n"
8326 " (parameters\n"
8327 " (declare (in) sampler2D sampler)\n"
8328 " (declare (in) vec2 coord)\n"
8329 " (declare (in) float bias))\n"
8330 " ()))\n"
8331 "(function texture2DProj\n"
8332 " (signature vec4\n"
8333 " (parameters\n"
8334 " (declare (in) sampler2D sampler)\n"
8335 " (declare (in) vec3 coord))\n"
8336 " ())\n"
8337 " (signature vec4\n"
8338 " (parameters\n"
8339 " (declare (in) sampler2D sampler)\n"
8340 " (declare (in) vec4 coord))\n"
8341 " ())\n"
8342 " (signature vec4\n"
8343 " (parameters\n"
8344 " (declare (in) sampler2D sampler)\n"
8345 " (declare (in) vec3 coord)\n"
8346 " (declare (in) float bias))\n"
8347 " ())\n"
8348 " (signature vec4\n"
8349 " (parameters\n"
8350 " (declare (in) sampler2D sampler)\n"
8351 " (declare (in) vec4 coord)\n"
8352 " (declare (in) float bias))\n"
8353 " ()))\n"
8354 "(function texture3D\n"
8355 " (signature vec4\n"
8356 " (parameters\n"
8357 " (declare (in) sampler3D sampler)\n"
8358 " (declare (in) vec3 coord))\n"
8359 " ())\n"
8360 " (signature vec4\n"
8361 " (parameters\n"
8362 " (declare (in) sampler3D sampler)\n"
8363 " (declare (in) vec3 coord)\n"
8364 " (declare (in) float bias))\n"
8365 " ()))\n"
8366 "(function texture3DProj\n"
8367 " (signature vec4\n"
8368 " (parameters\n"
8369 " (declare (in) sampler3D sampler)\n"
8370 " (declare (in) vec4 coord))\n"
8371 " ())\n"
8372 " (signature vec4\n"
8373 " (parameters\n"
8374 " (declare (in) sampler3D sampler)\n"
8375 " (declare (in) vec4 coord)\n"
8376 " (declare (in) float bias))\n"
8377 " ()))\n"
8378 "(function textureCube\n"
8379 " (signature vec4\n"
8380 " (parameters\n"
8381 " (declare (in) samplerCube sampler)\n"
8382 " (declare (in) vec3 coord))\n"
8383 " ())\n"
8384 " (signature vec4\n"
8385 " (parameters\n"
8386 " (declare (in) samplerCube sampler)\n"
8387 " (declare (in) vec3 coord)\n"
8388 " (declare (in) float bias))\n"
8389 " ()))\n"
8390 "(function shadow1D\n"
8391 " (signature vec4\n"
8392 " (parameters\n"
8393 " (declare (in) sampler1DShadow sampler)\n"
8394 " (declare (in) vec3 coord))\n"
8395 " ())\n"
8396 " (signature vec4\n"
8397 " (parameters\n"
8398 " (declare (in) sampler1DShadow sampler)\n"
8399 " (declare (in) vec3 coord)\n"
8400 " (declare (in) float bias))\n"
8401 " ()))\n"
8402 "(function shadow2D\n"
8403 " (signature vec4\n"
8404 " (parameters\n"
8405 " (declare (in) sampler2DShadow sampler)\n"
8406 " (declare (in) vec3 coord))\n"
8407 " ())\n"
8408 " (signature vec4\n"
8409 " (parameters\n"
8410 " (declare (in) sampler2DShadow sampler)\n"
8411 " (declare (in) vec3 coord)\n"
8412 " (declare (in) float bias))\n"
8413 " ()))\n"
8414 "(function shadow1DProj\n"
8415 " (signature vec4\n"
8416 " (parameters\n"
8417 " (declare (in) sampler1DShadow sampler)\n"
8418 " (declare (in) vec4 coord))\n"
8419 " ())\n"
8420 " (signature vec4\n"
8421 " (parameters\n"
8422 " (declare (in) sampler1DShadow sampler)\n"
8423 " (declare (in) vec4 coord)\n"
8424 " (declare (in) float bias))\n"
8425 " ()))\n"
8426 "(function shadow2DProj\n"
8427 " (signature vec4\n"
8428 " (parameters\n"
8429 " (declare (in) sampler2DShadow sampler)\n"
8430 " (declare (in) vec4 coord))\n"
8431 " ())\n"
8432 " (signature vec4\n"
8433 " (parameters\n"
8434 " (declare (in) sampler2DShadow sampler)\n"
8435 " (declare (in) vec4 coord)\n"
8436 " (declare (in) float bias))\n"
8437 " ()))\n"
8438 "(function dFdx\n"
8439 " (signature float\n"
8440 " (parameters\n"
8441 " (declare (in) float p))\n"
8442 " ())\n"
8443 " (signature vec2\n"
8444 " (parameters\n"
8445 " (declare (in) vec2 p))\n"
8446 " ())\n"
8447 " (signature vec3\n"
8448 " (parameters\n"
8449 " (declare (in) vec3 p))\n"
8450 " ())\n"
8451 " (signature vec4\n"
8452 " (parameters\n"
8453 " (declare (in) vec4 p))\n"
8454 " ()))\n"
8455 "(function dFdy\n"
8456 " (signature float\n"
8457 " (parameters\n"
8458 " (declare (in) float p))\n"
8459 " ())\n"
8460 " (signature vec2\n"
8461 " (parameters\n"
8462 " (declare (in) vec2 p))\n"
8463 " ())\n"
8464 " (signature vec3\n"
8465 " (parameters\n"
8466 " (declare (in) vec3 p))\n"
8467 " ())\n"
8468 " (signature vec4\n"
8469 " (parameters\n"
8470 " (declare (in) vec4 p))\n"
8471 " ()))\n"
8472 "(function fwidth\n"
8473 " (signature float\n"
8474 " (parameters\n"
8475 " (declare (in) float p))\n"
8476 " ())\n"
8477 " (signature vec2\n"
8478 " (parameters\n"
8479 " (declare (in) vec2 p))\n"
8480 " ())\n"
8481 " (signature vec3\n"
8482 " (parameters\n"
8483 " (declare (in) vec3 p))\n"
8484 " ())\n"
8485 " (signature vec4\n"
8486 " (parameters\n"
8487 " (declare (in) vec4 p))\n"
8488 " ()))\n"
8489 "(function noise1\n"
8490 " (signature float\n"
8491 " (parameters\n"
8492 " (declare (in) float x))\n"
8493 " ())\n"
8494 " (signature float\n"
8495 " (parameters\n"
8496 " (declare (in) vec2 x))\n"
8497 " ())\n"
8498 " (signature float\n"
8499 " (parameters\n"
8500 " (declare (in) vec3 x))\n"
8501 " ())\n"
8502 " (signature float\n"
8503 " (parameters\n"
8504 " (declare (in) vec4 x))\n"
8505 " ()))\n"
8506 "(function noise2\n"
8507 " (signature vec2\n"
8508 " (parameters\n"
8509 " (declare (in) float x))\n"
8510 " ())\n"
8511 " (signature vec2\n"
8512 " (parameters\n"
8513 " (declare (in) vec2 x))\n"
8514 " ())\n"
8515 " (signature vec2\n"
8516 " (parameters\n"
8517 " (declare (in) vec3 x))\n"
8518 " ())\n"
8519 " (signature vec2\n"
8520 " (parameters\n"
8521 " (declare (in) vec4 x))\n"
8522 " ()))\n"
8523 "(function noise3\n"
8524 " (signature vec3\n"
8525 " (parameters\n"
8526 " (declare (in) float x))\n"
8527 " ())\n"
8528 " (signature vec3\n"
8529 " (parameters\n"
8530 " (declare (in) vec2 x))\n"
8531 " ())\n"
8532 " (signature vec3\n"
8533 " (parameters\n"
8534 " (declare (in) vec3 x))\n"
8535 " ())\n"
8536 " (signature vec3\n"
8537 " (parameters\n"
8538 " (declare (in) vec4 x))\n"
8539 " ()))\n"
8540 "(function noise4\n"
8541 " (signature vec4\n"
8542 " (parameters\n"
8543 " (declare (in) float x))\n"
8544 " ())\n"
8545 " (signature vec4\n"
8546 " (parameters\n"
8547 " (declare (in) vec2 x))\n"
8548 " ())\n"
8549 " (signature vec4\n"
8550 " (parameters\n"
8551 " (declare (in) vec3 x))\n"
8552 " ())\n"
8553 " (signature vec4\n"
8554 " (parameters\n"
8555 " (declare (in) vec4 x))\n"
8556 " ())))"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07008557;
Eric Anholt47003a82010-08-23 12:39:35 -07008558static const char *functions_for_110_frag [] = {
8559 builtin_abs,
8560 builtin_acos,
8561 builtin_all,
8562 builtin_any,
8563 builtin_asin,
8564 builtin_atan,
8565 builtin_ceil,
8566 builtin_clamp,
8567 builtin_cos,
8568 builtin_cross,
8569 builtin_dFdx,
8570 builtin_dFdy,
8571 builtin_degrees,
8572 builtin_distance,
8573 builtin_dot,
8574 builtin_equal,
8575 builtin_exp,
8576 builtin_exp2,
8577 builtin_faceforward,
8578 builtin_floor,
8579 builtin_fract,
8580 builtin_fwidth,
8581 builtin_greaterThan,
8582 builtin_greaterThanEqual,
8583 builtin_inversesqrt,
8584 builtin_length,
8585 builtin_lessThan,
8586 builtin_lessThanEqual,
8587 builtin_log,
8588 builtin_log2,
8589 builtin_matrixCompMult,
8590 builtin_max,
8591 builtin_min,
8592 builtin_mix,
8593 builtin_mod,
8594 builtin_noise1,
8595 builtin_noise2,
8596 builtin_noise3,
8597 builtin_noise4,
8598 builtin_normalize,
8599 builtin_not,
8600 builtin_notEqual,
8601 builtin_pow,
8602 builtin_radians,
8603 builtin_reflect,
8604 builtin_refract,
8605 builtin_shadow1D,
8606 builtin_shadow1DProj,
8607 builtin_shadow2D,
8608 builtin_shadow2DProj,
8609 builtin_sign,
8610 builtin_sin,
8611 builtin_smoothstep,
8612 builtin_sqrt,
8613 builtin_step,
8614 builtin_tan,
8615 builtin_texture1D,
8616 builtin_texture1DProj,
8617 builtin_texture2D,
8618 builtin_texture2DProj,
8619 builtin_texture3D,
8620 builtin_texture3DProj,
8621 builtin_textureCube,
8622};
Kenneth Graunke3f5fde52010-10-21 11:43:39 -07008623static const char prototypes_for_110_vert[] =
Eric Anholt47003a82010-08-23 12:39:35 -07008624 "(\n"
8625 "(function radians\n"
8626 " (signature float\n"
8627 " (parameters\n"
8628 " (declare (in) float degrees))\n"
8629 " ())\n"
8630 " (signature vec2\n"
8631 " (parameters\n"
8632 " (declare (in) vec2 degrees))\n"
8633 " ())\n"
8634 " (signature vec3\n"
8635 " (parameters\n"
8636 " (declare (in) vec3 degrees))\n"
8637 " ())\n"
8638 " (signature vec4\n"
8639 " (parameters\n"
8640 " (declare (in) vec4 degrees))\n"
8641 " ()))\n"
8642 "(function degrees\n"
8643 " (signature float\n"
8644 " (parameters\n"
8645 " (declare (in) float radians))\n"
8646 " ())\n"
8647 " (signature vec2\n"
8648 " (parameters\n"
8649 " (declare (in) vec2 radians))\n"
8650 " ())\n"
8651 " (signature vec3\n"
8652 " (parameters\n"
8653 " (declare (in) vec3 radians))\n"
8654 " ())\n"
8655 " (signature vec4\n"
8656 " (parameters\n"
8657 " (declare (in) vec4 radians))\n"
8658 " ()))\n"
8659 "(function sin\n"
8660 " (signature float\n"
8661 " (parameters\n"
8662 " (declare (in) float angle))\n"
8663 " ())\n"
8664 " (signature vec2\n"
8665 " (parameters\n"
8666 " (declare (in) vec2 angle))\n"
8667 " ())\n"
8668 " (signature vec3\n"
8669 " (parameters\n"
8670 " (declare (in) vec3 angle))\n"
8671 " ())\n"
8672 " (signature vec4\n"
8673 " (parameters\n"
8674 " (declare (in) vec4 angle))\n"
8675 " ()))\n"
8676 "(function cos\n"
8677 " (signature float\n"
8678 " (parameters\n"
8679 " (declare (in) float angle))\n"
8680 " ())\n"
8681 " (signature vec2\n"
8682 " (parameters\n"
8683 " (declare (in) vec2 angle))\n"
8684 " ())\n"
8685 " (signature vec3\n"
8686 " (parameters\n"
8687 " (declare (in) vec3 angle))\n"
8688 " ())\n"
8689 " (signature vec4\n"
8690 " (parameters\n"
8691 " (declare (in) vec4 angle))\n"
8692 " ()))\n"
8693 "(function tan\n"
8694 " (signature float\n"
8695 " (parameters\n"
8696 " (declare (in) float angle))\n"
8697 " ())\n"
8698 " (signature vec2\n"
8699 " (parameters\n"
8700 " (declare (in) vec2 angle))\n"
8701 " ())\n"
8702 " (signature vec3\n"
8703 " (parameters\n"
8704 " (declare (in) vec3 angle))\n"
8705 " ())\n"
8706 " (signature vec4\n"
8707 " (parameters\n"
8708 " (declare (in) vec4 angle))\n"
8709 " ()))\n"
8710 "(function asin\n"
8711 " (signature float\n"
8712 " (parameters\n"
8713 " (declare (in) float angle))\n"
8714 " ())\n"
8715 " (signature vec2\n"
8716 " (parameters\n"
8717 " (declare (in) vec2 angle))\n"
8718 " ())\n"
8719 " (signature vec3\n"
8720 " (parameters\n"
8721 " (declare (in) vec3 angle))\n"
8722 " ())\n"
8723 " (signature vec4\n"
8724 " (parameters\n"
8725 " (declare (in) vec4 angle))\n"
8726 " ()))\n"
8727 "(function acos\n"
8728 " (signature float\n"
8729 " (parameters\n"
8730 " (declare (in) float angle))\n"
8731 " ())\n"
8732 " (signature vec2\n"
8733 " (parameters\n"
8734 " (declare (in) vec2 angle))\n"
8735 " ())\n"
8736 " (signature vec3\n"
8737 " (parameters\n"
8738 " (declare (in) vec3 angle))\n"
8739 " ())\n"
8740 " (signature vec4\n"
8741 " (parameters\n"
8742 " (declare (in) vec4 angle))\n"
8743 " ()))\n"
8744 "(function atan\n"
8745 " (signature float\n"
8746 " (parameters\n"
8747 " (declare (in) float y)\n"
8748 " (declare (in) float x))\n"
8749 " ())\n"
8750 " (signature vec2\n"
8751 " (parameters\n"
8752 " (declare (in) vec2 y)\n"
8753 " (declare (in) vec2 x))\n"
8754 " ())\n"
8755 " (signature vec3\n"
8756 " (parameters\n"
8757 " (declare (in) vec3 y)\n"
8758 " (declare (in) vec3 x))\n"
8759 " ())\n"
8760 " (signature vec4\n"
8761 " (parameters\n"
8762 " (declare (in) vec4 y)\n"
8763 " (declare (in) vec4 x))\n"
8764 " ())\n"
8765 " (signature float\n"
8766 " (parameters\n"
8767 " (declare (in) float y_over_x))\n"
8768 " ())\n"
8769 " (signature vec2\n"
8770 " (parameters\n"
8771 " (declare (in) vec2 y_over_x))\n"
8772 " ())\n"
8773 " (signature vec3\n"
8774 " (parameters\n"
8775 " (declare (in) vec3 y_over_x))\n"
8776 " ())\n"
8777 " (signature vec4\n"
8778 " (parameters\n"
8779 " (declare (in) vec4 y_over_x))\n"
8780 " ()))\n"
8781 "(function pow\n"
8782 " (signature float\n"
8783 " (parameters\n"
8784 " (declare (in) float x)\n"
8785 " (declare (in) float y))\n"
8786 " ())\n"
8787 " (signature vec2\n"
8788 " (parameters\n"
8789 " (declare (in) vec2 x)\n"
8790 " (declare (in) vec2 y))\n"
8791 " ())\n"
8792 " (signature vec3\n"
8793 " (parameters\n"
8794 " (declare (in) vec3 x)\n"
8795 " (declare (in) vec3 y))\n"
8796 " ())\n"
8797 " (signature vec4\n"
8798 " (parameters\n"
8799 " (declare (in) vec4 x)\n"
8800 " (declare (in) vec4 y))\n"
8801 " ()))\n"
8802 "(function exp\n"
8803 " (signature float\n"
8804 " (parameters\n"
8805 " (declare (in) float x))\n"
8806 " ())\n"
8807 " (signature vec2\n"
8808 " (parameters\n"
8809 " (declare (in) vec2 x))\n"
8810 " ())\n"
8811 " (signature vec3\n"
8812 " (parameters\n"
8813 " (declare (in) vec3 x))\n"
8814 " ())\n"
8815 " (signature vec4\n"
8816 " (parameters\n"
8817 " (declare (in) vec4 x))\n"
8818 " ()))\n"
8819 "(function log\n"
8820 " (signature float\n"
8821 " (parameters\n"
8822 " (declare (in) float x))\n"
8823 " ())\n"
8824 " (signature vec2\n"
8825 " (parameters\n"
8826 " (declare (in) vec2 x))\n"
8827 " ())\n"
8828 " (signature vec3\n"
8829 " (parameters\n"
8830 " (declare (in) vec3 x))\n"
8831 " ())\n"
8832 " (signature vec4\n"
8833 " (parameters\n"
8834 " (declare (in) vec4 x))\n"
8835 " ()))\n"
8836 "(function exp2\n"
8837 " (signature float\n"
8838 " (parameters\n"
8839 " (declare (in) float x))\n"
8840 " ())\n"
8841 " (signature vec2\n"
8842 " (parameters\n"
8843 " (declare (in) vec2 x))\n"
8844 " ())\n"
8845 " (signature vec3\n"
8846 " (parameters\n"
8847 " (declare (in) vec3 x))\n"
8848 " ())\n"
8849 " (signature vec4\n"
8850 " (parameters\n"
8851 " (declare (in) vec4 x))\n"
8852 " ()))\n"
8853 "(function log2\n"
8854 " (signature float\n"
8855 " (parameters\n"
8856 " (declare (in) float x))\n"
8857 " ())\n"
8858 " (signature vec2\n"
8859 " (parameters\n"
8860 " (declare (in) vec2 x))\n"
8861 " ())\n"
8862 " (signature vec3\n"
8863 " (parameters\n"
8864 " (declare (in) vec3 x))\n"
8865 " ())\n"
8866 " (signature vec4\n"
8867 " (parameters\n"
8868 " (declare (in) vec4 x))\n"
8869 " ()))\n"
8870 "(function sqrt\n"
8871 " (signature float\n"
8872 " (parameters\n"
8873 " (declare (in) float x))\n"
8874 " ())\n"
8875 " (signature vec2\n"
8876 " (parameters\n"
8877 " (declare (in) vec2 x))\n"
8878 " ())\n"
8879 " (signature vec3\n"
8880 " (parameters\n"
8881 " (declare (in) vec3 x))\n"
8882 " ())\n"
8883 " (signature vec4\n"
8884 " (parameters\n"
8885 " (declare (in) vec4 x))\n"
8886 " ()))\n"
8887 "(function inversesqrt\n"
8888 " (signature float\n"
8889 " (parameters\n"
8890 " (declare (in) float x))\n"
8891 " ())\n"
8892 " (signature vec2\n"
8893 " (parameters\n"
8894 " (declare (in) vec2 x))\n"
8895 " ())\n"
8896 " (signature vec3\n"
8897 " (parameters\n"
8898 " (declare (in) vec3 x))\n"
8899 " ())\n"
8900 " (signature vec4\n"
8901 " (parameters\n"
8902 " (declare (in) vec4 x))\n"
8903 " ()))\n"
8904 "(function abs\n"
8905 " (signature float\n"
8906 " (parameters\n"
8907 " (declare (in) float x))\n"
8908 " ())\n"
8909 " (signature vec2\n"
8910 " (parameters\n"
8911 " (declare (in) vec2 x))\n"
8912 " ())\n"
8913 " (signature vec3\n"
8914 " (parameters\n"
8915 " (declare (in) vec3 x))\n"
8916 " ())\n"
8917 " (signature vec4\n"
8918 " (parameters\n"
8919 " (declare (in) vec4 x))\n"
8920 " ()))\n"
8921 "(function sign\n"
8922 " (signature float\n"
8923 " (parameters\n"
8924 " (declare (in) float x))\n"
8925 " ())\n"
8926 " (signature vec2\n"
8927 " (parameters\n"
8928 " (declare (in) vec2 x))\n"
8929 " ())\n"
8930 " (signature vec3\n"
8931 " (parameters\n"
8932 " (declare (in) vec3 x))\n"
8933 " ())\n"
8934 " (signature vec4\n"
8935 " (parameters\n"
8936 " (declare (in) vec4 x))\n"
8937 " ()))\n"
8938 "(function floor\n"
8939 " (signature float\n"
8940 " (parameters\n"
8941 " (declare (in) float x))\n"
8942 " ())\n"
8943 " (signature vec2\n"
8944 " (parameters\n"
8945 " (declare (in) vec2 x))\n"
8946 " ())\n"
8947 " (signature vec3\n"
8948 " (parameters\n"
8949 " (declare (in) vec3 x))\n"
8950 " ())\n"
8951 " (signature vec4\n"
8952 " (parameters\n"
8953 " (declare (in) vec4 x))\n"
8954 " ()))\n"
8955 "(function ceil\n"
8956 " (signature float\n"
8957 " (parameters\n"
8958 " (declare (in) float x))\n"
8959 " ())\n"
8960 " (signature vec2\n"
8961 " (parameters\n"
8962 " (declare (in) vec2 x))\n"
8963 " ())\n"
8964 " (signature vec3\n"
8965 " (parameters\n"
8966 " (declare (in) vec3 x))\n"
8967 " ())\n"
8968 " (signature vec4\n"
8969 " (parameters\n"
8970 " (declare (in) vec4 x))\n"
8971 " ()))\n"
8972 "(function fract\n"
8973 " (signature float\n"
8974 " (parameters\n"
8975 " (declare (in) float x))\n"
8976 " ())\n"
8977 " (signature vec2\n"
8978 " (parameters\n"
8979 " (declare (in) vec2 x))\n"
8980 " ())\n"
8981 " (signature vec3\n"
8982 " (parameters\n"
8983 " (declare (in) vec3 x))\n"
8984 " ())\n"
8985 " (signature vec4\n"
8986 " (parameters\n"
8987 " (declare (in) vec4 x))\n"
8988 " ()))\n"
8989 "(function mod\n"
8990 " (signature float\n"
8991 " (parameters\n"
8992 " (declare (in) float x)\n"
8993 " (declare (in) float y))\n"
8994 " ())\n"
8995 " (signature vec2\n"
8996 " (parameters\n"
8997 " (declare (in) vec2 x)\n"
8998 " (declare (in) float y))\n"
8999 " ())\n"
9000 " (signature vec3\n"
9001 " (parameters\n"
9002 " (declare (in) vec3 x)\n"
9003 " (declare (in) float y))\n"
9004 " ())\n"
9005 " (signature vec4\n"
9006 " (parameters\n"
9007 " (declare (in) vec4 x)\n"
9008 " (declare (in) float y))\n"
9009 " ())\n"
9010 " (signature vec2\n"
9011 " (parameters\n"
9012 " (declare (in) vec2 x)\n"
9013 " (declare (in) vec2 y))\n"
9014 " ())\n"
9015 " (signature vec3\n"
9016 " (parameters\n"
9017 " (declare (in) vec3 x)\n"
9018 " (declare (in) vec3 y))\n"
9019 " ())\n"
9020 " (signature vec4\n"
9021 " (parameters\n"
9022 " (declare (in) vec4 x)\n"
9023 " (declare (in) vec4 y))\n"
9024 " ()))\n"
9025 "(function min\n"
9026 " (signature float\n"
9027 " (parameters\n"
9028 " (declare (in) float x)\n"
9029 " (declare (in) float y))\n"
9030 " ())\n"
9031 " (signature vec2\n"
9032 " (parameters\n"
9033 " (declare (in) vec2 x)\n"
9034 " (declare (in) vec2 y))\n"
9035 " ())\n"
9036 " (signature vec3\n"
9037 " (parameters\n"
9038 " (declare (in) vec3 x)\n"
9039 " (declare (in) vec3 y))\n"
9040 " ())\n"
9041 " (signature vec4\n"
9042 " (parameters\n"
9043 " (declare (in) vec4 x)\n"
9044 " (declare (in) vec4 y))\n"
9045 " ())\n"
9046 " (signature vec2\n"
9047 " (parameters\n"
9048 " (declare (in) vec2 x)\n"
9049 " (declare (in) float y))\n"
9050 " ())\n"
9051 " (signature vec3\n"
9052 " (parameters\n"
9053 " (declare (in) vec3 x)\n"
9054 " (declare (in) float y))\n"
9055 " ())\n"
9056 " (signature vec4\n"
9057 " (parameters\n"
9058 " (declare (in) vec4 x)\n"
9059 " (declare (in) float y))\n"
9060 " ()))\n"
9061 "(function max\n"
9062 " (signature float\n"
9063 " (parameters\n"
9064 " (declare (in) float x)\n"
9065 " (declare (in) float y))\n"
9066 " ())\n"
9067 " (signature vec2\n"
9068 " (parameters\n"
9069 " (declare (in) vec2 x)\n"
9070 " (declare (in) vec2 y))\n"
9071 " ())\n"
9072 " (signature vec3\n"
9073 " (parameters\n"
9074 " (declare (in) vec3 x)\n"
9075 " (declare (in) vec3 y))\n"
9076 " ())\n"
9077 " (signature vec4\n"
9078 " (parameters\n"
9079 " (declare (in) vec4 x)\n"
9080 " (declare (in) vec4 y))\n"
9081 " ())\n"
9082 " (signature vec2\n"
9083 " (parameters\n"
9084 " (declare (in) vec2 x)\n"
9085 " (declare (in) float y))\n"
9086 " ())\n"
9087 " (signature vec3\n"
9088 " (parameters\n"
9089 " (declare (in) vec3 x)\n"
9090 " (declare (in) float y))\n"
9091 " ())\n"
9092 " (signature vec4\n"
9093 " (parameters\n"
9094 " (declare (in) vec4 x)\n"
9095 " (declare (in) float y))\n"
9096 " ()))\n"
9097 "(function clamp\n"
9098 " (signature float\n"
9099 " (parameters\n"
9100 " (declare (in) float x)\n"
9101 " (declare (in) float minVal)\n"
9102 " (declare (in) float maxVal))\n"
9103 " ())\n"
9104 " (signature vec2\n"
9105 " (parameters\n"
9106 " (declare (in) vec2 x)\n"
9107 " (declare (in) vec2 minVal)\n"
9108 " (declare (in) vec2 maxVal))\n"
9109 " ())\n"
9110 " (signature vec3\n"
9111 " (parameters\n"
9112 " (declare (in) vec3 x)\n"
9113 " (declare (in) vec3 minVal)\n"
9114 " (declare (in) vec3 maxVal))\n"
9115 " ())\n"
9116 " (signature vec4\n"
9117 " (parameters\n"
9118 " (declare (in) vec4 x)\n"
9119 " (declare (in) vec4 minVal)\n"
9120 " (declare (in) vec4 maxVal))\n"
9121 " ())\n"
9122 " (signature vec2\n"
9123 " (parameters\n"
9124 " (declare (in) vec2 x)\n"
9125 " (declare (in) float minVal)\n"
9126 " (declare (in) float maxVal))\n"
9127 " ())\n"
9128 " (signature vec3\n"
9129 " (parameters\n"
9130 " (declare (in) vec3 x)\n"
9131 " (declare (in) float minVal)\n"
9132 " (declare (in) float maxVal))\n"
9133 " ())\n"
9134 " (signature vec4\n"
9135 " (parameters\n"
9136 " (declare (in) vec4 x)\n"
9137 " (declare (in) float minVal)\n"
9138 " (declare (in) float maxVal))\n"
9139 " ()))\n"
9140 "(function mix\n"
9141 " (signature float\n"
9142 " (parameters\n"
9143 " (declare (in) float x)\n"
9144 " (declare (in) float y)\n"
9145 " (declare (in) float a))\n"
9146 " ())\n"
9147 " (signature vec2\n"
9148 " (parameters\n"
9149 " (declare (in) vec2 x)\n"
9150 " (declare (in) vec2 y)\n"
9151 " (declare (in) vec2 a))\n"
9152 " ())\n"
9153 " (signature vec3\n"
9154 " (parameters\n"
9155 " (declare (in) vec3 x)\n"
9156 " (declare (in) vec3 y)\n"
9157 " (declare (in) vec3 a))\n"
9158 " ())\n"
9159 " (signature vec4\n"
9160 " (parameters\n"
9161 " (declare (in) vec4 x)\n"
9162 " (declare (in) vec4 y)\n"
9163 " (declare (in) vec4 a))\n"
9164 " ())\n"
9165 " (signature vec2\n"
9166 " (parameters\n"
9167 " (declare (in) vec2 x)\n"
9168 " (declare (in) vec2 y)\n"
9169 " (declare (in) float a))\n"
9170 " ())\n"
9171 " (signature vec3\n"
9172 " (parameters\n"
9173 " (declare (in) vec3 x)\n"
9174 " (declare (in) vec3 y)\n"
9175 " (declare (in) float a))\n"
9176 " ())\n"
9177 " (signature vec4\n"
9178 " (parameters\n"
9179 " (declare (in) vec4 x)\n"
9180 " (declare (in) vec4 y)\n"
9181 " (declare (in) float a))\n"
9182 " ()))\n"
9183 "(function step\n"
9184 " (signature float\n"
9185 " (parameters\n"
9186 " (declare (in) float edge)\n"
9187 " (declare (in) float x))\n"
9188 " ())\n"
9189 " (signature vec2\n"
9190 " (parameters\n"
9191 " (declare (in) vec2 edge)\n"
9192 " (declare (in) vec2 x))\n"
9193 " ())\n"
9194 " (signature vec3\n"
9195 " (parameters\n"
9196 " (declare (in) vec3 edge)\n"
9197 " (declare (in) vec3 x))\n"
9198 " ())\n"
9199 " (signature vec4\n"
9200 " (parameters\n"
9201 " (declare (in) vec4 edge)\n"
9202 " (declare (in) vec4 x))\n"
9203 " ())\n"
9204 " (signature vec2\n"
9205 " (parameters\n"
9206 " (declare (in) float edge)\n"
9207 " (declare (in) vec2 x))\n"
9208 " ())\n"
9209 " (signature vec3\n"
9210 " (parameters\n"
9211 " (declare (in) float edge)\n"
9212 " (declare (in) vec3 x))\n"
9213 " ())\n"
9214 " (signature vec4\n"
9215 " (parameters\n"
9216 " (declare (in) float edge)\n"
9217 " (declare (in) vec4 x))\n"
9218 " ()))\n"
9219 "(function smoothstep\n"
9220 " (signature float\n"
9221 " (parameters\n"
9222 " (declare (in) float edge0)\n"
9223 " (declare (in) float edge1)\n"
9224 " (declare (in) float x))\n"
9225 " ())\n"
9226 " (signature vec2\n"
9227 " (parameters\n"
9228 " (declare (in) vec2 edge0)\n"
9229 " (declare (in) vec2 edge1)\n"
9230 " (declare (in) vec2 x))\n"
9231 " ())\n"
9232 " (signature vec3\n"
9233 " (parameters\n"
9234 " (declare (in) vec3 edge0)\n"
9235 " (declare (in) vec3 edge1)\n"
9236 " (declare (in) vec3 x))\n"
9237 " ())\n"
9238 " (signature vec4\n"
9239 " (parameters\n"
9240 " (declare (in) vec4 edge0)\n"
9241 " (declare (in) vec4 edge1)\n"
9242 " (declare (in) vec4 x))\n"
9243 " ())\n"
9244 " (signature vec2\n"
9245 " (parameters\n"
9246 " (declare (in) float edge0)\n"
9247 " (declare (in) float edge1)\n"
9248 " (declare (in) vec2 x))\n"
9249 " ())\n"
9250 " (signature vec3\n"
9251 " (parameters\n"
9252 " (declare (in) float edge0)\n"
9253 " (declare (in) float edge1)\n"
9254 " (declare (in) vec3 x))\n"
9255 " ())\n"
9256 " (signature vec4\n"
9257 " (parameters\n"
9258 " (declare (in) float edge0)\n"
9259 " (declare (in) float edge1)\n"
9260 " (declare (in) vec4 x))\n"
9261 " ()))\n"
9262 "(function length\n"
9263 " (signature float\n"
9264 " (parameters\n"
9265 " (declare (in) float x))\n"
9266 " ())\n"
9267 " (signature float\n"
9268 " (parameters\n"
9269 " (declare (in) vec2 x))\n"
9270 " ())\n"
9271 " (signature float\n"
9272 " (parameters\n"
9273 " (declare (in) vec3 x))\n"
9274 " ())\n"
9275 " (signature float\n"
9276 " (parameters\n"
9277 " (declare (in) vec4 x))\n"
9278 " ()))\n"
9279 "(function distance\n"
9280 " (signature float\n"
9281 " (parameters\n"
9282 " (declare (in) float p0)\n"
9283 " (declare (in) float p1))\n"
9284 " ())\n"
9285 " (signature float\n"
9286 " (parameters\n"
9287 " (declare (in) vec2 p0)\n"
9288 " (declare (in) vec2 p1))\n"
9289 " ())\n"
9290 " (signature float\n"
9291 " (parameters\n"
9292 " (declare (in) vec3 p0)\n"
9293 " (declare (in) vec3 p1))\n"
9294 " ())\n"
9295 " (signature float\n"
9296 " (parameters\n"
9297 " (declare (in) vec4 p0)\n"
9298 " (declare (in) vec4 p1))\n"
9299 " ()))\n"
9300 "(function dot\n"
9301 " (signature float\n"
9302 " (parameters\n"
9303 " (declare (in) float x)\n"
9304 " (declare (in) float y))\n"
9305 " ())\n"
9306 " (signature float\n"
9307 " (parameters\n"
9308 " (declare (in) vec2 x)\n"
9309 " (declare (in) vec2 y))\n"
9310 " ())\n"
9311 " (signature float\n"
9312 " (parameters\n"
9313 " (declare (in) vec3 x)\n"
9314 " (declare (in) vec3 y))\n"
9315 " ())\n"
9316 " (signature float\n"
9317 " (parameters\n"
9318 " (declare (in) vec4 x)\n"
9319 " (declare (in) vec4 y))\n"
9320 " ()))\n"
9321 "(function cross\n"
9322 " (signature vec3\n"
9323 " (parameters\n"
9324 " (declare (in) vec3 x)\n"
9325 " (declare (in) vec3 y))\n"
9326 " ()))\n"
9327 "(function normalize\n"
9328 " (signature float\n"
9329 " (parameters\n"
9330 " (declare (in) float x))\n"
9331 " ())\n"
9332 " (signature vec2\n"
9333 " (parameters\n"
9334 " (declare (in) vec2 x))\n"
9335 " ())\n"
9336 " (signature vec3\n"
9337 " (parameters\n"
9338 " (declare (in) vec3 x))\n"
9339 " ())\n"
9340 " (signature vec4\n"
9341 " (parameters\n"
9342 " (declare (in) vec4 x))\n"
9343 " ()))\n"
9344 "(function ftransform\n"
9345 " (signature vec4\n"
9346 " (parameters)\n"
9347 " ()))\n"
9348 "(function faceforward\n"
9349 " (signature float\n"
9350 " (parameters\n"
9351 " (declare (in) float N)\n"
9352 " (declare (in) float I)\n"
9353 " (declare (in) float Nref))\n"
9354 " ())\n"
9355 " (signature vec2\n"
9356 " (parameters\n"
9357 " (declare (in) vec2 N)\n"
9358 " (declare (in) vec2 I)\n"
9359 " (declare (in) vec2 Nref))\n"
9360 " ())\n"
9361 " (signature vec3\n"
9362 " (parameters\n"
9363 " (declare (in) vec3 N)\n"
9364 " (declare (in) vec3 I)\n"
9365 " (declare (in) vec3 Nref))\n"
9366 " ())\n"
9367 " (signature vec4\n"
9368 " (parameters\n"
9369 " (declare (in) vec4 N)\n"
9370 " (declare (in) vec4 I)\n"
9371 " (declare (in) vec4 Nref))\n"
9372 " ()))\n"
9373 "(function reflect\n"
9374 " (signature float\n"
9375 " (parameters\n"
9376 " (declare (in) float I)\n"
9377 " (declare (in) float N))\n"
9378 " ())\n"
9379 " (signature vec2\n"
9380 " (parameters\n"
9381 " (declare (in) vec2 I)\n"
9382 " (declare (in) vec2 N))\n"
9383 " ())\n"
9384 " (signature vec3\n"
9385 " (parameters\n"
9386 " (declare (in) vec3 I)\n"
9387 " (declare (in) vec3 N))\n"
9388 " ())\n"
9389 " (signature vec4\n"
9390 " (parameters\n"
9391 " (declare (in) vec4 I)\n"
9392 " (declare (in) vec4 N))\n"
9393 " ()))\n"
9394 "(function refract\n"
9395 " (signature float\n"
9396 " (parameters\n"
9397 " (declare (in) float I)\n"
9398 " (declare (in) float N)\n"
9399 " (declare (in) float eta))\n"
9400 " ())\n"
9401 " (signature vec2\n"
9402 " (parameters\n"
9403 " (declare (in) vec2 I)\n"
9404 " (declare (in) vec2 N)\n"
9405 " (declare (in) float eta))\n"
9406 " ())\n"
9407 " (signature vec3\n"
9408 " (parameters\n"
9409 " (declare (in) vec3 I)\n"
9410 " (declare (in) vec3 N)\n"
9411 " (declare (in) float eta))\n"
9412 " ())\n"
9413 " (signature vec4\n"
9414 " (parameters\n"
9415 " (declare (in) vec4 I)\n"
9416 " (declare (in) vec4 N)\n"
9417 " (declare (in) float eta))\n"
9418 " ()))\n"
9419 "(function matrixCompMult\n"
9420 " (signature mat2\n"
9421 " (parameters\n"
9422 " (declare (in) mat2 x)\n"
9423 " (declare (in) mat2 y))\n"
9424 " ())\n"
9425 " (signature mat3\n"
9426 " (parameters\n"
9427 " (declare (in) mat3 x)\n"
9428 " (declare (in) mat3 y))\n"
9429 " ())\n"
9430 " (signature mat4\n"
9431 " (parameters\n"
9432 " (declare (in) mat4 x)\n"
9433 " (declare (in) mat4 y))\n"
9434 " ()))\n"
9435 "(function lessThan\n"
9436 " (signature bvec2\n"
9437 " (parameters\n"
9438 " (declare (in) vec2 x)\n"
9439 " (declare (in) vec2 y))\n"
9440 " ())\n"
9441 " (signature bvec3\n"
9442 " (parameters\n"
9443 " (declare (in) vec3 x)\n"
9444 " (declare (in) vec3 y))\n"
9445 " ())\n"
9446 " (signature bvec4\n"
9447 " (parameters\n"
9448 " (declare (in) vec4 x)\n"
9449 " (declare (in) vec4 y))\n"
9450 " ())\n"
9451 " (signature bvec2\n"
9452 " (parameters\n"
9453 " (declare (in) ivec2 x)\n"
9454 " (declare (in) ivec2 y))\n"
9455 " ())\n"
9456 " (signature bvec3\n"
9457 " (parameters\n"
9458 " (declare (in) ivec3 x)\n"
9459 " (declare (in) ivec3 y))\n"
9460 " ())\n"
9461 " (signature bvec4\n"
9462 " (parameters\n"
9463 " (declare (in) ivec4 x)\n"
9464 " (declare (in) ivec4 y))\n"
9465 " ()))\n"
9466 "(function lessThanEqual\n"
9467 " (signature bvec2\n"
9468 " (parameters\n"
9469 " (declare (in) vec2 x)\n"
9470 " (declare (in) vec2 y))\n"
9471 " ())\n"
9472 " (signature bvec3\n"
9473 " (parameters\n"
9474 " (declare (in) vec3 x)\n"
9475 " (declare (in) vec3 y))\n"
9476 " ())\n"
9477 " (signature bvec4\n"
9478 " (parameters\n"
9479 " (declare (in) vec4 x)\n"
9480 " (declare (in) vec4 y))\n"
9481 " ())\n"
9482 " (signature bvec2\n"
9483 " (parameters\n"
9484 " (declare (in) ivec2 x)\n"
9485 " (declare (in) ivec2 y))\n"
9486 " ())\n"
9487 " (signature bvec3\n"
9488 " (parameters\n"
9489 " (declare (in) ivec3 x)\n"
9490 " (declare (in) ivec3 y))\n"
9491 " ())\n"
9492 " (signature bvec4\n"
9493 " (parameters\n"
9494 " (declare (in) ivec4 x)\n"
9495 " (declare (in) ivec4 y))\n"
9496 " ()))\n"
9497 "(function greaterThan\n"
9498 " (signature bvec2\n"
9499 " (parameters\n"
9500 " (declare (in) vec2 x)\n"
9501 " (declare (in) vec2 y))\n"
9502 " ())\n"
9503 " (signature bvec3\n"
9504 " (parameters\n"
9505 " (declare (in) vec3 x)\n"
9506 " (declare (in) vec3 y))\n"
9507 " ())\n"
9508 " (signature bvec4\n"
9509 " (parameters\n"
9510 " (declare (in) vec4 x)\n"
9511 " (declare (in) vec4 y))\n"
9512 " ())\n"
9513 " (signature bvec2\n"
9514 " (parameters\n"
9515 " (declare (in) ivec2 x)\n"
9516 " (declare (in) ivec2 y))\n"
9517 " ())\n"
9518 " (signature bvec3\n"
9519 " (parameters\n"
9520 " (declare (in) ivec3 x)\n"
9521 " (declare (in) ivec3 y))\n"
9522 " ())\n"
9523 " (signature bvec4\n"
9524 " (parameters\n"
9525 " (declare (in) ivec4 x)\n"
9526 " (declare (in) ivec4 y))\n"
9527 " ()))\n"
9528 "(function greaterThanEqual\n"
9529 " (signature bvec2\n"
9530 " (parameters\n"
9531 " (declare (in) vec2 x)\n"
9532 " (declare (in) vec2 y))\n"
9533 " ())\n"
9534 " (signature bvec3\n"
9535 " (parameters\n"
9536 " (declare (in) vec3 x)\n"
9537 " (declare (in) vec3 y))\n"
9538 " ())\n"
9539 " (signature bvec4\n"
9540 " (parameters\n"
9541 " (declare (in) vec4 x)\n"
9542 " (declare (in) vec4 y))\n"
9543 " ())\n"
9544 " (signature bvec2\n"
9545 " (parameters\n"
9546 " (declare (in) ivec2 x)\n"
9547 " (declare (in) ivec2 y))\n"
9548 " ())\n"
9549 " (signature bvec3\n"
9550 " (parameters\n"
9551 " (declare (in) ivec3 x)\n"
9552 " (declare (in) ivec3 y))\n"
9553 " ())\n"
9554 " (signature bvec4\n"
9555 " (parameters\n"
9556 " (declare (in) ivec4 x)\n"
9557 " (declare (in) ivec4 y))\n"
9558 " ()))\n"
9559 "(function equal\n"
9560 " (signature bvec2\n"
9561 " (parameters\n"
9562 " (declare (in) vec2 x)\n"
9563 " (declare (in) vec2 y))\n"
9564 " ())\n"
9565 " (signature bvec3\n"
9566 " (parameters\n"
9567 " (declare (in) vec3 x)\n"
9568 " (declare (in) vec3 y))\n"
9569 " ())\n"
9570 " (signature bvec4\n"
9571 " (parameters\n"
9572 " (declare (in) vec4 x)\n"
9573 " (declare (in) vec4 y))\n"
9574 " ())\n"
9575 " (signature bvec2\n"
9576 " (parameters\n"
9577 " (declare (in) ivec2 x)\n"
9578 " (declare (in) ivec2 y))\n"
9579 " ())\n"
9580 " (signature bvec3\n"
9581 " (parameters\n"
9582 " (declare (in) ivec3 x)\n"
9583 " (declare (in) ivec3 y))\n"
9584 " ())\n"
9585 " (signature bvec4\n"
9586 " (parameters\n"
9587 " (declare (in) ivec4 x)\n"
9588 " (declare (in) ivec4 y))\n"
9589 " ())\n"
9590 " (signature bvec2\n"
9591 " (parameters\n"
9592 " (declare (in) bvec2 x)\n"
9593 " (declare (in) bvec2 y))\n"
9594 " ())\n"
9595 " (signature bvec3\n"
9596 " (parameters\n"
9597 " (declare (in) bvec3 x)\n"
9598 " (declare (in) bvec3 y))\n"
9599 " ())\n"
9600 " (signature bvec4\n"
9601 " (parameters\n"
9602 " (declare (in) bvec4 x)\n"
9603 " (declare (in) bvec4 y))\n"
9604 " ()))\n"
9605 "(function notEqual\n"
9606 " (signature bvec2\n"
9607 " (parameters\n"
9608 " (declare (in) vec2 x)\n"
9609 " (declare (in) vec2 y))\n"
9610 " ())\n"
9611 " (signature bvec3\n"
9612 " (parameters\n"
9613 " (declare (in) vec3 x)\n"
9614 " (declare (in) vec3 y))\n"
9615 " ())\n"
9616 " (signature bvec4\n"
9617 " (parameters\n"
9618 " (declare (in) vec4 x)\n"
9619 " (declare (in) vec4 y))\n"
9620 " ())\n"
9621 " (signature bvec2\n"
9622 " (parameters\n"
9623 " (declare (in) ivec2 x)\n"
9624 " (declare (in) ivec2 y))\n"
9625 " ())\n"
9626 " (signature bvec3\n"
9627 " (parameters\n"
9628 " (declare (in) ivec3 x)\n"
9629 " (declare (in) ivec3 y))\n"
9630 " ())\n"
9631 " (signature bvec4\n"
9632 " (parameters\n"
9633 " (declare (in) ivec4 x)\n"
9634 " (declare (in) ivec4 y))\n"
9635 " ())\n"
9636 " (signature bvec2\n"
9637 " (parameters\n"
9638 " (declare (in) bvec2 x)\n"
9639 " (declare (in) bvec2 y))\n"
9640 " ())\n"
9641 " (signature bvec3\n"
9642 " (parameters\n"
9643 " (declare (in) bvec3 x)\n"
9644 " (declare (in) bvec3 y))\n"
9645 " ())\n"
9646 " (signature bvec4\n"
9647 " (parameters\n"
9648 " (declare (in) bvec4 x)\n"
9649 " (declare (in) bvec4 y))\n"
9650 " ()))\n"
9651 "(function any\n"
9652 " (signature bool\n"
9653 " (parameters\n"
9654 " (declare (in) bvec2 x))\n"
9655 " ())\n"
9656 " (signature bool\n"
9657 " (parameters\n"
9658 " (declare (in) bvec3 x))\n"
9659 " ())\n"
9660 " (signature bool\n"
9661 " (parameters\n"
9662 " (declare (in) bvec4 x))\n"
9663 " ()))\n"
9664 "(function all\n"
9665 " (signature bool\n"
9666 " (parameters\n"
9667 " (declare (in) bvec2 x))\n"
9668 " ())\n"
9669 " (signature bool\n"
9670 " (parameters\n"
9671 " (declare (in) bvec3 x))\n"
9672 " ())\n"
9673 " (signature bool\n"
9674 " (parameters\n"
9675 " (declare (in) bvec4 x))\n"
9676 " ()))\n"
9677 "(function not\n"
9678 " (signature bvec2\n"
9679 " (parameters\n"
9680 " (declare (in) bvec2 x))\n"
9681 " ())\n"
9682 " (signature bvec3\n"
9683 " (parameters\n"
9684 " (declare (in) bvec3 x))\n"
9685 " ())\n"
9686 " (signature bvec4\n"
9687 " (parameters\n"
9688 " (declare (in) bvec4 x))\n"
9689 " ()))\n"
9690 "(function texture1D\n"
9691 " (signature vec4\n"
9692 " (parameters\n"
9693 " (declare (in) sampler1D sampler)\n"
9694 " (declare (in) float coord))\n"
9695 " ()))\n"
9696 "(function texture1DProj\n"
9697 " (signature vec4\n"
9698 " (parameters\n"
9699 " (declare (in) sampler1D sampler)\n"
9700 " (declare (in) vec2 coord))\n"
9701 " ())\n"
9702 " (signature vec4\n"
9703 " (parameters\n"
9704 " (declare (in) sampler1D sampler)\n"
9705 " (declare (in) vec4 coord))\n"
9706 " ()))\n"
9707 "(function texture1DLod\n"
9708 " (signature vec4\n"
9709 " (parameters\n"
9710 " (declare (in) sampler1D sampler)\n"
9711 " (declare (in) float coord)\n"
9712 " (declare (in) float lod))\n"
9713 " ()))\n"
9714 "(function texture1DProjLod\n"
9715 " (signature vec4\n"
9716 " (parameters\n"
9717 " (declare (in) sampler1D sampler)\n"
9718 " (declare (in) vec2 coord)\n"
9719 " (declare (in) float lod))\n"
9720 " ())\n"
9721 " (signature vec4\n"
9722 " (parameters\n"
9723 " (declare (in) sampler1D sampler)\n"
9724 " (declare (in) vec4 coord)\n"
9725 " (declare (in) float lod))\n"
9726 " ()))\n"
9727 "(function texture2D\n"
9728 " (signature vec4\n"
9729 " (parameters\n"
9730 " (declare (in) sampler2D sampler)\n"
9731 " (declare (in) vec2 coord))\n"
9732 " ()))\n"
9733 "(function texture2DProj\n"
9734 " (signature vec4\n"
9735 " (parameters\n"
9736 " (declare (in) sampler2D sampler)\n"
9737 " (declare (in) vec3 coord))\n"
9738 " ())\n"
9739 " (signature vec4\n"
9740 " (parameters\n"
9741 " (declare (in) sampler2D sampler)\n"
9742 " (declare (in) vec4 coord))\n"
9743 " ()))\n"
9744 "(function texture2DLod\n"
9745 " (signature vec4\n"
9746 " (parameters\n"
9747 " (declare (in) sampler2D sampler)\n"
9748 " (declare (in) vec2 coord)\n"
9749 " (declare (in) float lod))\n"
9750 " ()))\n"
9751 "(function texture2DProjLod\n"
9752 " (signature vec4\n"
9753 " (parameters\n"
9754 " (declare (in) sampler2D sampler)\n"
9755 " (declare (in) vec3 coord)\n"
9756 " (declare (in) float lod))\n"
9757 " ())\n"
9758 " (signature vec4\n"
9759 " (parameters\n"
9760 " (declare (in) sampler2D sampler)\n"
9761 " (declare (in) vec4 coord)\n"
9762 " (declare (in) float lod))\n"
9763 " ()))\n"
9764 "(function texture3D\n"
9765 " (signature vec4\n"
9766 " (parameters\n"
9767 " (declare (in) sampler3D sampler)\n"
9768 " (declare (in) vec3 coord))\n"
9769 " ()))\n"
9770 "(function texture3DProj\n"
9771 " (signature vec4\n"
9772 " (parameters\n"
9773 " (declare (in) sampler3D sampler)\n"
9774 " (declare (in) vec4 coord))\n"
9775 " ()))\n"
9776 "(function texture3DLod\n"
9777 " (signature vec4\n"
9778 " (parameters\n"
9779 " (declare (in) sampler3D sampler)\n"
9780 " (declare (in) vec3 coord)\n"
9781 " (declare (in) float lod))\n"
9782 " ()))\n"
9783 "(function texture3DProjLod\n"
9784 " (signature vec4\n"
9785 " (parameters\n"
9786 " (declare (in) sampler3D sampler)\n"
9787 " (declare (in) vec4 coord)\n"
9788 " (declare (in) float lod))\n"
9789 " ()))\n"
9790 "(function textureCube\n"
9791 " (signature vec4\n"
9792 " (parameters\n"
9793 " (declare (in) samplerCube sampler)\n"
9794 " (declare (in) vec3 coord))\n"
9795 " ()))\n"
9796 "(function textureCubeLod\n"
9797 " (signature vec4\n"
9798 " (parameters\n"
9799 " (declare (in) samplerCube sampler)\n"
9800 " (declare (in) vec3 coord)\n"
9801 " (declare (in) float lod))\n"
9802 " ()))\n"
9803 "(function shadow1D\n"
9804 " (signature vec4\n"
9805 " (parameters\n"
9806 " (declare (in) sampler1DShadow sampler)\n"
9807 " (declare (in) vec3 coord))\n"
9808 " ()))\n"
9809 "(function shadow2D\n"
9810 " (signature vec4\n"
9811 " (parameters\n"
9812 " (declare (in) sampler2DShadow sampler)\n"
9813 " (declare (in) vec3 coord))\n"
9814 " ()))\n"
9815 "(function shadow1DProj\n"
9816 " (signature vec4\n"
9817 " (parameters\n"
9818 " (declare (in) sampler1DShadow sampler)\n"
9819 " (declare (in) vec4 coord))\n"
9820 " ()))\n"
9821 "(function shadow2DProj\n"
9822 " (signature vec4\n"
9823 " (parameters\n"
9824 " (declare (in) sampler2DShadow sampler)\n"
9825 " (declare (in) vec4 coord))\n"
9826 " ()))\n"
9827 "(function shadow1DLod\n"
9828 " (signature vec4\n"
9829 " (parameters\n"
9830 " (declare (in) sampler1DShadow sampler)\n"
9831 " (declare (in) vec3 coord)\n"
9832 " (declare (in) float lod))\n"
9833 " ()))\n"
9834 "(function shadow2DLod\n"
9835 " (signature vec4\n"
9836 " (parameters\n"
9837 " (declare (in) sampler2DShadow sampler)\n"
9838 " (declare (in) vec3 coord)\n"
9839 " (declare (in) float lod))\n"
9840 " ()))\n"
9841 "(function shadow1DProjLod\n"
9842 " (signature vec4\n"
9843 " (parameters\n"
9844 " (declare (in) sampler1DShadow sampler)\n"
9845 " (declare (in) vec4 coord)\n"
9846 " (declare (in) float lod))\n"
9847 " ()))\n"
9848 "(function shadow2DProjLod\n"
9849 " (signature vec4\n"
9850 " (parameters\n"
9851 " (declare (in) sampler2DShadow sampler)\n"
9852 " (declare (in) vec4 coord)\n"
9853 " (declare (in) float lod))\n"
9854 " ()))\n"
9855 "(function noise1\n"
9856 " (signature float\n"
9857 " (parameters\n"
9858 " (declare (in) float x))\n"
9859 " ())\n"
9860 " (signature float\n"
9861 " (parameters\n"
9862 " (declare (in) vec2 x))\n"
9863 " ())\n"
9864 " (signature float\n"
9865 " (parameters\n"
9866 " (declare (in) vec3 x))\n"
9867 " ())\n"
9868 " (signature float\n"
9869 " (parameters\n"
9870 " (declare (in) vec4 x))\n"
9871 " ()))\n"
9872 "(function noise2\n"
9873 " (signature vec2\n"
9874 " (parameters\n"
9875 " (declare (in) float x))\n"
9876 " ())\n"
9877 " (signature vec2\n"
9878 " (parameters\n"
9879 " (declare (in) vec2 x))\n"
9880 " ())\n"
9881 " (signature vec2\n"
9882 " (parameters\n"
9883 " (declare (in) vec3 x))\n"
9884 " ())\n"
9885 " (signature vec2\n"
9886 " (parameters\n"
9887 " (declare (in) vec4 x))\n"
9888 " ()))\n"
9889 "(function noise3\n"
9890 " (signature vec3\n"
9891 " (parameters\n"
9892 " (declare (in) float x))\n"
9893 " ())\n"
9894 " (signature vec3\n"
9895 " (parameters\n"
9896 " (declare (in) vec2 x))\n"
9897 " ())\n"
9898 " (signature vec3\n"
9899 " (parameters\n"
9900 " (declare (in) vec3 x))\n"
9901 " ())\n"
9902 " (signature vec3\n"
9903 " (parameters\n"
9904 " (declare (in) vec4 x))\n"
9905 " ()))\n"
9906 "(function noise4\n"
9907 " (signature vec4\n"
9908 " (parameters\n"
9909 " (declare (in) float x))\n"
9910 " ())\n"
9911 " (signature vec4\n"
9912 " (parameters\n"
9913 " (declare (in) vec2 x))\n"
9914 " ())\n"
9915 " (signature vec4\n"
9916 " (parameters\n"
9917 " (declare (in) vec3 x))\n"
9918 " ())\n"
9919 " (signature vec4\n"
9920 " (parameters\n"
9921 " (declare (in) vec4 x))\n"
9922 " ())))"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -07009923;
Eric Anholt47003a82010-08-23 12:39:35 -07009924static const char *functions_for_110_vert [] = {
9925 builtin_abs,
9926 builtin_acos,
9927 builtin_all,
9928 builtin_any,
9929 builtin_asin,
9930 builtin_atan,
9931 builtin_ceil,
9932 builtin_clamp,
9933 builtin_cos,
9934 builtin_cross,
9935 builtin_degrees,
9936 builtin_distance,
9937 builtin_dot,
9938 builtin_equal,
9939 builtin_exp,
9940 builtin_exp2,
9941 builtin_faceforward,
9942 builtin_floor,
9943 builtin_fract,
9944 builtin_ftransform,
9945 builtin_greaterThan,
9946 builtin_greaterThanEqual,
9947 builtin_inversesqrt,
9948 builtin_length,
9949 builtin_lessThan,
9950 builtin_lessThanEqual,
9951 builtin_log,
9952 builtin_log2,
9953 builtin_matrixCompMult,
9954 builtin_max,
9955 builtin_min,
9956 builtin_mix,
9957 builtin_mod,
9958 builtin_noise1,
9959 builtin_noise2,
9960 builtin_noise3,
9961 builtin_noise4,
9962 builtin_normalize,
9963 builtin_not,
9964 builtin_notEqual,
9965 builtin_pow,
9966 builtin_radians,
9967 builtin_reflect,
9968 builtin_refract,
9969 builtin_shadow1D,
9970 builtin_shadow1DLod,
9971 builtin_shadow1DProj,
9972 builtin_shadow1DProjLod,
9973 builtin_shadow2D,
9974 builtin_shadow2DLod,
9975 builtin_shadow2DProj,
9976 builtin_shadow2DProjLod,
9977 builtin_sign,
9978 builtin_sin,
9979 builtin_smoothstep,
9980 builtin_sqrt,
9981 builtin_step,
9982 builtin_tan,
9983 builtin_texture1D,
9984 builtin_texture1DLod,
9985 builtin_texture1DProj,
9986 builtin_texture1DProjLod,
9987 builtin_texture2D,
9988 builtin_texture2DLod,
9989 builtin_texture2DProj,
9990 builtin_texture2DProjLod,
9991 builtin_texture3D,
9992 builtin_texture3DLod,
9993 builtin_texture3DProj,
9994 builtin_texture3DProjLod,
9995 builtin_textureCube,
9996 builtin_textureCubeLod,
9997};
Kenneth Graunke3f5fde52010-10-21 11:43:39 -07009998static const char prototypes_for_120_frag[] =
Eric Anholt47003a82010-08-23 12:39:35 -07009999 "(\n"
10000 "(function radians\n"
10001 " (signature float\n"
10002 " (parameters\n"
10003 " (declare (in) float degrees))\n"
10004 " ())\n"
10005 " (signature vec2\n"
10006 " (parameters\n"
10007 " (declare (in) vec2 degrees))\n"
10008 " ())\n"
10009 " (signature vec3\n"
10010 " (parameters\n"
10011 " (declare (in) vec3 degrees))\n"
10012 " ())\n"
10013 " (signature vec4\n"
10014 " (parameters\n"
10015 " (declare (in) vec4 degrees))\n"
10016 " ()))\n"
10017 "(function degrees\n"
10018 " (signature float\n"
10019 " (parameters\n"
10020 " (declare (in) float radians))\n"
10021 " ())\n"
10022 " (signature vec2\n"
10023 " (parameters\n"
10024 " (declare (in) vec2 radians))\n"
10025 " ())\n"
10026 " (signature vec3\n"
10027 " (parameters\n"
10028 " (declare (in) vec3 radians))\n"
10029 " ())\n"
10030 " (signature vec4\n"
10031 " (parameters\n"
10032 " (declare (in) vec4 radians))\n"
10033 " ()))\n"
10034 "(function sin\n"
10035 " (signature float\n"
10036 " (parameters\n"
10037 " (declare (in) float angle))\n"
10038 " ())\n"
10039 " (signature vec2\n"
10040 " (parameters\n"
10041 " (declare (in) vec2 angle))\n"
10042 " ())\n"
10043 " (signature vec3\n"
10044 " (parameters\n"
10045 " (declare (in) vec3 angle))\n"
10046 " ())\n"
10047 " (signature vec4\n"
10048 " (parameters\n"
10049 " (declare (in) vec4 angle))\n"
10050 " ()))\n"
10051 "(function cos\n"
10052 " (signature float\n"
10053 " (parameters\n"
10054 " (declare (in) float angle))\n"
10055 " ())\n"
10056 " (signature vec2\n"
10057 " (parameters\n"
10058 " (declare (in) vec2 angle))\n"
10059 " ())\n"
10060 " (signature vec3\n"
10061 " (parameters\n"
10062 " (declare (in) vec3 angle))\n"
10063 " ())\n"
10064 " (signature vec4\n"
10065 " (parameters\n"
10066 " (declare (in) vec4 angle))\n"
10067 " ()))\n"
10068 "(function tan\n"
10069 " (signature float\n"
10070 " (parameters\n"
10071 " (declare (in) float angle))\n"
10072 " ())\n"
10073 " (signature vec2\n"
10074 " (parameters\n"
10075 " (declare (in) vec2 angle))\n"
10076 " ())\n"
10077 " (signature vec3\n"
10078 " (parameters\n"
10079 " (declare (in) vec3 angle))\n"
10080 " ())\n"
10081 " (signature vec4\n"
10082 " (parameters\n"
10083 " (declare (in) vec4 angle))\n"
10084 " ()))\n"
10085 "(function asin\n"
10086 " (signature float\n"
10087 " (parameters\n"
10088 " (declare (in) float angle))\n"
10089 " ())\n"
10090 " (signature vec2\n"
10091 " (parameters\n"
10092 " (declare (in) vec2 angle))\n"
10093 " ())\n"
10094 " (signature vec3\n"
10095 " (parameters\n"
10096 " (declare (in) vec3 angle))\n"
10097 " ())\n"
10098 " (signature vec4\n"
10099 " (parameters\n"
10100 " (declare (in) vec4 angle))\n"
10101 " ()))\n"
10102 "(function acos\n"
10103 " (signature float\n"
10104 " (parameters\n"
10105 " (declare (in) float angle))\n"
10106 " ())\n"
10107 " (signature vec2\n"
10108 " (parameters\n"
10109 " (declare (in) vec2 angle))\n"
10110 " ())\n"
10111 " (signature vec3\n"
10112 " (parameters\n"
10113 " (declare (in) vec3 angle))\n"
10114 " ())\n"
10115 " (signature vec4\n"
10116 " (parameters\n"
10117 " (declare (in) vec4 angle))\n"
10118 " ()))\n"
10119 "(function atan\n"
10120 " (signature float\n"
10121 " (parameters\n"
10122 " (declare (in) float y)\n"
10123 " (declare (in) float x))\n"
10124 " ())\n"
10125 " (signature vec2\n"
10126 " (parameters\n"
10127 " (declare (in) vec2 y)\n"
10128 " (declare (in) vec2 x))\n"
10129 " ())\n"
10130 " (signature vec3\n"
10131 " (parameters\n"
10132 " (declare (in) vec3 y)\n"
10133 " (declare (in) vec3 x))\n"
10134 " ())\n"
10135 " (signature vec4\n"
10136 " (parameters\n"
10137 " (declare (in) vec4 y)\n"
10138 " (declare (in) vec4 x))\n"
10139 " ())\n"
10140 " (signature float\n"
10141 " (parameters\n"
10142 " (declare (in) float y_over_x))\n"
10143 " ())\n"
10144 " (signature vec2\n"
10145 " (parameters\n"
10146 " (declare (in) vec2 y_over_x))\n"
10147 " ())\n"
10148 " (signature vec3\n"
10149 " (parameters\n"
10150 " (declare (in) vec3 y_over_x))\n"
10151 " ())\n"
10152 " (signature vec4\n"
10153 " (parameters\n"
10154 " (declare (in) vec4 y_over_x))\n"
10155 " ()))\n"
10156 "(function pow\n"
10157 " (signature float\n"
10158 " (parameters\n"
10159 " (declare (in) float x)\n"
10160 " (declare (in) float y))\n"
10161 " ())\n"
10162 " (signature vec2\n"
10163 " (parameters\n"
10164 " (declare (in) vec2 x)\n"
10165 " (declare (in) vec2 y))\n"
10166 " ())\n"
10167 " (signature vec3\n"
10168 " (parameters\n"
10169 " (declare (in) vec3 x)\n"
10170 " (declare (in) vec3 y))\n"
10171 " ())\n"
10172 " (signature vec4\n"
10173 " (parameters\n"
10174 " (declare (in) vec4 x)\n"
10175 " (declare (in) vec4 y))\n"
10176 " ()))\n"
10177 "(function exp\n"
10178 " (signature float\n"
10179 " (parameters\n"
10180 " (declare (in) float x))\n"
10181 " ())\n"
10182 " (signature vec2\n"
10183 " (parameters\n"
10184 " (declare (in) vec2 x))\n"
10185 " ())\n"
10186 " (signature vec3\n"
10187 " (parameters\n"
10188 " (declare (in) vec3 x))\n"
10189 " ())\n"
10190 " (signature vec4\n"
10191 " (parameters\n"
10192 " (declare (in) vec4 x))\n"
10193 " ()))\n"
10194 "(function log\n"
10195 " (signature float\n"
10196 " (parameters\n"
10197 " (declare (in) float x))\n"
10198 " ())\n"
10199 " (signature vec2\n"
10200 " (parameters\n"
10201 " (declare (in) vec2 x))\n"
10202 " ())\n"
10203 " (signature vec3\n"
10204 " (parameters\n"
10205 " (declare (in) vec3 x))\n"
10206 " ())\n"
10207 " (signature vec4\n"
10208 " (parameters\n"
10209 " (declare (in) vec4 x))\n"
10210 " ()))\n"
10211 "(function exp2\n"
10212 " (signature float\n"
10213 " (parameters\n"
10214 " (declare (in) float x))\n"
10215 " ())\n"
10216 " (signature vec2\n"
10217 " (parameters\n"
10218 " (declare (in) vec2 x))\n"
10219 " ())\n"
10220 " (signature vec3\n"
10221 " (parameters\n"
10222 " (declare (in) vec3 x))\n"
10223 " ())\n"
10224 " (signature vec4\n"
10225 " (parameters\n"
10226 " (declare (in) vec4 x))\n"
10227 " ()))\n"
10228 "(function log2\n"
10229 " (signature float\n"
10230 " (parameters\n"
10231 " (declare (in) float x))\n"
10232 " ())\n"
10233 " (signature vec2\n"
10234 " (parameters\n"
10235 " (declare (in) vec2 x))\n"
10236 " ())\n"
10237 " (signature vec3\n"
10238 " (parameters\n"
10239 " (declare (in) vec3 x))\n"
10240 " ())\n"
10241 " (signature vec4\n"
10242 " (parameters\n"
10243 " (declare (in) vec4 x))\n"
10244 " ()))\n"
10245 "(function sqrt\n"
10246 " (signature float\n"
10247 " (parameters\n"
10248 " (declare (in) float x))\n"
10249 " ())\n"
10250 " (signature vec2\n"
10251 " (parameters\n"
10252 " (declare (in) vec2 x))\n"
10253 " ())\n"
10254 " (signature vec3\n"
10255 " (parameters\n"
10256 " (declare (in) vec3 x))\n"
10257 " ())\n"
10258 " (signature vec4\n"
10259 " (parameters\n"
10260 " (declare (in) vec4 x))\n"
10261 " ()))\n"
10262 "(function inversesqrt\n"
10263 " (signature float\n"
10264 " (parameters\n"
10265 " (declare (in) float x))\n"
10266 " ())\n"
10267 " (signature vec2\n"
10268 " (parameters\n"
10269 " (declare (in) vec2 x))\n"
10270 " ())\n"
10271 " (signature vec3\n"
10272 " (parameters\n"
10273 " (declare (in) vec3 x))\n"
10274 " ())\n"
10275 " (signature vec4\n"
10276 " (parameters\n"
10277 " (declare (in) vec4 x))\n"
10278 " ()))\n"
10279 "(function abs\n"
10280 " (signature float\n"
10281 " (parameters\n"
10282 " (declare (in) float x))\n"
10283 " ())\n"
10284 " (signature vec2\n"
10285 " (parameters\n"
10286 " (declare (in) vec2 x))\n"
10287 " ())\n"
10288 " (signature vec3\n"
10289 " (parameters\n"
10290 " (declare (in) vec3 x))\n"
10291 " ())\n"
10292 " (signature vec4\n"
10293 " (parameters\n"
10294 " (declare (in) vec4 x))\n"
10295 " ()))\n"
10296 "(function sign\n"
10297 " (signature float\n"
10298 " (parameters\n"
10299 " (declare (in) float x))\n"
10300 " ())\n"
10301 " (signature vec2\n"
10302 " (parameters\n"
10303 " (declare (in) vec2 x))\n"
10304 " ())\n"
10305 " (signature vec3\n"
10306 " (parameters\n"
10307 " (declare (in) vec3 x))\n"
10308 " ())\n"
10309 " (signature vec4\n"
10310 " (parameters\n"
10311 " (declare (in) vec4 x))\n"
10312 " ()))\n"
10313 "(function floor\n"
10314 " (signature float\n"
10315 " (parameters\n"
10316 " (declare (in) float x))\n"
10317 " ())\n"
10318 " (signature vec2\n"
10319 " (parameters\n"
10320 " (declare (in) vec2 x))\n"
10321 " ())\n"
10322 " (signature vec3\n"
10323 " (parameters\n"
10324 " (declare (in) vec3 x))\n"
10325 " ())\n"
10326 " (signature vec4\n"
10327 " (parameters\n"
10328 " (declare (in) vec4 x))\n"
10329 " ()))\n"
10330 "(function ceil\n"
10331 " (signature float\n"
10332 " (parameters\n"
10333 " (declare (in) float x))\n"
10334 " ())\n"
10335 " (signature vec2\n"
10336 " (parameters\n"
10337 " (declare (in) vec2 x))\n"
10338 " ())\n"
10339 " (signature vec3\n"
10340 " (parameters\n"
10341 " (declare (in) vec3 x))\n"
10342 " ())\n"
10343 " (signature vec4\n"
10344 " (parameters\n"
10345 " (declare (in) vec4 x))\n"
10346 " ()))\n"
10347 "(function fract\n"
10348 " (signature float\n"
10349 " (parameters\n"
10350 " (declare (in) float x))\n"
10351 " ())\n"
10352 " (signature vec2\n"
10353 " (parameters\n"
10354 " (declare (in) vec2 x))\n"
10355 " ())\n"
10356 " (signature vec3\n"
10357 " (parameters\n"
10358 " (declare (in) vec3 x))\n"
10359 " ())\n"
10360 " (signature vec4\n"
10361 " (parameters\n"
10362 " (declare (in) vec4 x))\n"
10363 " ()))\n"
10364 "(function mod\n"
10365 " (signature float\n"
10366 " (parameters\n"
10367 " (declare (in) float x)\n"
10368 " (declare (in) float y))\n"
10369 " ())\n"
10370 " (signature vec2\n"
10371 " (parameters\n"
10372 " (declare (in) vec2 x)\n"
10373 " (declare (in) float y))\n"
10374 " ())\n"
10375 " (signature vec3\n"
10376 " (parameters\n"
10377 " (declare (in) vec3 x)\n"
10378 " (declare (in) float y))\n"
10379 " ())\n"
10380 " (signature vec4\n"
10381 " (parameters\n"
10382 " (declare (in) vec4 x)\n"
10383 " (declare (in) float y))\n"
10384 " ())\n"
10385 " (signature vec2\n"
10386 " (parameters\n"
10387 " (declare (in) vec2 x)\n"
10388 " (declare (in) vec2 y))\n"
10389 " ())\n"
10390 " (signature vec3\n"
10391 " (parameters\n"
10392 " (declare (in) vec3 x)\n"
10393 " (declare (in) vec3 y))\n"
10394 " ())\n"
10395 " (signature vec4\n"
10396 " (parameters\n"
10397 " (declare (in) vec4 x)\n"
10398 " (declare (in) vec4 y))\n"
10399 " ()))\n"
10400 "(function min\n"
10401 " (signature float\n"
10402 " (parameters\n"
10403 " (declare (in) float x)\n"
10404 " (declare (in) float y))\n"
10405 " ())\n"
10406 " (signature vec2\n"
10407 " (parameters\n"
10408 " (declare (in) vec2 x)\n"
10409 " (declare (in) vec2 y))\n"
10410 " ())\n"
10411 " (signature vec3\n"
10412 " (parameters\n"
10413 " (declare (in) vec3 x)\n"
10414 " (declare (in) vec3 y))\n"
10415 " ())\n"
10416 " (signature vec4\n"
10417 " (parameters\n"
10418 " (declare (in) vec4 x)\n"
10419 " (declare (in) vec4 y))\n"
10420 " ())\n"
10421 " (signature vec2\n"
10422 " (parameters\n"
10423 " (declare (in) vec2 x)\n"
10424 " (declare (in) float y))\n"
10425 " ())\n"
10426 " (signature vec3\n"
10427 " (parameters\n"
10428 " (declare (in) vec3 x)\n"
10429 " (declare (in) float y))\n"
10430 " ())\n"
10431 " (signature vec4\n"
10432 " (parameters\n"
10433 " (declare (in) vec4 x)\n"
10434 " (declare (in) float y))\n"
10435 " ()))\n"
10436 "(function max\n"
10437 " (signature float\n"
10438 " (parameters\n"
10439 " (declare (in) float x)\n"
10440 " (declare (in) float y))\n"
10441 " ())\n"
10442 " (signature vec2\n"
10443 " (parameters\n"
10444 " (declare (in) vec2 x)\n"
10445 " (declare (in) vec2 y))\n"
10446 " ())\n"
10447 " (signature vec3\n"
10448 " (parameters\n"
10449 " (declare (in) vec3 x)\n"
10450 " (declare (in) vec3 y))\n"
10451 " ())\n"
10452 " (signature vec4\n"
10453 " (parameters\n"
10454 " (declare (in) vec4 x)\n"
10455 " (declare (in) vec4 y))\n"
10456 " ())\n"
10457 " (signature vec2\n"
10458 " (parameters\n"
10459 " (declare (in) vec2 x)\n"
10460 " (declare (in) float y))\n"
10461 " ())\n"
10462 " (signature vec3\n"
10463 " (parameters\n"
10464 " (declare (in) vec3 x)\n"
10465 " (declare (in) float y))\n"
10466 " ())\n"
10467 " (signature vec4\n"
10468 " (parameters\n"
10469 " (declare (in) vec4 x)\n"
10470 " (declare (in) float y))\n"
10471 " ()))\n"
10472 "(function clamp\n"
10473 " (signature float\n"
10474 " (parameters\n"
10475 " (declare (in) float x)\n"
10476 " (declare (in) float minVal)\n"
10477 " (declare (in) float maxVal))\n"
10478 " ())\n"
10479 " (signature vec2\n"
10480 " (parameters\n"
10481 " (declare (in) vec2 x)\n"
10482 " (declare (in) vec2 minVal)\n"
10483 " (declare (in) vec2 maxVal))\n"
10484 " ())\n"
10485 " (signature vec3\n"
10486 " (parameters\n"
10487 " (declare (in) vec3 x)\n"
10488 " (declare (in) vec3 minVal)\n"
10489 " (declare (in) vec3 maxVal))\n"
10490 " ())\n"
10491 " (signature vec4\n"
10492 " (parameters\n"
10493 " (declare (in) vec4 x)\n"
10494 " (declare (in) vec4 minVal)\n"
10495 " (declare (in) vec4 maxVal))\n"
10496 " ())\n"
10497 " (signature vec2\n"
10498 " (parameters\n"
10499 " (declare (in) vec2 x)\n"
10500 " (declare (in) float minVal)\n"
10501 " (declare (in) float maxVal))\n"
10502 " ())\n"
10503 " (signature vec3\n"
10504 " (parameters\n"
10505 " (declare (in) vec3 x)\n"
10506 " (declare (in) float minVal)\n"
10507 " (declare (in) float maxVal))\n"
10508 " ())\n"
10509 " (signature vec4\n"
10510 " (parameters\n"
10511 " (declare (in) vec4 x)\n"
10512 " (declare (in) float minVal)\n"
10513 " (declare (in) float maxVal))\n"
10514 " ()))\n"
10515 "(function mix\n"
10516 " (signature float\n"
10517 " (parameters\n"
10518 " (declare (in) float x)\n"
10519 " (declare (in) float y)\n"
10520 " (declare (in) float a))\n"
10521 " ())\n"
10522 " (signature vec2\n"
10523 " (parameters\n"
10524 " (declare (in) vec2 x)\n"
10525 " (declare (in) vec2 y)\n"
10526 " (declare (in) vec2 a))\n"
10527 " ())\n"
10528 " (signature vec3\n"
10529 " (parameters\n"
10530 " (declare (in) vec3 x)\n"
10531 " (declare (in) vec3 y)\n"
10532 " (declare (in) vec3 a))\n"
10533 " ())\n"
10534 " (signature vec4\n"
10535 " (parameters\n"
10536 " (declare (in) vec4 x)\n"
10537 " (declare (in) vec4 y)\n"
10538 " (declare (in) vec4 a))\n"
10539 " ())\n"
10540 " (signature vec2\n"
10541 " (parameters\n"
10542 " (declare (in) vec2 x)\n"
10543 " (declare (in) vec2 y)\n"
10544 " (declare (in) float a))\n"
10545 " ())\n"
10546 " (signature vec3\n"
10547 " (parameters\n"
10548 " (declare (in) vec3 x)\n"
10549 " (declare (in) vec3 y)\n"
10550 " (declare (in) float a))\n"
10551 " ())\n"
10552 " (signature vec4\n"
10553 " (parameters\n"
10554 " (declare (in) vec4 x)\n"
10555 " (declare (in) vec4 y)\n"
10556 " (declare (in) float a))\n"
10557 " ()))\n"
10558 "(function step\n"
10559 " (signature float\n"
10560 " (parameters\n"
10561 " (declare (in) float edge)\n"
10562 " (declare (in) float x))\n"
10563 " ())\n"
10564 " (signature vec2\n"
10565 " (parameters\n"
10566 " (declare (in) vec2 edge)\n"
10567 " (declare (in) vec2 x))\n"
10568 " ())\n"
10569 " (signature vec3\n"
10570 " (parameters\n"
10571 " (declare (in) vec3 edge)\n"
10572 " (declare (in) vec3 x))\n"
10573 " ())\n"
10574 " (signature vec4\n"
10575 " (parameters\n"
10576 " (declare (in) vec4 edge)\n"
10577 " (declare (in) vec4 x))\n"
10578 " ())\n"
10579 " (signature vec2\n"
10580 " (parameters\n"
10581 " (declare (in) float edge)\n"
10582 " (declare (in) vec2 x))\n"
10583 " ())\n"
10584 " (signature vec3\n"
10585 " (parameters\n"
10586 " (declare (in) float edge)\n"
10587 " (declare (in) vec3 x))\n"
10588 " ())\n"
10589 " (signature vec4\n"
10590 " (parameters\n"
10591 " (declare (in) float edge)\n"
10592 " (declare (in) vec4 x))\n"
10593 " ()))\n"
10594 "(function smoothstep\n"
10595 " (signature float\n"
10596 " (parameters\n"
10597 " (declare (in) float edge0)\n"
10598 " (declare (in) float edge1)\n"
10599 " (declare (in) float x))\n"
10600 " ())\n"
10601 " (signature vec2\n"
10602 " (parameters\n"
10603 " (declare (in) vec2 edge0)\n"
10604 " (declare (in) vec2 edge1)\n"
10605 " (declare (in) vec2 x))\n"
10606 " ())\n"
10607 " (signature vec3\n"
10608 " (parameters\n"
10609 " (declare (in) vec3 edge0)\n"
10610 " (declare (in) vec3 edge1)\n"
10611 " (declare (in) vec3 x))\n"
10612 " ())\n"
10613 " (signature vec4\n"
10614 " (parameters\n"
10615 " (declare (in) vec4 edge0)\n"
10616 " (declare (in) vec4 edge1)\n"
10617 " (declare (in) vec4 x))\n"
10618 " ())\n"
10619 " (signature vec2\n"
10620 " (parameters\n"
10621 " (declare (in) float edge0)\n"
10622 " (declare (in) float edge1)\n"
10623 " (declare (in) vec2 x))\n"
10624 " ())\n"
10625 " (signature vec3\n"
10626 " (parameters\n"
10627 " (declare (in) float edge0)\n"
10628 " (declare (in) float edge1)\n"
10629 " (declare (in) vec3 x))\n"
10630 " ())\n"
10631 " (signature vec4\n"
10632 " (parameters\n"
10633 " (declare (in) float edge0)\n"
10634 " (declare (in) float edge1)\n"
10635 " (declare (in) vec4 x))\n"
10636 " ()))\n"
10637 "(function length\n"
10638 " (signature float\n"
10639 " (parameters\n"
10640 " (declare (in) float x))\n"
10641 " ())\n"
10642 " (signature float\n"
10643 " (parameters\n"
10644 " (declare (in) vec2 x))\n"
10645 " ())\n"
10646 " (signature float\n"
10647 " (parameters\n"
10648 " (declare (in) vec3 x))\n"
10649 " ())\n"
10650 " (signature float\n"
10651 " (parameters\n"
10652 " (declare (in) vec4 x))\n"
10653 " ()))\n"
10654 "(function distance\n"
10655 " (signature float\n"
10656 " (parameters\n"
10657 " (declare (in) float p0)\n"
10658 " (declare (in) float p1))\n"
10659 " ())\n"
10660 " (signature float\n"
10661 " (parameters\n"
10662 " (declare (in) vec2 p0)\n"
10663 " (declare (in) vec2 p1))\n"
10664 " ())\n"
10665 " (signature float\n"
10666 " (parameters\n"
10667 " (declare (in) vec3 p0)\n"
10668 " (declare (in) vec3 p1))\n"
10669 " ())\n"
10670 " (signature float\n"
10671 " (parameters\n"
10672 " (declare (in) vec4 p0)\n"
10673 " (declare (in) vec4 p1))\n"
10674 " ()))\n"
10675 "(function dot\n"
10676 " (signature float\n"
10677 " (parameters\n"
10678 " (declare (in) float x)\n"
10679 " (declare (in) float y))\n"
10680 " ())\n"
10681 " (signature float\n"
10682 " (parameters\n"
10683 " (declare (in) vec2 x)\n"
10684 " (declare (in) vec2 y))\n"
10685 " ())\n"
10686 " (signature float\n"
10687 " (parameters\n"
10688 " (declare (in) vec3 x)\n"
10689 " (declare (in) vec3 y))\n"
10690 " ())\n"
10691 " (signature float\n"
10692 " (parameters\n"
10693 " (declare (in) vec4 x)\n"
10694 " (declare (in) vec4 y))\n"
10695 " ()))\n"
10696 "(function cross\n"
10697 " (signature vec3\n"
10698 " (parameters\n"
10699 " (declare (in) vec3 x)\n"
10700 " (declare (in) vec3 y))\n"
10701 " ()))\n"
10702 "(function normalize\n"
10703 " (signature float\n"
10704 " (parameters\n"
10705 " (declare (in) float x))\n"
10706 " ())\n"
10707 " (signature vec2\n"
10708 " (parameters\n"
10709 " (declare (in) vec2 x))\n"
10710 " ())\n"
10711 " (signature vec3\n"
10712 " (parameters\n"
10713 " (declare (in) vec3 x))\n"
10714 " ())\n"
10715 " (signature vec4\n"
10716 " (parameters\n"
10717 " (declare (in) vec4 x))\n"
10718 " ()))\n"
10719 "(function faceforward\n"
10720 " (signature float\n"
10721 " (parameters\n"
10722 " (declare (in) float N)\n"
10723 " (declare (in) float I)\n"
10724 " (declare (in) float Nref))\n"
10725 " ())\n"
10726 " (signature vec2\n"
10727 " (parameters\n"
10728 " (declare (in) vec2 N)\n"
10729 " (declare (in) vec2 I)\n"
10730 " (declare (in) vec2 Nref))\n"
10731 " ())\n"
10732 " (signature vec3\n"
10733 " (parameters\n"
10734 " (declare (in) vec3 N)\n"
10735 " (declare (in) vec3 I)\n"
10736 " (declare (in) vec3 Nref))\n"
10737 " ())\n"
10738 " (signature vec4\n"
10739 " (parameters\n"
10740 " (declare (in) vec4 N)\n"
10741 " (declare (in) vec4 I)\n"
10742 " (declare (in) vec4 Nref))\n"
10743 " ()))\n"
10744 "(function reflect\n"
10745 " (signature float\n"
10746 " (parameters\n"
10747 " (declare (in) float I)\n"
10748 " (declare (in) float N))\n"
10749 " ())\n"
10750 " (signature vec2\n"
10751 " (parameters\n"
10752 " (declare (in) vec2 I)\n"
10753 " (declare (in) vec2 N))\n"
10754 " ())\n"
10755 " (signature vec3\n"
10756 " (parameters\n"
10757 " (declare (in) vec3 I)\n"
10758 " (declare (in) vec3 N))\n"
10759 " ())\n"
10760 " (signature vec4\n"
10761 " (parameters\n"
10762 " (declare (in) vec4 I)\n"
10763 " (declare (in) vec4 N))\n"
10764 " ()))\n"
10765 "(function refract\n"
10766 " (signature float\n"
10767 " (parameters\n"
10768 " (declare (in) float I)\n"
10769 " (declare (in) float N)\n"
10770 " (declare (in) float eta))\n"
10771 " ())\n"
10772 " (signature vec2\n"
10773 " (parameters\n"
10774 " (declare (in) vec2 I)\n"
10775 " (declare (in) vec2 N)\n"
10776 " (declare (in) float eta))\n"
10777 " ())\n"
10778 " (signature vec3\n"
10779 " (parameters\n"
10780 " (declare (in) vec3 I)\n"
10781 " (declare (in) vec3 N)\n"
10782 " (declare (in) float eta))\n"
10783 " ())\n"
10784 " (signature vec4\n"
10785 " (parameters\n"
10786 " (declare (in) vec4 I)\n"
10787 " (declare (in) vec4 N)\n"
10788 " (declare (in) float eta))\n"
10789 " ()))\n"
10790 "(function matrixCompMult\n"
10791 " (signature mat2\n"
10792 " (parameters\n"
10793 " (declare (in) mat2 x)\n"
10794 " (declare (in) mat2 y))\n"
10795 " ())\n"
10796 " (signature mat3\n"
10797 " (parameters\n"
10798 " (declare (in) mat3 x)\n"
10799 " (declare (in) mat3 y))\n"
10800 " ())\n"
10801 " (signature mat4\n"
10802 " (parameters\n"
10803 " (declare (in) mat4 x)\n"
10804 " (declare (in) mat4 y))\n"
10805 " ())\n"
10806 " (signature mat2x3\n"
10807 " (parameters\n"
10808 " (declare (in) mat2x3 x)\n"
10809 " (declare (in) mat2x3 y))\n"
10810 " ())\n"
10811 " (signature mat2x4\n"
10812 " (parameters\n"
10813 " (declare (in) mat2x4 x)\n"
10814 " (declare (in) mat2x4 y))\n"
10815 " ())\n"
10816 " (signature mat3x2\n"
10817 " (parameters\n"
10818 " (declare (in) mat3x2 x)\n"
10819 " (declare (in) mat3x2 y))\n"
10820 " ())\n"
10821 " (signature mat3x4\n"
10822 " (parameters\n"
10823 " (declare (in) mat3x4 x)\n"
10824 " (declare (in) mat3x4 y))\n"
10825 " ())\n"
10826 " (signature mat4x2\n"
10827 " (parameters\n"
10828 " (declare (in) mat4x2 x)\n"
10829 " (declare (in) mat4x2 y))\n"
10830 " ())\n"
10831 " (signature mat4x3\n"
10832 " (parameters\n"
10833 " (declare (in) mat4x3 x)\n"
10834 " (declare (in) mat4x3 y))\n"
10835 " ()))\n"
10836 "(function outerProduct\n"
10837 " (signature mat2\n"
10838 " (parameters\n"
10839 " (declare (in) vec2 c)\n"
10840 " (declare (in) vec2 r))\n"
10841 " ())\n"
10842 " (signature mat3\n"
10843 " (parameters\n"
10844 " (declare (in) vec3 c)\n"
10845 " (declare (in) vec3 r))\n"
10846 " ())\n"
10847 " (signature mat4\n"
10848 " (parameters\n"
10849 " (declare (in) vec4 c)\n"
10850 " (declare (in) vec4 r))\n"
10851 " ())\n"
10852 " (signature mat2x3\n"
10853 " (parameters\n"
10854 " (declare (in) vec3 c)\n"
10855 " (declare (in) vec2 r))\n"
10856 " ())\n"
10857 " (signature mat3x2\n"
10858 " (parameters\n"
10859 " (declare (in) vec2 c)\n"
10860 " (declare (in) vec3 r))\n"
10861 " ())\n"
10862 " (signature mat2x4\n"
10863 " (parameters\n"
10864 " (declare (in) vec4 c)\n"
10865 " (declare (in) vec2 r))\n"
10866 " ())\n"
10867 " (signature mat4x2\n"
10868 " (parameters\n"
10869 " (declare (in) vec2 c)\n"
10870 " (declare (in) vec4 r))\n"
10871 " ())\n"
10872 " (signature mat3x4\n"
10873 " (parameters\n"
10874 " (declare (in) vec4 c)\n"
10875 " (declare (in) vec3 r))\n"
10876 " ())\n"
10877 " (signature mat4x3\n"
10878 " (parameters\n"
10879 " (declare (in) vec3 c)\n"
10880 " (declare (in) vec4 r))\n"
10881 " ()))\n"
10882 "(function transpose\n"
10883 " (signature mat2\n"
10884 " (parameters\n"
10885 " (declare (in) mat2 m))\n"
10886 " ())\n"
10887 " (signature mat3\n"
10888 " (parameters\n"
10889 " (declare (in) mat3 m))\n"
10890 " ())\n"
10891 " (signature mat4\n"
10892 " (parameters\n"
10893 " (declare (in) mat4 m))\n"
10894 " ())\n"
10895 " (signature mat2x3\n"
10896 " (parameters\n"
10897 " (declare (in) mat3x2 m))\n"
10898 " ())\n"
10899 " (signature mat3x2\n"
10900 " (parameters\n"
10901 " (declare (in) mat2x3 m))\n"
10902 " ())\n"
10903 " (signature mat2x4\n"
10904 " (parameters\n"
10905 " (declare (in) mat4x2 m))\n"
10906 " ())\n"
10907 " (signature mat4x2\n"
10908 " (parameters\n"
10909 " (declare (in) mat2x4 m))\n"
10910 " ())\n"
10911 " (signature mat3x4\n"
10912 " (parameters\n"
10913 " (declare (in) mat4x3 m))\n"
10914 " ())\n"
10915 " (signature mat4x3\n"
10916 " (parameters\n"
10917 " (declare (in) mat3x4 m))\n"
10918 " ()))\n"
10919 "(function lessThan\n"
10920 " (signature bvec2\n"
10921 " (parameters\n"
10922 " (declare (in) vec2 x)\n"
10923 " (declare (in) vec2 y))\n"
10924 " ())\n"
10925 " (signature bvec3\n"
10926 " (parameters\n"
10927 " (declare (in) vec3 x)\n"
10928 " (declare (in) vec3 y))\n"
10929 " ())\n"
10930 " (signature bvec4\n"
10931 " (parameters\n"
10932 " (declare (in) vec4 x)\n"
10933 " (declare (in) vec4 y))\n"
10934 " ())\n"
10935 " (signature bvec2\n"
10936 " (parameters\n"
10937 " (declare (in) ivec2 x)\n"
10938 " (declare (in) ivec2 y))\n"
10939 " ())\n"
10940 " (signature bvec3\n"
10941 " (parameters\n"
10942 " (declare (in) ivec3 x)\n"
10943 " (declare (in) ivec3 y))\n"
10944 " ())\n"
10945 " (signature bvec4\n"
10946 " (parameters\n"
10947 " (declare (in) ivec4 x)\n"
10948 " (declare (in) ivec4 y))\n"
10949 " ()))\n"
10950 "(function lessThanEqual\n"
10951 " (signature bvec2\n"
10952 " (parameters\n"
10953 " (declare (in) vec2 x)\n"
10954 " (declare (in) vec2 y))\n"
10955 " ())\n"
10956 " (signature bvec3\n"
10957 " (parameters\n"
10958 " (declare (in) vec3 x)\n"
10959 " (declare (in) vec3 y))\n"
10960 " ())\n"
10961 " (signature bvec4\n"
10962 " (parameters\n"
10963 " (declare (in) vec4 x)\n"
10964 " (declare (in) vec4 y))\n"
10965 " ())\n"
10966 " (signature bvec2\n"
10967 " (parameters\n"
10968 " (declare (in) ivec2 x)\n"
10969 " (declare (in) ivec2 y))\n"
10970 " ())\n"
10971 " (signature bvec3\n"
10972 " (parameters\n"
10973 " (declare (in) ivec3 x)\n"
10974 " (declare (in) ivec3 y))\n"
10975 " ())\n"
10976 " (signature bvec4\n"
10977 " (parameters\n"
10978 " (declare (in) ivec4 x)\n"
10979 " (declare (in) ivec4 y))\n"
10980 " ()))\n"
10981 "(function greaterThan\n"
10982 " (signature bvec2\n"
10983 " (parameters\n"
10984 " (declare (in) vec2 x)\n"
10985 " (declare (in) vec2 y))\n"
10986 " ())\n"
10987 " (signature bvec3\n"
10988 " (parameters\n"
10989 " (declare (in) vec3 x)\n"
10990 " (declare (in) vec3 y))\n"
10991 " ())\n"
10992 " (signature bvec4\n"
10993 " (parameters\n"
10994 " (declare (in) vec4 x)\n"
10995 " (declare (in) vec4 y))\n"
10996 " ())\n"
10997 " (signature bvec2\n"
10998 " (parameters\n"
10999 " (declare (in) ivec2 x)\n"
11000 " (declare (in) ivec2 y))\n"
11001 " ())\n"
11002 " (signature bvec3\n"
11003 " (parameters\n"
11004 " (declare (in) ivec3 x)\n"
11005 " (declare (in) ivec3 y))\n"
11006 " ())\n"
11007 " (signature bvec4\n"
11008 " (parameters\n"
11009 " (declare (in) ivec4 x)\n"
11010 " (declare (in) ivec4 y))\n"
11011 " ()))\n"
11012 "(function greaterThanEqual\n"
11013 " (signature bvec2\n"
11014 " (parameters\n"
11015 " (declare (in) vec2 x)\n"
11016 " (declare (in) vec2 y))\n"
11017 " ())\n"
11018 " (signature bvec3\n"
11019 " (parameters\n"
11020 " (declare (in) vec3 x)\n"
11021 " (declare (in) vec3 y))\n"
11022 " ())\n"
11023 " (signature bvec4\n"
11024 " (parameters\n"
11025 " (declare (in) vec4 x)\n"
11026 " (declare (in) vec4 y))\n"
11027 " ())\n"
11028 " (signature bvec2\n"
11029 " (parameters\n"
11030 " (declare (in) ivec2 x)\n"
11031 " (declare (in) ivec2 y))\n"
11032 " ())\n"
11033 " (signature bvec3\n"
11034 " (parameters\n"
11035 " (declare (in) ivec3 x)\n"
11036 " (declare (in) ivec3 y))\n"
11037 " ())\n"
11038 " (signature bvec4\n"
11039 " (parameters\n"
11040 " (declare (in) ivec4 x)\n"
11041 " (declare (in) ivec4 y))\n"
11042 " ()))\n"
11043 "(function equal\n"
11044 " (signature bvec2\n"
11045 " (parameters\n"
11046 " (declare (in) vec2 x)\n"
11047 " (declare (in) vec2 y))\n"
11048 " ())\n"
11049 " (signature bvec3\n"
11050 " (parameters\n"
11051 " (declare (in) vec3 x)\n"
11052 " (declare (in) vec3 y))\n"
11053 " ())\n"
11054 " (signature bvec4\n"
11055 " (parameters\n"
11056 " (declare (in) vec4 x)\n"
11057 " (declare (in) vec4 y))\n"
11058 " ())\n"
11059 " (signature bvec2\n"
11060 " (parameters\n"
11061 " (declare (in) ivec2 x)\n"
11062 " (declare (in) ivec2 y))\n"
11063 " ())\n"
11064 " (signature bvec3\n"
11065 " (parameters\n"
11066 " (declare (in) ivec3 x)\n"
11067 " (declare (in) ivec3 y))\n"
11068 " ())\n"
11069 " (signature bvec4\n"
11070 " (parameters\n"
11071 " (declare (in) ivec4 x)\n"
11072 " (declare (in) ivec4 y))\n"
11073 " ())\n"
11074 " (signature bvec2\n"
11075 " (parameters\n"
11076 " (declare (in) bvec2 x)\n"
11077 " (declare (in) bvec2 y))\n"
11078 " ())\n"
11079 " (signature bvec3\n"
11080 " (parameters\n"
11081 " (declare (in) bvec3 x)\n"
11082 " (declare (in) bvec3 y))\n"
11083 " ())\n"
11084 " (signature bvec4\n"
11085 " (parameters\n"
11086 " (declare (in) bvec4 x)\n"
11087 " (declare (in) bvec4 y))\n"
11088 " ()))\n"
11089 "(function notEqual\n"
11090 " (signature bvec2\n"
11091 " (parameters\n"
11092 " (declare (in) vec2 x)\n"
11093 " (declare (in) vec2 y))\n"
11094 " ())\n"
11095 " (signature bvec3\n"
11096 " (parameters\n"
11097 " (declare (in) vec3 x)\n"
11098 " (declare (in) vec3 y))\n"
11099 " ())\n"
11100 " (signature bvec4\n"
11101 " (parameters\n"
11102 " (declare (in) vec4 x)\n"
11103 " (declare (in) vec4 y))\n"
11104 " ())\n"
11105 " (signature bvec2\n"
11106 " (parameters\n"
11107 " (declare (in) ivec2 x)\n"
11108 " (declare (in) ivec2 y))\n"
11109 " ())\n"
11110 " (signature bvec3\n"
11111 " (parameters\n"
11112 " (declare (in) ivec3 x)\n"
11113 " (declare (in) ivec3 y))\n"
11114 " ())\n"
11115 " (signature bvec4\n"
11116 " (parameters\n"
11117 " (declare (in) ivec4 x)\n"
11118 " (declare (in) ivec4 y))\n"
11119 " ())\n"
11120 " (signature bvec2\n"
11121 " (parameters\n"
11122 " (declare (in) bvec2 x)\n"
11123 " (declare (in) bvec2 y))\n"
11124 " ())\n"
11125 " (signature bvec3\n"
11126 " (parameters\n"
11127 " (declare (in) bvec3 x)\n"
11128 " (declare (in) bvec3 y))\n"
11129 " ())\n"
11130 " (signature bvec4\n"
11131 " (parameters\n"
11132 " (declare (in) bvec4 x)\n"
11133 " (declare (in) bvec4 y))\n"
11134 " ()))\n"
11135 "(function any\n"
11136 " (signature bool\n"
11137 " (parameters\n"
11138 " (declare (in) bvec2 x))\n"
11139 " ())\n"
11140 " (signature bool\n"
11141 " (parameters\n"
11142 " (declare (in) bvec3 x))\n"
11143 " ())\n"
11144 " (signature bool\n"
11145 " (parameters\n"
11146 " (declare (in) bvec4 x))\n"
11147 " ()))\n"
11148 "(function all\n"
11149 " (signature bool\n"
11150 " (parameters\n"
11151 " (declare (in) bvec2 x))\n"
11152 " ())\n"
11153 " (signature bool\n"
11154 " (parameters\n"
11155 " (declare (in) bvec3 x))\n"
11156 " ())\n"
11157 " (signature bool\n"
11158 " (parameters\n"
11159 " (declare (in) bvec4 x))\n"
11160 " ()))\n"
11161 "(function not\n"
11162 " (signature bvec2\n"
11163 " (parameters\n"
11164 " (declare (in) bvec2 x))\n"
11165 " ())\n"
11166 " (signature bvec3\n"
11167 " (parameters\n"
11168 " (declare (in) bvec3 x))\n"
11169 " ())\n"
11170 " (signature bvec4\n"
11171 " (parameters\n"
11172 " (declare (in) bvec4 x))\n"
11173 " ()))\n"
11174 "(function texture1D\n"
11175 " (signature vec4\n"
11176 " (parameters\n"
11177 " (declare (in) sampler1D sampler)\n"
11178 " (declare (in) float coord))\n"
11179 " ())\n"
11180 " (signature vec4\n"
11181 " (parameters\n"
11182 " (declare (in) sampler1D sampler)\n"
11183 " (declare (in) float coord)\n"
11184 " (declare (in) float bias))\n"
11185 " ()))\n"
11186 "(function texture1DProj\n"
11187 " (signature vec4\n"
11188 " (parameters\n"
11189 " (declare (in) sampler1D sampler)\n"
11190 " (declare (in) vec2 coord))\n"
11191 " ())\n"
11192 " (signature vec4\n"
11193 " (parameters\n"
11194 " (declare (in) sampler1D sampler)\n"
11195 " (declare (in) vec4 coord))\n"
11196 " ())\n"
11197 " (signature vec4\n"
11198 " (parameters\n"
11199 " (declare (in) sampler1D sampler)\n"
11200 " (declare (in) vec2 coord)\n"
11201 " (declare (in) float bias))\n"
11202 " ())\n"
11203 " (signature vec4\n"
11204 " (parameters\n"
11205 " (declare (in) sampler1D sampler)\n"
11206 " (declare (in) vec4 coord)\n"
11207 " (declare (in) float bias))\n"
11208 " ()))\n"
11209 "(function texture2D\n"
11210 " (signature vec4\n"
11211 " (parameters\n"
11212 " (declare (in) sampler2D sampler)\n"
11213 " (declare (in) vec2 coord))\n"
11214 " ())\n"
11215 " (signature vec4\n"
11216 " (parameters\n"
11217 " (declare (in) sampler2D sampler)\n"
11218 " (declare (in) vec2 coord)\n"
11219 " (declare (in) float bias))\n"
11220 " ()))\n"
11221 "(function texture2DProj\n"
11222 " (signature vec4\n"
11223 " (parameters\n"
11224 " (declare (in) sampler2D sampler)\n"
11225 " (declare (in) vec3 coord))\n"
11226 " ())\n"
11227 " (signature vec4\n"
11228 " (parameters\n"
11229 " (declare (in) sampler2D sampler)\n"
11230 " (declare (in) vec4 coord))\n"
11231 " ())\n"
11232 " (signature vec4\n"
11233 " (parameters\n"
11234 " (declare (in) sampler2D sampler)\n"
11235 " (declare (in) vec3 coord)\n"
11236 " (declare (in) float bias))\n"
11237 " ())\n"
11238 " (signature vec4\n"
11239 " (parameters\n"
11240 " (declare (in) sampler2D sampler)\n"
11241 " (declare (in) vec4 coord)\n"
11242 " (declare (in) float bias))\n"
11243 " ()))\n"
11244 "(function texture3D\n"
11245 " (signature vec4\n"
11246 " (parameters\n"
11247 " (declare (in) sampler3D sampler)\n"
11248 " (declare (in) vec3 coord))\n"
11249 " ())\n"
11250 " (signature vec4\n"
11251 " (parameters\n"
11252 " (declare (in) sampler3D sampler)\n"
11253 " (declare (in) vec3 coord)\n"
11254 " (declare (in) float bias))\n"
11255 " ()))\n"
11256 "(function texture3DProj\n"
11257 " (signature vec4\n"
11258 " (parameters\n"
11259 " (declare (in) sampler3D sampler)\n"
11260 " (declare (in) vec4 coord))\n"
11261 " ())\n"
11262 " (signature vec4\n"
11263 " (parameters\n"
11264 " (declare (in) sampler3D sampler)\n"
11265 " (declare (in) vec4 coord)\n"
11266 " (declare (in) float bias))\n"
11267 " ()))\n"
11268 "(function textureCube\n"
11269 " (signature vec4\n"
11270 " (parameters\n"
11271 " (declare (in) samplerCube sampler)\n"
11272 " (declare (in) vec3 coord))\n"
11273 " ())\n"
11274 " (signature vec4\n"
11275 " (parameters\n"
11276 " (declare (in) samplerCube sampler)\n"
11277 " (declare (in) vec3 coord)\n"
11278 " (declare (in) float bias))\n"
11279 " ()))\n"
11280 "(function shadow1D\n"
11281 " (signature vec4\n"
11282 " (parameters\n"
11283 " (declare (in) sampler1DShadow sampler)\n"
11284 " (declare (in) vec3 coord))\n"
11285 " ())\n"
11286 " (signature vec4\n"
11287 " (parameters\n"
11288 " (declare (in) sampler1DShadow sampler)\n"
11289 " (declare (in) vec3 coord)\n"
11290 " (declare (in) float bias))\n"
11291 " ()))\n"
11292 "(function shadow2D\n"
11293 " (signature vec4\n"
11294 " (parameters\n"
11295 " (declare (in) sampler2DShadow sampler)\n"
11296 " (declare (in) vec3 coord))\n"
11297 " ())\n"
11298 " (signature vec4\n"
11299 " (parameters\n"
11300 " (declare (in) sampler2DShadow sampler)\n"
11301 " (declare (in) vec3 coord)\n"
11302 " (declare (in) float bias))\n"
11303 " ()))\n"
11304 "(function shadow1DProj\n"
11305 " (signature vec4\n"
11306 " (parameters\n"
11307 " (declare (in) sampler1DShadow sampler)\n"
11308 " (declare (in) vec4 coord))\n"
11309 " ())\n"
11310 " (signature vec4\n"
11311 " (parameters\n"
11312 " (declare (in) sampler1DShadow sampler)\n"
11313 " (declare (in) vec4 coord)\n"
11314 " (declare (in) float bias))\n"
11315 " ()))\n"
11316 "(function shadow2DProj\n"
11317 " (signature vec4\n"
11318 " (parameters\n"
11319 " (declare (in) sampler2DShadow sampler)\n"
11320 " (declare (in) vec4 coord))\n"
11321 " ())\n"
11322 " (signature vec4\n"
11323 " (parameters\n"
11324 " (declare (in) sampler2DShadow sampler)\n"
11325 " (declare (in) vec4 coord)\n"
11326 " (declare (in) float bias))\n"
11327 " ()))\n"
11328 "(function dFdx\n"
11329 " (signature float\n"
11330 " (parameters\n"
11331 " (declare (in) float p))\n"
11332 " ())\n"
11333 " (signature vec2\n"
11334 " (parameters\n"
11335 " (declare (in) vec2 p))\n"
11336 " ())\n"
11337 " (signature vec3\n"
11338 " (parameters\n"
11339 " (declare (in) vec3 p))\n"
11340 " ())\n"
11341 " (signature vec4\n"
11342 " (parameters\n"
11343 " (declare (in) vec4 p))\n"
11344 " ()))\n"
11345 "(function dFdy\n"
11346 " (signature float\n"
11347 " (parameters\n"
11348 " (declare (in) float p))\n"
11349 " ())\n"
11350 " (signature vec2\n"
11351 " (parameters\n"
11352 " (declare (in) vec2 p))\n"
11353 " ())\n"
11354 " (signature vec3\n"
11355 " (parameters\n"
11356 " (declare (in) vec3 p))\n"
11357 " ())\n"
11358 " (signature vec4\n"
11359 " (parameters\n"
11360 " (declare (in) vec4 p))\n"
11361 " ()))\n"
11362 "(function fwidth\n"
11363 " (signature float\n"
11364 " (parameters\n"
11365 " (declare (in) float p))\n"
11366 " ())\n"
11367 " (signature vec2\n"
11368 " (parameters\n"
11369 " (declare (in) vec2 p))\n"
11370 " ())\n"
11371 " (signature vec3\n"
11372 " (parameters\n"
11373 " (declare (in) vec3 p))\n"
11374 " ())\n"
11375 " (signature vec4\n"
11376 " (parameters\n"
11377 " (declare (in) vec4 p))\n"
11378 " ()))\n"
11379 "(function noise1\n"
11380 " (signature float\n"
11381 " (parameters\n"
11382 " (declare (in) float x))\n"
11383 " ())\n"
11384 " (signature float\n"
11385 " (parameters\n"
11386 " (declare (in) vec2 x))\n"
11387 " ())\n"
11388 " (signature float\n"
11389 " (parameters\n"
11390 " (declare (in) vec3 x))\n"
11391 " ())\n"
11392 " (signature float\n"
11393 " (parameters\n"
11394 " (declare (in) vec4 x))\n"
11395 " ()))\n"
11396 "(function noise2\n"
11397 " (signature vec2\n"
11398 " (parameters\n"
11399 " (declare (in) float x))\n"
11400 " ())\n"
11401 " (signature vec2\n"
11402 " (parameters\n"
11403 " (declare (in) vec2 x))\n"
11404 " ())\n"
11405 " (signature vec2\n"
11406 " (parameters\n"
11407 " (declare (in) vec3 x))\n"
11408 " ())\n"
11409 " (signature vec2\n"
11410 " (parameters\n"
11411 " (declare (in) vec4 x))\n"
11412 " ()))\n"
11413 "(function noise3\n"
11414 " (signature vec3\n"
11415 " (parameters\n"
11416 " (declare (in) float x))\n"
11417 " ())\n"
11418 " (signature vec3\n"
11419 " (parameters\n"
11420 " (declare (in) vec2 x))\n"
11421 " ())\n"
11422 " (signature vec3\n"
11423 " (parameters\n"
11424 " (declare (in) vec3 x))\n"
11425 " ())\n"
11426 " (signature vec3\n"
11427 " (parameters\n"
11428 " (declare (in) vec4 x))\n"
11429 " ()))\n"
11430 "(function noise4\n"
11431 " (signature vec4\n"
11432 " (parameters\n"
11433 " (declare (in) float x))\n"
11434 " ())\n"
11435 " (signature vec4\n"
11436 " (parameters\n"
11437 " (declare (in) vec2 x))\n"
11438 " ())\n"
11439 " (signature vec4\n"
11440 " (parameters\n"
11441 " (declare (in) vec3 x))\n"
11442 " ())\n"
11443 " (signature vec4\n"
11444 " (parameters\n"
11445 " (declare (in) vec4 x))\n"
11446 " ())))"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011447;
Eric Anholt47003a82010-08-23 12:39:35 -070011448static const char *functions_for_120_frag [] = {
11449 builtin_abs,
11450 builtin_acos,
11451 builtin_all,
11452 builtin_any,
11453 builtin_asin,
11454 builtin_atan,
11455 builtin_ceil,
11456 builtin_clamp,
11457 builtin_cos,
11458 builtin_cross,
11459 builtin_dFdx,
11460 builtin_dFdy,
11461 builtin_degrees,
11462 builtin_distance,
11463 builtin_dot,
11464 builtin_equal,
11465 builtin_exp,
11466 builtin_exp2,
11467 builtin_faceforward,
11468 builtin_floor,
11469 builtin_fract,
11470 builtin_fwidth,
11471 builtin_greaterThan,
11472 builtin_greaterThanEqual,
11473 builtin_inversesqrt,
11474 builtin_length,
11475 builtin_lessThan,
11476 builtin_lessThanEqual,
11477 builtin_log,
11478 builtin_log2,
11479 builtin_matrixCompMult,
11480 builtin_max,
11481 builtin_min,
11482 builtin_mix,
11483 builtin_mod,
11484 builtin_noise1,
11485 builtin_noise2,
11486 builtin_noise3,
11487 builtin_noise4,
11488 builtin_normalize,
11489 builtin_not,
11490 builtin_notEqual,
11491 builtin_outerProduct,
11492 builtin_pow,
11493 builtin_radians,
11494 builtin_reflect,
11495 builtin_refract,
11496 builtin_shadow1D,
11497 builtin_shadow1DProj,
11498 builtin_shadow2D,
11499 builtin_shadow2DProj,
11500 builtin_sign,
11501 builtin_sin,
11502 builtin_smoothstep,
11503 builtin_sqrt,
11504 builtin_step,
11505 builtin_tan,
11506 builtin_texture1D,
11507 builtin_texture1DProj,
11508 builtin_texture2D,
11509 builtin_texture2DProj,
11510 builtin_texture3D,
11511 builtin_texture3DProj,
11512 builtin_textureCube,
11513 builtin_transpose,
11514};
Kenneth Graunke3f5fde52010-10-21 11:43:39 -070011515static const char prototypes_for_120_vert[] =
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011516 "(\n"
11517 "(function radians\n"
11518 " (signature float\n"
11519 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011520 " (declare (in) float degrees))\n"
11521 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011522 " (signature vec2\n"
11523 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011524 " (declare (in) vec2 degrees))\n"
11525 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011526 " (signature vec3\n"
11527 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011528 " (declare (in) vec3 degrees))\n"
11529 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011530 " (signature vec4\n"
11531 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011532 " (declare (in) vec4 degrees))\n"
11533 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011534 "(function degrees\n"
11535 " (signature float\n"
11536 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011537 " (declare (in) float radians))\n"
11538 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011539 " (signature vec2\n"
11540 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011541 " (declare (in) vec2 radians))\n"
11542 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011543 " (signature vec3\n"
11544 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011545 " (declare (in) vec3 radians))\n"
11546 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011547 " (signature vec4\n"
11548 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011549 " (declare (in) vec4 radians))\n"
11550 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011551 "(function sin\n"
11552 " (signature float\n"
11553 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011554 " (declare (in) float angle))\n"
11555 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011556 " (signature vec2\n"
11557 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011558 " (declare (in) vec2 angle))\n"
11559 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011560 " (signature vec3\n"
11561 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011562 " (declare (in) vec3 angle))\n"
11563 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011564 " (signature vec4\n"
11565 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011566 " (declare (in) vec4 angle))\n"
11567 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011568 "(function cos\n"
11569 " (signature float\n"
11570 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011571 " (declare (in) float angle))\n"
11572 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011573 " (signature vec2\n"
11574 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011575 " (declare (in) vec2 angle))\n"
11576 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011577 " (signature vec3\n"
11578 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011579 " (declare (in) vec3 angle))\n"
11580 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011581 " (signature vec4\n"
11582 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011583 " (declare (in) vec4 angle))\n"
11584 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011585 "(function tan\n"
11586 " (signature float\n"
11587 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011588 " (declare (in) float angle))\n"
11589 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011590 " (signature vec2\n"
11591 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011592 " (declare (in) vec2 angle))\n"
11593 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011594 " (signature vec3\n"
11595 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011596 " (declare (in) vec3 angle))\n"
11597 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011598 " (signature vec4\n"
11599 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011600 " (declare (in) vec4 angle))\n"
11601 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011602 "(function asin\n"
11603 " (signature float\n"
11604 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011605 " (declare (in) float angle))\n"
11606 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011607 " (signature vec2\n"
11608 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011609 " (declare (in) vec2 angle))\n"
11610 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011611 " (signature vec3\n"
11612 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011613 " (declare (in) vec3 angle))\n"
11614 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011615 " (signature vec4\n"
11616 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011617 " (declare (in) vec4 angle))\n"
11618 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011619 "(function acos\n"
11620 " (signature float\n"
11621 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011622 " (declare (in) float angle))\n"
11623 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011624 " (signature vec2\n"
11625 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011626 " (declare (in) vec2 angle))\n"
11627 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011628 " (signature vec3\n"
11629 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011630 " (declare (in) vec3 angle))\n"
11631 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011632 " (signature vec4\n"
11633 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011634 " (declare (in) vec4 angle))\n"
11635 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011636 "(function atan\n"
11637 " (signature float\n"
11638 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011639 " (declare (in) float y)\n"
11640 " (declare (in) float x))\n"
11641 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011642 " (signature vec2\n"
11643 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011644 " (declare (in) vec2 y)\n"
11645 " (declare (in) vec2 x))\n"
11646 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011647 " (signature vec3\n"
11648 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011649 " (declare (in) vec3 y)\n"
11650 " (declare (in) vec3 x))\n"
11651 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011652 " (signature vec4\n"
11653 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011654 " (declare (in) vec4 y)\n"
11655 " (declare (in) vec4 x))\n"
11656 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011657 " (signature float\n"
11658 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011659 " (declare (in) float y_over_x))\n"
11660 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011661 " (signature vec2\n"
11662 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011663 " (declare (in) vec2 y_over_x))\n"
11664 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011665 " (signature vec3\n"
11666 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011667 " (declare (in) vec3 y_over_x))\n"
11668 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011669 " (signature vec4\n"
11670 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011671 " (declare (in) vec4 y_over_x))\n"
11672 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011673 "(function pow\n"
11674 " (signature float\n"
11675 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011676 " (declare (in) float x)\n"
11677 " (declare (in) float y))\n"
11678 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011679 " (signature vec2\n"
11680 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011681 " (declare (in) vec2 x)\n"
11682 " (declare (in) vec2 y))\n"
11683 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011684 " (signature vec3\n"
11685 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011686 " (declare (in) vec3 x)\n"
11687 " (declare (in) vec3 y))\n"
11688 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011689 " (signature vec4\n"
11690 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011691 " (declare (in) vec4 x)\n"
11692 " (declare (in) vec4 y))\n"
11693 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011694 "(function exp\n"
11695 " (signature float\n"
11696 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011697 " (declare (in) float x))\n"
11698 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011699 " (signature vec2\n"
11700 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011701 " (declare (in) vec2 x))\n"
11702 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011703 " (signature vec3\n"
11704 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011705 " (declare (in) vec3 x))\n"
11706 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011707 " (signature vec4\n"
11708 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011709 " (declare (in) vec4 x))\n"
11710 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011711 "(function log\n"
11712 " (signature float\n"
11713 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011714 " (declare (in) float x))\n"
11715 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011716 " (signature vec2\n"
11717 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011718 " (declare (in) vec2 x))\n"
11719 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011720 " (signature vec3\n"
11721 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011722 " (declare (in) vec3 x))\n"
11723 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011724 " (signature vec4\n"
11725 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011726 " (declare (in) vec4 x))\n"
11727 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011728 "(function exp2\n"
11729 " (signature float\n"
11730 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011731 " (declare (in) float x))\n"
11732 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011733 " (signature vec2\n"
11734 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011735 " (declare (in) vec2 x))\n"
11736 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011737 " (signature vec3\n"
11738 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011739 " (declare (in) vec3 x))\n"
11740 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011741 " (signature vec4\n"
11742 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011743 " (declare (in) vec4 x))\n"
11744 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011745 "(function log2\n"
11746 " (signature float\n"
11747 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011748 " (declare (in) float x))\n"
11749 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011750 " (signature vec2\n"
11751 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011752 " (declare (in) vec2 x))\n"
11753 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011754 " (signature vec3\n"
11755 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011756 " (declare (in) vec3 x))\n"
11757 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011758 " (signature vec4\n"
11759 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011760 " (declare (in) vec4 x))\n"
11761 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011762 "(function sqrt\n"
11763 " (signature float\n"
11764 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011765 " (declare (in) float x))\n"
11766 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011767 " (signature vec2\n"
11768 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011769 " (declare (in) vec2 x))\n"
11770 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011771 " (signature vec3\n"
11772 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011773 " (declare (in) vec3 x))\n"
11774 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011775 " (signature vec4\n"
11776 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011777 " (declare (in) vec4 x))\n"
11778 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011779 "(function inversesqrt\n"
11780 " (signature float\n"
11781 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011782 " (declare (in) float x))\n"
11783 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011784 " (signature vec2\n"
11785 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011786 " (declare (in) vec2 x))\n"
11787 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011788 " (signature vec3\n"
11789 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011790 " (declare (in) vec3 x))\n"
11791 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011792 " (signature vec4\n"
11793 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011794 " (declare (in) vec4 x))\n"
11795 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011796 "(function abs\n"
11797 " (signature float\n"
11798 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011799 " (declare (in) float x))\n"
11800 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011801 " (signature vec2\n"
11802 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011803 " (declare (in) vec2 x))\n"
11804 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011805 " (signature vec3\n"
11806 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011807 " (declare (in) vec3 x))\n"
11808 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011809 " (signature vec4\n"
11810 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011811 " (declare (in) vec4 x))\n"
11812 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011813 "(function sign\n"
11814 " (signature float\n"
11815 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011816 " (declare (in) float x))\n"
11817 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011818 " (signature vec2\n"
11819 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011820 " (declare (in) vec2 x))\n"
11821 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011822 " (signature vec3\n"
11823 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011824 " (declare (in) vec3 x))\n"
11825 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011826 " (signature vec4\n"
11827 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011828 " (declare (in) vec4 x))\n"
11829 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011830 "(function floor\n"
11831 " (signature float\n"
11832 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011833 " (declare (in) float x))\n"
11834 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011835 " (signature vec2\n"
11836 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011837 " (declare (in) vec2 x))\n"
11838 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011839 " (signature vec3\n"
11840 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011841 " (declare (in) vec3 x))\n"
11842 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011843 " (signature vec4\n"
11844 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011845 " (declare (in) vec4 x))\n"
11846 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011847 "(function ceil\n"
11848 " (signature float\n"
11849 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011850 " (declare (in) float x))\n"
11851 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011852 " (signature vec2\n"
11853 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011854 " (declare (in) vec2 x))\n"
11855 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011856 " (signature vec3\n"
11857 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011858 " (declare (in) vec3 x))\n"
11859 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011860 " (signature vec4\n"
11861 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011862 " (declare (in) vec4 x))\n"
11863 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011864 "(function fract\n"
11865 " (signature float\n"
11866 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011867 " (declare (in) float x))\n"
11868 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011869 " (signature vec2\n"
11870 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011871 " (declare (in) vec2 x))\n"
11872 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011873 " (signature vec3\n"
11874 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011875 " (declare (in) vec3 x))\n"
11876 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011877 " (signature vec4\n"
11878 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011879 " (declare (in) vec4 x))\n"
11880 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011881 "(function mod\n"
11882 " (signature float\n"
11883 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011884 " (declare (in) float x)\n"
11885 " (declare (in) float y))\n"
11886 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011887 " (signature vec2\n"
11888 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011889 " (declare (in) vec2 x)\n"
11890 " (declare (in) float y))\n"
11891 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011892 " (signature vec3\n"
11893 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011894 " (declare (in) vec3 x)\n"
11895 " (declare (in) float y))\n"
11896 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011897 " (signature vec4\n"
11898 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011899 " (declare (in) vec4 x)\n"
11900 " (declare (in) float y))\n"
11901 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011902 " (signature vec2\n"
11903 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011904 " (declare (in) vec2 x)\n"
11905 " (declare (in) vec2 y))\n"
11906 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011907 " (signature vec3\n"
11908 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011909 " (declare (in) vec3 x)\n"
11910 " (declare (in) vec3 y))\n"
11911 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011912 " (signature vec4\n"
11913 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011914 " (declare (in) vec4 x)\n"
11915 " (declare (in) vec4 y))\n"
11916 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011917 "(function min\n"
11918 " (signature float\n"
11919 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011920 " (declare (in) float x)\n"
11921 " (declare (in) float y))\n"
11922 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011923 " (signature vec2\n"
11924 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011925 " (declare (in) vec2 x)\n"
11926 " (declare (in) vec2 y))\n"
11927 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011928 " (signature vec3\n"
11929 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011930 " (declare (in) vec3 x)\n"
11931 " (declare (in) vec3 y))\n"
11932 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011933 " (signature vec4\n"
11934 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011935 " (declare (in) vec4 x)\n"
11936 " (declare (in) vec4 y))\n"
11937 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011938 " (signature vec2\n"
11939 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011940 " (declare (in) vec2 x)\n"
11941 " (declare (in) float y))\n"
11942 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011943 " (signature vec3\n"
11944 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011945 " (declare (in) vec3 x)\n"
11946 " (declare (in) float y))\n"
11947 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011948 " (signature vec4\n"
11949 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011950 " (declare (in) vec4 x)\n"
11951 " (declare (in) float y))\n"
11952 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011953 "(function max\n"
11954 " (signature float\n"
11955 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011956 " (declare (in) float x)\n"
11957 " (declare (in) float y))\n"
11958 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011959 " (signature vec2\n"
11960 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011961 " (declare (in) vec2 x)\n"
11962 " (declare (in) vec2 y))\n"
11963 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011964 " (signature vec3\n"
11965 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011966 " (declare (in) vec3 x)\n"
11967 " (declare (in) vec3 y))\n"
11968 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011969 " (signature vec4\n"
11970 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011971 " (declare (in) vec4 x)\n"
11972 " (declare (in) vec4 y))\n"
11973 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011974 " (signature vec2\n"
11975 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011976 " (declare (in) vec2 x)\n"
11977 " (declare (in) float y))\n"
11978 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011979 " (signature vec3\n"
11980 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011981 " (declare (in) vec3 x)\n"
11982 " (declare (in) float y))\n"
11983 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011984 " (signature vec4\n"
11985 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011986 " (declare (in) vec4 x)\n"
11987 " (declare (in) float y))\n"
11988 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011989 "(function clamp\n"
11990 " (signature float\n"
11991 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011992 " (declare (in) float x)\n"
11993 " (declare (in) float minVal)\n"
11994 " (declare (in) float maxVal))\n"
11995 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070011996 " (signature vec2\n"
11997 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070011998 " (declare (in) vec2 x)\n"
11999 " (declare (in) vec2 minVal)\n"
12000 " (declare (in) vec2 maxVal))\n"
12001 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012002 " (signature vec3\n"
12003 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012004 " (declare (in) vec3 x)\n"
12005 " (declare (in) vec3 minVal)\n"
12006 " (declare (in) vec3 maxVal))\n"
12007 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012008 " (signature vec4\n"
12009 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012010 " (declare (in) vec4 x)\n"
12011 " (declare (in) vec4 minVal)\n"
12012 " (declare (in) vec4 maxVal))\n"
12013 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012014 " (signature vec2\n"
12015 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012016 " (declare (in) vec2 x)\n"
12017 " (declare (in) float minVal)\n"
12018 " (declare (in) float maxVal))\n"
12019 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012020 " (signature vec3\n"
12021 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012022 " (declare (in) vec3 x)\n"
12023 " (declare (in) float minVal)\n"
12024 " (declare (in) float maxVal))\n"
12025 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012026 " (signature vec4\n"
12027 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012028 " (declare (in) vec4 x)\n"
12029 " (declare (in) float minVal)\n"
12030 " (declare (in) float maxVal))\n"
12031 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012032 "(function mix\n"
12033 " (signature float\n"
12034 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012035 " (declare (in) float x)\n"
12036 " (declare (in) float y)\n"
12037 " (declare (in) float a))\n"
12038 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012039 " (signature vec2\n"
12040 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012041 " (declare (in) vec2 x)\n"
12042 " (declare (in) vec2 y)\n"
12043 " (declare (in) vec2 a))\n"
12044 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012045 " (signature vec3\n"
12046 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012047 " (declare (in) vec3 x)\n"
12048 " (declare (in) vec3 y)\n"
12049 " (declare (in) vec3 a))\n"
12050 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012051 " (signature vec4\n"
12052 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012053 " (declare (in) vec4 x)\n"
12054 " (declare (in) vec4 y)\n"
12055 " (declare (in) vec4 a))\n"
12056 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012057 " (signature vec2\n"
12058 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012059 " (declare (in) vec2 x)\n"
12060 " (declare (in) vec2 y)\n"
12061 " (declare (in) float a))\n"
12062 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012063 " (signature vec3\n"
12064 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012065 " (declare (in) vec3 x)\n"
12066 " (declare (in) vec3 y)\n"
12067 " (declare (in) float a))\n"
12068 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012069 " (signature vec4\n"
12070 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012071 " (declare (in) vec4 x)\n"
12072 " (declare (in) vec4 y)\n"
12073 " (declare (in) float a))\n"
12074 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012075 "(function step\n"
12076 " (signature float\n"
12077 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012078 " (declare (in) float edge)\n"
12079 " (declare (in) float x))\n"
12080 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012081 " (signature vec2\n"
12082 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012083 " (declare (in) vec2 edge)\n"
12084 " (declare (in) vec2 x))\n"
12085 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012086 " (signature vec3\n"
12087 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012088 " (declare (in) vec3 edge)\n"
12089 " (declare (in) vec3 x))\n"
12090 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012091 " (signature vec4\n"
12092 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012093 " (declare (in) vec4 edge)\n"
12094 " (declare (in) vec4 x))\n"
12095 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012096 " (signature vec2\n"
12097 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012098 " (declare (in) float edge)\n"
12099 " (declare (in) vec2 x))\n"
12100 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012101 " (signature vec3\n"
12102 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012103 " (declare (in) float edge)\n"
12104 " (declare (in) vec3 x))\n"
12105 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012106 " (signature vec4\n"
12107 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012108 " (declare (in) float edge)\n"
12109 " (declare (in) vec4 x))\n"
12110 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012111 "(function smoothstep\n"
12112 " (signature float\n"
12113 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012114 " (declare (in) float edge0)\n"
12115 " (declare (in) float edge1)\n"
12116 " (declare (in) float x))\n"
12117 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012118 " (signature vec2\n"
12119 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012120 " (declare (in) vec2 edge0)\n"
12121 " (declare (in) vec2 edge1)\n"
12122 " (declare (in) vec2 x))\n"
12123 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012124 " (signature vec3\n"
12125 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012126 " (declare (in) vec3 edge0)\n"
12127 " (declare (in) vec3 edge1)\n"
12128 " (declare (in) vec3 x))\n"
12129 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012130 " (signature vec4\n"
12131 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012132 " (declare (in) vec4 edge0)\n"
12133 " (declare (in) vec4 edge1)\n"
12134 " (declare (in) vec4 x))\n"
12135 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012136 " (signature vec2\n"
12137 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012138 " (declare (in) float edge0)\n"
12139 " (declare (in) float edge1)\n"
12140 " (declare (in) vec2 x))\n"
12141 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012142 " (signature vec3\n"
12143 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012144 " (declare (in) float edge0)\n"
12145 " (declare (in) float edge1)\n"
12146 " (declare (in) vec3 x))\n"
12147 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012148 " (signature vec4\n"
12149 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012150 " (declare (in) float edge0)\n"
12151 " (declare (in) float edge1)\n"
12152 " (declare (in) vec4 x))\n"
12153 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012154 "(function length\n"
12155 " (signature float\n"
12156 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012157 " (declare (in) float x))\n"
12158 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012159 " (signature float\n"
12160 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012161 " (declare (in) vec2 x))\n"
12162 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012163 " (signature float\n"
12164 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012165 " (declare (in) vec3 x))\n"
12166 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012167 " (signature float\n"
12168 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012169 " (declare (in) vec4 x))\n"
12170 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012171 "(function distance\n"
12172 " (signature float\n"
12173 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012174 " (declare (in) float p0)\n"
12175 " (declare (in) float p1))\n"
12176 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012177 " (signature float\n"
12178 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012179 " (declare (in) vec2 p0)\n"
12180 " (declare (in) vec2 p1))\n"
12181 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012182 " (signature float\n"
12183 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012184 " (declare (in) vec3 p0)\n"
12185 " (declare (in) vec3 p1))\n"
12186 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012187 " (signature float\n"
12188 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012189 " (declare (in) vec4 p0)\n"
12190 " (declare (in) vec4 p1))\n"
12191 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012192 "(function dot\n"
12193 " (signature float\n"
12194 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012195 " (declare (in) float x)\n"
12196 " (declare (in) float y))\n"
12197 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012198 " (signature float\n"
12199 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012200 " (declare (in) vec2 x)\n"
12201 " (declare (in) vec2 y))\n"
12202 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012203 " (signature float\n"
12204 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012205 " (declare (in) vec3 x)\n"
12206 " (declare (in) vec3 y))\n"
12207 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012208 " (signature float\n"
12209 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012210 " (declare (in) vec4 x)\n"
12211 " (declare (in) vec4 y))\n"
12212 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012213 "(function cross\n"
12214 " (signature vec3\n"
12215 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012216 " (declare (in) vec3 x)\n"
12217 " (declare (in) vec3 y))\n"
12218 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012219 "(function normalize\n"
12220 " (signature float\n"
12221 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012222 " (declare (in) float x))\n"
12223 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012224 " (signature vec2\n"
12225 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012226 " (declare (in) vec2 x))\n"
12227 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012228 " (signature vec3\n"
12229 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012230 " (declare (in) vec3 x))\n"
12231 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012232 " (signature vec4\n"
12233 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012234 " (declare (in) vec4 x))\n"
12235 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012236 "(function ftransform\n"
12237 " (signature vec4\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012238 " (parameters)\n"
12239 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012240 "(function faceforward\n"
12241 " (signature float\n"
12242 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012243 " (declare (in) float N)\n"
12244 " (declare (in) float I)\n"
12245 " (declare (in) float Nref))\n"
12246 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012247 " (signature vec2\n"
12248 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012249 " (declare (in) vec2 N)\n"
12250 " (declare (in) vec2 I)\n"
12251 " (declare (in) vec2 Nref))\n"
12252 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012253 " (signature vec3\n"
12254 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012255 " (declare (in) vec3 N)\n"
12256 " (declare (in) vec3 I)\n"
12257 " (declare (in) vec3 Nref))\n"
12258 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012259 " (signature vec4\n"
12260 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012261 " (declare (in) vec4 N)\n"
12262 " (declare (in) vec4 I)\n"
12263 " (declare (in) vec4 Nref))\n"
12264 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012265 "(function reflect\n"
12266 " (signature float\n"
12267 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012268 " (declare (in) float I)\n"
12269 " (declare (in) float N))\n"
12270 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012271 " (signature vec2\n"
12272 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012273 " (declare (in) vec2 I)\n"
12274 " (declare (in) vec2 N))\n"
12275 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012276 " (signature vec3\n"
12277 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012278 " (declare (in) vec3 I)\n"
12279 " (declare (in) vec3 N))\n"
12280 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012281 " (signature vec4\n"
12282 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012283 " (declare (in) vec4 I)\n"
12284 " (declare (in) vec4 N))\n"
12285 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012286 "(function refract\n"
12287 " (signature float\n"
12288 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012289 " (declare (in) float I)\n"
12290 " (declare (in) float N)\n"
12291 " (declare (in) float eta))\n"
12292 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012293 " (signature vec2\n"
12294 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012295 " (declare (in) vec2 I)\n"
12296 " (declare (in) vec2 N)\n"
12297 " (declare (in) float eta))\n"
12298 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012299 " (signature vec3\n"
12300 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012301 " (declare (in) vec3 I)\n"
12302 " (declare (in) vec3 N)\n"
12303 " (declare (in) float eta))\n"
12304 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012305 " (signature vec4\n"
12306 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012307 " (declare (in) vec4 I)\n"
12308 " (declare (in) vec4 N)\n"
12309 " (declare (in) float eta))\n"
12310 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012311 "(function matrixCompMult\n"
12312 " (signature mat2\n"
12313 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012314 " (declare (in) mat2 x)\n"
12315 " (declare (in) mat2 y))\n"
12316 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012317 " (signature mat3\n"
12318 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012319 " (declare (in) mat3 x)\n"
12320 " (declare (in) mat3 y))\n"
12321 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012322 " (signature mat4\n"
12323 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012324 " (declare (in) mat4 x)\n"
12325 " (declare (in) mat4 y))\n"
12326 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012327 " (signature mat2x3\n"
12328 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012329 " (declare (in) mat2x3 x)\n"
12330 " (declare (in) mat2x3 y))\n"
12331 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012332 " (signature mat2x4\n"
12333 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012334 " (declare (in) mat2x4 x)\n"
12335 " (declare (in) mat2x4 y))\n"
12336 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012337 " (signature mat3x2\n"
12338 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012339 " (declare (in) mat3x2 x)\n"
12340 " (declare (in) mat3x2 y))\n"
12341 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012342 " (signature mat3x4\n"
12343 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012344 " (declare (in) mat3x4 x)\n"
12345 " (declare (in) mat3x4 y))\n"
12346 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012347 " (signature mat4x2\n"
12348 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012349 " (declare (in) mat4x2 x)\n"
12350 " (declare (in) mat4x2 y))\n"
12351 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012352 " (signature mat4x3\n"
12353 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012354 " (declare (in) mat4x3 x)\n"
12355 " (declare (in) mat4x3 y))\n"
12356 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012357 "(function outerProduct\n"
12358 " (signature mat2\n"
12359 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012360 " (declare (in) vec2 c)\n"
12361 " (declare (in) vec2 r))\n"
12362 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012363 " (signature mat3\n"
12364 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012365 " (declare (in) vec3 c)\n"
12366 " (declare (in) vec3 r))\n"
12367 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012368 " (signature mat4\n"
12369 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012370 " (declare (in) vec4 c)\n"
12371 " (declare (in) vec4 r))\n"
12372 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012373 " (signature mat2x3\n"
12374 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012375 " (declare (in) vec3 c)\n"
12376 " (declare (in) vec2 r))\n"
12377 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012378 " (signature mat3x2\n"
12379 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012380 " (declare (in) vec2 c)\n"
12381 " (declare (in) vec3 r))\n"
12382 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012383 " (signature mat2x4\n"
12384 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012385 " (declare (in) vec4 c)\n"
12386 " (declare (in) vec2 r))\n"
12387 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012388 " (signature mat4x2\n"
12389 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012390 " (declare (in) vec2 c)\n"
12391 " (declare (in) vec4 r))\n"
12392 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012393 " (signature mat3x4\n"
12394 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012395 " (declare (in) vec4 c)\n"
12396 " (declare (in) vec3 r))\n"
12397 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012398 " (signature mat4x3\n"
12399 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012400 " (declare (in) vec3 c)\n"
12401 " (declare (in) vec4 r))\n"
12402 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012403 "(function transpose\n"
12404 " (signature mat2\n"
12405 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012406 " (declare (in) mat2 m))\n"
12407 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012408 " (signature mat3\n"
12409 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012410 " (declare (in) mat3 m))\n"
12411 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012412 " (signature mat4\n"
12413 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012414 " (declare (in) mat4 m))\n"
12415 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012416 " (signature mat2x3\n"
12417 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012418 " (declare (in) mat3x2 m))\n"
12419 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012420 " (signature mat3x2\n"
12421 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012422 " (declare (in) mat2x3 m))\n"
12423 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012424 " (signature mat2x4\n"
12425 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012426 " (declare (in) mat4x2 m))\n"
12427 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012428 " (signature mat4x2\n"
12429 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012430 " (declare (in) mat2x4 m))\n"
12431 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012432 " (signature mat3x4\n"
12433 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012434 " (declare (in) mat4x3 m))\n"
12435 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012436 " (signature mat4x3\n"
12437 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012438 " (declare (in) mat3x4 m))\n"
12439 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012440 "(function lessThan\n"
12441 " (signature bvec2\n"
12442 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012443 " (declare (in) vec2 x)\n"
12444 " (declare (in) vec2 y))\n"
12445 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012446 " (signature bvec3\n"
12447 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012448 " (declare (in) vec3 x)\n"
12449 " (declare (in) vec3 y))\n"
12450 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012451 " (signature bvec4\n"
12452 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012453 " (declare (in) vec4 x)\n"
12454 " (declare (in) vec4 y))\n"
12455 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012456 " (signature bvec2\n"
12457 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012458 " (declare (in) ivec2 x)\n"
12459 " (declare (in) ivec2 y))\n"
12460 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012461 " (signature bvec3\n"
12462 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012463 " (declare (in) ivec3 x)\n"
12464 " (declare (in) ivec3 y))\n"
12465 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012466 " (signature bvec4\n"
12467 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012468 " (declare (in) ivec4 x)\n"
12469 " (declare (in) ivec4 y))\n"
12470 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012471 "(function lessThanEqual\n"
12472 " (signature bvec2\n"
12473 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012474 " (declare (in) vec2 x)\n"
12475 " (declare (in) vec2 y))\n"
12476 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012477 " (signature bvec3\n"
12478 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012479 " (declare (in) vec3 x)\n"
12480 " (declare (in) vec3 y))\n"
12481 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012482 " (signature bvec4\n"
12483 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012484 " (declare (in) vec4 x)\n"
12485 " (declare (in) vec4 y))\n"
12486 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012487 " (signature bvec2\n"
12488 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012489 " (declare (in) ivec2 x)\n"
12490 " (declare (in) ivec2 y))\n"
12491 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012492 " (signature bvec3\n"
12493 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012494 " (declare (in) ivec3 x)\n"
12495 " (declare (in) ivec3 y))\n"
12496 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012497 " (signature bvec4\n"
12498 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012499 " (declare (in) ivec4 x)\n"
12500 " (declare (in) ivec4 y))\n"
12501 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012502 "(function greaterThan\n"
12503 " (signature bvec2\n"
12504 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012505 " (declare (in) vec2 x)\n"
12506 " (declare (in) vec2 y))\n"
12507 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012508 " (signature bvec3\n"
12509 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012510 " (declare (in) vec3 x)\n"
12511 " (declare (in) vec3 y))\n"
12512 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012513 " (signature bvec4\n"
12514 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012515 " (declare (in) vec4 x)\n"
12516 " (declare (in) vec4 y))\n"
12517 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012518 " (signature bvec2\n"
12519 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012520 " (declare (in) ivec2 x)\n"
12521 " (declare (in) ivec2 y))\n"
12522 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012523 " (signature bvec3\n"
12524 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012525 " (declare (in) ivec3 x)\n"
12526 " (declare (in) ivec3 y))\n"
12527 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012528 " (signature bvec4\n"
12529 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012530 " (declare (in) ivec4 x)\n"
12531 " (declare (in) ivec4 y))\n"
12532 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012533 "(function greaterThanEqual\n"
12534 " (signature bvec2\n"
12535 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012536 " (declare (in) vec2 x)\n"
12537 " (declare (in) vec2 y))\n"
12538 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012539 " (signature bvec3\n"
12540 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012541 " (declare (in) vec3 x)\n"
12542 " (declare (in) vec3 y))\n"
12543 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012544 " (signature bvec4\n"
12545 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012546 " (declare (in) vec4 x)\n"
12547 " (declare (in) vec4 y))\n"
12548 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012549 " (signature bvec2\n"
12550 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012551 " (declare (in) ivec2 x)\n"
12552 " (declare (in) ivec2 y))\n"
12553 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012554 " (signature bvec3\n"
12555 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012556 " (declare (in) ivec3 x)\n"
12557 " (declare (in) ivec3 y))\n"
12558 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012559 " (signature bvec4\n"
12560 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012561 " (declare (in) ivec4 x)\n"
12562 " (declare (in) ivec4 y))\n"
12563 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012564 "(function equal\n"
12565 " (signature bvec2\n"
12566 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012567 " (declare (in) vec2 x)\n"
12568 " (declare (in) vec2 y))\n"
12569 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012570 " (signature bvec3\n"
12571 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012572 " (declare (in) vec3 x)\n"
12573 " (declare (in) vec3 y))\n"
12574 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012575 " (signature bvec4\n"
12576 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012577 " (declare (in) vec4 x)\n"
12578 " (declare (in) vec4 y))\n"
12579 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012580 " (signature bvec2\n"
12581 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012582 " (declare (in) ivec2 x)\n"
12583 " (declare (in) ivec2 y))\n"
12584 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012585 " (signature bvec3\n"
12586 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012587 " (declare (in) ivec3 x)\n"
12588 " (declare (in) ivec3 y))\n"
12589 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012590 " (signature bvec4\n"
12591 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012592 " (declare (in) ivec4 x)\n"
12593 " (declare (in) ivec4 y))\n"
12594 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012595 " (signature bvec2\n"
12596 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012597 " (declare (in) bvec2 x)\n"
12598 " (declare (in) bvec2 y))\n"
12599 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012600 " (signature bvec3\n"
12601 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012602 " (declare (in) bvec3 x)\n"
12603 " (declare (in) bvec3 y))\n"
12604 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012605 " (signature bvec4\n"
12606 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012607 " (declare (in) bvec4 x)\n"
12608 " (declare (in) bvec4 y))\n"
12609 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012610 "(function notEqual\n"
12611 " (signature bvec2\n"
12612 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012613 " (declare (in) vec2 x)\n"
12614 " (declare (in) vec2 y))\n"
12615 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012616 " (signature bvec3\n"
12617 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012618 " (declare (in) vec3 x)\n"
12619 " (declare (in) vec3 y))\n"
12620 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012621 " (signature bvec4\n"
12622 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012623 " (declare (in) vec4 x)\n"
12624 " (declare (in) vec4 y))\n"
12625 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012626 " (signature bvec2\n"
12627 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012628 " (declare (in) ivec2 x)\n"
12629 " (declare (in) ivec2 y))\n"
12630 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012631 " (signature bvec3\n"
12632 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012633 " (declare (in) ivec3 x)\n"
12634 " (declare (in) ivec3 y))\n"
12635 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012636 " (signature bvec4\n"
12637 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012638 " (declare (in) ivec4 x)\n"
12639 " (declare (in) ivec4 y))\n"
12640 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012641 " (signature bvec2\n"
12642 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012643 " (declare (in) bvec2 x)\n"
12644 " (declare (in) bvec2 y))\n"
12645 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012646 " (signature bvec3\n"
12647 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012648 " (declare (in) bvec3 x)\n"
12649 " (declare (in) bvec3 y))\n"
12650 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012651 " (signature bvec4\n"
12652 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012653 " (declare (in) bvec4 x)\n"
12654 " (declare (in) bvec4 y))\n"
12655 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012656 "(function any\n"
12657 " (signature bool\n"
12658 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012659 " (declare (in) bvec2 x))\n"
12660 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012661 " (signature bool\n"
12662 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012663 " (declare (in) bvec3 x))\n"
12664 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012665 " (signature bool\n"
12666 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012667 " (declare (in) bvec4 x))\n"
12668 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012669 "(function all\n"
12670 " (signature bool\n"
12671 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012672 " (declare (in) bvec2 x))\n"
12673 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012674 " (signature bool\n"
12675 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012676 " (declare (in) bvec3 x))\n"
12677 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012678 " (signature bool\n"
12679 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012680 " (declare (in) bvec4 x))\n"
12681 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012682 "(function not\n"
12683 " (signature bvec2\n"
12684 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012685 " (declare (in) bvec2 x))\n"
12686 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012687 " (signature bvec3\n"
12688 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012689 " (declare (in) bvec3 x))\n"
12690 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012691 " (signature bvec4\n"
12692 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012693 " (declare (in) bvec4 x))\n"
12694 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012695 "(function texture1D\n"
12696 " (signature vec4\n"
12697 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012698 " (declare (in) sampler1D sampler)\n"
12699 " (declare (in) float coord))\n"
12700 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012701 "(function texture1DProj\n"
12702 " (signature vec4\n"
12703 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012704 " (declare (in) sampler1D sampler)\n"
12705 " (declare (in) vec2 coord))\n"
12706 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012707 " (signature vec4\n"
12708 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012709 " (declare (in) sampler1D sampler)\n"
12710 " (declare (in) vec4 coord))\n"
12711 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012712 "(function texture1DLod\n"
12713 " (signature vec4\n"
12714 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012715 " (declare (in) sampler1D sampler)\n"
12716 " (declare (in) float coord)\n"
12717 " (declare (in) float lod))\n"
12718 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012719 "(function texture1DProjLod\n"
12720 " (signature vec4\n"
12721 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012722 " (declare (in) sampler1D sampler)\n"
12723 " (declare (in) vec2 coord)\n"
12724 " (declare (in) float lod))\n"
12725 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012726 " (signature vec4\n"
12727 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012728 " (declare (in) sampler1D sampler)\n"
12729 " (declare (in) vec4 coord)\n"
12730 " (declare (in) float lod))\n"
12731 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012732 "(function texture2D\n"
12733 " (signature vec4\n"
12734 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012735 " (declare (in) sampler2D sampler)\n"
12736 " (declare (in) vec2 coord))\n"
12737 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012738 "(function texture2DProj\n"
12739 " (signature vec4\n"
12740 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012741 " (declare (in) sampler2D sampler)\n"
12742 " (declare (in) vec3 coord))\n"
12743 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012744 " (signature vec4\n"
12745 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012746 " (declare (in) sampler2D sampler)\n"
12747 " (declare (in) vec4 coord))\n"
12748 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012749 "(function texture2DLod\n"
12750 " (signature vec4\n"
12751 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012752 " (declare (in) sampler2D sampler)\n"
12753 " (declare (in) vec2 coord)\n"
12754 " (declare (in) float lod))\n"
12755 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012756 "(function texture2DProjLod\n"
12757 " (signature vec4\n"
12758 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012759 " (declare (in) sampler2D sampler)\n"
12760 " (declare (in) vec3 coord)\n"
12761 " (declare (in) float lod))\n"
12762 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012763 " (signature vec4\n"
12764 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012765 " (declare (in) sampler2D sampler)\n"
12766 " (declare (in) vec4 coord)\n"
12767 " (declare (in) float lod))\n"
12768 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012769 "(function texture3D\n"
12770 " (signature vec4\n"
12771 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012772 " (declare (in) sampler3D sampler)\n"
12773 " (declare (in) vec3 coord))\n"
12774 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012775 "(function texture3DProj\n"
12776 " (signature vec4\n"
12777 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012778 " (declare (in) sampler3D sampler)\n"
12779 " (declare (in) vec4 coord))\n"
12780 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012781 "(function texture3DLod\n"
12782 " (signature vec4\n"
12783 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012784 " (declare (in) sampler3D sampler)\n"
12785 " (declare (in) vec3 coord)\n"
12786 " (declare (in) float lod))\n"
12787 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012788 "(function texture3DProjLod\n"
12789 " (signature vec4\n"
12790 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012791 " (declare (in) sampler3D sampler)\n"
12792 " (declare (in) vec4 coord)\n"
12793 " (declare (in) float lod))\n"
12794 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012795 "(function textureCube\n"
12796 " (signature vec4\n"
12797 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012798 " (declare (in) samplerCube sampler)\n"
12799 " (declare (in) vec3 coord))\n"
12800 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012801 "(function textureCubeLod\n"
12802 " (signature vec4\n"
12803 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012804 " (declare (in) samplerCube sampler)\n"
12805 " (declare (in) vec3 coord)\n"
12806 " (declare (in) float lod))\n"
12807 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012808 "(function shadow1D\n"
12809 " (signature vec4\n"
12810 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012811 " (declare (in) sampler1DShadow sampler)\n"
12812 " (declare (in) vec3 coord))\n"
12813 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012814 "(function shadow2D\n"
12815 " (signature vec4\n"
12816 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012817 " (declare (in) sampler2DShadow sampler)\n"
12818 " (declare (in) vec3 coord))\n"
12819 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012820 "(function shadow1DProj\n"
12821 " (signature vec4\n"
12822 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012823 " (declare (in) sampler1DShadow sampler)\n"
12824 " (declare (in) vec4 coord))\n"
12825 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012826 "(function shadow2DProj\n"
12827 " (signature vec4\n"
12828 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012829 " (declare (in) sampler2DShadow sampler)\n"
12830 " (declare (in) vec4 coord))\n"
12831 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012832 "(function shadow1DLod\n"
12833 " (signature vec4\n"
12834 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012835 " (declare (in) sampler1DShadow sampler)\n"
12836 " (declare (in) vec3 coord)\n"
12837 " (declare (in) float lod))\n"
12838 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012839 "(function shadow2DLod\n"
12840 " (signature vec4\n"
12841 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012842 " (declare (in) sampler2DShadow sampler)\n"
12843 " (declare (in) vec3 coord)\n"
12844 " (declare (in) float lod))\n"
12845 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012846 "(function shadow1DProjLod\n"
12847 " (signature vec4\n"
12848 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012849 " (declare (in) sampler1DShadow sampler)\n"
12850 " (declare (in) vec4 coord)\n"
12851 " (declare (in) float lod))\n"
12852 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012853 "(function shadow2DProjLod\n"
12854 " (signature vec4\n"
12855 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012856 " (declare (in) sampler2DShadow sampler)\n"
12857 " (declare (in) vec4 coord)\n"
12858 " (declare (in) float lod))\n"
12859 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012860 "(function noise1\n"
12861 " (signature float\n"
12862 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012863 " (declare (in) float x))\n"
12864 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012865 " (signature float\n"
12866 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012867 " (declare (in) vec2 x))\n"
12868 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012869 " (signature float\n"
12870 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012871 " (declare (in) vec3 x))\n"
12872 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012873 " (signature float\n"
12874 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012875 " (declare (in) vec4 x))\n"
12876 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012877 "(function noise2\n"
12878 " (signature vec2\n"
12879 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012880 " (declare (in) float x))\n"
12881 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012882 " (signature vec2\n"
12883 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012884 " (declare (in) vec2 x))\n"
12885 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012886 " (signature vec2\n"
12887 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012888 " (declare (in) vec3 x))\n"
12889 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012890 " (signature vec2\n"
12891 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012892 " (declare (in) vec4 x))\n"
12893 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012894 "(function noise3\n"
12895 " (signature vec3\n"
12896 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012897 " (declare (in) float x))\n"
12898 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012899 " (signature vec3\n"
12900 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012901 " (declare (in) vec2 x))\n"
12902 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012903 " (signature vec3\n"
12904 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012905 " (declare (in) vec3 x))\n"
12906 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012907 " (signature vec3\n"
12908 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012909 " (declare (in) vec4 x))\n"
12910 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012911 "(function noise4\n"
12912 " (signature vec4\n"
12913 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012914 " (declare (in) float x))\n"
12915 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012916 " (signature vec4\n"
12917 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012918 " (declare (in) vec2 x))\n"
12919 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012920 " (signature vec4\n"
12921 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012922 " (declare (in) vec3 x))\n"
12923 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012924 " (signature vec4\n"
12925 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070012926 " (declare (in) vec4 x))\n"
12927 " ())))"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012928;
12929static const char *functions_for_120_vert [] = {
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012930 builtin_abs,
Eric Anholt47003a82010-08-23 12:39:35 -070012931 builtin_acos,
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012932 builtin_all,
Eric Anholt47003a82010-08-23 12:39:35 -070012933 builtin_any,
12934 builtin_asin,
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012935 builtin_atan,
Eric Anholt47003a82010-08-23 12:39:35 -070012936 builtin_ceil,
12937 builtin_clamp,
12938 builtin_cos,
12939 builtin_cross,
12940 builtin_degrees,
12941 builtin_distance,
12942 builtin_dot,
12943 builtin_equal,
12944 builtin_exp,
12945 builtin_exp2,
12946 builtin_faceforward,
12947 builtin_floor,
12948 builtin_fract,
12949 builtin_ftransform,
12950 builtin_greaterThan,
12951 builtin_greaterThanEqual,
12952 builtin_inversesqrt,
12953 builtin_length,
12954 builtin_lessThan,
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012955 builtin_lessThanEqual,
Eric Anholt47003a82010-08-23 12:39:35 -070012956 builtin_log,
12957 builtin_log2,
12958 builtin_matrixCompMult,
12959 builtin_max,
12960 builtin_min,
12961 builtin_mix,
12962 builtin_mod,
12963 builtin_noise1,
12964 builtin_noise2,
12965 builtin_noise3,
12966 builtin_noise4,
12967 builtin_normalize,
12968 builtin_not,
12969 builtin_notEqual,
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012970 builtin_outerProduct,
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012971 builtin_pow,
Eric Anholt47003a82010-08-23 12:39:35 -070012972 builtin_radians,
12973 builtin_reflect,
12974 builtin_refract,
12975 builtin_shadow1D,
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012976 builtin_shadow1DLod,
Eric Anholt47003a82010-08-23 12:39:35 -070012977 builtin_shadow1DProj,
12978 builtin_shadow1DProjLod,
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012979 builtin_shadow2D,
12980 builtin_shadow2DLod,
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012981 builtin_shadow2DProj,
Eric Anholt47003a82010-08-23 12:39:35 -070012982 builtin_shadow2DProjLod,
12983 builtin_sign,
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012984 builtin_sin,
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070012985 builtin_smoothstep,
Eric Anholt47003a82010-08-23 12:39:35 -070012986 builtin_sqrt,
12987 builtin_step,
12988 builtin_tan,
12989 builtin_texture1D,
12990 builtin_texture1DLod,
12991 builtin_texture1DProj,
12992 builtin_texture1DProjLod,
12993 builtin_texture2D,
12994 builtin_texture2DLod,
12995 builtin_texture2DProj,
12996 builtin_texture2DProjLod,
12997 builtin_texture3D,
12998 builtin_texture3DLod,
12999 builtin_texture3DProj,
13000 builtin_texture3DProjLod,
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070013001 builtin_textureCube,
Eric Anholt47003a82010-08-23 12:39:35 -070013002 builtin_textureCubeLod,
13003 builtin_transpose,
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070013004};
Kenneth Graunke3f5fde52010-10-21 11:43:39 -070013005static const char prototypes_for_130_frag[] =
13006{'(',
13007'(','f','u','n','c','t','i','o','n',' ','r','a','d','i','a','n','s',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','e','g','r','e','e','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','e','g','r','e','e','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','e','g','r','e','e','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','d','e','g','r','e','e','s',')',')',' ','(',')',')',')',
13008'(','f','u','n','c','t','i','o','n',' ','d','e','g','r','e','e','s',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','r','a','d','i','a','n','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','r','a','d','i','a','n','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','r','a','d','i','a','n','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','r','a','d','i','a','n','s',')',')',' ','(',')',')',')',
13009'(','f','u','n','c','t','i','o','n',' ','s','i','n',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','a','n','g','l','e',')',')',' ','(',')',')',')',
13010'(','f','u','n','c','t','i','o','n',' ','c','o','s',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','a','n','g','l','e',')',')',' ','(',')',')',')',
13011'(','f','u','n','c','t','i','o','n',' ','t','a','n',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','a','n','g','l','e',')',')',' ','(',')',')',')',
13012'(','f','u','n','c','t','i','o','n',' ','a','s','i','n',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','a','n','g','l','e',')',')',' ','(',')',')',')',
13013'(','f','u','n','c','t','i','o','n',' ','a','c','o','s',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','a','n','g','l','e',')',')',' ','(',')',')',')',
13014'(','f','u','n','c','t','i','o','n',' ','a','t','a','n',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y','_','o','v','e','r','_','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y','_','o','v','e','r','_','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y','_','o','v','e','r','_','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y','_','o','v','e','r','_','x',')',')',' ','(',')',')',')',
13015'(','f','u','n','c','t','i','o','n',' ','s','i','n','h',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
13016'(','f','u','n','c','t','i','o','n',' ','c','o','s','h',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
13017'(','f','u','n','c','t','i','o','n',' ','t','a','n','h',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
Kenneth Graunke91181c72010-11-15 14:02:13 -080013018'(','f','u','n','c','t','i','o','n',' ','a','s','i','n','h',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
13019'(','f','u','n','c','t','i','o','n',' ','a','c','o','s','h',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
13020'(','f','u','n','c','t','i','o','n',' ','a','t','a','n','h',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
Kenneth Graunke3f5fde52010-10-21 11:43:39 -070013021'(','f','u','n','c','t','i','o','n',' ','p','o','w',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',')',' ','(',')',')',')',
13022'(','f','u','n','c','t','i','o','n',' ','e','x','p',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
13023'(','f','u','n','c','t','i','o','n',' ','l','o','g',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
13024'(','f','u','n','c','t','i','o','n',' ','e','x','p','2',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
13025'(','f','u','n','c','t','i','o','n',' ','l','o','g','2',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
13026'(','f','u','n','c','t','i','o','n',' ','s','q','r','t',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
13027'(','f','u','n','c','t','i','o','n',' ','i','n','v','e','r','s','e','s','q','r','t',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
13028'(','f','u','n','c','t','i','o','n',' ','a','b','s',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','n','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
13029'(','f','u','n','c','t','i','o','n',' ','s','i','g','n',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','n','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
13030'(','f','u','n','c','t','i','o','n',' ','f','l','o','o','r',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
13031'(','f','u','n','c','t','i','o','n',' ','t','r','u','n','c',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
13032'(','f','u','n','c','t','i','o','n',' ','r','o','u','n','d',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
13033'(','f','u','n','c','t','i','o','n',' ','r','o','u','n','d','E','v','e','n',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
13034'(','f','u','n','c','t','i','o','n',' ','c','e','i','l',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
13035'(','f','u','n','c','t','i','o','n',' ','f','r','a','c','t',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
13036'(','f','u','n','c','t','i','o','n',' ','m','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',')',' ','(',')',')',')',
13037'(','f','u','n','c','t','i','o','n',' ','m','o','d','f',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','o','u','t',')',' ','f','l','o','a','t',' ','i',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','o','u','t',')',' ','v','e','c','2',' ','i',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','o','u','t',')',' ','v','e','c','3',' ','i',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','o','u','t',')',' ','v','e','c','4',' ','i',')',')',' ','(',')',')',')',
13038'(','f','u','n','c','t','i','o','n',' ','m','i','n',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','n','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','i','n','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','y',')',')',' ','(',')',')',')',
13039'(','f','u','n','c','t','i','o','n',' ','m','a','x',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','n','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','i','n','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','y',')',')',' ','(',')',')',')',
13040'(','f','u','n','c','t','i','o','n',' ','c','l','a','m','p',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','n','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','i','n','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','m','a','x','V','a','l',')',')',' ','(',')',')',')',
13041'(','f','u','n','c','t','i','o','n',' ','m','i','x',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','a',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','a',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','a',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','a',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','a',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','a',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','a',')',')',' ','(',')',')',')',
13042'(','f','u','n','c','t','i','o','n',' ','s','t','e','p',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','d','g','e',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','e','d','g','e',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','e','d','g','e',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','e','d','g','e',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','d','g','e',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','d','g','e',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','d','g','e',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
13043'(','f','u','n','c','t','i','o','n',' ','s','m','o','o','t','h','s','t','e','p',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','d','g','e','0',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','d','g','e','1',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','e','d','g','e','0',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','e','d','g','e','1',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','e','d','g','e','0',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','e','d','g','e','1',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','e','d','g','e','0',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','e','d','g','e','1',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','d','g','e','0',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','d','g','e','1',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','d','g','e','0',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','d','g','e','1',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','d','g','e','0',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','d','g','e','1',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
13044'(','f','u','n','c','t','i','o','n',' ','l','e','n','g','t','h',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
13045'(','f','u','n','c','t','i','o','n',' ','d','i','s','t','a','n','c','e',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','p','0',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','p','1',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','p','0',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','p','1',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','p','0',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','p','1',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','p','0',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','p','1',')',')',' ','(',')',')',')',
13046'(','f','u','n','c','t','i','o','n',' ','d','o','t',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',')',' ','(',')',')',')',
13047'(','f','u','n','c','t','i','o','n',' ','c','r','o','s','s',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',')',' ','(',')',')',')',
13048'(','f','u','n','c','t','i','o','n',' ','n','o','r','m','a','l','i','z','e',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
13049'(','f','u','n','c','t','i','o','n',' ','f','a','c','e','f','o','r','w','a','r','d',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','N',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','I',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','N','r','e','f',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','N',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','I',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','N','r','e','f',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','N',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','I',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','N','r','e','f',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','N',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','I',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','N','r','e','f',')',')',' ','(',')',')',')',
13050'(','f','u','n','c','t','i','o','n',' ','r','e','f','l','e','c','t',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','I',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','N',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','I',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','N',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','I',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','N',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','I',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','N',')',')',' ','(',')',')',')',
13051'(','f','u','n','c','t','i','o','n',' ','r','e','f','r','a','c','t',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','I',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','N',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','t','a',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','I',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','N',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','t','a',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','I',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','N',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','t','a',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','I',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','N',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','t','a',')',')',' ','(',')',')',')',
13052'(','f','u','n','c','t','i','o','n',' ','m','a','t','r','i','x','C','o','m','p','M','u','l','t',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','2','x','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','2','x','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','2','x','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','2','x','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','2','x','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','2','x','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','3','x','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','3','x','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','3','x','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','3','x','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','3','x','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','3','x','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','4','x','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','4','x','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','4','x','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','4','x','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','4','x','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','4','x','3',' ','y',')',')',' ','(',')',')',')',
13053'(','f','u','n','c','t','i','o','n',' ','o','u','t','e','r','P','r','o','d','u','c','t',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','c',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','r',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','r',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','r',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','2','x','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','r',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','3','x','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','c',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','r',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','2','x','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','r',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','4','x','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','c',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','r',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','3','x','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','r',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','4','x','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','r',')',')',' ','(',')',')',')',
13054'(','f','u','n','c','t','i','o','n',' ','t','r','a','n','s','p','o','s','e',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','2',' ','m',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','3',' ','m',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','4',' ','m',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','2','x','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','3','x','2',' ','m',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','3','x','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','2','x','3',' ','m',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','2','x','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','4','x','2',' ','m',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','4','x','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','2','x','4',' ','m',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','3','x','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','4','x','3',' ','m',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','4','x','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','3','x','4',' ','m',')',')',' ','(',')',')',')',
13055'(','f','u','n','c','t','i','o','n',' ','l','e','s','s','T','h','a','n',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','y',')',')',' ','(',')',')',')',
13056'(','f','u','n','c','t','i','o','n',' ','l','e','s','s','T','h','a','n','E','q','u','a','l',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','y',')',')',' ','(',')',')',')',
13057'(','f','u','n','c','t','i','o','n',' ','g','r','e','a','t','e','r','T','h','a','n',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','y',')',')',' ','(',')',')',')',
13058'(','f','u','n','c','t','i','o','n',' ','g','r','e','a','t','e','r','T','h','a','n','E','q','u','a','l',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','y',')',')',' ','(',')',')',')',
13059'(','f','u','n','c','t','i','o','n',' ','e','q','u','a','l',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','4',' ','y',')',')',' ','(',')',')',')',
13060'(','f','u','n','c','t','i','o','n',' ','n','o','t','E','q','u','a','l',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','4',' ','y',')',')',' ','(',')',')',')',
13061'(','f','u','n','c','t','i','o','n',' ','a','n','y',' ','(','s','i','g','n','a','t','u','r','e',' ','b','o','o','l',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','o','o','l',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','o','o','l',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
13062'(','f','u','n','c','t','i','o','n',' ','a','l','l',' ','(','s','i','g','n','a','t','u','r','e',' ','b','o','o','l',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','o','o','l',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','o','o','l',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
13063'(','f','u','n','c','t','i','o','n',' ','n','o','t',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
13064'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','C','u','b','e','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','A','r','r','a','y','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','A','r','r','a','y','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','C','u','b','e','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','A','r','r','a','y','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',')',
13065'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','P','r','o','j',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',')',
13066'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','A','r','r','a','y','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
13067'(','f','u','n','c','t','i','o','n',' ','t','e','x','e','l','F','e','t','c','h',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',')',
13068'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','P','r','o','j','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
13069'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','G','r','a','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','C','u','b','e','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','A','r','r','a','y','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','A','r','r','a','y','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',')',
13070'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','P','r','o','j','G','r','a','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',')',
13071'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','1','D',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','c','o','o','r','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',')',
13072'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','1','D','P','r','o','j',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','c','o','o','r','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',')',
13073'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','1','D','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
13074'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','1','D','P','r','o','j','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
13075'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','2','D',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','c','o','o','r','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',')',
13076'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','2','D','P','r','o','j',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',')',
13077'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','2','D','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
13078'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','2','D','P','r','o','j','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
13079'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','3','D',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',')',
13080'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','3','D','P','r','o','j',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',')',
13081'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','3','D','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
13082'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','3','D','P','r','o','j','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
13083'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','C','u','b','e',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',')',
13084'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','C','u','b','e','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
13085'(','f','u','n','c','t','i','o','n',' ','s','h','a','d','o','w','1','D',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',')',
13086'(','f','u','n','c','t','i','o','n',' ','s','h','a','d','o','w','2','D',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',')',
13087'(','f','u','n','c','t','i','o','n',' ','s','h','a','d','o','w','1','D','P','r','o','j',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',')',
13088'(','f','u','n','c','t','i','o','n',' ','s','h','a','d','o','w','2','D','P','r','o','j',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',')',
13089'(','f','u','n','c','t','i','o','n',' ','s','h','a','d','o','w','1','D','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
13090'(','f','u','n','c','t','i','o','n',' ','s','h','a','d','o','w','2','D','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
13091'(','f','u','n','c','t','i','o','n',' ','s','h','a','d','o','w','1','D','P','r','o','j','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
13092'(','f','u','n','c','t','i','o','n',' ','s','h','a','d','o','w','2','D','P','r','o','j','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
13093'(','f','u','n','c','t','i','o','n',' ','d','F','d','x',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','p',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','p',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','p',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','p',')',')',' ','(',')',')',')',
13094'(','f','u','n','c','t','i','o','n',' ','d','F','d','y',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','p',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','p',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','p',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','p',')',')',' ','(',')',')',')',
13095'(','f','u','n','c','t','i','o','n',' ','f','w','i','d','t','h',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','p',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','p',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','p',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','p',')',')',' ','(',')',')',')',
13096'(','f','u','n','c','t','i','o','n',' ','n','o','i','s','e','1',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
13097'(','f','u','n','c','t','i','o','n',' ','n','o','i','s','e','2',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
13098'(','f','u','n','c','t','i','o','n',' ','n','o','i','s','e','3',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
13099'(','f','u','n','c','t','i','o','n',' ','n','o','i','s','e','4',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',')'} ;
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013100static const char *functions_for_130_frag [] = {
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013101 builtin_abs,
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013102 builtin_acos,
Kenneth Graunke91181c72010-11-15 14:02:13 -080013103 builtin_acosh,
Eric Anholt47003a82010-08-23 12:39:35 -070013104 builtin_all,
13105 builtin_any,
13106 builtin_asin,
Kenneth Graunke91181c72010-11-15 14:02:13 -080013107 builtin_asinh,
Eric Anholt47003a82010-08-23 12:39:35 -070013108 builtin_atan,
Kenneth Graunke91181c72010-11-15 14:02:13 -080013109 builtin_atanh,
Eric Anholt47003a82010-08-23 12:39:35 -070013110 builtin_ceil,
13111 builtin_clamp,
13112 builtin_cos,
13113 builtin_cosh,
13114 builtin_cross,
13115 builtin_dFdx,
13116 builtin_dFdy,
13117 builtin_degrees,
13118 builtin_distance,
13119 builtin_dot,
13120 builtin_equal,
13121 builtin_exp,
13122 builtin_exp2,
13123 builtin_faceforward,
13124 builtin_floor,
13125 builtin_fract,
13126 builtin_fwidth,
13127 builtin_greaterThan,
13128 builtin_greaterThanEqual,
13129 builtin_inversesqrt,
13130 builtin_length,
13131 builtin_lessThan,
13132 builtin_lessThanEqual,
13133 builtin_log,
13134 builtin_log2,
13135 builtin_matrixCompMult,
13136 builtin_max,
13137 builtin_min,
13138 builtin_mix,
13139 builtin_mod,
Kenneth Graunkecc043472010-10-19 11:57:15 -070013140 builtin_modf,
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013141 builtin_noise1,
13142 builtin_noise2,
13143 builtin_noise3,
Eric Anholt47003a82010-08-23 12:39:35 -070013144 builtin_noise4,
13145 builtin_normalize,
13146 builtin_not,
13147 builtin_notEqual,
13148 builtin_outerProduct,
13149 builtin_pow,
13150 builtin_radians,
13151 builtin_reflect,
13152 builtin_refract,
Kenneth Graunke2bc704d2010-10-14 13:41:29 -070013153 builtin_round,
13154 builtin_roundEven,
Eric Anholt47003a82010-08-23 12:39:35 -070013155 builtin_shadow1D,
13156 builtin_shadow1DLod,
13157 builtin_shadow1DProj,
13158 builtin_shadow1DProjLod,
13159 builtin_shadow2D,
13160 builtin_shadow2DLod,
13161 builtin_shadow2DProj,
13162 builtin_shadow2DProjLod,
13163 builtin_sign,
13164 builtin_sin,
13165 builtin_sinh,
13166 builtin_smoothstep,
13167 builtin_sqrt,
13168 builtin_step,
13169 builtin_tan,
13170 builtin_tanh,
13171 builtin_texelFetch,
13172 builtin_texture,
13173 builtin_texture1D,
13174 builtin_texture1DLod,
13175 builtin_texture1DProj,
13176 builtin_texture1DProjLod,
13177 builtin_texture2D,
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013178 builtin_texture2DLod,
Eric Anholt47003a82010-08-23 12:39:35 -070013179 builtin_texture2DProj,
13180 builtin_texture2DProjLod,
13181 builtin_texture3D,
13182 builtin_texture3DLod,
13183 builtin_texture3DProj,
13184 builtin_texture3DProjLod,
13185 builtin_textureCube,
13186 builtin_textureCubeLod,
13187 builtin_textureGrad,
13188 builtin_textureLod,
13189 builtin_textureProj,
13190 builtin_textureProjGrad,
13191 builtin_textureProjLod,
13192 builtin_transpose,
Kenneth Graunkef9bd4c62010-10-14 10:51:09 -070013193 builtin_trunc,
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070013194};
Kenneth Graunke3f5fde52010-10-21 11:43:39 -070013195static const char prototypes_for_130_vert[] =
Kenneth Graunke91181c72010-11-15 14:02:13 -080013196{'(',
13197'(','f','u','n','c','t','i','o','n',' ','r','a','d','i','a','n','s',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','e','g','r','e','e','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','e','g','r','e','e','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','e','g','r','e','e','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','d','e','g','r','e','e','s',')',')',' ','(',')',')',')',
13198'(','f','u','n','c','t','i','o','n',' ','d','e','g','r','e','e','s',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','r','a','d','i','a','n','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','r','a','d','i','a','n','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','r','a','d','i','a','n','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','r','a','d','i','a','n','s',')',')',' ','(',')',')',')',
13199'(','f','u','n','c','t','i','o','n',' ','s','i','n',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','a','n','g','l','e',')',')',' ','(',')',')',')',
13200'(','f','u','n','c','t','i','o','n',' ','c','o','s',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','a','n','g','l','e',')',')',' ','(',')',')',')',
13201'(','f','u','n','c','t','i','o','n',' ','t','a','n',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','a','n','g','l','e',')',')',' ','(',')',')',')',
13202'(','f','u','n','c','t','i','o','n',' ','a','s','i','n',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','a','n','g','l','e',')',')',' ','(',')',')',')',
13203'(','f','u','n','c','t','i','o','n',' ','a','c','o','s',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','a','n','g','l','e',')',')',' ','(',')',')',')',
13204'(','f','u','n','c','t','i','o','n',' ','a','t','a','n',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y','_','o','v','e','r','_','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y','_','o','v','e','r','_','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y','_','o','v','e','r','_','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y','_','o','v','e','r','_','x',')',')',' ','(',')',')',')',
13205'(','f','u','n','c','t','i','o','n',' ','s','i','n','h',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
13206'(','f','u','n','c','t','i','o','n',' ','c','o','s','h',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
13207'(','f','u','n','c','t','i','o','n',' ','t','a','n','h',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
13208'(','f','u','n','c','t','i','o','n',' ','a','s','i','n','h',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
13209'(','f','u','n','c','t','i','o','n',' ','a','c','o','s','h',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
13210'(','f','u','n','c','t','i','o','n',' ','a','t','a','n','h',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
13211'(','f','u','n','c','t','i','o','n',' ','p','o','w',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',')',' ','(',')',')',')',
13212'(','f','u','n','c','t','i','o','n',' ','e','x','p',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
13213'(','f','u','n','c','t','i','o','n',' ','l','o','g',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
13214'(','f','u','n','c','t','i','o','n',' ','e','x','p','2',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
13215'(','f','u','n','c','t','i','o','n',' ','l','o','g','2',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
13216'(','f','u','n','c','t','i','o','n',' ','s','q','r','t',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
13217'(','f','u','n','c','t','i','o','n',' ','i','n','v','e','r','s','e','s','q','r','t',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
13218'(','f','u','n','c','t','i','o','n',' ','a','b','s',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','n','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
13219'(','f','u','n','c','t','i','o','n',' ','s','i','g','n',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','n','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
13220'(','f','u','n','c','t','i','o','n',' ','f','l','o','o','r',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
13221'(','f','u','n','c','t','i','o','n',' ','t','r','u','n','c',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
13222'(','f','u','n','c','t','i','o','n',' ','r','o','u','n','d',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
13223'(','f','u','n','c','t','i','o','n',' ','r','o','u','n','d','E','v','e','n',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
13224'(','f','u','n','c','t','i','o','n',' ','c','e','i','l',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
13225'(','f','u','n','c','t','i','o','n',' ','f','r','a','c','t',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
13226'(','f','u','n','c','t','i','o','n',' ','m','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',')',' ','(',')',')',')',
13227'(','f','u','n','c','t','i','o','n',' ','m','o','d','f',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','o','u','t',')',' ','f','l','o','a','t',' ','i',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','o','u','t',')',' ','v','e','c','2',' ','i',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','o','u','t',')',' ','v','e','c','3',' ','i',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','o','u','t',')',' ','v','e','c','4',' ','i',')',')',' ','(',')',')',')',
13228'(','f','u','n','c','t','i','o','n',' ','m','i','n',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','n','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','i','n','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','y',')',')',' ','(',')',')',')',
13229'(','f','u','n','c','t','i','o','n',' ','m','a','x',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','n','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','i','n','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','y',')',')',' ','(',')',')',')',
13230'(','f','u','n','c','t','i','o','n',' ','c','l','a','m','p',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','n','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','i','n','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','m','a','x','V','a','l',')',')',' ','(',')',')',')',
13231'(','f','u','n','c','t','i','o','n',' ','m','i','x',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','a',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','a',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','a',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','a',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','a',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','a',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','a',')',')',' ','(',')',')',')',
13232'(','f','u','n','c','t','i','o','n',' ','s','t','e','p',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','d','g','e',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','e','d','g','e',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','e','d','g','e',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','e','d','g','e',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','d','g','e',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','d','g','e',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','d','g','e',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
13233'(','f','u','n','c','t','i','o','n',' ','s','m','o','o','t','h','s','t','e','p',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','d','g','e','0',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','d','g','e','1',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','e','d','g','e','0',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','e','d','g','e','1',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','e','d','g','e','0',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','e','d','g','e','1',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','e','d','g','e','0',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','e','d','g','e','1',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','d','g','e','0',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','d','g','e','1',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','d','g','e','0',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','d','g','e','1',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','d','g','e','0',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','d','g','e','1',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
13234'(','f','u','n','c','t','i','o','n',' ','l','e','n','g','t','h',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
13235'(','f','u','n','c','t','i','o','n',' ','d','i','s','t','a','n','c','e',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','p','0',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','p','1',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','p','0',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','p','1',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','p','0',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','p','1',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','p','0',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','p','1',')',')',' ','(',')',')',')',
13236'(','f','u','n','c','t','i','o','n',' ','d','o','t',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',')',' ','(',')',')',')',
13237'(','f','u','n','c','t','i','o','n',' ','c','r','o','s','s',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',')',' ','(',')',')',')',
13238'(','f','u','n','c','t','i','o','n',' ','n','o','r','m','a','l','i','z','e',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
13239'(','f','u','n','c','t','i','o','n',' ','f','t','r','a','n','s','f','o','r','m',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',')',' ','(',')',')',')',
13240'(','f','u','n','c','t','i','o','n',' ','f','a','c','e','f','o','r','w','a','r','d',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','N',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','I',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','N','r','e','f',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','N',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','I',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','N','r','e','f',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','N',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','I',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','N','r','e','f',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','N',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','I',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','N','r','e','f',')',')',' ','(',')',')',')',
13241'(','f','u','n','c','t','i','o','n',' ','r','e','f','l','e','c','t',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','I',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','N',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','I',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','N',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','I',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','N',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','I',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','N',')',')',' ','(',')',')',')',
13242'(','f','u','n','c','t','i','o','n',' ','r','e','f','r','a','c','t',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','I',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','N',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','t','a',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','I',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','N',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','t','a',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','I',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','N',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','t','a',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','I',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','N',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','t','a',')',')',' ','(',')',')',')',
13243'(','f','u','n','c','t','i','o','n',' ','m','a','t','r','i','x','C','o','m','p','M','u','l','t',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','2','x','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','2','x','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','2','x','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','2','x','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','2','x','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','2','x','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','3','x','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','3','x','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','3','x','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','3','x','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','3','x','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','3','x','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','4','x','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','4','x','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','4','x','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','4','x','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','4','x','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','4','x','3',' ','y',')',')',' ','(',')',')',')',
13244'(','f','u','n','c','t','i','o','n',' ','o','u','t','e','r','P','r','o','d','u','c','t',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','c',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','r',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','r',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','r',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','2','x','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','r',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','3','x','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','c',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','r',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','2','x','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','r',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','4','x','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','c',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','r',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','3','x','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','r',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','4','x','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','r',')',')',' ','(',')',')',')',
13245'(','f','u','n','c','t','i','o','n',' ','t','r','a','n','s','p','o','s','e',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','2',' ','m',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','3',' ','m',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','4',' ','m',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','2','x','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','3','x','2',' ','m',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','3','x','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','2','x','3',' ','m',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','2','x','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','4','x','2',' ','m',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','4','x','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','2','x','4',' ','m',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','3','x','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','4','x','3',' ','m',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','4','x','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','3','x','4',' ','m',')',')',' ','(',')',')',')',
13246'(','f','u','n','c','t','i','o','n',' ','l','e','s','s','T','h','a','n',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','y',')',')',' ','(',')',')',')',
13247'(','f','u','n','c','t','i','o','n',' ','l','e','s','s','T','h','a','n','E','q','u','a','l',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','y',')',')',' ','(',')',')',')',
13248'(','f','u','n','c','t','i','o','n',' ','g','r','e','a','t','e','r','T','h','a','n',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','y',')',')',' ','(',')',')',')',
13249'(','f','u','n','c','t','i','o','n',' ','g','r','e','a','t','e','r','T','h','a','n','E','q','u','a','l',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','y',')',')',' ','(',')',')',')',
13250'(','f','u','n','c','t','i','o','n',' ','e','q','u','a','l',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','4',' ','y',')',')',' ','(',')',')',')',
13251'(','f','u','n','c','t','i','o','n',' ','n','o','t','E','q','u','a','l',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','4',' ','y',')',')',' ','(',')',')',')',
13252'(','f','u','n','c','t','i','o','n',' ','a','n','y',' ','(','s','i','g','n','a','t','u','r','e',' ','b','o','o','l',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','o','o','l',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','o','o','l',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
13253'(','f','u','n','c','t','i','o','n',' ','a','l','l',' ','(','s','i','g','n','a','t','u','r','e',' ','b','o','o','l',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','o','o','l',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','o','o','l',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
13254'(','f','u','n','c','t','i','o','n',' ','n','o','t',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
13255'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','C','u','b','e','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','A','r','r','a','y','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','A','r','r','a','y','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','C','u','b','e','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','A','r','r','a','y','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',')',
13256'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','P','r','o','j',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',')',
13257'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','A','r','r','a','y','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
13258'(','f','u','n','c','t','i','o','n',' ','t','e','x','e','l','F','e','t','c','h',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',')',
13259'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','P','r','o','j','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
13260'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','G','r','a','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','C','u','b','e','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','A','r','r','a','y','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','A','r','r','a','y','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',')',
13261'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','P','r','o','j','G','r','a','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',')',
13262'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','1','D',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','c','o','o','r','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',')',
13263'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','1','D','P','r','o','j',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','c','o','o','r','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',')',
13264'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','1','D','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
13265'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','1','D','P','r','o','j','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
13266'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','2','D',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','c','o','o','r','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',')',
13267'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','2','D','P','r','o','j',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',')',
13268'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','2','D','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
13269'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','2','D','P','r','o','j','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
13270'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','3','D',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',')',
13271'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','3','D','P','r','o','j',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',')',
13272'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','3','D','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
13273'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','3','D','P','r','o','j','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
13274'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','C','u','b','e',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',')',
13275'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','C','u','b','e','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
13276'(','f','u','n','c','t','i','o','n',' ','s','h','a','d','o','w','1','D',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',')',
13277'(','f','u','n','c','t','i','o','n',' ','s','h','a','d','o','w','2','D',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',')',
13278'(','f','u','n','c','t','i','o','n',' ','s','h','a','d','o','w','1','D','P','r','o','j',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',')',
13279'(','f','u','n','c','t','i','o','n',' ','s','h','a','d','o','w','2','D','P','r','o','j',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',')',
13280'(','f','u','n','c','t','i','o','n',' ','s','h','a','d','o','w','1','D','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
13281'(','f','u','n','c','t','i','o','n',' ','s','h','a','d','o','w','2','D','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
13282'(','f','u','n','c','t','i','o','n',' ','s','h','a','d','o','w','1','D','P','r','o','j','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
13283'(','f','u','n','c','t','i','o','n',' ','s','h','a','d','o','w','2','D','P','r','o','j','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
13284'(','f','u','n','c','t','i','o','n',' ','n','o','i','s','e','1',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
13285'(','f','u','n','c','t','i','o','n',' ','n','o','i','s','e','2',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
13286'(','f','u','n','c','t','i','o','n',' ','n','o','i','s','e','3',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
13287'(','f','u','n','c','t','i','o','n',' ','n','o','i','s','e','4',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',')'} ;
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013288static const char *functions_for_130_vert [] = {
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013289 builtin_abs,
Eric Anholt47003a82010-08-23 12:39:35 -070013290 builtin_acos,
Kenneth Graunke91181c72010-11-15 14:02:13 -080013291 builtin_acosh,
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013292 builtin_all,
Eric Anholt47003a82010-08-23 12:39:35 -070013293 builtin_any,
13294 builtin_asin,
Kenneth Graunke91181c72010-11-15 14:02:13 -080013295 builtin_asinh,
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013296 builtin_atan,
Kenneth Graunke91181c72010-11-15 14:02:13 -080013297 builtin_atanh,
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013298 builtin_ceil,
Eric Anholt47003a82010-08-23 12:39:35 -070013299 builtin_clamp,
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013300 builtin_cos,
Eric Anholt47003a82010-08-23 12:39:35 -070013301 builtin_cosh,
13302 builtin_cross,
13303 builtin_degrees,
13304 builtin_distance,
13305 builtin_dot,
13306 builtin_equal,
13307 builtin_exp,
13308 builtin_exp2,
13309 builtin_faceforward,
13310 builtin_floor,
13311 builtin_fract,
13312 builtin_ftransform,
13313 builtin_greaterThan,
13314 builtin_greaterThanEqual,
13315 builtin_inversesqrt,
13316 builtin_length,
13317 builtin_lessThan,
13318 builtin_lessThanEqual,
13319 builtin_log,
13320 builtin_log2,
13321 builtin_matrixCompMult,
13322 builtin_max,
13323 builtin_min,
13324 builtin_mix,
13325 builtin_mod,
Kenneth Graunkecc043472010-10-19 11:57:15 -070013326 builtin_modf,
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013327 builtin_noise1,
Eric Anholt47003a82010-08-23 12:39:35 -070013328 builtin_noise2,
13329 builtin_noise3,
13330 builtin_noise4,
13331 builtin_normalize,
13332 builtin_not,
13333 builtin_notEqual,
13334 builtin_outerProduct,
13335 builtin_pow,
13336 builtin_radians,
13337 builtin_reflect,
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013338 builtin_refract,
Kenneth Graunke2bc704d2010-10-14 13:41:29 -070013339 builtin_round,
13340 builtin_roundEven,
Eric Anholt47003a82010-08-23 12:39:35 -070013341 builtin_shadow1D,
13342 builtin_shadow1DLod,
13343 builtin_shadow1DProj,
13344 builtin_shadow1DProjLod,
13345 builtin_shadow2D,
13346 builtin_shadow2DLod,
13347 builtin_shadow2DProj,
13348 builtin_shadow2DProjLod,
13349 builtin_sign,
13350 builtin_sin,
13351 builtin_sinh,
13352 builtin_smoothstep,
13353 builtin_sqrt,
13354 builtin_step,
13355 builtin_tan,
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013356 builtin_tanh,
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013357 builtin_texelFetch,
Eric Anholt47003a82010-08-23 12:39:35 -070013358 builtin_texture,
13359 builtin_texture1D,
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013360 builtin_texture1DLod,
Eric Anholt47003a82010-08-23 12:39:35 -070013361 builtin_texture1DProj,
13362 builtin_texture1DProjLod,
13363 builtin_texture2D,
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013364 builtin_texture2DLod,
Eric Anholt47003a82010-08-23 12:39:35 -070013365 builtin_texture2DProj,
13366 builtin_texture2DProjLod,
13367 builtin_texture3D,
13368 builtin_texture3DLod,
13369 builtin_texture3DProj,
13370 builtin_texture3DProjLod,
13371 builtin_textureCube,
13372 builtin_textureCubeLod,
13373 builtin_textureGrad,
13374 builtin_textureLod,
13375 builtin_textureProj,
13376 builtin_textureProjGrad,
13377 builtin_textureProjLod,
13378 builtin_transpose,
Kenneth Graunkef9bd4c62010-10-14 10:51:09 -070013379 builtin_trunc,
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013380};
Kenneth Graunke3f5fde52010-10-21 11:43:39 -070013381static const char prototypes_for_ARB_texture_rectangle_frag[] =
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070013382 "(\n"
13383 "(function texture2DRect\n"
13384 " (signature vec4\n"
13385 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013386 " (declare (in) sampler2DRect sampler)\n"
13387 " (declare (in) vec2 coord))\n"
13388 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070013389 "(function texture2DRectProj\n"
13390 " (signature vec4\n"
13391 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013392 " (declare (in) sampler2DRect sampler)\n"
13393 " (declare (in) vec3 coord))\n"
13394 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070013395 " (signature vec4\n"
13396 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013397 " (declare (in) sampler2DRect sampler)\n"
13398 " (declare (in) vec4 coord))\n"
13399 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070013400 "(function shadow2DRect\n"
13401 " (signature vec4\n"
13402 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013403 " (declare (in) sampler2DRectShadow sampler)\n"
13404 " (declare (in) vec3 coord))\n"
13405 " ()))\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070013406 "(function shadow2DRectProj\n"
13407 " (signature vec4\n"
13408 " (parameters\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013409 " (declare (in) sampler2DRectShadow sampler)\n"
13410 " (declare (in) vec4 coord))\n"
13411 " ())))"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070013412;
13413static const char *functions_for_ARB_texture_rectangle_frag [] = {
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070013414 builtin_shadow2DRect,
Eric Anholt47003a82010-08-23 12:39:35 -070013415 builtin_shadow2DRectProj,
13416 builtin_texture2DRect,
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070013417 builtin_texture2DRectProj,
13418};
Kenneth Graunke3f5fde52010-10-21 11:43:39 -070013419static const char prototypes_for_ARB_texture_rectangle_vert[] =
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070013420 "(\n"
Eric Anholt47003a82010-08-23 12:39:35 -070013421 "(function texture2DRect\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070013422 " (signature vec4\n"
13423 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -070013424 " (declare (in) sampler2DRect sampler)\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013425 " (declare (in) vec2 coord))\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013426 " ()))\n"
Eric Anholt47003a82010-08-23 12:39:35 -070013427 "(function texture2DRectProj\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070013428 " (signature vec4\n"
13429 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -070013430 " (declare (in) sampler2DRect sampler)\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013431 " (declare (in) vec3 coord))\n"
13432 " ())\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070013433 " (signature vec4\n"
13434 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -070013435 " (declare (in) sampler2DRect sampler)\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013436 " (declare (in) vec4 coord))\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013437 " ()))\n"
Eric Anholt47003a82010-08-23 12:39:35 -070013438 "(function shadow2DRect\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070013439 " (signature vec4\n"
13440 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -070013441 " (declare (in) sampler2DRectShadow sampler)\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013442 " (declare (in) vec3 coord))\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013443 " ()))\n"
Eric Anholt47003a82010-08-23 12:39:35 -070013444 "(function shadow2DRectProj\n"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070013445 " (signature vec4\n"
13446 " (parameters\n"
Eric Anholt47003a82010-08-23 12:39:35 -070013447 " (declare (in) sampler2DRectShadow sampler)\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013448 " (declare (in) vec4 coord))\n"
Kenneth Graunkecf37ba32010-08-18 13:20:58 -070013449 " ())))"
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070013450;
Eric Anholt47003a82010-08-23 12:39:35 -070013451static const char *functions_for_ARB_texture_rectangle_vert [] = {
13452 builtin_shadow2DRect,
13453 builtin_shadow2DRectProj,
13454 builtin_texture2DRect,
13455 builtin_texture2DRectProj,
13456};
Kenneth Graunke3f5fde52010-10-21 11:43:39 -070013457static const char prototypes_for_EXT_texture_array_frag[] =
Eric Anholt47003a82010-08-23 12:39:35 -070013458 "(\n"
13459 "(function texture1DArray\n"
13460 " (signature vec4\n"
13461 " (parameters\n"
13462 " (declare (in) sampler1DArray sampler)\n"
13463 " (declare (in) vec2 coord))\n"
13464 " ())\n"
13465 " (signature vec4\n"
13466 " (parameters\n"
13467 " (declare (in) sampler1DArray sampler)\n"
13468 " (declare (in) vec2 coord)\n"
13469 " (declare (in) float bias))\n"
13470 " ()))\n"
13471 "(function texture2DArray\n"
13472 " (signature vec4\n"
13473 " (parameters\n"
13474 " (declare (in) sampler2DArray sampler)\n"
13475 " (declare (in) vec3 coord))\n"
13476 " ())\n"
13477 " (signature vec4\n"
13478 " (parameters\n"
13479 " (declare (in) sampler2DArray sampler)\n"
13480 " (declare (in) vec3 coord)\n"
13481 " (declare (in) float bias))\n"
13482 " ()))\n"
13483 "(function shadow1DArray\n"
13484 " (signature vec4\n"
13485 " (parameters\n"
13486 " (declare (in) sampler1DArrayShadow sampler)\n"
13487 " (declare (in) vec3 coord))\n"
13488 " ())\n"
13489 " (signature vec4\n"
13490 " (parameters\n"
13491 " (declare (in) sampler1DArrayShadow sampler)\n"
13492 " (declare (in) vec3 coord)\n"
13493 " (declare (in) float bias))\n"
13494 " ()))\n"
13495 "(function shadow2DArray\n"
13496 " (signature vec4\n"
13497 " (parameters\n"
13498 " (declare (in) sampler2DArrayShadow sampler)\n"
13499 " (declare (in) vec4 coord))\n"
13500 " ())))"
13501;
13502static const char *functions_for_EXT_texture_array_frag [] = {
13503 builtin_shadow1DArray,
13504 builtin_shadow2DArray,
13505 builtin_texture1DArray,
13506 builtin_texture2DArray,
13507};
Kenneth Graunke3f5fde52010-10-21 11:43:39 -070013508static const char prototypes_for_EXT_texture_array_vert[] =
Eric Anholt47003a82010-08-23 12:39:35 -070013509 "(\n"
13510 "(function texture1DArray\n"
13511 " (signature vec4\n"
13512 " (parameters\n"
13513 " (declare (in) sampler1DArray sampler)\n"
13514 " (declare (in) vec2 coord))\n"
13515 " ()))\n"
13516 "(function texture1DArrayLod\n"
13517 " (signature vec4\n"
13518 " (parameters\n"
13519 " (declare (in) sampler1DArray sampler)\n"
13520 " (declare (in) vec2 coord)\n"
13521 " (declare (in) float lod))\n"
13522 " ()))\n"
13523 "(function texture2DArray\n"
13524 " (signature vec4\n"
13525 " (parameters\n"
13526 " (declare (in) sampler2DArray sampler)\n"
13527 " (declare (in) vec3 coord))\n"
13528 " ()))\n"
13529 "(function texture2DArrayLod\n"
13530 " (signature vec4\n"
13531 " (parameters\n"
13532 " (declare (in) sampler2DArray sampler)\n"
13533 " (declare (in) vec3 coord)\n"
13534 " (declare (in) float lod))\n"
13535 " ()))\n"
13536 "(function shadow1DArray\n"
13537 " (signature vec4\n"
13538 " (parameters\n"
13539 " (declare (in) sampler1DArrayShadow sampler)\n"
13540 " (declare (in) vec3 coord))\n"
13541 " ()))\n"
13542 "(function shadow1DArrayLod\n"
13543 " (signature vec4\n"
13544 " (parameters\n"
13545 " (declare (in) sampler1DArrayShadow sampler)\n"
13546 " (declare (in) vec3 coord)\n"
13547 " (declare (in) float lod))\n"
13548 " ()))\n"
13549 "(function shadow2DArray\n"
13550 " (signature vec4\n"
13551 " (parameters\n"
13552 " (declare (in) sampler2DArrayShadow sampler)\n"
13553 " (declare (in) vec4 coord))\n"
13554 " ())))"
13555;
13556static const char *functions_for_EXT_texture_array_vert [] = {
13557 builtin_shadow1DArray,
13558 builtin_shadow1DArrayLod,
13559 builtin_shadow2DArray,
13560 builtin_texture1DArray,
13561 builtin_texture1DArrayLod,
13562 builtin_texture2DArray,
13563 builtin_texture2DArrayLod,
Kenneth Graunkeb3262122010-04-28 23:01:33 -070013564};
Kenneth Graunke116dc672010-08-16 13:04:09 -070013565static gl_shader *builtin_profiles[12];
Eric Anholtc22c4002010-03-26 18:20:30 -070013566
Ian Romanickd5be2ac2010-07-20 11:29:46 -070013567void *builtin_mem_ctx = NULL;
13568
13569void
13570_mesa_glsl_release_functions(void)
13571{
Eric Anholt8b3d36d2010-08-30 12:20:25 -070013572 talloc_free(builtin_mem_ctx);
13573 builtin_mem_ctx = NULL;
Ian Romanickf69a6642010-09-08 17:13:00 -070013574 memset(builtin_profiles, 0, sizeof(builtin_profiles));
Eric Anholt8b3d36d2010-08-30 12:20:25 -070013575}
13576
13577static void
13578_mesa_read_profile(struct _mesa_glsl_parse_state *state,
13579 exec_list *instructions,
13580 int profile_index,
13581 const char *prototypes,
13582 const char **functions,
13583 int count)
13584{
13585 gl_shader *sh = builtin_profiles[profile_index];
13586
13587 if (sh == NULL) {
13588 sh = read_builtins(GL_VERTEX_SHADER, prototypes, functions, count);
13589 talloc_steal(builtin_mem_ctx, sh);
13590 builtin_profiles[profile_index] = sh;
13591 }
13592
13593 import_prototypes(sh->ir, instructions, state->symbols, state);
13594 state->builtins_to_link[state->num_builtins_to_link] = sh;
13595 state->num_builtins_to_link++;
Ian Romanickd5be2ac2010-07-20 11:29:46 -070013596}
13597
Eric Anholtc22c4002010-03-26 18:20:30 -070013598void
13599_mesa_glsl_initialize_functions(exec_list *instructions,
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070013600 struct _mesa_glsl_parse_state *state)
Eric Anholtc22c4002010-03-26 18:20:30 -070013601{
Eric Anholt8b3d36d2010-08-30 12:20:25 -070013602 if (builtin_mem_ctx == NULL) {
Ian Romanickd5be2ac2010-07-20 11:29:46 -070013603 builtin_mem_ctx = talloc_init("GLSL built-in functions");
Eric Anholt8b3d36d2010-08-30 12:20:25 -070013604 memset(&builtin_profiles, 0, sizeof(builtin_profiles));
13605 }
Kenneth Graunkeb3262122010-04-28 23:01:33 -070013606
Ian Romanickd5be2ac2010-07-20 11:29:46 -070013607 state->num_builtins_to_link = 0;
Kenneth Graunke4b0029a2010-06-08 16:29:17 -070013608
Kenneth Graunke116dc672010-08-16 13:04:09 -070013609 if (state->target == fragment_shader && state->language_version == 100) {
Eric Anholt8b3d36d2010-08-30 12:20:25 -070013610 _mesa_read_profile(state, instructions, 0,
Kenneth Graunke116dc672010-08-16 13:04:09 -070013611 prototypes_for_100_frag,
13612 functions_for_100_frag,
13613 Elements(functions_for_100_frag));
13614 }
13615
13616 if (state->target == vertex_shader && state->language_version == 100) {
13617 _mesa_read_profile(state, instructions, 1,
13618 prototypes_for_100_vert,
13619 functions_for_100_vert,
13620 Elements(functions_for_100_vert));
13621 }
13622
13623 if (state->target == fragment_shader && state->language_version == 110) {
13624 _mesa_read_profile(state, instructions, 2,
Eric Anholt8b3d36d2010-08-30 12:20:25 -070013625 prototypes_for_110_frag,
13626 functions_for_110_frag,
13627 Elements(functions_for_110_frag));
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070013628 }
13629
13630 if (state->target == vertex_shader && state->language_version == 110) {
Kenneth Graunke116dc672010-08-16 13:04:09 -070013631 _mesa_read_profile(state, instructions, 3,
Eric Anholt8b3d36d2010-08-30 12:20:25 -070013632 prototypes_for_110_vert,
13633 functions_for_110_vert,
13634 Elements(functions_for_110_vert));
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070013635 }
13636
Eric Anholt47003a82010-08-23 12:39:35 -070013637 if (state->target == fragment_shader && state->language_version == 120) {
Kenneth Graunke116dc672010-08-16 13:04:09 -070013638 _mesa_read_profile(state, instructions, 4,
Eric Anholt8b3d36d2010-08-30 12:20:25 -070013639 prototypes_for_120_frag,
13640 functions_for_120_frag,
13641 Elements(functions_for_120_frag));
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070013642 }
13643
Eric Anholt47003a82010-08-23 12:39:35 -070013644 if (state->target == vertex_shader && state->language_version == 120) {
Kenneth Graunke116dc672010-08-16 13:04:09 -070013645 _mesa_read_profile(state, instructions, 5,
Eric Anholt8b3d36d2010-08-30 12:20:25 -070013646 prototypes_for_120_vert,
13647 functions_for_120_vert,
13648 Elements(functions_for_120_vert));
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070013649 }
13650
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013651 if (state->target == fragment_shader && state->language_version == 130) {
Kenneth Graunke116dc672010-08-16 13:04:09 -070013652 _mesa_read_profile(state, instructions, 6,
Eric Anholt8b3d36d2010-08-30 12:20:25 -070013653 prototypes_for_130_frag,
13654 functions_for_130_frag,
13655 Elements(functions_for_130_frag));
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013656 }
13657
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013658 if (state->target == vertex_shader && state->language_version == 130) {
Kenneth Graunke116dc672010-08-16 13:04:09 -070013659 _mesa_read_profile(state, instructions, 7,
Eric Anholt8b3d36d2010-08-30 12:20:25 -070013660 prototypes_for_130_vert,
13661 functions_for_130_vert,
13662 Elements(functions_for_130_vert));
Kenneth Graunkea433cd22010-08-16 15:18:23 -070013663 }
13664
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070013665 if (state->target == fragment_shader && state->ARB_texture_rectangle_enable) {
Kenneth Graunke116dc672010-08-16 13:04:09 -070013666 _mesa_read_profile(state, instructions, 8,
Eric Anholt8b3d36d2010-08-30 12:20:25 -070013667 prototypes_for_ARB_texture_rectangle_frag,
13668 functions_for_ARB_texture_rectangle_frag,
13669 Elements(functions_for_ARB_texture_rectangle_frag));
Kenneth Graunke43ff8f12010-08-11 16:53:52 -070013670 }
13671
Eric Anholt47003a82010-08-23 12:39:35 -070013672 if (state->target == vertex_shader && state->ARB_texture_rectangle_enable) {
Kenneth Graunke116dc672010-08-16 13:04:09 -070013673 _mesa_read_profile(state, instructions, 9,
Eric Anholt8b3d36d2010-08-30 12:20:25 -070013674 prototypes_for_ARB_texture_rectangle_vert,
13675 functions_for_ARB_texture_rectangle_vert,
13676 Elements(functions_for_ARB_texture_rectangle_vert));
Eric Anholt47003a82010-08-23 12:39:35 -070013677 }
13678
13679 if (state->target == fragment_shader && state->EXT_texture_array_enable) {
Kenneth Graunke116dc672010-08-16 13:04:09 -070013680 _mesa_read_profile(state, instructions, 10,
Eric Anholt8b3d36d2010-08-30 12:20:25 -070013681 prototypes_for_EXT_texture_array_frag,
13682 functions_for_EXT_texture_array_frag,
13683 Elements(functions_for_EXT_texture_array_frag));
Eric Anholt47003a82010-08-23 12:39:35 -070013684 }
13685
13686 if (state->target == vertex_shader && state->EXT_texture_array_enable) {
Kenneth Graunke116dc672010-08-16 13:04:09 -070013687 _mesa_read_profile(state, instructions, 11,
Eric Anholt8b3d36d2010-08-30 12:20:25 -070013688 prototypes_for_EXT_texture_array_vert,
13689 functions_for_EXT_texture_array_vert,
13690 Elements(functions_for_EXT_texture_array_vert));
Ian Romanickd5be2ac2010-07-20 11:29:46 -070013691 }
Kenneth Graunke4b0029a2010-06-08 16:29:17 -070013692
Eric Anholtc22c4002010-03-26 18:20:30 -070013693}