mirror of
https://github.com/aljazceru/turso.git
synced 2026-02-08 17:54:22 +01:00
Take log function argument count from function context
This commit is contained in:
@@ -2520,15 +2520,21 @@ impl Program {
|
||||
|
||||
MathFuncArity::UnaryOrBinary => match math_func {
|
||||
MathFunc::Log => {
|
||||
let lhs = &state.registers[*start_reg];
|
||||
let rhs = state.registers.get(*start_reg + 1);
|
||||
|
||||
let result = if let Some(arg) = rhs {
|
||||
exec_math_log(arg, Some(lhs))
|
||||
} else {
|
||||
exec_math_log(lhs, None)
|
||||
let result = match arg_count {
|
||||
1 => {
|
||||
let arg = &state.registers[*start_reg];
|
||||
exec_math_log(arg, None)
|
||||
}
|
||||
2 => {
|
||||
let base = &state.registers[*start_reg];
|
||||
let arg = &state.registers[*start_reg + 1];
|
||||
exec_math_log(arg, Some(base))
|
||||
}
|
||||
_ => unreachable!(
|
||||
"{:?} function with unexpected number of arguments",
|
||||
math_func
|
||||
),
|
||||
};
|
||||
|
||||
state.registers[*dest] = result;
|
||||
}
|
||||
_ => unreachable!(
|
||||
|
||||
Reference in New Issue
Block a user