ごとけんです

In message "[ruby-math:00149] Re: %  &  divmod() & remainder()"
    on 00/01/28, Yukihiro Matsumoto <matz / netlab.co.jp> writes:

>では、数(実数)に定義されるべきプロトコルにはなにがあるでしょ
>う。また、そのうちでgenericな定義が提供できるものは?

ぱっと出て来ませんが、たとえば四則演算と比較はNumericの機能
と考えてよいでしょう。

ただ、ここで問題となるのはComplexだけが異なることが多すぎる
という点です。個人的にはNumericはDirectedとUndirected に分け
た方が何かとすっきりするとは思います。良く鳥におけるペンギン
に例えられますが、複素数がNumericなのはAlgebraicという側面で
結びついているのが実情ですのでNumericの多義性のせいで面倒に
なってるようにも思えます。

>そういえば、プロトコル(インタフェース)をドキュメント化する方
>法ってのも必要かも。

確かに、インターフェイスを記述する方法は仕掛け(運用)と説明の
両方の必要があるでしょうね。

>|# これらの関数は float と double で違います(FreeBSD)
>
>え? floatを受ける floor があるんですか?

floorf() とか ceilf() とかあるんですよ、これが。もちろん一般
的ではないですけどね。ちなみに sinf() とか remainderf() とか 
copysignf() とかもあります。スタタボだっけ、Linuxの数値計算
系のディストリビューションにもあったような気がします。

-- gotoken