Feature #5514
closedNumeric への quotient と quotrem の追加
Description
Ruby では余りを求めるために modulo (%) と remainder が提供されています
が、modulo には対応する div があり、またその組み合わせである divmod も
存在しますが remainder にはありません。そこで対応する quotient と
quotrem を追加することを提案します。
Updated by matz (Yukihiro Matsumoto) over 13 years ago
対称性とか一貫性とか以外にquotientとquoremがあると嬉しい局面っ
てのは具体的に例示できますか?
Updated by tadf (tadayoshi funaba) over 13 years ago
丸めの方向の問題なので、ruby の場合 floor、ceil、truncate、round がある
ことから、4つのパターンが有り得ると思います。ruby の div-mod は、floor
系と考えればいいと思います。実際、Common Lisp の floor は ruby の div
と divmod をも含んだ内容になっています。実際の利用のされかたからすると
すべてが等価値でないので、あとは truncate 系の quotient と quotrem をだ
けあったらいいと思います。
例として身近にある位取り法を見てみると、暦では外挿して1年の前を紀元前1
年 (零年) として表現したりしますが、その零には特別な意味がないわけです
から、紀元前でも後でも1月の前の月は12月のという事になります。この場合は、
floor 系をつかう事になります。一方で、時差を考える場合は、零に向って丸
めるわけですから truncate 系が必要になります。
他の言語だと、smalltalk では、quo と rem があって、haskell では quot、
rem、quotRem、CL では truncate をつかう事ができます。
Updated by ko1 (Koichi Sasada) about 12 years ago
- Category set to core
- Assignee set to matz (Yukihiro Matsumoto)
宙ぶらりんになっているようなので、まつもとさんにアサインしておきます。
ご検討下さい。
Updated by naruse (Yui NARUSE) over 4 years ago
- Status changed from Open to Feedback
- Target version deleted (
3.0)