summaryrefslogtreecommitdiffstats
path: root/src/glsl/builtins/ir/atanh
diff options
context:
space:
mode:
authorKenneth Graunke <[email protected]>2010-11-15 13:58:51 -0800
committerKenneth Graunke <[email protected]>2010-11-15 14:02:52 -0800
commitdb9b8c062fe8ebb7321a24207f2887a28b31a55d (patch)
treeb566a681a410b8e80da5fac136c66d7cd86cf03f /src/glsl/builtins/ir/atanh
parent096d36872ff531b0295109165cb90ea63be7a1b1 (diff)
glsl: Implement the asinh, acosh, and atanh built-in functions.
Diffstat (limited to 'src/glsl/builtins/ir/atanh')
-rw-r--r--src/glsl/builtins/ir/atanh37
1 files changed, 37 insertions, 0 deletions
diff --git a/src/glsl/builtins/ir/atanh b/src/glsl/builtins/ir/atanh
new file mode 100644
index 00000000000..5559e974066
--- /dev/null
+++ b/src/glsl/builtins/ir/atanh
@@ -0,0 +1,37 @@
+((function atanh
+ (signature float
+ (parameters
+ (declare (in) float x))
+ ((return (expression float * (constant float (0.5))
+ (expression float log
+ (expression float /
+ (expression float + (constant float (1)) (var_ref x))
+ (expression float - (constant float (1)) (var_ref x))))))))
+
+ (signature vec2
+ (parameters
+ (declare (in) vec2 x))
+ ((return (expression vec2 * (constant vec2 (0.5))
+ (expression vec2 log
+ (expression vec2 /
+ (expression vec2 + (constant vec2 (1)) (var_ref x))
+ (expression vec2 - (constant vec2 (1)) (var_ref x))))))))
+
+ (signature vec3
+ (parameters
+ (declare (in) vec3 x))
+ ((return (expression vec3 * (constant vec3 (0.5))
+ (expression vec3 log
+ (expression vec3 /
+ (expression vec3 + (constant vec3 (1)) (var_ref x))
+ (expression vec3 - (constant vec3 (1)) (var_ref x))))))))
+
+ (signature vec4
+ (parameters
+ (declare (in) vec4 x))
+ ((return (expression vec4 * (constant vec4 (0.5))
+ (expression vec4 log
+ (expression vec4 /
+ (expression vec4 + (constant vec4 (1)) (var_ref x))
+ (expression vec4 - (constant vec4 (1)) (var_ref x))))))))
+))