Implement "sin" and "cos" builtins via new expression operators.
This commit is contained in:
parent
6a9b1e1f06
commit
57e7da173e
|
@ -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)))))
|
||||
))
|
|
@ -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",
|
||||
"+",
|
||||
"-",
|
||||
"*",
|
||||
|
|
Loading…
Reference in New Issue