1((function sign
2   (signature float
3     (parameters
4       (declare (in) float x))
5     ((return (expression float sign (var_ref x)))))
6
7   (signature vec2
8     (parameters
9       (declare (in) vec2 x))
10     ((return (expression vec2 sign (var_ref x)))))
11
12   (signature vec3
13     (parameters
14       (declare (in) vec3 x))
15     ((return (expression vec3 sign (var_ref x)))))
16
17   (signature vec4
18     (parameters
19       (declare (in) vec4 x))
20     ((return (expression vec4 sign (var_ref x)))))
21
22   (signature int
23     (parameters
24       (declare (in) int x))
25     ((return (expression int sign (var_ref x)))))
26
27   (signature ivec2
28     (parameters
29       (declare (in) ivec2 x))
30     ((return (expression ivec2 sign (var_ref x)))))
31
32   (signature ivec3
33     (parameters
34       (declare (in) ivec3 x))
35     ((return (expression ivec3 sign (var_ref x)))))
36
37   (signature ivec4
38     (parameters
39       (declare (in) ivec4 x))
40     ((return (expression ivec4 sign (var_ref x)))))
41))
42
43