Ruby Forum Ruby-dev > Marshal.load( Marshal.dump( Float ) )$B$NIT0lCW(B@1.8

Posted by H.Holon (Guest)
on 09.05.2008 12:19
(Received via mailing list)
H.Holon$B$G$9!#(B

ruby1.8$B$K$*$$$F!"0J2<$N!V(BMarshal$B$G(B dump$B$7$F(B
load$B$7$FLa$9!W(B
code$B$GIT0lCW$r0UL#$9$k$$$/$D$+$N?tCM$,I=<($5$l$^$9!#(B


$ cat ~/tmp/test.rb
srand(1)
1000000.times do
     f = rand(0)
     fm = Marshal.dump(f)
     if Marshal.load(fm) != f then
        p fm, f
     end
end

$ ./ruby ~/tmp/test.rb
"\004\bf\e2.2971038112107323e-05"
2.29710381121073e-05
"\004\bf\e0.00012889203743071675"
0.000128892037430717
"\004\bf\e1.2080800923408574e-05"
1.20808009234086e-05
"\004\bf\e0.00016731992938723295"
0.000167319929387233
"\004\bf\e0.00015761288904592163"
0.000157612889045922
"\004\bf\0320.0017032264342446979"
0.0017032264342447
"\004\bf\e0.91493880848429388\000\377\377"
0.914938808484294
"\004\bf\0270.1635388066770247"
0.163538806677025
"\004\bf\0320.0018947760614906883"
0.00189477606149069
"\004\bf\0310.015573558744790716"
0.0155735587447907


ruby1.9$B$K$*$$$F$O<j6a$G;n$7$?HO0O$G$OLdBj$"$j$^$;$s(B
($B2?$bI=<($5$l$^$;$s(B)$B!#(B

$B!!;n$7$K(B Marshal$BJ8;zNs$r(B stdlib$B$N(B strtod()
$B$G>.?t$KLa$7$F(B
$B$_$?$H$3$m!"8m:9$N$J$$85$N?tCM$KLa$j$^$7$?$N$G!"(B1.8
$B$N8=9T$N(B ruby_strtod()$B$N@:EYITB-$@$H;W$$$^$9!#(B
$B!!(B1.9$B$N(B ruby_strtod()$B$OJLJ*$K$J$C$F$$$k$h$&$G$9$N$G(B
1.8$B$N$_$N>I>u$J$N$O$=$3$,M}M3$J$N$@$H;W$$$^$9!#(B

# backport$B$O0l=V9M$($?$N$G$9$,!"(B1.9$B$N(B ruby_strtod()$B$O(B
# $B0l8+$5$s$N;d$K$O87$7$$$N$G!"(Bdefine$B$^$o$j$N0UL#$r(B
# $BM}2r$7$F$$$kJ}$K$*4j$$$7$^$9!D(B

----
H.Holon [ $B%i!<%@$C$]$$9u(B75$B$N2H(B | http://radastery.jp/ ]
Posted by Satoshi Nakagawa (Guest)
on 09.05.2008 14:08
(Received via mailing list)
$BCf@n$H$$$$$^$9!#(B

$B$3$l$O!"(B[ruby-dev:31567] $B$N%Q%C%A$G(B fix $B$7$?$N$H(B
$BF1$8LdBj$@$H;W$$$^$9!#(B

--
Satoshi Nakagawa
Posted by Yukihiro Matsumoto (Guest)
on 10.05.2008 02:17
(Received via mailing list)
$B$^$D$b$H(B $B$f$-$R$m$G$9(B

In message "Re: [ruby-dev:34623] Marshal.load( Marshal.dump( Float ) 
)$B$NIT0lCW(B@1.8"
    on Fri, 9 May 2008 19:19:03 +0900, "H.Holon" <holon@radastery.jp> 
writes:

|  H.Holon$B$G$9!#(B
|
|ruby1.8$B$K$*$$$F!"0J2<$N!V(BMarshal$B$G(B dump$B$7$F(B  
|load$B$7$FLa$9!W(B
|code$B$GIT0lCW$r0UL#$9$k$$$/$D$+$N?tCM$,I=<($5$l$^$9!#(B

$B;d$N(BDebian GNU/Linux$B$G$O:F8=$7$J$$$N$,IT;W5D$J$N$G$9$,!"$;$C(B
$B$+$/Cf@n$5$s$+$i%Q%C%A(B[ruby-dev:34625]$B$b$$$?$@$$$?$N$G!"<h$j(B
$B9~$b$&$H;W$$$^$9!#(B
Posted by Satoshi Nakagawa (Guest)
on 10.05.2008 08:18
Attachment: ruby18_strtod_patch.gz (23,2 KB)
(Received via mailing list)
中川といいます。

すみません。
メールで長い行が入ったパッチを送ると、折り返されてしまいますね。
添付します。