bitwise 0.5.0 → 0.6.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.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: c00a1d503df8b51e4c0c4aa823ffaf9c14247e19
4
+ data.tar.gz: a6d7013da6cf7d0700cdb0a1e716833f82c783ef
5
+ SHA512:
6
+ metadata.gz: b7c0fe4b67c7c57f1ace80b6dd281339c882cfb3a74ee332fab6bd44efdc104b681d05cd9969b171949903e3076145a13f51dd76c1bb5ae038672a365cecb3a1
7
+ data.tar.gz: 09f341c8048c460b9b44308a63d0deef965c99d4f32c58f987da69e3d726247163e312a2d9437a497f6516dd488186952b1abe28471690980d7ae63ef8aab18e
@@ -0,0 +1,4 @@
1
+ Gemfile.lock
2
+ lib/bitwise_ext.*
3
+ pkg
4
+ tmp
@@ -0,0 +1,6 @@
1
+ language: ruby
2
+ rvm:
3
+ - 1.9.2
4
+ - 1.9.3
5
+ - rbx-19mode
6
+ - ruby-head
data/Gemfile CHANGED
@@ -1,8 +1,3 @@
1
- source "http://rubygems.org"
1
+ source 'http://rubygems.org'
2
2
 
3
- group :development do
4
- gem "rspec"
5
- gem "bundler"
6
- gem "jeweler"
7
- gem "rake-compiler"
8
- end
3
+ gemspec
File without changes
data/README.md CHANGED
@@ -41,6 +41,8 @@ b.bits
41
41
 
42
42
  b.set_at?(4)
43
43
  => true
44
+ b.unset_at?(4)
45
+ => false
44
46
  ```
45
47
 
46
48
  String-based accessor:
data/Rakefile CHANGED
@@ -1,12 +1,13 @@
1
- # require "bundler/gem_tasks"
2
- # require 'rubygems'
3
- # require 'bundler'
1
+ #!/usr/bin/env rake
2
+ require 'bundler/gem_tasks'
4
3
 
5
- require "rake/extensiontask"
6
- Rake::ExtensionTask.new("bitwise") do |extension|
7
- extension.lib_dir = "lib/bitwise"
4
+ # Compile
5
+ require 'rake/extensiontask'
6
+ Rake::ExtensionTask.new('bitwise_ext') do |ext|
7
+ ext.ext_dir = 'ext'
8
8
  end
9
9
 
10
+ # RSpec
10
11
  require 'rspec/core/rake_task'
11
12
  task :default => :spec
12
13
  RSpec::Core::RakeTask.new(:spec) do |t|
@@ -14,17 +15,3 @@ RSpec::Core::RakeTask.new(:spec) do |t|
14
15
  t.fail_on_error = false
15
16
  end
16
17
  Rake::Task[:spec].prerequisites << :compile
17
-
18
- require 'jeweler'
19
- Jeweler::Tasks.new do |gem|
20
- # gem is a Gem::Specification... see http://docs.rubygems.org/read/chapter/20 for more options
21
- gem.name = "bitwise"
22
- gem.homepage = "http://github.com/kenn/bitwise"
23
- gem.license = "MIT"
24
- gem.summary = %Q{Fast, memory efficient bitwise operations on large binary strings}
25
- gem.description = %Q{Fast, memory efficient bitwise operations on large binary strings}
26
- gem.email = "kenn.ejima@gmail.com"
27
- gem.authors = ["Kenn Ejima"]
28
- # dependencies defined in Gemfile
29
- end
30
- Jeweler::RubygemsDotOrgTasks.new
@@ -1,59 +1,24 @@
1
- # Generated by jeweler
2
- # DO NOT EDIT THIS FILE DIRECTLY
3
- # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
1
  # -*- encoding: utf-8 -*-
5
2
 
6
- Gem::Specification.new do |s|
7
- s.name = "bitwise"
8
- s.version = "0.5.0"
3
+ Gem::Specification.new do |gem|
4
+ gem.authors = ['Kenn Ejima']
5
+ gem.email = ['kenn.ejima@gmail.com']
6
+ gem.description = %q{Fast, memory efficient bitwise operations on large binary strings}
7
+ gem.summary = %q{Fast, memory efficient bitwise operations on large binary strings}
8
+ gem.homepage = 'http://github.com/kenn/bitwise'
9
9
 
10
- s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
- s.authors = ["Kenn Ejima"]
12
- s.date = "2012-02-28"
13
- s.description = "Fast, memory efficient bitwise operations on large binary strings"
14
- s.email = "kenn.ejima@gmail.com"
15
- s.extensions = ["ext/bitwise/extconf.rb"]
16
- s.extra_rdoc_files = [
17
- "LICENSE.txt",
18
- "README.md"
19
- ]
20
- s.files = [
21
- "Gemfile",
22
- "LICENSE.txt",
23
- "README.md",
24
- "Rakefile",
25
- "VERSION",
26
- "bitwise.gemspec",
27
- "ext/bitwise/bitwise.c",
28
- "ext/bitwise/extconf.rb",
29
- "lib/bitwise.rb",
30
- "spec/bitwise_spec.rb"
31
- ]
32
- s.homepage = "http://github.com/kenn/bitwise"
33
- s.licenses = ["MIT"]
34
- s.require_paths = ["lib"]
35
- s.rubygems_version = "1.8.15"
36
- s.summary = "Fast, memory efficient bitwise operations on large binary strings"
10
+ gem.files = `git ls-files`.split($\)
11
+ gem.extensions = ['ext/extconf.rb']
12
+ gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
13
+ gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
14
+ gem.name = 'bitwise'
15
+ gem.require_paths = ['lib']
16
+ gem.version = '0.6.0' # retrieve this value by: Gem.loaded_specs['bitwise'].version.to_s
37
17
 
38
- if s.respond_to? :specification_version then
39
- s.specification_version = 3
18
+ gem.add_development_dependency 'rspec'
19
+ gem.add_development_dependency 'bundler'
20
+ gem.add_development_dependency 'rake-compiler'
40
21
 
41
- if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
42
- s.add_development_dependency(%q<rspec>, [">= 0"])
43
- s.add_development_dependency(%q<bundler>, [">= 0"])
44
- s.add_development_dependency(%q<jeweler>, [">= 0"])
45
- s.add_development_dependency(%q<rake-compiler>, [">= 0"])
46
- else
47
- s.add_dependency(%q<rspec>, [">= 0"])
48
- s.add_dependency(%q<bundler>, [">= 0"])
49
- s.add_dependency(%q<jeweler>, [">= 0"])
50
- s.add_dependency(%q<rake-compiler>, [">= 0"])
51
- end
52
- else
53
- s.add_dependency(%q<rspec>, [">= 0"])
54
- s.add_dependency(%q<bundler>, [">= 0"])
55
- s.add_dependency(%q<jeweler>, [">= 0"])
56
- s.add_dependency(%q<rake-compiler>, [">= 0"])
57
- end
22
+ # For Travis
23
+ gem.add_development_dependency 'rake'
58
24
  end
59
-
@@ -23,7 +23,7 @@ static int COUNT_TABLE[] = {
23
23
 
24
24
  static VALUE bw_population_count(VALUE self, VALUE str) {
25
25
  int count, i;
26
- unsigned char *buffer = RSTRING_PTR(str);
26
+ unsigned char *buffer = (unsigned char *)RSTRING_PTR(str);
27
27
  count = 0;
28
28
  for (i = 0; i < RSTRING_LEN(str); i++) {
29
29
  count += COUNT_TABLE[buffer[i]];
@@ -65,14 +65,14 @@ static VALUE bw_string_xor(VALUE self, VALUE max, VALUE min)
65
65
  {
66
66
  VALUE result = rb_str_new(RSTRING_PTR(max), RSTRING_LEN(max));
67
67
  int i;
68
- int min_len = RSTRING_LEN(min);
68
+ long min_len = RSTRING_LEN(min);
69
69
  for (i = 0; i < RSTRING_LEN(max); i++) {
70
70
  RSTRING_PTR(result)[i] ^= ((i < min_len) ? RSTRING_PTR(min)[i] : 0);
71
71
  }
72
72
  return result;
73
73
  }
74
74
 
75
- void Init_bitwise()
75
+ void Init_bitwise_ext()
76
76
  {
77
77
  BitwiseClass = rb_define_class("Bitwise", rb_cObject);
78
78
  rb_define_singleton_method(BitwiseClass, "population_count", bw_population_count, 1);
@@ -0,0 +1,2 @@
1
+ require 'mkmf'
2
+ create_makefile('bitwise_ext')
@@ -1,6 +1,6 @@
1
1
  # encoding: binary
2
2
 
3
- require 'bitwise/bitwise'
3
+ require 'bitwise_ext'
4
4
 
5
5
  class Bitwise
6
6
  attr_accessor :value
@@ -1,3 +1,5 @@
1
+ # encoding: binary
2
+
1
3
  require 'bitwise'
2
4
  require 'set'
3
5
 
metadata CHANGED
@@ -1,102 +1,112 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bitwise
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
5
- prerelease:
4
+ version: 0.6.0
6
5
  platform: ruby
7
6
  authors:
8
7
  - Kenn Ejima
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2012-02-28 00:00:00.000000000 Z
11
+ date: 2013-02-26 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: rspec
16
- requirement: &2155501460 !ruby/object:Gem::Requirement
17
- none: false
15
+ requirement: !ruby/object:Gem::Requirement
18
16
  requirements:
19
- - - ! '>='
17
+ - - '>='
20
18
  - !ruby/object:Gem::Version
21
19
  version: '0'
22
20
  type: :development
23
21
  prerelease: false
24
- version_requirements: *2155501460
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - '>='
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
25
27
  - !ruby/object:Gem::Dependency
26
28
  name: bundler
27
- requirement: &2155499800 !ruby/object:Gem::Requirement
28
- none: false
29
+ requirement: !ruby/object:Gem::Requirement
29
30
  requirements:
30
- - - ! '>='
31
+ - - '>='
31
32
  - !ruby/object:Gem::Version
32
33
  version: '0'
33
34
  type: :development
34
35
  prerelease: false
35
- version_requirements: *2155499800
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - '>='
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
36
41
  - !ruby/object:Gem::Dependency
37
- name: jeweler
38
- requirement: &2155515220 !ruby/object:Gem::Requirement
39
- none: false
42
+ name: rake-compiler
43
+ requirement: !ruby/object:Gem::Requirement
40
44
  requirements:
41
- - - ! '>='
45
+ - - '>='
42
46
  - !ruby/object:Gem::Version
43
47
  version: '0'
44
48
  type: :development
45
49
  prerelease: false
46
- version_requirements: *2155515220
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
47
55
  - !ruby/object:Gem::Dependency
48
- name: rake-compiler
49
- requirement: &2155514120 !ruby/object:Gem::Requirement
50
- none: false
56
+ name: rake
57
+ requirement: !ruby/object:Gem::Requirement
51
58
  requirements:
52
- - - ! '>='
59
+ - - '>='
53
60
  - !ruby/object:Gem::Version
54
61
  version: '0'
55
62
  type: :development
56
63
  prerelease: false
57
- version_requirements: *2155514120
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - '>='
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
58
69
  description: Fast, memory efficient bitwise operations on large binary strings
59
- email: kenn.ejima@gmail.com
70
+ email:
71
+ - kenn.ejima@gmail.com
60
72
  executables: []
61
73
  extensions:
62
- - ext/bitwise/extconf.rb
63
- extra_rdoc_files:
64
- - LICENSE.txt
65
- - README.md
74
+ - ext/extconf.rb
75
+ extra_rdoc_files: []
66
76
  files:
77
+ - .gitignore
78
+ - .travis.yml
67
79
  - Gemfile
68
- - LICENSE.txt
80
+ - LICENSE
69
81
  - README.md
70
82
  - Rakefile
71
- - VERSION
72
83
  - bitwise.gemspec
73
- - ext/bitwise/bitwise.c
74
- - ext/bitwise/extconf.rb
84
+ - ext/bitwise.c
85
+ - ext/extconf.rb
75
86
  - lib/bitwise.rb
76
87
  - spec/bitwise_spec.rb
77
88
  homepage: http://github.com/kenn/bitwise
78
- licenses:
79
- - MIT
89
+ licenses: []
90
+ metadata: {}
80
91
  post_install_message:
81
92
  rdoc_options: []
82
93
  require_paths:
83
94
  - lib
84
95
  required_ruby_version: !ruby/object:Gem::Requirement
85
- none: false
86
96
  requirements:
87
- - - ! '>='
97
+ - - '>='
88
98
  - !ruby/object:Gem::Version
89
99
  version: '0'
90
100
  required_rubygems_version: !ruby/object:Gem::Requirement
91
- none: false
92
101
  requirements:
93
- - - ! '>='
102
+ - - '>='
94
103
  - !ruby/object:Gem::Version
95
104
  version: '0'
96
105
  requirements: []
97
106
  rubyforge_project:
98
- rubygems_version: 1.8.15
107
+ rubygems_version: 2.0.0
99
108
  signing_key:
100
- specification_version: 3
109
+ specification_version: 4
101
110
  summary: Fast, memory efficient bitwise operations on large binary strings
102
- test_files: []
111
+ test_files:
112
+ - spec/bitwise_spec.rb
data/VERSION DELETED
@@ -1 +0,0 @@
1
- 0.5.0
@@ -1,2 +0,0 @@
1
- require 'mkmf'
2
- create_makefile("bitwise/bitwise")