modf.ir revision b6f32bbe12e1082e78951b6ef073bf244ba0b8b7
1((function modf
2   (signature float
3     (parameters
4       (declare (in)  float x)
5       (declare (out) float i))
6     ((declare () float t)
7      (assign (x) (var_ref t) (expression float trunc (var_ref x)))
8      (assign (x) (var_ref i) (var_ref t))
9      (return (expression float - (var_ref x) (var_ref t)))))
10
11   (signature vec2
12     (parameters
13       (declare (in)  vec2 x)
14       (declare (out) vec2 i))
15     ((declare () vec2 t)
16      (assign (xy) (var_ref t) (expression vec2 trunc (var_ref x)))
17      (assign (xy) (var_ref i) (var_ref t))
18      (return (expression vec2 - (var_ref x) (var_ref t)))))
19
20   (signature vec3
21     (parameters
22       (declare (in)  vec3 x)
23       (declare (out) vec3 i))
24     ((declare () vec3 t)
25      (assign (xyz) (var_ref t) (expression vec3 trunc (var_ref x)))
26      (assign (xyz) (var_ref i) (var_ref t))
27      (return (expression vec3 - (var_ref x) (var_ref t)))))
28
29   (signature vec4
30     (parameters
31       (declare (in)  vec4 x)
32       (declare (out) vec4 i))
33     ((declare () vec4 t)
34      (assign (xyzw) (var_ref t) (expression vec4 trunc (var_ref x)))
35      (assign (xyzw) (var_ref i) (var_ref t))
36      (return (expression vec4 - (var_ref x) (var_ref t)))))
37))
38