feat(builtins): Num.asin : Float -> Float

This commit is contained in:
lrosa007 2020-11-01 09:54:00 -05:00
parent 4da2d7f101
commit bd696e1f6f
9 changed files with 45 additions and 3 deletions

View file

@ -99,6 +99,7 @@ pub fn builtin_defs(var_store: &mut VarStore) -> MutMap<Symbol, Def> {
Symbol::NUM_FLOOR => num_floor,
Symbol::NUM_ATAN => num_atan,
Symbol::NUM_ACOS => num_acos,
Symbol::NUM_ASIN => num_asin,
}
}
@ -782,7 +783,7 @@ fn num_atan(symbol: Symbol, var_store: &mut VarStore) -> Def {
)
}
// Num.acos : Float -> Float
/// Num.acos : Float -> Float
fn num_acos(symbol: Symbol, var_store: &mut VarStore) -> Def {
let arg_float_var = var_store.fresh();
let ret_float_var = var_store.fresh();
@ -802,6 +803,26 @@ fn num_acos(symbol: Symbol, var_store: &mut VarStore) -> Def {
)
}
/// Num.asin : Float -> Float
fn num_asin(symbol: Symbol, var_store: &mut VarStore) -> Def {
let arg_float_var = var_store.fresh();
let ret_float_var = var_store.fresh();
let body = RunLowLevel {
op: LowLevel::NumAsin,
args: vec![(arg_float_var, Var(Symbol::ARG_1))],
ret_var: ret_float_var,
};
defn(
symbol,
vec![(arg_float_var, Symbol::ARG_1)],
var_store,
body,
ret_float_var,
)
}
/// List.isEmpty : List * -> Bool
fn list_is_empty(symbol: Symbol, var_store: &mut VarStore) -> Def {
let list_var = var_store.fresh();