zipf 1.2.4 → 1.2.5

Sign up to get free protection for your applications and to get access to all the features.
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