获取Rust的商和余数(DIVMOD)的函数是什么?

26

8
我认为像LLVM这样的现代编译器能够猜测您正在执行相同的除法和模运算,并将两个操作优化为单个操作,例如在此playground中。 - rodrigo
2
我也希望这样,不是为了性能优化,而是因为在代码中看到一个语义操作被表达两次,以两种相似但微妙不同的方式,会让我的大脑感到困惑。例如,在Bevy的Timer::tick()方法中的checked_div()和checked_rem()调用似乎应该是一个单独的表达式,它求值为(div, rem)对。 - Jeff Schwab
1个回答

10

正如 Rodrigo 已经评论过的那样,编译器能够将其优化掉。为了完整起见,如果您需要用于通用整数类型,则有一个 num_integer::div_rem 方法,但是我建议您在不需要通用性时不要使用此库。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接