Rust: 整数の除算/剰余の丸め動作を文書化する必要があります

作成日 2015年07月07日  ·  3コメント  ·  ソース: rust-lang/rust

Googleを使用すると、Rustで整数除法がどのように機能するかについて多くの古い議論を見つけることができますが、リファレンス、整数型のAPIドキュメント、またはDiv特性のAPIドキュメントには何も見つかりません。実際に決定されたもの。 (そして、ドキュメントは、 /checked_div 、およびwrapping_divがすべて同じことをするわけではないことを示唆しているようです。)これは、整数型のドキュメントによってさらに混乱しているようです。 /は整数除算を指し、場合によっては数学除算を指します。 ( wrapping_divドキュメントでfloor(self / other)他の合理的な解釈を思い付くことができません。)これは言語によって異なり、1つであるため、これがどこかに明確に文書化されていると便利です。整数演算との主な混乱の。

全てのコメント3件

http://doc.rust-lang.org/reference.html#behavior -not-considered-unsafeは、「オーバーフロー」について説明し、ラッピングについて言及していますが、これをより適切に表面化できることは間違いありません。

@steveklabnik

これは丸めではなく、丸めに関するものです。 LLVMのsdivを使用します。これはゼロに向かって丸められます(そしてsremは配当と同じ符号を持ちます)。 これを文書化する必要があります( wrapping_divの文書化は、現在_lies_であり、負の無限大に向かって丸められると主張しています)。

整数/整数が常に必要であるとは限らず、偶然に発生するため、これも警告を残す必要があります。 誰かがこれを読んでいるのなら、ただ考えてみてください。

このページは役に立ちましたか?
0 / 5 - 0 評価