Fix signed remainder assumption
This commit is contained in:
@@ -6,9 +6,7 @@ pub fn bin_symbol_of(op: BinOpType) -> Option<&'static str> {
|
||||
BinOpType::Sub_I64 | BinOpType::Sub_FN => "-",
|
||||
BinOpType::Mul_I64 | BinOpType::Mul_FN => "*",
|
||||
BinOpType::DivS_I64 | BinOpType::Div_FN => "/",
|
||||
BinOpType::RemS_I32 | BinOpType::RemU_I32 | BinOpType::RemS_I64 | BinOpType::RemU_I64 => {
|
||||
"%"
|
||||
}
|
||||
BinOpType::RemS_I64 => "%",
|
||||
_ => return None,
|
||||
};
|
||||
|
||||
|
||||
@@ -238,7 +238,9 @@ fn write_local_operation(head: &str, tail: &str, w: &mut dyn Write) -> Result<()
|
||||
("abs" | "ceil" | "floor" | "sqrt" | "min" | "max", _) => {
|
||||
write!(w, "local {head}_{tail} = math.{head} ")
|
||||
}
|
||||
|
||||
("rem", "i32") => {
|
||||
write!(w, "local {head}_{tail} = math.fmod ")
|
||||
}
|
||||
_ => write!(w, "local {head}_{tail} = rt.{head}.{tail} "),
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user