diff options
-rw-r--r-- | ChangeLog | 16 | ||||
-rw-r--r-- | bignum.c | 11 | ||||
-rw-r--r-- | eval.c | 8 | ||||
-rw-r--r-- | numeric.c | 1 |
4 files changed, 24 insertions, 12 deletions
@@ -1,7 +1,19 @@ +Fri Apr 2 17:27:17 2004 Yukihiro Matsumoto <[email protected]> + + * eval.c (top_include): include in the wrapped load is done for + the wrapper, not for a singleton class for wrapped main. + [ruby-dev:23305] + +Fri Apr 2 15:13:44 2004 Yukihiro Matsumoto <[email protected]> + + * bignum.c (rb_big_eq): use temporary double variable to save the + result (internal float register may be bigger than 64 bits, for + example, 80 bits on x86). [ruby-dev:23311] + Fri Apr 2 14:35:26 2004 Yukihiro Matsumoto <[email protected]> - * eval.c (block_pass): should increment unique identifier of the - block. [ruby-talk:96363] + * eval.c (block_pass): should generate unique identifier of the + pushing block. [ruby-talk:96363] Fri Apr 2 11:36:20 2004 Minero Aoki <[email protected]> @@ -978,10 +978,13 @@ rb_big_eq(x, y) case T_BIGNUM: break; case T_FLOAT: - if (rb_big2dbl(x) == RFLOAT(y)->value) - return Qtrue; - else - return Qfalse; + { + double a, b; + + a = RFLOAT(y)->value; + b = rb_big2dbl(x); + return (a == b)?Qtrue:Qfalse; + } default: return rb_equal(y, x); } @@ -7222,12 +7222,10 @@ top_include(argc, argv, self) { rb_secure(4); if (ruby_wrapper) { - rb_warn("main#include in the wrapped load is effective only for toplevel"); - return rb_obj_extend(argc, argv, self); - } - else { - return rb_mod_include(argc, argv, rb_cObject); + rb_warning("main#include in the wrapped load is effective only in wrapper module"); + return rb_mod_include(argc, argv, ruby_wrapper); } + return rb_mod_include(argc, argv, rb_cObject); } VALUE rb_f_trace_var(); @@ -843,7 +843,6 @@ flo_eq(x, y) return num_equal(x, y); } a = RFLOAT(x)->value; - if (isnan(a) || isnan(b)) return Qfalse; return (a == b)?Qtrue:Qfalse; } |