Files
mesa/builtins/110/atan
T
2010-06-01 15:15:04 -07:00

155 lines
3.8 KiB
Plaintext

((function atan
(signature float
(parameters
(declare (in) float x))
((return (call asin ((expression float *
(var_ref x)
(expression float rsq
(expression float +
(expression float *
(var_ref x)
(var_ref x))
(constant float (1.0))))))))))
(signature vec2
(parameters
(declare (in) vec2 y_over_x))
((return (call asin ((expression vec2 *
(var_ref y_over_x)
(expression vec2 rsq
(expression vec2 +
(expression vec2 *
(var_ref y_over_x)
(var_ref y_over_x))
(constant float (1.0))))))))))
(signature vec3
(parameters
(declare (in) vec3 y_over_x))
((return (call asin ((expression vec3 *
(var_ref y_over_x)
(expression vec3 rsq
(expression vec3 +
(expression vec3 *
(var_ref y_over_x)
(var_ref y_over_x))
(constant float (1.0))))))))))
(signature vec4
(parameters
(declare (in) vec4 y_over_x))
((return (call asin ((expression vec4 *
(var_ref y_over_x)
(expression vec4 rsq
(expression vec4 +
(expression vec4 *
(var_ref y_over_x)
(var_ref y_over_x))
(constant float (1.0))))))))))
(signature float
(parameters
(declare (in) float y)
(declare (in) float x))
((declare () float r)
(if (expression bool >
(expression float abs (var_ref x))
(constant float (.0001)))
((assign (constant bool (1))
(var_ref r) (call atan ((expression float /
(var_ref y)
(var_ref x)))))
(if (expression bool <
(var_ref x)
(constant float (0.0)))
((assign (constant bool (1))
(var_ref r)
(expression float +
(var_ref r)
(expression float *
(expression int sign (var_ref y))
(constant float (3.1415926))))))
()))
())
(return (var_ref r))))
(signature vec2
(parameters
(declare (in) vec2 y)
(declare (in) vec2 x))
((declare () vec2 r)
(if (expression bool >
(expression vec2 abs (var_ref x))
(constant float (.0001)))
((assign (constant bool (1))
(var_ref r) (call atan ((expression vec2 /
(var_ref y)
(var_ref x)))))
(if (expression bool <
(var_ref x)
(constant float (0.0)))
((assign (constant bool (1))
(var_ref r)
(expression vec2 +
(var_ref r)
(expression vec2 *
(expression int sign (var_ref y))
(constant float (3.1415926))))))
()))
())
(return (var_ref r))))
(signature vec3
(parameters
(declare (in) vec3 y)
(declare (in) vec3 x))
((declare () vec3 r)
(if (expression bool >
(expression vec3 abs (var_ref x))
(constant float (.0001)))
((assign (constant bool (1))
(var_ref r) (call atan ((expression vec3 /
(var_ref y)
(var_ref x)))))
(if (expression bool <
(var_ref x)
(constant float (0.0)))
((assign (constant bool (1))
(var_ref r)
(expression vec3 +
(var_ref r)
(expression vec3 *
(expression int sign (var_ref y))
(constant float (3.1415926))))))
()))
())
(return (var_ref r))))
(signature vec4
(parameters
(declare (in) vec4 y)
(declare (in) vec4 x))
((declare () vec4 r)
(if (expression bool >
(expression vec4 abs (var_ref x))
(constant float (.0001)))
((assign (constant bool (1))
(var_ref r) (call atan ((expression vec4 /
(var_ref y)
(var_ref x)))))
(if (expression bool <
(var_ref x)
(constant float (0.0)))
((assign (constant bool (1))
(var_ref r)
(expression vec4 +
(var_ref r)
(expression vec4 *
(expression int sign (var_ref y))
(constant float (3.1415926))))))
()))
())
(return (var_ref r))))
))