backports 3.6.4 → 3.6.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/Gemfile.lock +1 -1
- data/backports.gemspec +1 -0
- data/lib/backports/2.1.0/bignum/bit_length.rb +4 -2
- data/lib/backports/version.rb +1 -1
- data/test/bit_length_test.rb +11 -0
- metadata +32 -49
    
        checksums.yaml
    ADDED
    
    | @@ -0,0 +1,7 @@ | |
| 1 | 
            +
            ---
         | 
| 2 | 
            +
            SHA1:
         | 
| 3 | 
            +
              metadata.gz: 9aa6079dcd8824dcc4ed7d89341ba81ae14ee1f2
         | 
| 4 | 
            +
              data.tar.gz: 25c6fa54364e18de597fadf27de457c591ce6d17
         | 
| 5 | 
            +
            SHA512:
         | 
| 6 | 
            +
              metadata.gz: 4e5c84c312e0716a1283d93277d04ee8de3d62527c95eb5fa83a7a7c6b99ba05a832df0d696675597a502b8b41b63a01423af484b1f2ca135a9654ab0f54db85
         | 
| 7 | 
            +
              data.tar.gz: 688e1bd667a6e5486e1e11a681e5e18b8004396af20c56c6b1e5a1c5258710b5a5b2562afd514e287b9eec7d8ba9ea104e21e9775984a02dd3829a3403ebb618
         | 
    
        data/Gemfile.lock
    CHANGED
    
    
    
        data/backports.gemspec
    CHANGED
    
    | @@ -11,6 +11,7 @@ Gem::Specification.new do |gem| | |
| 11 11 | 
             
              gem.description   = %q{Essential backports that enable many of the nice features of Ruby 1.8.7 up to 2.1.0 for earlier versions.}
         | 
| 12 12 | 
             
              gem.summary       = %q{Backports of Ruby features for older Ruby.}
         | 
| 13 13 | 
             
              gem.homepage      = "http://github.com/marcandre/backports"
         | 
| 14 | 
            +
              gem.license       = "MIT"
         | 
| 14 15 |  | 
| 15 16 | 
             
              gem.files         = `git ls-files`.split($/)
         | 
| 16 17 | 
             
              gem.executables   = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
         | 
| @@ -2,14 +2,16 @@ unless Bignum.method_defined? :bit_length | |
| 2 2 | 
             
              require 'backports/2.0.0/range/bsearch'
         | 
| 3 3 | 
             
              class Bignum
         | 
| 4 4 | 
             
                def bit_length
         | 
| 5 | 
            -
                   | 
| 5 | 
            +
                  # We use the fact that bignums use the minimum number of bytes necessary
         | 
| 6 | 
            +
                  # So we have (size - 1) * 8 < bit_length <= size * 8
         | 
| 7 | 
            +
                  n = 8 * (size - 1)
         | 
| 6 8 | 
             
                  smaller = self >> n
         | 
| 7 9 | 
             
                  if smaller >= 0
         | 
| 8 10 | 
             
                    smaller += 1
         | 
| 9 11 | 
             
                  else
         | 
| 10 12 | 
             
                    smaller = -smaller
         | 
| 11 13 | 
             
                  end
         | 
| 12 | 
            -
                  n + ( | 
| 14 | 
            +
                  n + (1..8).bsearch{|i| smaller <= (1 << i) }
         | 
| 13 15 | 
             
                end
         | 
| 14 16 | 
             
              end
         | 
| 15 17 | 
             
            end
         | 
    
        data/lib/backports/version.rb
    CHANGED
    
    
| @@ -0,0 +1,11 @@ | |
| 1 | 
            +
            require './test/test_helper'
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            class BitLengthTest < Test::Unit::TestCase
         | 
| 4 | 
            +
              def test_big_num # Issue #95
         | 
| 5 | 
            +
                require 'backports/2.1.0/bignum/bit_length'
         | 
| 6 | 
            +
                r = 91178362617816881166579720176198217549251305244541026425489888079462471837807
         | 
| 7 | 
            +
                assert_equal 256, r.bit_length
         | 
| 8 | 
            +
                r = 57896044618658097711785492504343953926634992332820282019728792003956564819968
         | 
| 9 | 
            +
                assert_equal 256, r.bit_length
         | 
| 10 | 
            +
              end
         | 
| 11 | 
            +
            end
         | 
    
        metadata
    CHANGED
    
    | @@ -1,38 +1,28 @@ | |
| 1 | 
            -
            --- !ruby/object:Gem::Specification | 
| 1 | 
            +
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: backports
         | 
| 3 | 
            -
            version: !ruby/object:Gem::Version | 
| 4 | 
            -
               | 
| 5 | 
            -
              prerelease: 
         | 
| 6 | 
            -
              segments: 
         | 
| 7 | 
            -
              - 3
         | 
| 8 | 
            -
              - 6
         | 
| 9 | 
            -
              - 4
         | 
| 10 | 
            -
              version: 3.6.4
         | 
| 3 | 
            +
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            +
              version: 3.6.5
         | 
| 11 5 | 
             
            platform: ruby
         | 
| 12 | 
            -
            authors: | 
| 13 | 
            -
            -  | 
| 6 | 
            +
            authors:
         | 
| 7 | 
            +
            - Marc-André Lafortune
         | 
| 14 8 | 
             
            autorequire: 
         | 
| 15 9 | 
             
            bindir: bin
         | 
| 16 10 | 
             
            cert_chain: []
         | 
| 17 | 
            -
             | 
| 18 | 
            -
            date: 2014-11-13 00:00:00 Z
         | 
| 11 | 
            +
            date: 2015-07-13 00:00:00.000000000 Z
         | 
| 19 12 | 
             
            dependencies: []
         | 
| 20 | 
            -
             | 
| 21 | 
            -
             | 
| 22 | 
            -
            email: | 
| 13 | 
            +
            description: Essential backports that enable many of the nice features of Ruby 1.8.7
         | 
| 14 | 
            +
              up to 2.1.0 for earlier versions.
         | 
| 15 | 
            +
            email:
         | 
| 23 16 | 
             
            - github@marc-andre.ca
         | 
| 24 17 | 
             
            executables: []
         | 
| 25 | 
            -
             | 
| 26 18 | 
             
            extensions: []
         | 
| 27 | 
            -
             | 
| 28 19 | 
             
            extra_rdoc_files: []
         | 
| 29 | 
            -
             | 
| 30 | 
            -
             | 
| 31 | 
            -
            - . | 
| 32 | 
            -
            - . | 
| 33 | 
            -
            - . | 
| 34 | 
            -
            - . | 
| 35 | 
            -
            - .travis.yml
         | 
| 20 | 
            +
            files:
         | 
| 21 | 
            +
            - ".document"
         | 
| 22 | 
            +
            - ".gitignore"
         | 
| 23 | 
            +
            - ".gitmodules"
         | 
| 24 | 
            +
            - ".irbrc"
         | 
| 25 | 
            +
            - ".travis.yml"
         | 
| 36 26 | 
             
            - CHANGELOG.rdoc
         | 
| 37 27 | 
             
            - Gemfile
         | 
| 38 28 | 
             
            - Gemfile.lock
         | 
| @@ -560,43 +550,35 @@ files: | |
| 560 550 | 
             
            - spec/tags/1.9.2/core/io/write_spec.rb
         | 
| 561 551 | 
             
            - test/README
         | 
| 562 552 | 
             
            - test/_backport_guards_test.rb
         | 
| 553 | 
            +
            - test/bit_length_test.rb
         | 
| 563 554 | 
             
            - test/lazy_test.rb
         | 
| 564 555 | 
             
            - test/socket_interaction_test.rb
         | 
| 565 556 | 
             
            - test/test_helper.rb
         | 
| 566 557 | 
             
            homepage: http://github.com/marcandre/backports
         | 
| 567 | 
            -
            licenses: | 
| 568 | 
            -
             | 
| 558 | 
            +
            licenses:
         | 
| 559 | 
            +
            - MIT
         | 
| 560 | 
            +
            metadata: {}
         | 
| 569 561 | 
             
            post_install_message: 
         | 
| 570 562 | 
             
            rdoc_options: []
         | 
| 571 | 
            -
             | 
| 572 | 
            -
            require_paths: 
         | 
| 563 | 
            +
            require_paths:
         | 
| 573 564 | 
             
            - lib
         | 
| 574 | 
            -
            required_ruby_version: !ruby/object:Gem::Requirement | 
| 575 | 
            -
               | 
| 576 | 
            -
              requirements: 
         | 
| 565 | 
            +
            required_ruby_version: !ruby/object:Gem::Requirement
         | 
| 566 | 
            +
              requirements:
         | 
| 577 567 | 
             
              - - ">="
         | 
| 578 | 
            -
                - !ruby/object:Gem::Version | 
| 579 | 
            -
                   | 
| 580 | 
            -
             | 
| 581 | 
            -
             | 
| 582 | 
            -
                  version: "0"
         | 
| 583 | 
            -
            required_rubygems_version: !ruby/object:Gem::Requirement 
         | 
| 584 | 
            -
              none: false
         | 
| 585 | 
            -
              requirements: 
         | 
| 568 | 
            +
                - !ruby/object:Gem::Version
         | 
| 569 | 
            +
                  version: '0'
         | 
| 570 | 
            +
            required_rubygems_version: !ruby/object:Gem::Requirement
         | 
| 571 | 
            +
              requirements:
         | 
| 586 572 | 
             
              - - ">="
         | 
| 587 | 
            -
                - !ruby/object:Gem::Version | 
| 588 | 
            -
                   | 
| 589 | 
            -
                  segments: 
         | 
| 590 | 
            -
                  - 0
         | 
| 591 | 
            -
                  version: "0"
         | 
| 573 | 
            +
                - !ruby/object:Gem::Version
         | 
| 574 | 
            +
                  version: '0'
         | 
| 592 575 | 
             
            requirements: []
         | 
| 593 | 
            -
             | 
| 594 576 | 
             
            rubyforge_project: 
         | 
| 595 | 
            -
            rubygems_version:  | 
| 577 | 
            +
            rubygems_version: 2.4.5
         | 
| 596 578 | 
             
            signing_key: 
         | 
| 597 | 
            -
            specification_version:  | 
| 579 | 
            +
            specification_version: 4
         | 
| 598 580 | 
             
            summary: Backports of Ruby features for older Ruby.
         | 
| 599 | 
            -
            test_files: | 
| 581 | 
            +
            test_files:
         | 
| 600 582 | 
             
            - spec/tags/1.8.6/core/argf/each_line_spec.rb
         | 
| 601 583 | 
             
            - spec/tags/1.8.6/core/argf/each_spec.rb
         | 
| 602 584 | 
             
            - spec/tags/1.8.6/core/argf/lines_spec.rb
         | 
| @@ -711,6 +693,7 @@ test_files: | |
| 711 693 | 
             
            - spec/tags/1.9.2/core/io/write_spec.rb
         | 
| 712 694 | 
             
            - test/README
         | 
| 713 695 | 
             
            - test/_backport_guards_test.rb
         | 
| 696 | 
            +
            - test/bit_length_test.rb
         | 
| 714 697 | 
             
            - test/lazy_test.rb
         | 
| 715 698 | 
             
            - test/socket_interaction_test.rb
         | 
| 716 699 | 
             
            - test/test_helper.rb
         |