bitwise 0.4.0 → 0.5.0

Sign up to get free protection for your applications and to get access to all the features.
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