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.
- checksums.yaml +7 -0
- data/.gitignore +4 -0
- data/.travis.yml +6 -0
- data/Gemfile +2 -7
- data/{LICENSE.txt → LICENSE} +0 -0
- data/README.md +2 -0
- data/Rakefile +7 -20
- data/bitwise.gemspec +18 -53
- data/ext/{bitwise/bitwise.c → bitwise.c} +3 -3
- data/ext/extconf.rb +2 -0
- data/lib/bitwise.rb +1 -1
- data/spec/bitwise_spec.rb +2 -0
- metadata +49 -39
- data/VERSION +0 -1
- data/ext/bitwise/extconf.rb +0 -2
checksums.yaml
ADDED
@@ -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
|
data/.gitignore
ADDED
data/.travis.yml
ADDED
data/Gemfile
CHANGED
data/{LICENSE.txt → LICENSE}
RENAMED
File without changes
|
data/README.md
CHANGED
data/Rakefile
CHANGED
@@ -1,12 +1,13 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
# require 'bundler'
|
1
|
+
#!/usr/bin/env rake
|
2
|
+
require 'bundler/gem_tasks'
|
4
3
|
|
5
|
-
|
6
|
-
|
7
|
-
|
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
|
data/bitwise.gemspec
CHANGED
@@ -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 |
|
7
|
-
|
8
|
-
|
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
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
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
|
-
|
39
|
-
|
18
|
+
gem.add_development_dependency 'rspec'
|
19
|
+
gem.add_development_dependency 'bundler'
|
20
|
+
gem.add_development_dependency 'rake-compiler'
|
40
21
|
|
41
|
-
|
42
|
-
|
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
|
-
|
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
|
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);
|
data/ext/extconf.rb
ADDED
data/lib/bitwise.rb
CHANGED
data/spec/bitwise_spec.rb
CHANGED
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
|
-
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:
|
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:
|
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:
|
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:
|
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:
|
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:
|
38
|
-
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:
|
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
|
49
|
-
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:
|
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:
|
70
|
+
email:
|
71
|
+
- kenn.ejima@gmail.com
|
60
72
|
executables: []
|
61
73
|
extensions:
|
62
|
-
- ext/
|
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
|
80
|
+
- LICENSE
|
69
81
|
- README.md
|
70
82
|
- Rakefile
|
71
|
-
- VERSION
|
72
83
|
- bitwise.gemspec
|
73
|
-
- ext/bitwise
|
74
|
-
- ext/
|
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
|
-
|
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:
|
107
|
+
rubygems_version: 2.0.0
|
99
108
|
signing_key:
|
100
|
-
specification_version:
|
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
|
data/ext/bitwise/extconf.rb
DELETED