[前][次][番号順一覧][スレッド一覧][生データ]

yarv-dev:1142

From: NISHIMATSU Takeshi <t_nissie yahoo.co.jp>
Date: Wed, 21 Nov 2007 05:29:37 +0900 (JST)
Subject: [yarv-dev:1142] Re: 富豪的 VALUE 型( Re: 考えている案)

西松です。

>  ちょっと複素数はこの際おいとくかなと.

がーん。

> ところで,Fortran だと,何も
> 言わないと単精度だったと思うんですが,それで十分ですかね.

これは歴史的経緯でそうなっているだけです。
現在では単精度も倍精度もほとんど計算コストが変わらない(スパコンとかだと
倍精度の方が速かったと思う。)ので倍精度を使いましょう、ということになってます。
SSEとかGPUとかが出てきてちょっと状況は変わりつつあるのかもしれませんが。

なお、Fortran 90以降ではIMPLICIT NONE文により暗黙の型宣言を無効にできる
ようになりました。コンパイラのエラーメッセージや警告により暗黙の型宣言に
起因するバグの発見が容易になるので積極的に用いるべきです。

> > で、ぼくがつねづね夢想しているのが「富豪的VALUE型」です。たとえば、
> > 5x64=320bitの富豪的VALUE型は[0][1][2][3][4]の形をしていて、[0]には
> > オブジェクトの種類、すなわち[1]以降に何が入っているのか、または、true,
> > false, nilくらいの即値が格納されます。[1]以降は倍精度実数だったら[1]
> > だけにそれが、倍精度複素数だったら[1][2]に、さらには倍精度のハミルトン
> > の四元数まで表すことができて[1][2][3][4]をすべて使います。それぞれが
> > 64bit整数ってのもありです。これなら各数値演算にCPUの機能をそのまま使え
> > ます。[0]が俺は文字列だと言っているなら、[1]にはポインタが[2]には
> > サイズが入ります。CやFortranの整数、実数、複素数の配列も同様に[1]には
> > ポインタが[2]にはサイズが入ります。[3][4]も使えば3次元配列まで表せ
> > ます。基本的なオブジェクトはデータ以外の属性を余裕のある[1][2][3][4]
> > に格納するわけです。
> 
>  これを実現するにはたくさんの改修がいるような気がしますね.
> 
>  VALUE型は,C の関数呼び出しの引数に多用されます.また,返値として
> VALUE を返すものが大量にあります.VALUE rb_str_new2("foo") とか.こ
> れら,C の関数同士の受け渡しに,構造体のコピーが大量に発生することに
> なるので,そのオーバヘッドを考えるとどれくらい嬉しいかはよくわかりま
> せん.

金持ちケンカせず。
富豪プログラマ構造体の値渡しを恐れず。
ですよ!後者は今作ったんですが。
-- 
love && peace && free_software
西松タケシ



--
ML: yarv-dev quickml.atdot.net
Info: http://www.atdot.net/~ko1/quickml

[前][次][番号順一覧][スレッド一覧][生データ]

      1122 2007-11-20 19:08 [ko1 atdot.net       ] 考えている案                            
      1123 2007-11-20 19:25 ┣[horinout rish.kyoto-]                                       
      1124 2007-11-20 19:33 ┃┣[ko1 atdot.net       ]                                     
      1127 2007-11-20 19:52 ┃┣[horinout rish.kyoto-]                                     
      1129 2007-11-20 20:05 ┃┃┗[ko1 atdot.net       ]                                   
      1130 2007-11-20 20:21 ┃┃ ┗[horinout rish.kyoto-]                                 
      1131 2007-11-20 20:24 ┃┃  ┗[ko1 atdot.net       ]                               
      1132 2007-11-20 20:32 ┃┗[2008 shudo.net      ]                                     
      1133 2007-11-20 20:53 ┃ ┗[horinout rish.kyoto-]                                   
      1137 2007-11-20 21:15 ┃  ┗[2008 shudo.net      ]                                 
      1125 2007-11-20 19:39 ┣[m-72 tf6.so-net.ne.j]                                       
      1126 2007-11-20 19:46 ┃┗[ko1 atdot.net       ]                                     
      1128 2007-11-20 19:58 ┃ ┣[m-72 tf6.so-net.ne.j]                                   
      1135 2007-11-20 20:59 ┃ ┗[m-72 tf6.so-net.ne.j]                                   
      1145 2007-11-21 19:44 ┃  ┗[ko1 atdot.net       ]                                 
      1146 2007-11-21 20:34 ┃   ┗[m-72 tf6.so-net.ne.j]                               
      1134 2007-11-20 20:54 ┣[2008 shudo.net      ]                                       
      1144 2007-11-21 08:39 ┃┗[ko1 atdot.net       ]                                     
      1140 2007-11-21 03:52 ┣[t_nissie yahoo.co.jp] 富豪的 VALUE 型( Re: 考えている案)  
      1141 2007-11-21 04:57 ┃┗[ko1 atdot.net       ]                                     
->    1142 2007-11-21 05:29 ┃ ┗[t_nissie yahoo.co.jp]                                   
      1143 2007-11-21 06:02 ┃  ┗[ko1 atdot.net       ]                                 
      1147 2007-11-24 12:56 ┗[m-72 tf6.so-net.ne.j]                                       
      1148 2007-11-24 13:10  ┣[ko1 atdot.net       ]                                     
      1152 2007-11-25 08:51  ┃┗[m-72 tf6.so-net.ne.j]                                   
      1149 2007-11-24 13:18  ┣[ko1 atdot.net       ]                                     
      1150 2007-11-24 13:21  ┗[ko1 atdot.net       ]                                     
      1151 2007-11-24 13:39   ┗[m-72 tf6.so-net.ne.j]