mirror of
https://github.com/roc-lang/roc.git
synced 2025-09-30 07:14:46 +00:00
Added trigonometric functions to code gen and builtins
This commit is contained in:
parent
c83a6dc7b8
commit
5c1c9efb89
6 changed files with 102 additions and 0 deletions
|
@ -40,9 +40,37 @@ pub fn builtin_defs(var_store: &VarStore) -> Vec<Def> {
|
|||
float_is_positive(var_store),
|
||||
float_is_negative(var_store),
|
||||
float_is_zero(var_store),
|
||||
float_tan(var_store),
|
||||
]
|
||||
}
|
||||
|
||||
/// Float.tan : Float -> Float
|
||||
fn float_tan(var_store: &VarStore) -> Def {
|
||||
use crate::expr::Expr::*;
|
||||
|
||||
defn(
|
||||
Symbol::FLOAT_TAN,
|
||||
vec![Symbol::FLOAT_TAN_ARG],
|
||||
var_store,
|
||||
call(
|
||||
Symbol::FLOAT_DIV,
|
||||
vec![
|
||||
call(
|
||||
Symbol::FLOAT_SIN,
|
||||
vec![Var(Symbol::FLOAT_TAN_ARG)],
|
||||
var_store,
|
||||
),
|
||||
call(
|
||||
Symbol::FLOAT_COS,
|
||||
vec![Var(Symbol::FLOAT_TAN_ARG)],
|
||||
var_store,
|
||||
),
|
||||
],
|
||||
var_store,
|
||||
),
|
||||
)
|
||||
}
|
||||
|
||||
/// Float.isZero : Float -> Bool
|
||||
fn float_is_zero(var_store: &VarStore) -> Def {
|
||||
use crate::expr::Expr::*;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue