bitwise 0.4.0 → 0.5.0

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.
data/README.md CHANGED
@@ -1,6 +1,8 @@
1
1
  Bitwise
2
2
  =======
3
3
 
4
+ [![Build Status](https://secure.travis-ci.org/kenn/bitwise.png)](http://travis-ci.org/kenn/bitwise)
5
+
4
6
  Fast, memory efficient bitwise operations on large binary strings.
5
7
 
6
8
  Internally a bit array is represented as a ruby string with `Encoding::BINARY` encoding, which keeps billions of bits in a workable footprint.
@@ -18,7 +20,7 @@ Install
18
20
  Usage
19
21
  -----
20
22
 
21
- Set and clear bits:
23
+ Set and unset bits:
22
24
 
23
25
  ```ruby
24
26
  b = Bitwise.new("\x00")
@@ -32,10 +34,13 @@ b.set_at(4)
32
34
  b.bits
33
35
  => "01001000"
34
36
 
35
- b.clear_at(1)
37
+ b.unset_at(1)
36
38
 
37
39
  b.bits
38
40
  => "00001000"
41
+
42
+ b.set_at?(4)
43
+ => true
39
44
  ```
40
45
 
41
46
  String-based accessor:
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.4.0
1
+ 0.5.0
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "bitwise"
8
- s.version = "0.4.0"
8
+ s.version = "0.5.0"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Kenn Ejima"]
12
- s.date = "2011-12-17"
12
+ s.date = "2012-02-28"
13
13
  s.description = "Fast, memory efficient bitwise operations on large binary strings"
14
14
  s.email = "kenn.ejima@gmail.com"
15
15
  s.extensions = ["ext/bitwise/extconf.rb"]
@@ -32,7 +32,7 @@ Gem::Specification.new do |s|
32
32
  s.homepage = "http://github.com/kenn/bitwise"
33
33
  s.licenses = ["MIT"]
34
34
  s.require_paths = ["lib"]
35
- s.rubygems_version = "1.8.10"
35
+ s.rubygems_version = "1.8.15"
36
36
  s.summary = "Fast, memory efficient bitwise operations on large binary strings"
37
37
 
38
38
  if s.respond_to? :specification_version then
@@ -19,19 +19,29 @@ class Bitwise
19
19
  @value.setbyte(@div, @byte | bitmask)
20
20
  end
21
21
 
22
- def clear_at(index)
22
+ def unset_at(index)
23
23
  get_byte(index)
24
24
  @value.setbyte(@div, @byte & ~bitmask)
25
25
  end
26
26
 
27
+ def clear_at(index)
28
+ warn 'Bitwise#clear_at is deprecated. Use Bitwise#unset_at instead.'
29
+ unset_at(index)
30
+ end
31
+
27
32
  def set_at?(index)
28
33
  get_bit(index) == 1
29
34
  end
30
35
 
31
- def clear_at?(index)
36
+ def unset_at?(index)
32
37
  get_bit(index) == 0
33
38
  end
34
39
 
40
+ def clear_at?(index)
41
+ warn 'Bitwise#clear_at? is deprecated. Use Bitwise#unset_at? instead.'
42
+ unset_at?(index)
43
+ end
44
+
35
45
  def get_bit(index)
36
46
  get_byte(index)
37
47
  (@byte & bitmask) > 0 ? 1 : 0
@@ -12,7 +12,7 @@ describe Bitwise do
12
12
  @bitwise.raw.encoding.should == Encoding::BINARY
13
13
  end
14
14
 
15
- it "set and clear" do
15
+ it "set and unset" do
16
16
  @bitwise.bits.should == '00000000'
17
17
 
18
18
  @bitwise.set_at(1)
@@ -20,7 +20,7 @@ describe Bitwise do
20
20
  @bitwise.bits.should == '01001000'
21
21
  @bitwise.cardinality.should == 2
22
22
 
23
- @bitwise.clear_at(1)
23
+ @bitwise.unset_at(1)
24
24
  @bitwise.bits.should == '00001000'
25
25
  @bitwise.cardinality.should == 1
26
26
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bitwise
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.5.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-12-17 00:00:00.000000000 Z
12
+ date: 2012-02-28 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rspec
16
- requirement: &2153110060 !ruby/object:Gem::Requirement
16
+ requirement: &2155501460 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '0'
22
22
  type: :development
23
23
  prerelease: false
24
- version_requirements: *2153110060
24
+ version_requirements: *2155501460
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: bundler
27
- requirement: &2153109020 !ruby/object:Gem::Requirement
27
+ requirement: &2155499800 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '0'
33
33
  type: :development
34
34
  prerelease: false
35
- version_requirements: *2153109020
35
+ version_requirements: *2155499800
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: jeweler
38
- requirement: &2153108300 !ruby/object:Gem::Requirement
38
+ requirement: &2155515220 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: '0'
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *2153108300
46
+ version_requirements: *2155515220
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: rake-compiler
49
- requirement: &2153107500 !ruby/object:Gem::Requirement
49
+ requirement: &2155514120 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ! '>='
@@ -54,7 +54,7 @@ dependencies:
54
54
  version: '0'
55
55
  type: :development
56
56
  prerelease: false
57
- version_requirements: *2153107500
57
+ version_requirements: *2155514120
58
58
  description: Fast, memory efficient bitwise operations on large binary strings
59
59
  email: kenn.ejima@gmail.com
60
60
  executables: []
@@ -95,7 +95,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
95
95
  version: '0'
96
96
  requirements: []
97
97
  rubyforge_project:
98
- rubygems_version: 1.8.10
98
+ rubygems_version: 1.8.15
99
99
  signing_key:
100
100
  specification_version: 3
101
101
  summary: Fast, memory efficient bitwise operations on large binary strings