Implement "sin" and "cos" builtins via new expression operators.
This commit is contained in:

committed by
Ian Romanick

parent
6a9b1e1f06
commit
57e7da173e
21
builtins/110/cos
Normal file
21
builtins/110/cos
Normal file
@@ -0,0 +1,21 @@
|
||||
((function cos
|
||||
(signature float
|
||||
(parameters
|
||||
(declare (in) float angle))
|
||||
((return (expression float cos (var_ref angle)))))
|
||||
|
||||
(signature vec2
|
||||
(parameters
|
||||
(declare (in) vec2 angle))
|
||||
((return (expression vec2 cos (var_ref angle)))))
|
||||
|
||||
(signature vec3
|
||||
(parameters
|
||||
(declare (in) vec3 angle))
|
||||
((return (expression vec3 cos (var_ref angle)))))
|
||||
|
||||
(signature vec4
|
||||
(parameters
|
||||
(declare (in) vec4 angle))
|
||||
((return (expression vec4 cos (var_ref angle)))))
|
||||
))
|
21
builtins/110/sin
Normal file
21
builtins/110/sin
Normal file
@@ -0,0 +1,21 @@
|
||||
((function sin
|
||||
(signature float
|
||||
(parameters
|
||||
(declare (in) float angle))
|
||||
((return (expression float sin (var_ref angle)))))
|
||||
|
||||
(signature vec2
|
||||
(parameters
|
||||
(declare (in) vec2 angle))
|
||||
((return (expression vec2 sin (var_ref angle)))))
|
||||
|
||||
(signature vec3
|
||||
(parameters
|
||||
(declare (in) vec3 angle))
|
||||
((return (expression vec3 sin (var_ref angle)))))
|
||||
|
||||
(signature vec4
|
||||
(parameters
|
||||
(declare (in) vec4 angle))
|
||||
((return (expression vec4 sin (var_ref angle)))))
|
||||
))
|
5
ir.cpp
5
ir.cpp
@@ -73,6 +73,9 @@ ir_expression::get_num_operands(ir_expression_operation op)
|
||||
1, /* ir_unop_ceil */
|
||||
1, /* ir_unop_floor */
|
||||
|
||||
1, /* ir_unop_sin */
|
||||
1, /* ir_unop_cos */
|
||||
|
||||
2, /* ir_binop_add */
|
||||
2, /* ir_binop_sub */
|
||||
2, /* ir_binop_mul */
|
||||
@@ -131,6 +134,8 @@ static const char *const operator_strs[] = {
|
||||
"trunc",
|
||||
"ceil",
|
||||
"floor",
|
||||
"sin",
|
||||
"cos",
|
||||
"+",
|
||||
"-",
|
||||
"*",
|
||||
|
Reference in New Issue
Block a user