murmurhash3 0.1.5 → 0.1.7
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/LICENSE +22 -0
- 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/pure_ruby.rb +3 -23
- data/lib/murmurhash3/version.rb +1 -1
- metadata +22 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 03bdf8c3195285182ef8e3c6106764fdebdbac4d1615b0a8684c2a4433d1f3d7
|
4
|
+
data.tar.gz: 670bf1fb798cff08c3a96e9e95aa668cdbbaf4bff32de5a43cdea15ad2253e2f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8f4823a22bef08e9341f393ab19fa4494f34566f0df0d285d8b6b4a5d984c8a004140952f8044e1a714df415be7720f392e827ca07bdc9351d5a99e84861eecf
|
7
|
+
data.tar.gz: 5969b9d64ad4c294d38ea856b60b1dfa70782d50e3d6c43aadc9b22e515b70a25bb0f2e2caac2a9efc207921d7e8b3cb9df169a0bccd0cf0300e6dc1632f394e
|
data/LICENSE
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
Copyright (c) 2012 Sokolov Yura 'funny-falcon'
|
2
|
+
|
3
|
+
MIT License
|
4
|
+
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
6
|
+
a copy of this software and associated documentation files (the
|
7
|
+
"Software"), to deal in the Software without restriction, including
|
8
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
9
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
10
|
+
permit persons to whom the Software is furnished to do so, subject to
|
11
|
+
the following conditions:
|
12
|
+
|
13
|
+
The above copyright notice and this permission notice shall be
|
14
|
+
included in all copies or substantial portions of the Software.
|
15
|
+
|
16
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
17
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
18
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
19
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
20
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
21
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
22
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
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
|
@@ -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.7
|
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:
|
12
|
-
dependencies:
|
11
|
+
date: 2023-01-05 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
|
@@ -18,9 +32,12 @@ extensions:
|
|
18
32
|
- ext/murmurhash3/extconf.rb
|
19
33
|
extra_rdoc_files: []
|
20
34
|
files:
|
35
|
+
- LICENSE
|
21
36
|
- ext/murmurhash3/extconf.rb
|
22
37
|
- ext/murmurhash3/murmur3.c
|
23
38
|
- lib/murmurhash3.rb
|
39
|
+
- lib/murmurhash3/aliaser.rb
|
40
|
+
- lib/murmurhash3/native_murmur.rb
|
24
41
|
- lib/murmurhash3/pure_ruby.rb
|
25
42
|
- lib/murmurhash3/version.rb
|
26
43
|
- test/test_murmur.rb
|
@@ -37,15 +54,14 @@ 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
|
- - ">="
|
44
61
|
- !ruby/object:Gem::Version
|
45
62
|
version: '0'
|
46
63
|
requirements: []
|
47
|
-
|
48
|
-
rubygems_version: 2.4.4
|
64
|
+
rubygems_version: 3.3.5
|
49
65
|
signing_key:
|
50
66
|
specification_version: 4
|
51
67
|
summary: implements mumur3 hashing function
|