• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1((function outerProduct
2   (signature mat2
3     (parameters
4       (declare (in) vec2 u)
5       (declare (in) vec2 v))
6     ((declare () mat2 m)
7      (assign (constant bool (1)) (xy) (array_ref (var_ref m) (constant int (0))) (expression vec2 * (var_ref u) (swiz x (var_ref v))))
8      (assign (constant bool (1)) (xy) (array_ref (var_ref m) (constant int (1))) (expression vec2 * (var_ref u) (swiz y (var_ref v))))
9      (return (var_ref m))))
10
11   (signature mat2x3
12     (parameters
13       (declare (in) vec3 u)
14       (declare (in) vec2 v))
15     ((declare () mat2x3 m)
16      (assign (constant bool (1)) (xyz) (array_ref (var_ref m) (constant int (0))) (expression vec3 * (var_ref u) (swiz x (var_ref v))))
17      (assign (constant bool (1)) (xyz) (array_ref (var_ref m) (constant int (1))) (expression vec3 * (var_ref u) (swiz y (var_ref v))))
18      (return (var_ref m))))
19
20   (signature mat2x4
21     (parameters
22       (declare (in) vec4 u)
23       (declare (in) vec2 v))
24     ((declare () mat2x4 m)
25      (assign (constant bool (1)) (xyzw) (array_ref (var_ref m) (constant int (0))) (expression vec4 * (var_ref u) (swiz x (var_ref v))))
26      (assign (constant bool (1)) (xyzw) (array_ref (var_ref m) (constant int (1))) (expression vec4 * (var_ref u) (swiz y (var_ref v))))
27      (return (var_ref m))))
28
29   (signature mat3x2
30     (parameters
31       (declare (in) vec2 u)
32       (declare (in) vec3 v))
33     ((declare () mat3x2 m)
34      (assign (constant bool (1)) (xy) (array_ref (var_ref m) (constant int (0))) (expression vec2 * (var_ref u) (swiz x (var_ref v))))
35      (assign (constant bool (1)) (xy) (array_ref (var_ref m) (constant int (1))) (expression vec2 * (var_ref u) (swiz y (var_ref v))))
36      (assign (constant bool (1)) (xy) (array_ref (var_ref m) (constant int (2))) (expression vec2 * (var_ref u) (swiz z (var_ref v))))
37      (return (var_ref m))
38 ))
39
40   (signature mat3
41     (parameters
42       (declare (in) vec3 u)
43       (declare (in) vec3 v))
44     ((declare () mat3 m)
45      (assign (constant bool (1)) (xyz) (array_ref (var_ref m) (constant int (0))) (expression vec3 * (var_ref u) (swiz x (var_ref v))))
46      (assign (constant bool (1)) (xyz) (array_ref (var_ref m) (constant int (1))) (expression vec3 * (var_ref u) (swiz y (var_ref v))))
47      (assign (constant bool (1)) (xyz) (array_ref (var_ref m) (constant int (2))) (expression vec3 * (var_ref u) (swiz z (var_ref v))))
48      (return (var_ref m))))
49
50   (signature mat3x4
51     (parameters
52       (declare (in) vec4 u)
53       (declare (in) vec3 v))
54     ((declare () mat3x4 m)
55      (assign (constant bool (1)) (xyzw) (array_ref (var_ref m) (constant int (0))) (expression vec4 * (var_ref u) (swiz x (var_ref v))))
56      (assign (constant bool (1)) (xyzw) (array_ref (var_ref m) (constant int (1))) (expression vec4 * (var_ref u) (swiz y (var_ref v))))
57      (assign (constant bool (1)) (xyzw) (array_ref (var_ref m) (constant int (2))) (expression vec4 * (var_ref u) (swiz z (var_ref v))))
58      (return (var_ref m))))
59
60   (signature mat4x2
61     (parameters
62       (declare (in) vec2 u)
63       (declare (in) vec4 v))
64     ((declare () mat4x2 m)
65      (assign (constant bool (1)) (xy) (array_ref (var_ref m) (constant int (0))) (expression vec2 * (var_ref u) (swiz x (var_ref v))))
66      (assign (constant bool (1)) (xy) (array_ref (var_ref m) (constant int (1))) (expression vec2 * (var_ref u) (swiz y (var_ref v))))
67      (assign (constant bool (1)) (xy) (array_ref (var_ref m) (constant int (2))) (expression vec2 * (var_ref u) (swiz z (var_ref v))))
68      (assign (constant bool (1)) (xy) (array_ref (var_ref m) (constant int (3))) (expression vec2 * (var_ref u) (swiz w (var_ref v))))
69      (return (var_ref m))))
70
71   (signature mat4x3
72     (parameters
73       (declare (in) vec3 u)
74       (declare (in) vec4 v))
75     ((declare () mat4x3 m)
76      (assign (constant bool (1)) (xyz) (array_ref (var_ref m) (constant int (0))) (expression vec3 * (var_ref u) (swiz x (var_ref v))))
77      (assign (constant bool (1)) (xyz) (array_ref (var_ref m) (constant int (1))) (expression vec3 * (var_ref u) (swiz y (var_ref v))))
78      (assign (constant bool (1)) (xyz) (array_ref (var_ref m) (constant int (2))) (expression vec3 * (var_ref u) (swiz z (var_ref v))))
79      (assign (constant bool (1)) (xyz) (array_ref (var_ref m) (constant int (3))) (expression vec3 * (var_ref u) (swiz w (var_ref v))))
80      (return (var_ref m))))
81
82   (signature mat4
83     (parameters
84       (declare (in) vec4 u)
85       (declare (in) vec4 v))
86     ((declare () mat4 m)
87      (assign (constant bool (1)) (xyzw) (array_ref (var_ref m) (constant int (0))) (expression vec4 * (var_ref u) (swiz x (var_ref v))))
88      (assign (constant bool (1)) (xyzw) (array_ref (var_ref m) (constant int (1))) (expression vec4 * (var_ref u) (swiz y (var_ref v))))
89      (assign (constant bool (1)) (xyzw) (array_ref (var_ref m) (constant int (2))) (expression vec4 * (var_ref u) (swiz z (var_ref v))))
90      (assign (constant bool (1)) (xyzw) (array_ref (var_ref m) (constant int (3))) (expression vec4 * (var_ref u) (swiz w (var_ref v))))
91      (return (var_ref m))))
92))
93