* marshal.c (w_float): should not append a dot if no fractal part
exists. [ruby-dev:41936] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28868 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
b35f5db57e
commit
359d537878
@ -1,3 +1,8 @@
|
||||
Thu Aug 5 18:25:33 2010 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
||||
|
||||
* marshal.c (w_float): should not append a dot if no fractal part
|
||||
exists. [ruby-dev:41936]
|
||||
|
||||
Thu Aug 5 17:11:43 2010 Yukihiro Matsumoto <matz@ruby-lang.org>
|
||||
|
||||
* parse.y (void_expr_gen): add 'possibly' to warning message.
|
||||
|
@ -376,8 +376,8 @@ w_float(double d, struct dump_arg *arg)
|
||||
digs = (int)(e - p);
|
||||
if (decpt < -3 || decpt > digs) {
|
||||
buf[len++] = p[0];
|
||||
buf[len++] = '.';
|
||||
memcpy(buf + len, p + 1, --digs);
|
||||
if (--digs > 0) buf[len++] = '.';
|
||||
memcpy(buf + len, p + 1, digs);
|
||||
len += digs;
|
||||
len += snprintf(buf + len, sizeof(buf) - len, "e%d", decpt - 1);
|
||||
}
|
||||
|
@ -40,6 +40,11 @@ class TestMarshal < Test::Unit::TestCase
|
||||
obj = (x.to_f + y.to_f / z.to_f) * Math.exp(w.to_f / (x.to_f + y.to_f / z.to_f))
|
||||
assert_equal obj, Marshal.load(Marshal.dump(obj))
|
||||
}
|
||||
|
||||
bug3659 = '[ruby-dev:41936]'
|
||||
[1.0, 10.0, 100.0, 110.0].each {|x|
|
||||
assert_equal(x, Marshal.load(Marshal.dump(x)), bug3659)
|
||||
}
|
||||
end
|
||||
|
||||
StrClone = String.clone
|
||||
|
Loading…
x
Reference in New Issue
Block a user