yarv-dev:1151
From: "miura" <m-72 tf6.so-net.ne.jp>
Date: Sat, 24 Nov 2007 13:39:09 +0900
Subject: [yarv-dev:1151] Re: 考えている案
三浦です > あれ,最近私,1.9 に RFLOAT_VALUE を追加したんですが. ちょっと古いソースを持ってきたようです。 2007/11/5のバージョンを基にしています。最新のものをチェックします。 > miura wrote: >> (3)の指数部を削る方式で、fixnumに泣いてもらってfixnumの領域に押し込 >> むようにしました。fixnumは30bitを越えるとbignumになってしまいます。 > > ってことは 32bit CPU 上ですね. > 86系の32bitです。Windows XP上のCygwinで開発しています。 > ちなみに,FIXFLOAT_P(obj) が真にならない場合というのはどういう状況 > でしょうか.double を 30bit に押し込めた場合に埋め込みということ? > この場合,全部を 30bit 表現にするんだと思ってたもので. > 指数が30bitで収まらないとき、(すごく大きいか、すごく絶対値が小さい数)は ヒープにちゃんとしたフォーマットでとるように考えています。こうすると、 とりあえず機能上の制限はなくなります。 rb_float_newは次のような定義になります。 VALUE rb_float_new(float d) { VALUE v1 = d2v(d); VALUE v2 = ROTL(v1, 4); if ((v2 & 0x7) == 4 || (v2 & 0x7) == 3) { printf("(float2value)%f ", d); /* デバッグ用 */ return ((v2 | 0x3) ^ 2); } else { NEWOBJ(flt, struct RFloat); OBJSETUP(flt, rb_cFloat, T_FLOAT); flt->value = d; return (VALUE)flt; } } -- 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]