ごとけんです

In message "[ruby-math:00030] Re: (summary) SingleFloat, DoubleFloat < Float"
    on 00/01/13, Yukihiro Matsumoto <matz / netlab.co.jp> writes:

>|クラス階層に対する要求としては、「直観的に条件分岐が書けるよ
>|うに kind_of? で精度が分類できること」で十分ですがFloatの抽
>|象クラス化というあとから出て来た話には、たとえば拡張倍精度の
>|位置づけが明確になるという利点があるので同時に採用してもらい
>|たい。その意味で現状のFloatはdoubleであるという今のままに 
>|hook をするのは好ましくないような気がします。
>
>んでは、Floatを抽象クラス化し、現在のFloat(将来では
>DoubleFloat?)とほぼ同じ定義のクラスをSingleFloatにするとい
>うのでは?

おろろ?? そういうつもりです。「ほぼ同じ定義」というのがどこ
まで同じか分かりませんが、DoubleFloat と SingleFloat は構造
体RFloatでいえば value メンバの型だけが違うモノのつもりです。
つまり、struct RFloat を無くして以下のようにすることで作業し
てます。

  struct RDFloat {
      struct RBasic basic;
      double value;
  };

  struct RSFloat {
      struct RBasic basic;
      float value;
  };

>ま、その前に「本当に必要か」の議論をしなくちゃですけど。

これはどのレベルの議論で十分と考えておられますか?? 

ぼくのそもそもの意図はクラスによって精度が区別されるような仕
組みにあったのですが、float が double のサブクラスになってい
ると不自然な記述になるので、階層の変更が必要であると判断し、
拡張ライブラリではなく Float の抽象化を含めて組み込みクラス
として要求しているのが現状です。

-- gotoken