bitwise 0.5.0 → 0.6.0

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