田中@ISASです。

In message: [ruby-math:00177] Re: (summary) SingleFloat, DoubleFloat < Float
>>> Takeshi Horinouchi <horinout / kurasc.kyoto-u.ac.jp> wrote:

> おっしゃるとおりだと思います。ただ、やっぱり引っ掛かっているのは、その
> ために本来は弱い方の型(single)を強い方の型(double)に変換するというルー
> ルの例外を作っていいのだろうかということです。この点はどう思われますか。

配列の型の方がスカラー(というかRubyの数)より例外なく強い
というのも、それはそれですっきりしているのではないかと思うのです。
それに、single と double の演算は double でおこなう
というのが本当に普遍のルールか、というのも、
私は知識不足と考慮不足のためよくわかりません。
確かに取ることのできる値の範囲は拡大しますが、
singleの数をdoubleに変換した直後は、
精度的にはまだsingleのままですよね。

> a + 0.1 の a がsingleの配列だったら結果もシングル、singleのスカラーだっ
> たら結果は double というのもちょっと、と思います。

スカラーにsingleの型がなければ... というのはさておき。
そうですね。スカラーでも成り立つどうかは考えていませんでした。
ただ私はそういう仕様でも不満はありません。というのは、
・singleのスカラーはあまり使いそうにない。
・配列とスカラーのコードは別コンテキストになる場合が多い。
からです。
もちろんスカラーにsingleの型を導入するのであれば、
その影響をもっと考えてから仕様を決める必要はあると思います。

田中昌宏