zipf 1.2.4 → 1.2.5

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.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/zipf/SparseVector.rb +21 -0
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 54d12705390ff839421fa266ca48785fe6650a67
4
- data.tar.gz: 04ec96bf88ce2227f09fc2ec1d247403813931f3
3
+ metadata.gz: d5fb9f4826d079d11dfa01131440af30524a6f43
4
+ data.tar.gz: 4bb0ef5c43712fcf9e2888e28a0158cfbfaa3284
5
5
  SHA512:
6
- metadata.gz: 77e3ff04eb800c75f2c69175ec05c9594c8b3d7bec1b65dfbb3b021cd052a60cda6cfe187aa3f9a4dbd8074029a8055d85fa04d3442039e6fcc0ba573d03b7cb
7
- data.tar.gz: 0a7d2b0cdc6b3a87d5d1290e570f323f05fb7963ff82d6d17dab75f89581153f363ae34a3310300a3633cbbe47794d5b3233b6559f3fbd174c0583798526b715
6
+ metadata.gz: 7659467026d772277c80cac227d45d9a26aa12597c00ebbaf9ae3610958e09a84b7c79fa37364673fd910345faadc6140354886bd90cb481ed7a9899a43dbe2c
7
+ data.tar.gz: f2a51b646191cd249715b20be3f035f011bb108050048f95eadb48766b3d83ed2540b6309717fd15f489fd77ec08a1d616ac700ef878ad2de1d34837a7a63bd0
@@ -7,6 +7,10 @@ class SparseVector < Hash
7
7
  self.default = 0
8
8
  if arg.is_a? Array
9
9
  from_a arg
10
+ elsif arg.is_a? Hash
11
+ from_h arg
12
+ elsif arg.is_a? String
13
+ from_s arg
10
14
  end
11
15
  end
12
16
 
@@ -199,5 +203,22 @@ class SparseVector < Hash
199
203
  mean.each_pair { |k,v| mean[k] = v/n }
200
204
  return mean
201
205
  end
206
+
207
+ def norm
208
+ return Math.sqrt(self.dot(self))
209
+ end
210
+
211
+ def unit!
212
+ n = self.norm
213
+ self.each_pair { |k,v|
214
+ self[k] /= n
215
+ }
216
+ end
217
+
218
+ def unit
219
+ v = SparseVector.new(self)
220
+ v.unit!
221
+ return v
222
+ end
202
223
  end
203
224
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: zipf
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.4
4
+ version: 1.2.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Patrick Simianer
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-03-06 00:00:00.000000000 Z
11
+ date: 2015-07-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: json