zipfian 0.0.1 → 0.0.2
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.
- data/README.md +5 -1
- data/lib/zipfian/version.rb +1 -1
- data/lib/zipfian.rb +2 -0
- data/test/test_zipfian.rb +10 -5
- metadata +72 -45
data/README.md
CHANGED
@@ -23,11 +23,15 @@ Or install it yourself as:
|
|
23
23
|
# 1.0: Exponent
|
24
24
|
z = Zipfian.new 1000, 1.0
|
25
25
|
|
26
|
+
puts z.n # 1000
|
27
|
+
puts z.s # 0.1
|
28
|
+
|
26
29
|
(1..1000).each do |i|
|
27
30
|
puts [z.pmf(i), z.cdf(i)].join ' - '
|
28
31
|
end
|
29
32
|
|
30
|
-
puts z.sample
|
33
|
+
puts z.sample # Integer between 1 and 1000
|
34
|
+
|
31
35
|
```
|
32
36
|
|
33
37
|
## Disclaimer
|
data/lib/zipfian/version.rb
CHANGED
data/lib/zipfian.rb
CHANGED
data/test/test_zipfian.rb
CHANGED
@@ -17,6 +17,12 @@ class TestZipfian < Test::Unit::TestCase
|
|
17
17
|
assert_raise(ArgumentError) { z = Zipfian.new 100, -1 }
|
18
18
|
end
|
19
19
|
|
20
|
+
def test_s_n
|
21
|
+
z = Zipfian.new 1000, 0.1
|
22
|
+
assert_equal 1000, z.n
|
23
|
+
assert_equal 0.1, z.s
|
24
|
+
end
|
25
|
+
|
20
26
|
def test_invalid_rank
|
21
27
|
z = Zipfian.new 1000, 0.1
|
22
28
|
|
@@ -29,12 +35,11 @@ class TestZipfian < Test::Unit::TestCase
|
|
29
35
|
def test_pmf_cdf
|
30
36
|
z = Zipfian.new 1000, 1
|
31
37
|
|
32
|
-
sum = 0
|
33
|
-
(1..1000).each do |i|
|
34
|
-
assert z.pmf(i) <= z.cdf(i)
|
35
|
-
assert z.pmf(i) < z.pmf(i - 1) if i > 1
|
36
|
-
end
|
37
38
|
assert_equal z.pmf(1), z.cdf(1)
|
39
|
+
(2..1000).each do |i|
|
40
|
+
assert z.pmf(i) < z.cdf(i)
|
41
|
+
assert z.pmf(i) < z.pmf(i - 1)
|
42
|
+
end
|
38
43
|
assert_equal 1, z.cdf(1000)
|
39
44
|
end
|
40
45
|
|
metadata
CHANGED
@@ -1,56 +1,74 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: zipfian
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
hash: 27
|
5
5
|
prerelease:
|
6
|
+
segments:
|
7
|
+
- 0
|
8
|
+
- 0
|
9
|
+
- 2
|
10
|
+
version: 0.0.2
|
6
11
|
platform: ruby
|
7
|
-
authors:
|
12
|
+
authors:
|
8
13
|
- Junegunn Choi
|
9
14
|
autorequire:
|
10
15
|
bindir: bin
|
11
16
|
cert_chain: []
|
12
|
-
|
13
|
-
|
14
|
-
|
17
|
+
|
18
|
+
date: 2012-05-04 00:00:00 Z
|
19
|
+
dependencies:
|
20
|
+
- !ruby/object:Gem::Dependency
|
15
21
|
name: test-unit
|
16
|
-
|
22
|
+
prerelease: false
|
23
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
17
24
|
none: false
|
18
|
-
requirements:
|
19
|
-
- -
|
20
|
-
- !ruby/object:Gem::Version
|
21
|
-
|
25
|
+
requirements:
|
26
|
+
- - ">="
|
27
|
+
- !ruby/object:Gem::Version
|
28
|
+
hash: 3
|
29
|
+
segments:
|
30
|
+
- 0
|
31
|
+
version: "0"
|
22
32
|
type: :development
|
23
|
-
|
24
|
-
|
25
|
-
- !ruby/object:Gem::Dependency
|
33
|
+
version_requirements: *id001
|
34
|
+
- !ruby/object:Gem::Dependency
|
26
35
|
name: guard
|
27
|
-
|
36
|
+
prerelease: false
|
37
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
28
38
|
none: false
|
29
|
-
requirements:
|
30
|
-
- -
|
31
|
-
- !ruby/object:Gem::Version
|
32
|
-
|
39
|
+
requirements:
|
40
|
+
- - ">="
|
41
|
+
- !ruby/object:Gem::Version
|
42
|
+
hash: 3
|
43
|
+
segments:
|
44
|
+
- 0
|
45
|
+
version: "0"
|
33
46
|
type: :development
|
34
|
-
|
35
|
-
|
36
|
-
- !ruby/object:Gem::Dependency
|
47
|
+
version_requirements: *id002
|
48
|
+
- !ruby/object:Gem::Dependency
|
37
49
|
name: guard-test
|
38
|
-
|
50
|
+
prerelease: false
|
51
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
39
52
|
none: false
|
40
|
-
requirements:
|
41
|
-
- -
|
42
|
-
- !ruby/object:Gem::Version
|
43
|
-
|
53
|
+
requirements:
|
54
|
+
- - ">="
|
55
|
+
- !ruby/object:Gem::Version
|
56
|
+
hash: 3
|
57
|
+
segments:
|
58
|
+
- 0
|
59
|
+
version: "0"
|
44
60
|
type: :development
|
45
|
-
|
46
|
-
version_requirements: *2153865340
|
61
|
+
version_requirements: *id003
|
47
62
|
description: Zipfian distribution
|
48
|
-
email:
|
63
|
+
email:
|
49
64
|
- junegunn.c@gmail.com
|
50
65
|
executables: []
|
66
|
+
|
51
67
|
extensions: []
|
68
|
+
|
52
69
|
extra_rdoc_files: []
|
53
|
-
|
70
|
+
|
71
|
+
files:
|
54
72
|
- .gitignore
|
55
73
|
- Gemfile
|
56
74
|
- Guardfile
|
@@ -63,27 +81,36 @@ files:
|
|
63
81
|
- zipfian.gemspec
|
64
82
|
homepage: https://github.com/junegunn/zipfian
|
65
83
|
licenses: []
|
84
|
+
|
66
85
|
post_install_message:
|
67
86
|
rdoc_options: []
|
68
|
-
|
87
|
+
|
88
|
+
require_paths:
|
69
89
|
- lib
|
70
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
90
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
71
91
|
none: false
|
72
|
-
requirements:
|
73
|
-
- -
|
74
|
-
- !ruby/object:Gem::Version
|
75
|
-
|
76
|
-
|
92
|
+
requirements:
|
93
|
+
- - ">="
|
94
|
+
- !ruby/object:Gem::Version
|
95
|
+
hash: 3
|
96
|
+
segments:
|
97
|
+
- 0
|
98
|
+
version: "0"
|
99
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
77
100
|
none: false
|
78
|
-
requirements:
|
79
|
-
- -
|
80
|
-
- !ruby/object:Gem::Version
|
81
|
-
|
101
|
+
requirements:
|
102
|
+
- - ">="
|
103
|
+
- !ruby/object:Gem::Version
|
104
|
+
hash: 3
|
105
|
+
segments:
|
106
|
+
- 0
|
107
|
+
version: "0"
|
82
108
|
requirements: []
|
109
|
+
|
83
110
|
rubyforge_project:
|
84
|
-
rubygems_version: 1.8.
|
111
|
+
rubygems_version: 1.8.21
|
85
112
|
signing_key:
|
86
113
|
specification_version: 3
|
87
114
|
summary: Zipfian distribution
|
88
|
-
test_files:
|
115
|
+
test_files:
|
89
116
|
- test/test_zipfian.rb
|