diff --git a/ChangeLog b/ChangeLog index b006bae2f4..b8de4e2533 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Wed May 7 01:21:23 2003 Yukihiro Matsumoto + + * numeric.c (num_step): remove epsilon; add margin of 0.5, to make + "1.1.step(1.5,0.1)" to work (third try). + Tue May 6 17:51:54 2003 Minero Aoki * lib/net/pop.rb: rename method: POP3#mail_size -> n_mails @@ -15,9 +20,6 @@ Tue May 6 14:39:36 2003 Yukihiro Matsumoto * object.c (rb_obj_methods): list singleton methods if recur argument is false; list all methods otherwise. - * numeric.c (num_step): double epsilon to make "1.1.step(1.5,0.1)" - to work. - Mon May 5 21:19:25 2003 Koji Arai * ext/gdbm/gdbm.c (fgdbm_values_at): new method to replace diff --git a/ext/socket/extconf.rb b/ext/socket/extconf.rb index 6b03307f97..b9e66f676e 100644 --- a/ext/socket/extconf.rb +++ b/ext/socket/extconf.rb @@ -197,6 +197,7 @@ main() for (passive = 0; passive <= 1; passive++) { memset(&hints, 0, sizeof(hints)); hints.ai_family = AF_UNSPEC; + hints.ai_protocol = IPPROTO_TCP; hints.ai_flags = passive ? AI_PASSIVE : 0; hints.ai_socktype = SOCK_STREAM; if ((gaierr = getaddrinfo(NULL, "54321", &hints, &aitop)) != 0) { diff --git a/numeric.c b/numeric.c index b5d275f892..afc3590644 100644 --- a/numeric.c +++ b/numeric.c @@ -905,14 +905,13 @@ num_step(argc, argv, from) } } else if (TYPE(from) == T_FLOAT || TYPE(to) == T_FLOAT || TYPE(step) == T_FLOAT) { - const double epsilon = DBL_EPSILON * 2; double beg = NUM2DBL(from); double end = NUM2DBL(to); double unit = NUM2DBL(step); double n = (end - beg)/unit; long i; - n = floor(n + n*epsilon) + 1; + n = n + 0.5; for (i=0; i