ruby-changes:17402
From: naruse <ko1@a...>
Date: Mon, 4 Oct 2010 09:33:29 +0900 (JST)
Subject: [ruby-changes:17402] Ruby:r29407 (trunk): * ext/openssl/lib/openssl/bn.rb (Integer#to_bn): OpenSSL::BN.new
naruse 2010-10-04 09:33:22 +0900 (Mon, 04 Oct 2010) New Revision: 29407 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=29407 Log: * ext/openssl/lib/openssl/bn.rb (Integer#to_bn): OpenSSL::BN.new accepts only Strings, so call Integer#to_s(16). 16 is for an optimization. [ruby-dev:42336] Modified files: trunk/ChangeLog trunk/ext/openssl/lib/openssl/bn.rb trunk/test/openssl/test_bn.rb Index: ChangeLog =================================================================== --- ChangeLog (revision 29406) +++ ChangeLog (revision 29407) @@ -1,3 +1,9 @@ +Mon Oct 4 09:30:42 2010 NARUSE, Yui <naruse@r...> + + * ext/openssl/lib/openssl/bn.rb (Integer#to_bn): OpenSSL::BN.new + accepts only Strings, so call Integer#to_s(16). + 16 is for an optimization. [ruby-dev:42336] + Mon Oct 4 07:57:51 2010 NARUSE, Yui <naruse@r...> * cont.c (fiber_memsize): Return size. Index: ext/openssl/lib/openssl/bn.rb =================================================================== --- ext/openssl/lib/openssl/bn.rb (revision 29406) +++ ext/openssl/lib/openssl/bn.rb (revision 29407) @@ -29,7 +29,7 @@ # class Integer def to_bn - OpenSSL::BN::new(self) + OpenSSL::BN::new(self.to_s(16), 16) end end # Integer Index: test/openssl/test_bn.rb =================================================================== --- test/openssl/test_bn.rb (revision 29406) +++ test/openssl/test_bn.rb (revision 29407) @@ -8,6 +8,11 @@ if defined?(OpenSSL) class OpenSSL::TestBN < Test::Unit::TestCase + def test_integer_to_bn + assert_equal(999.to_bn, OpenSSL::BN.new(999.to_s(16), 16)) + assert_equal((2 ** 107 - 1).to_bn, OpenSSL::BN.new((2 ** 107 - 1).to_s(16), 16)) + end + def test_prime_p OpenSSL::BN.new((2 ** 107 - 1).to_s(16), 16).prime? OpenSSL::BN.new((2 ** 127 - 1).to_s(16), 16).prime?(1) -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/