62 lines
4.2 KiB
Plaintext
62 lines
4.2 KiB
Plaintext
((function matrixCompMult
|
|
(signature mat2x3
|
|
(parameters
|
|
(declare (in) mat2x3 x)
|
|
(declare (in) mat2x3 y))
|
|
((declare () mat2x3 z)
|
|
(assign (constant bool (1)) (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)))))
|
|
(assign (constant bool (1)) (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)))))
|
|
(return (var_ref z))))
|
|
|
|
(signature mat3x2
|
|
(parameters
|
|
(declare (in) mat3x2 x)
|
|
(declare (in) mat3x2 y))
|
|
((declare () mat3x2 z)
|
|
(assign (constant bool (1)) (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)))))
|
|
(assign (constant bool (1)) (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)))))
|
|
(assign (constant bool (1)) (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)))))
|
|
(return (var_ref z))))
|
|
|
|
(signature mat2x4
|
|
(parameters
|
|
(declare (in) mat2x4 x)
|
|
(declare (in) mat2x4 y))
|
|
((declare () mat2x4 z)
|
|
(assign (constant bool (1)) (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)))))
|
|
(assign (constant bool (1)) (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)))))
|
|
(return (var_ref z))))
|
|
|
|
(signature mat4x2
|
|
(parameters
|
|
(declare (in) mat4x2 x)
|
|
(declare (in) mat4x2 y))
|
|
((declare () mat4x2 z)
|
|
(assign (constant bool (1)) (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)))))
|
|
(assign (constant bool (1)) (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)))))
|
|
(assign (constant bool (1)) (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)))))
|
|
(assign (constant bool (1)) (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)))))
|
|
(return (var_ref z))))
|
|
|
|
(signature mat3x4
|
|
(parameters
|
|
(declare (in) mat3x4 x)
|
|
(declare (in) mat3x4 y))
|
|
((declare () mat3x4 z)
|
|
(assign (constant bool (1)) (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)))))
|
|
(assign (constant bool (1)) (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)))))
|
|
(assign (constant bool (1)) (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)))))
|
|
(return (var_ref z))))
|
|
|
|
(signature mat4x3
|
|
(parameters
|
|
(declare (in) mat4x3 x)
|
|
(declare (in) mat4x3 y))
|
|
((declare () mat4x3 z)
|
|
(assign (constant bool (1)) (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)))))
|
|
(assign (constant bool (1)) (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)))))
|
|
(assign (constant bool (1)) (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)))))
|
|
(assign (constant bool (1)) (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)))))
|
|
(return (var_ref z))))
|
|
))
|