murmurhash3 0.1.5 → 0.1.6
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 +4 -4
- data/ext/murmurhash3/extconf.rb +1 -1
- data/ext/murmurhash3/murmur3.c +1 -24
- data/lib/murmurhash3/aliaser.rb +30 -0
- data/lib/murmurhash3/native_murmur.rb +11 -0
- data/lib/murmurhash3/native_ruby.rb +15 -0
- data/lib/murmurhash3/pure_ruby.rb +3 -23
- data/lib/murmurhash3/version.rb +1 -1
- metadata +21 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: dc1eb26dcf133d8d15e55951ce0f818dbc9ee2b0
|
4
|
+
data.tar.gz: f3281c6c42e173c307f3ddbbf4618af4c3e36e41
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3e85d8b4ea683f0b50216ef68256fa8d3377fdda8559f91c56fe6684edf83f8b02be1fdc2fb1d63c1202fda0460d3967ef4ff7f61b58d463e96139f10d3d4ff4
|
7
|
+
data.tar.gz: bedd27dc2dd6e57d9078213d74285e7d0bc76d5b5d876fc44c555f5c50ff947386b4844f6938dc878b0bd5645808839dd146484a55fd57a472c3512648a6b388
|
data/ext/murmurhash3/extconf.rb
CHANGED
data/ext/murmurhash3/murmur3.c
CHANGED
@@ -611,8 +611,7 @@ rb_murmur3_128_int64_hash(int argc, VALUE* argv, VALUE self)
|
|
611
611
|
}
|
612
612
|
|
613
613
|
void
|
614
|
-
|
615
|
-
VALUE singleton;
|
614
|
+
Init_native() {
|
616
615
|
VALUE mod_murmur = rb_define_module("MurmurHash3");
|
617
616
|
VALUE mod_murmur32 = rb_define_module_under(mod_murmur, "Native32");
|
618
617
|
VALUE mod_murmur128 = rb_define_module_under(mod_murmur, "Native128");
|
@@ -625,17 +624,6 @@ Init_native_murmur() {
|
|
625
624
|
rb_define_method(mod_murmur32, "murmur3_32_int32_hash", rb_murmur3_32_int32_hash, -1);
|
626
625
|
rb_define_method(mod_murmur32, "murmur3_32_int64_hash", rb_murmur3_32_int64_hash, -1);
|
627
626
|
|
628
|
-
rb_extend_object(mod_murmur32, mod_murmur32);
|
629
|
-
singleton = rb_singleton_class(mod_murmur32);
|
630
|
-
rb_define_alias(singleton, "fmix", "murmur3_32_fmix");
|
631
|
-
rb_define_alias(singleton, "str_hash", "murmur3_32_str_hash");
|
632
|
-
rb_define_alias(singleton, "str_digest", "murmur3_32_str_digest");
|
633
|
-
rb_define_alias(singleton, "str_hexdigest", "murmur3_32_str_hexdigest");
|
634
|
-
rb_define_alias(singleton, "str_base64digest", "murmur3_32_str_base64digest");
|
635
|
-
rb_define_alias(singleton, "int32_hash", "murmur3_32_int32_hash");
|
636
|
-
rb_define_alias(singleton, "int64_hash", "murmur3_32_int64_hash");
|
637
|
-
|
638
|
-
|
639
627
|
rb_define_method(mod_murmur128, "murmur3_128_fmix", rb_fmix64, 1);
|
640
628
|
rb_define_method(mod_murmur128, "murmur3_128_str_hash", rb_murmur3_128_str_hash, -1);
|
641
629
|
rb_define_method(mod_murmur128, "murmur3_128_str_digest", rb_murmur3_128_str_digest, -1);
|
@@ -643,15 +631,4 @@ Init_native_murmur() {
|
|
643
631
|
rb_define_method(mod_murmur128, "murmur3_128_str_base64digest", rb_murmur3_128_str_base64digest, -1);
|
644
632
|
rb_define_method(mod_murmur128, "murmur3_128_int32_hash", rb_murmur3_128_int32_hash, -1);
|
645
633
|
rb_define_method(mod_murmur128, "murmur3_128_int64_hash", rb_murmur3_128_int64_hash, -1);
|
646
|
-
|
647
|
-
rb_extend_object(mod_murmur128, mod_murmur128);
|
648
|
-
singleton = rb_singleton_class(mod_murmur128);
|
649
|
-
rb_define_alias(singleton, "fmix", "murmur3_128_fmix");
|
650
|
-
rb_define_alias(singleton, "str_hash", "murmur3_128_str_hash");
|
651
|
-
rb_define_alias(singleton, "str_digest", "murmur3_128_str_digest");
|
652
|
-
rb_define_alias(singleton, "str_hexdigest", "murmur3_128_str_hexdigest");
|
653
|
-
rb_define_alias(singleton, "str_base64digest", "murmur3_128_str_base64digest");
|
654
|
-
rb_define_alias(singleton, "int32_hash", "murmur3_128_int32_hash");
|
655
|
-
rb_define_alias(singleton, "int64_hash", "murmur3_128_int64_hash");
|
656
|
-
|
657
634
|
}
|
@@ -0,0 +1,30 @@
|
|
1
|
+
module MurmurHash3
|
2
|
+
module Alias32
|
3
|
+
def self.included(base)
|
4
|
+
base.send(:extend, base)
|
5
|
+
class << base
|
6
|
+
alias fmix murmur3_32_fmix
|
7
|
+
alias str_hash murmur3_32_str_hash
|
8
|
+
alias str_digest murmur3_32_str_digest
|
9
|
+
alias str_hexdigest murmur3_32_str_hexdigest
|
10
|
+
alias str_base64digest murmur3_32_str_base64digest
|
11
|
+
alias int32_hash murmur3_32_int32_hash
|
12
|
+
alias int64_hash murmur3_32_int64_hash
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
module Alias128
|
17
|
+
def self.included(base)
|
18
|
+
base.send(:extend, base)
|
19
|
+
class << base
|
20
|
+
alias fmix murmur3_128_fmix
|
21
|
+
alias str_hash murmur3_128_str_hash
|
22
|
+
alias str_digest murmur3_128_str_digest
|
23
|
+
alias str_hexdigest murmur3_128_str_hexdigest
|
24
|
+
alias str_base64digest murmur3_128_str_base64digest
|
25
|
+
alias int32_hash murmur3_128_int32_hash
|
26
|
+
alias int64_hash murmur3_128_int64_hash
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
require 'murmurhash3/aliaser'
|
2
|
+
if RUBY_ENGINE == 'jruby'
|
3
|
+
require 'murmurhash3/native'
|
4
|
+
else
|
5
|
+
require 'murmurhash3/native'
|
6
|
+
end
|
7
|
+
|
8
|
+
module MurmurHash3
|
9
|
+
module Native32
|
10
|
+
include MurmurHash3::Alias32
|
11
|
+
end
|
12
|
+
#module Native128
|
13
|
+
# include MurmurHash3::Alias128
|
14
|
+
#end
|
15
|
+
end
|
@@ -1,4 +1,4 @@
|
|
1
|
-
require '
|
1
|
+
require 'murmurhash3/aliaser'
|
2
2
|
module MurmurHash3
|
3
3
|
module PureRuby32
|
4
4
|
MASK32 = 0xffffffff
|
@@ -64,17 +64,7 @@ module MurmurHash3
|
|
64
64
|
def murmur3_32_str_base64digest(str, seed=0)
|
65
65
|
[[str_hash(str, seed)].pack("V")].pack("m").chomp!
|
66
66
|
end
|
67
|
-
|
68
|
-
class << self
|
69
|
-
include MurmurHash3::PureRuby32
|
70
|
-
alias fmix murmur3_32_fmix
|
71
|
-
alias str_hash murmur3_32_str_hash
|
72
|
-
alias str_digest murmur3_32_str_digest
|
73
|
-
alias str_hexdigest murmur3_32_str_hexdigest
|
74
|
-
alias str_base64digest murmur3_32_str_base64digest
|
75
|
-
alias int32_hash murmur3_32_int32_hash
|
76
|
-
alias int64_hash murmur3_32_int64_hash
|
77
|
-
end
|
67
|
+
include MurmurHash3::Alias32
|
78
68
|
end
|
79
69
|
|
80
70
|
module PureRuby128
|
@@ -170,16 +160,6 @@ module MurmurHash3
|
|
170
160
|
def murmur3_128_str_base64digest(str, seed=0)
|
171
161
|
[str_hash(str, seed).pack("V4")].pack('m').chomp!
|
172
162
|
end
|
173
|
-
|
174
|
-
class << self
|
175
|
-
include MurmurHash3::PureRuby128
|
176
|
-
alias fmix murmur3_128_fmix
|
177
|
-
alias str_hash murmur3_128_str_hash
|
178
|
-
alias str_digest murmur3_128_str_digest
|
179
|
-
alias str_hexdigest murmur3_128_str_hexdigest
|
180
|
-
alias str_base64digest murmur3_128_str_base64digest
|
181
|
-
alias int32_hash murmur3_128_int32_hash
|
182
|
-
alias int64_hash murmur3_128_int64_hash
|
183
|
-
end
|
163
|
+
include MurmurHash3::Alias128
|
184
164
|
end
|
185
165
|
end
|
data/lib/murmurhash3/version.rb
CHANGED
metadata
CHANGED
@@ -1,15 +1,29 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: murmurhash3
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sokolov Yura 'funny-falcon'
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-12-
|
12
|
-
dependencies:
|
11
|
+
date: 2014-12-24 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: rake-compiler
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0.9'
|
20
|
+
type: :development
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0.9'
|
13
27
|
description: implementation of murmur3 hashing function
|
14
28
|
email:
|
15
29
|
- funny.falcon@gmail.com
|
@@ -21,6 +35,9 @@ files:
|
|
21
35
|
- ext/murmurhash3/extconf.rb
|
22
36
|
- ext/murmurhash3/murmur3.c
|
23
37
|
- lib/murmurhash3.rb
|
38
|
+
- lib/murmurhash3/aliaser.rb
|
39
|
+
- lib/murmurhash3/native_murmur.rb
|
40
|
+
- lib/murmurhash3/native_ruby.rb
|
24
41
|
- lib/murmurhash3/pure_ruby.rb
|
25
42
|
- lib/murmurhash3/version.rb
|
26
43
|
- test/test_murmur.rb
|
@@ -37,7 +54,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
37
54
|
requirements:
|
38
55
|
- - ">="
|
39
56
|
- !ruby/object:Gem::Version
|
40
|
-
version:
|
57
|
+
version: 1.9.1
|
41
58
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
42
59
|
requirements:
|
43
60
|
- - ">="
|