Permalink
Browse files

* ext/rational/rational.c: Added to provide a fast implementation

  of Fixnum#gcd (and maybe some others in the future) in C.  The
  base code was submitted by Kurt Stephens. [Feature #2561]

* ext/rational/lib/rational.rb: Moved from lib/rational.rb.  Make
  overall code optimization; submitted by Kurt Stephens.
  [Feature #2561]

* test/rational/test_rational.rb, test/rational/test_rational2.rb:
  Add tests for Rational, ported from trunk.

* test/rational/test_fixnum_gcd.rb: Add a test for Integer#gcd.
  Case values are only provided for i386 and amd64 at the moment;
  submitted by Kurt Stephens. [Feature #2561]

git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@26581 b2dd03c8-39d4-4d8f-98ff-823fe69b080e

Conflicts:

	ChangeLog
	NEWS
	ext/rational/lib/rational.rb
  • Loading branch information...
1 parent f9aa043 commit 24579dfab9010d821f741615e62f78a3e5564f5a @FooBarWidget FooBarWidget committed Jun 2, 2010
View
@@ -1,4 +1,21 @@
-Sat May 22 19:46:27 2010 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Fri Feb 5 23:09:01 2010 Akinori MUSHA <knu@iDaemons.org>
+
+ * ext/rational/rational.c: Added to provide a fast implementation
+ of Fixnum#gcd (and maybe some others in the future) in C. The
+ base code was submitted by Kurt Stephens. [Feature #2561]
+
+ * ext/rational/lib/rational.rb: Moved from lib/rational.rb. Make
+ overall code optimization; submitted by Kurt Stephens.
+ [Feature #2561]
+
+ * test/rational/test_rational.rb, test/rational/test_rational2.rb:
+ Add tests for Rational, ported from trunk.
+
+ * test/rational/test_fixnum_gcd.rb: Add a test for Integer#gcd.
+ Case values are only provided for i386 and amd64 at the moment;
+ submitted by Kurt Stephens. [Feature #2561]
+
+Wed Feb 3 21:14:59 2010 Nobuyoshi Nakada <nobu@ruby-lang.org>
* lib/net/http.rb (Net::HTTP#request): close @socket only after
started. [ruby-core:28028]
View
217 NEWS
@@ -7,6 +7,223 @@ Note that each entry is kept so brief that no reason behind or
reference information is supplied with. For a full list of changes
with all sufficient information, see the ChangeLog file.
+== Changes since the 1.8.7 release
+
+=== Lexical changes
+
+* empty symbol literal
+
+ Empty symbol (:"") is allowed.
+
+* looser splat opetator
+
+ You can write things like:
+ x, *y, z = a, *b, c
+ def foo(a, b=1, *c, d); end
+ But when you evaluate them, you will get exceptions.
+
+* new hash immediates
+
+ Ruby 1.9 style hash syntax e.g. { key: value } is now also supported
+ in 1.8. You can also write a method invocation syntax foo bar: baz.
+
+=== Configuration changes
+
+* version specific directories
+
+ A new configure option --with-ruby-version is added, which allows
+ user to specify the version string (defaulted to "1.8") for version
+ specific directories such as library directories, ri directories and
+ gem directories.
+
+=== Library updates (outstanding ones only)
+
+* builtin classes
+
+ * Array#try_convert()
+ * Hash#try_convert()
+ * IO#try_convert()
+ * Regexp#try_convert()
+ * String#try_convert()
+
+ New methods.
+
+ * Array#sample
+
+ New method with which replaces #choice.
+
+ * Enumerable#each_with_object
+ * Enumerator#with_object
+
+ New methods.
+
+ * Enumerator.new { |y| ... }
+
+ Now can generate an enumerator from a block that defines
+ enumeration instead of an enumerable object.
+
+ * Enumerator#rewind
+
+ Now calls the "rewind" method of the enclosed object if defined.
+
+ * Enumerator#inspect
+
+ Implemented.
+
+ * Hash#default_proc=
+
+ New method.
+
+ * Hash#key
+
+ Renamed from Hash#index.
+
+ * ENV.key
+
+ Renamed from ENV.index.
+
+ * IO#ungetbyte
+
+ Added as an alias to #ungetc.
+
+ * Proc#===
+
+ New method primarily for use in the case-when construct.
+
+ * Range#cover?
+
+ New alias to #include? for the forward compatibility with 1.9, in
+ which the behavior of Range#include? has changed.
+
+ * Regexp
+
+ The regular expression /\s/ now properly matches a vertical tab
+ character (VT: "\v") and /\S/ does not. It was a bug that /\s/
+ did not match VT when /[\s]/ does. It is clear that VT should
+ always be regarded as white space, not to mention String#strip.
+
+ * String#getbyte
+ * String#setbyte
+ * String#ord
+
+ New methods for the forward compatibility with 1.9, in which the
+ behavior of String#[] and String#[]= have changed. String#ord is
+ $KCODE aware.
+
+ * Symbol#succ
+ * Symbol#next
+ * Symbol#<=>
+ * Symbol#casecmp
+ * Symbol#=~
+ * Symbol#[]
+ * Symbol#slice
+ * Symbol#length
+ * Symbol#size
+ * Symbol#empty?
+ * Symbol#match
+ * Symbol#upcase
+ * Symbol#downcase
+ * Symbol#capitalize
+ * Symbol#swapcase
+
+ New methods.
+
+* base64
+
+ * Base64#strict_encode64
+ * Base64#strict_decode64
+ * Base64#urlsafe_encode64
+ * Base64#urlsafe_decode64
+
+ New methods.
+
+* dbm
+
+ DBM#key
+
+ Renamed from DBM#index.
+
+* gdbm
+
+ GDBM#key
+
+ Renamed from GDBM#index.
+
+* open-uri
+
+ * Added a lot of new options:
+
+ * :ftp_active_mode => bool
+
+ Specify false to enable FTP passive mode. It is adviced that
+ this option should be explicitly set for forward compatibility
+ because the default mode is changed in Ruby >= 1.9.
+
+ * :read_timeout => seconds
+ * :proxy_http_basic_authentication => [uri, user, password]
+ * :redirect => bool
+ * :ssl_verify_mode => OpenSSL::SSL::VERIFY_*
+ * :ssl_ca_cert => filename
+
+* rational
+
+ * Performace improved by making overall code optimization and
+ introducing Fixnum#gcd implemented in C.
+
+* sdbm
+
+ SDBM#key
+
+ Renamed from SDBM#index.
+
+* securerandom
+
+ SecureRandom.uuid
+
+ New method to generate a v4 random UUID.
+
+* set
+
+ Set#classify
+ Set#collect!
+ Set#delete_if
+ Set#delete_if
+ Set#divide
+ Set#reject!
+
+ Return an enumerator if no block is given.
+
+* stringio
+
+ * StringIO#ungetbyte
+
+ Added as an alias to #ungetc.
+
+* digest
+ * new methods:
+ * Digest::Class.base64digest
+ * Digest::Instance#base64digest
+ * Digest::Instance#base64digest!
+
+* rss
+
+ * 0.2.4 -> 0.2.7.
+
+ * RSS::Maker.make
+ * raise an exception not returns nil for invalid feed making.
+ * requires block.
+
+ * RSS::Maker.[]
+ * new method to return maker class.
+
+ * RSS::Maker.supported?(version)
+ * new method to check whether given version is supported.
+
+ * RSS::Maker: item.guid.permanent_link?
+ * new alias of item.guid.isPermaLink
+ * RSS::Maker: item.guid.permanent_link=
+ * new alias of item.guid.isPermaLink=
+
* REXML
* REXML::Document.entity_expansion_limit=
View
@@ -20,6 +20,7 @@
#pty
#openssl
#racc/cparse
+#rational
#readline
#sdbm
#socket
View
@@ -20,6 +20,7 @@ nkf
pty
#openssl
racc/parse
+rational
readline
sdbm
socket
View
@@ -20,6 +20,7 @@ nkf
#pty
#openssl
racc/cparse
+rational
readline
sdbm
#socket
View
@@ -20,6 +20,7 @@ nkf
#pty
#openssl
racc/cparse
+rational
#readline
#sdbm
socket
View
@@ -20,6 +20,7 @@ nkf
#pty
#openssl
racc/cparse
+rational
#readline
sdbm
socket
View
@@ -20,6 +20,7 @@ nkf
#pty
#openssl
racc/cparse
+rational
#readline
#sdbm
#socket
View
@@ -0,0 +1,3 @@
+require 'mkmf'
+
+create_makefile('rational')
Oops, something went wrong.

0 comments on commit 24579df

Please sign in to comment.