diff options
author | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2003-05-06 16:48:51 +0000 |
---|---|---|
committer | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2003-05-06 16:48:51 +0000 |
commit | e49203726e2d6feee19d46d12bd93a1fe948248d (patch) | |
tree | b366bd85f807cb806160b0b67393d2255f554bc3 | |
parent | 3f8d7303c18a9a3de1438dfa7299d2e71bbab031 (diff) | |
download | ruby-e49203726e2d6feee19d46d12bd93a1fe948248d.tar.gz |
* numeric.c (num_step): remove epsilon; add margin of 0.5, to make
"1.1.step(1.5,0.1)" to work (third try).
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3764 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | ChangeLog | 8 | ||||
-rw-r--r-- | ext/socket/extconf.rb | 1 | ||||
-rw-r--r-- | numeric.c | 3 |
3 files changed, 7 insertions, 5 deletions
@@ -1,3 +1,8 @@ +Wed May 7 01:21:23 2003 Yukihiro Matsumoto <matz@ruby-lang.org> + + * 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 <aamine@loveruby.net> * lib/net/pop.rb: rename method: POP3#mail_size -> n_mails @@ -15,9 +20,6 @@ Tue May 6 14:39:36 2003 Yukihiro Matsumoto <matz@ruby-lang.org> * 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 <jca02266@nifty.ne.jp> * 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) { @@ -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<n; i++) { rb_yield(rb_float_new(i*unit+beg)); } |