entropy 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.
Files changed (63) hide show
  1. data/.gitignore +4 -0
  2. data/Gemfile +4 -0
  3. data/LICENSE.txt +674 -0
  4. data/README.txt +48 -0
  5. data/Rakefile +22 -0
  6. data/doc/rdocs/Entropy.html +234 -0
  7. data/doc/rdocs/Entropy/Dict.html +311 -0
  8. data/doc/rdocs/Entropy/ProbabilityMetricSpace.html +544 -0
  9. data/doc/rdocs/Entropy/ProbabilitySpace.html +473 -0
  10. data/doc/rdocs/Entropy/Stream.html +281 -0
  11. data/doc/rdocs/LICENSE_txt.html +834 -0
  12. data/doc/rdocs/README_txt.html +138 -0
  13. data/doc/rdocs/created.rid +9 -0
  14. data/doc/rdocs/images/brick.png +0 -0
  15. data/doc/rdocs/images/brick_link.png +0 -0
  16. data/doc/rdocs/images/bug.png +0 -0
  17. data/doc/rdocs/images/bullet_black.png +0 -0
  18. data/doc/rdocs/images/bullet_toggle_minus.png +0 -0
  19. data/doc/rdocs/images/bullet_toggle_plus.png +0 -0
  20. data/doc/rdocs/images/date.png +0 -0
  21. data/doc/rdocs/images/find.png +0 -0
  22. data/doc/rdocs/images/loadingAnimation.gif +0 -0
  23. data/doc/rdocs/images/macFFBgHack.png +0 -0
  24. data/doc/rdocs/images/package.png +0 -0
  25. data/doc/rdocs/images/page_green.png +0 -0
  26. data/doc/rdocs/images/page_white_text.png +0 -0
  27. data/doc/rdocs/images/page_white_width.png +0 -0
  28. data/doc/rdocs/images/plugin.png +0 -0
  29. data/doc/rdocs/images/ruby.png +0 -0
  30. data/doc/rdocs/images/tag_green.png +0 -0
  31. data/doc/rdocs/images/wrench.png +0 -0
  32. data/doc/rdocs/images/wrench_orange.png +0 -0
  33. data/doc/rdocs/images/zoom.png +0 -0
  34. data/doc/rdocs/index.html +155 -0
  35. data/doc/rdocs/js/darkfish.js +116 -0
  36. data/doc/rdocs/js/jquery.js +32 -0
  37. data/doc/rdocs/js/quicksearch.js +114 -0
  38. data/doc/rdocs/js/thickbox-compressed.js +10 -0
  39. data/doc/rdocs/lib/entropy/dict_rb.html +56 -0
  40. data/doc/rdocs/lib/entropy/metric_space_rb.html +54 -0
  41. data/doc/rdocs/lib/entropy/probability_space_rb.html +52 -0
  42. data/doc/rdocs/lib/entropy/stream_rb.html +52 -0
  43. data/doc/rdocs/lib/entropy/version_rb.html +52 -0
  44. data/doc/rdocs/lib/entropy_rb.html +62 -0
  45. data/doc/rdocs/rdoc.css +763 -0
  46. data/entropy.gemspec +24 -0
  47. data/example/metric_prob_space.rb +42 -0
  48. data/example/prob_space.rb +31 -0
  49. data/lib/entropy.rb +13 -0
  50. data/lib/entropy/dict.rb +30 -0
  51. data/lib/entropy/metric_space.rb +116 -0
  52. data/lib/entropy/probability_space.rb +91 -0
  53. data/lib/entropy/stream.rb +37 -0
  54. data/lib/entropy/version.rb +3 -0
  55. data/test/stream0.txt +1 -0
  56. data/test/stream1.txt +1 -0
  57. data/test/stream2.txt +1 -0
  58. data/test/stream_random.bin +2 -0
  59. data/test/test_entropy_def.rb +10 -0
  60. data/test/test_entropy_metr.rb +36 -0
  61. data/test/test_entropy_prob.rb +64 -0
  62. data/test/test_entropy_stream.rb +29 -0
  63. metadata +127 -0
@@ -0,0 +1,473 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
3
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
4
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
5
+ <head>
6
+ <meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
7
+
8
+ <title>Class: Entropy::ProbabilitySpace</title>
9
+
10
+ <link rel="stylesheet" href="../rdoc.css" type="text/css" media="screen" />
11
+
12
+ <script src="../js/jquery.js" type="text/javascript" charset="utf-8"></script>
13
+ <script src="../js/thickbox-compressed.js" type="text/javascript" charset="utf-8"></script>
14
+ <script src="../js/quicksearch.js" type="text/javascript" charset="utf-8"></script>
15
+ <script src="../js/darkfish.js" type="text/javascript" charset="utf-8"></script>
16
+
17
+ </head>
18
+ <body id="top" class="class">
19
+
20
+ <div id="metadata">
21
+ <div id="home-metadata">
22
+ <div id="home-section" class="section">
23
+ <h3 class="section-header">
24
+ <a href="../index.html">Home</a>
25
+ <a href="../index.html#classes">Classes</a>
26
+ <a href="../index.html#methods">Methods</a>
27
+ </h3>
28
+ </div>
29
+ </div>
30
+
31
+ <div id="file-metadata">
32
+ <div id="file-list-section" class="section">
33
+ <h3 class="section-header">In Files</h3>
34
+ <div class="section-body">
35
+ <ul>
36
+
37
+ <li><a href="../lib/entropy/probability_space_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
38
+ class="thickbox" title="lib/entropy/probability_space.rb">lib/entropy/probability_space.rb</a></li>
39
+
40
+ </ul>
41
+ </div>
42
+ </div>
43
+
44
+
45
+ </div>
46
+
47
+ <div id="class-metadata">
48
+
49
+ <!-- Parent Class -->
50
+ <div id="parent-class-section" class="section">
51
+ <h3 class="section-header">Parent</h3>
52
+
53
+ <p class="link">Object</p>
54
+
55
+ </div>
56
+
57
+
58
+
59
+
60
+
61
+
62
+
63
+ <!-- Method Quickref -->
64
+ <div id="method-list-section" class="section">
65
+ <h3 class="section-header">Methods</h3>
66
+ <ul class="link-list">
67
+
68
+ <li><a href="#method-c-new">::new</a></li>
69
+
70
+ <li><a href="#method-i-add_stream">#add_stream</a></li>
71
+
72
+ <li><a href="#method-i-cardinality">#cardinality</a></li>
73
+
74
+ <li><a href="#method-i-diversity">#diversity</a></li>
75
+
76
+ <li><a href="#method-i-renyi_entropy">#renyi_entropy</a></li>
77
+
78
+ <li><a href="#method-i-shannon_entropy">#shannon_entropy</a></li>
79
+
80
+ <li><a href="#method-i-surprise">#surprise</a></li>
81
+
82
+ </ul>
83
+ </div>
84
+
85
+
86
+
87
+ </div>
88
+
89
+ <div id="project-metadata">
90
+
91
+
92
+ <div id="fileindex-section" class="section project-section">
93
+ <h3 class="section-header">Files</h3>
94
+ <ul>
95
+
96
+ <li class="file"><a href="../LICENSE_txt.html">LICENSE.txt</a></li>
97
+
98
+ <li class="file"><a href="../README_txt.html">README.txt</a></li>
99
+
100
+ </ul>
101
+ </div>
102
+
103
+
104
+ <div id="classindex-section" class="section project-section">
105
+ <h3 class="section-header">Class/Module Index
106
+ <span class="search-toggle"><img src="../images/find.png"
107
+ height="16" width="16" alt="[+]"
108
+ title="show/hide quicksearch" /></span></h3>
109
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
110
+ <fieldset>
111
+ <legend>Quicksearch</legend>
112
+ <input type="text" name="quicksearch" value=""
113
+ class="quicksearch-field" />
114
+ </fieldset>
115
+ </form>
116
+
117
+ <ul class="link-list">
118
+
119
+ <li><a href="../Entropy.html">Entropy</a></li>
120
+
121
+ <li><a href="../Entropy/Dict.html">Entropy::Dict</a></li>
122
+
123
+ <li><a href="../Entropy/ProbabilityMetricSpace.html">Entropy::ProbabilityMetricSpace</a></li>
124
+
125
+ <li><a href="../Entropy/ProbabilitySpace.html">Entropy::ProbabilitySpace</a></li>
126
+
127
+ <li><a href="../Entropy/Stream.html">Entropy::Stream</a></li>
128
+
129
+ </ul>
130
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
131
+ </div>
132
+
133
+
134
+ </div>
135
+ </div>
136
+
137
+ <div id="documentation">
138
+ <h1 class="class">Entropy::ProbabilitySpace</h1>
139
+
140
+ <div id="description" class="description">
141
+
142
+ <p><a href="ProbabilitySpace.html">Entropy::ProbabilitySpace</a> defines a
143
+ finite probability space</p>
144
+
145
+ </div><!-- description -->
146
+
147
+
148
+
149
+
150
+ <div id="5Buntitled-5D" class="documentation-section">
151
+
152
+
153
+
154
+
155
+
156
+
157
+
158
+ <!-- Attributes -->
159
+ <div id="attribute-method-details" class="method-section section">
160
+ <h3 class="section-header">Attributes</h3>
161
+
162
+
163
+ <div id="prob_space-attribute-method" class="method-detail">
164
+ <a name="prob_space"></a>
165
+
166
+ <a name="prob_space="></a>
167
+
168
+ <div class="method-heading attribute-method-heading">
169
+ <span class="method-name">prob_space</span><span
170
+ class="attribute-access-type">[RW]</span>
171
+ </div>
172
+
173
+ <div class="method-description">
174
+
175
+
176
+
177
+ </div>
178
+ </div>
179
+
180
+ </div><!-- attribute-method-details -->
181
+
182
+
183
+ <!-- Methods -->
184
+
185
+ <div id="public-class-method-details" class="method-section section">
186
+ <h3 class="section-header">Public Class Methods</h3>
187
+
188
+
189
+ <div id="new-method" class="method-detail ">
190
+ <a name="method-c-new"></a>
191
+
192
+
193
+ <div class="method-heading">
194
+ <span class="method-name">new</span><span
195
+ class="method-args">()</span>
196
+ <span class="method-click-advice">click to toggle source</span>
197
+ </div>
198
+
199
+
200
+ <div class="method-description">
201
+
202
+
203
+
204
+
205
+
206
+ <div class="method-source-code" id="new-source">
207
+ <pre>
208
+ <span class="ruby-comment"># File lib/entropy/probability_space.rb, line 8</span>
209
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">initialize</span>
210
+ <span class="ruby-ivar">@space</span> = <span class="ruby-constant">Entropy</span><span class="ruby-operator">::</span><span class="ruby-constant">Stream</span>.<span class="ruby-identifier">new</span>
211
+ <span class="ruby-ivar">@dict</span> = <span class="ruby-constant">Entropy</span><span class="ruby-operator">::</span><span class="ruby-constant">Dict</span>.<span class="ruby-identifier">new</span>()
212
+ <span class="ruby-ivar">@prob_space</span> = []
213
+ <span class="ruby-keyword">end</span></pre>
214
+ </div><!-- new-source -->
215
+
216
+ </div>
217
+
218
+
219
+
220
+
221
+ </div><!-- new-method -->
222
+
223
+
224
+ </div><!-- public-class-method-details -->
225
+
226
+ <div id="public-instance-method-details" class="method-section section">
227
+ <h3 class="section-header">Public Instance Methods</h3>
228
+
229
+
230
+ <div id="add_stream-method" class="method-detail ">
231
+ <a name="method-i-add_stream"></a>
232
+
233
+
234
+ <div class="method-heading">
235
+ <span class="method-name">add_stream</span><span
236
+ class="method-args">(stream)</span>
237
+ <span class="method-click-advice">click to toggle source</span>
238
+ </div>
239
+
240
+
241
+ <div class="method-description">
242
+
243
+ <p>Adds a set of elements (char, bit) to the space</p>
244
+
245
+
246
+
247
+ <div class="method-source-code" id="add_stream-source">
248
+ <pre>
249
+ <span class="ruby-comment"># File lib/entropy/probability_space.rb, line 15</span>
250
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">add_stream</span>(<span class="ruby-identifier">stream</span>)
251
+ <span class="ruby-identifier">puts</span> <span class="ruby-string">&quot;Adding a set in the probability space...&quot;</span>
252
+ <span class="ruby-ivar">@space</span>.<span class="ruby-identifier">add_stream</span>(<span class="ruby-identifier">stream</span>)
253
+ <span class="ruby-identifier">update_probability_space</span>(<span class="ruby-identifier">stream</span>)
254
+ <span class="ruby-keyword">end</span></pre>
255
+ </div><!-- add_stream-source -->
256
+
257
+ </div>
258
+
259
+
260
+
261
+
262
+ </div><!-- add_stream-method -->
263
+
264
+
265
+ <div id="cardinality-method" class="method-detail ">
266
+ <a name="method-i-cardinality"></a>
267
+
268
+
269
+ <div class="method-heading">
270
+ <span class="method-name">cardinality</span><span
271
+ class="method-args">(alpha)</span>
272
+ <span class="method-click-advice">click to toggle source</span>
273
+ </div>
274
+
275
+
276
+ <div class="method-description">
277
+
278
+ <p>Computes the α-Cardinality of the space</p>
279
+
280
+
281
+
282
+ <div class="method-source-code" id="cardinality-source">
283
+ <pre>
284
+ <span class="ruby-comment"># File lib/entropy/probability_space.rb, line 60</span>
285
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">cardinality</span>(<span class="ruby-identifier">alpha</span>)
286
+ <span class="ruby-identifier">card</span> = <span class="ruby-value">0</span>
287
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">alpha</span> <span class="ruby-operator">==</span> <span class="ruby-value">1</span>
288
+ <span class="ruby-identifier">card</span> = <span class="ruby-ivar">@prob_space</span>.<span class="ruby-identifier">map</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">p</span><span class="ruby-operator">|</span> <span class="ruby-identifier">p</span><span class="ruby-operator">**</span>(<span class="ruby-operator">-</span><span class="ruby-identifier">p</span>)}.<span class="ruby-identifier">inject</span>(<span class="ruby-value">1</span>, <span class="ruby-value">:*</span>)
289
+ <span class="ruby-keyword">elsif</span> <span class="ruby-identifier">alpha</span> <span class="ruby-operator">==</span> <span class="ruby-value">:infinite</span>
290
+ <span class="ruby-identifier">card</span> = <span class="ruby-value">1.0</span><span class="ruby-operator">/</span><span class="ruby-ivar">@prob_space</span>.<span class="ruby-identifier">max</span>
291
+ <span class="ruby-keyword">else</span>
292
+ <span class="ruby-identifier">card</span> = <span class="ruby-ivar">@prob_space</span>.<span class="ruby-identifier">map</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">p</span><span class="ruby-operator">|</span> <span class="ruby-identifier">p</span><span class="ruby-operator">**</span><span class="ruby-identifier">alpha</span>}.<span class="ruby-identifier">inject</span>(<span class="ruby-value">:+</span>)
293
+ <span class="ruby-identifier">card</span> = <span class="ruby-identifier">card</span> <span class="ruby-operator">**</span> (<span class="ruby-value">1.0</span> <span class="ruby-operator">/</span> (<span class="ruby-value">1</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">alpha</span>))
294
+ <span class="ruby-keyword">end</span>
295
+ <span class="ruby-identifier">card</span>
296
+ <span class="ruby-keyword">end</span></pre>
297
+ </div><!-- cardinality-source -->
298
+
299
+ </div>
300
+
301
+
302
+
303
+
304
+ </div><!-- cardinality-method -->
305
+
306
+
307
+ <div id="diversity-method" class="method-detail ">
308
+ <a name="method-i-diversity"></a>
309
+
310
+
311
+ <div class="method-heading">
312
+ <span class="method-name">diversity</span><span
313
+ class="method-args">(alpha)</span>
314
+ <span class="method-click-advice">click to toggle source</span>
315
+ </div>
316
+
317
+
318
+ <div class="method-description">
319
+
320
+ <p>Computes the α-Diversity of the space</p>
321
+
322
+
323
+
324
+ <div class="method-source-code" id="diversity-source">
325
+ <pre>
326
+ <span class="ruby-comment"># File lib/entropy/probability_space.rb, line 41</span>
327
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">diversity</span>(<span class="ruby-identifier">alpha</span>)
328
+ <span class="ruby-ivar">@prob_space</span>.<span class="ruby-identifier">map</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">p</span><span class="ruby-operator">|</span> <span class="ruby-identifier">p</span> * <span class="ruby-identifier">surprise</span>(<span class="ruby-identifier">alpha</span>, <span class="ruby-identifier">p</span>) }.<span class="ruby-identifier">inject</span>(<span class="ruby-value">:+</span>)
329
+ <span class="ruby-keyword">end</span></pre>
330
+ </div><!-- diversity-source -->
331
+
332
+ </div>
333
+
334
+
335
+
336
+
337
+ </div><!-- diversity-method -->
338
+
339
+
340
+ <div id="renyi_entropy-method" class="method-detail ">
341
+ <a name="method-i-renyi_entropy"></a>
342
+
343
+
344
+ <div class="method-heading">
345
+ <span class="method-name">renyi_entropy</span><span
346
+ class="method-args">(alpha)</span>
347
+ <span class="method-click-advice">click to toggle source</span>
348
+ </div>
349
+
350
+
351
+ <div class="method-description">
352
+
353
+ <p>Computes the Renyi <a href="../Entropy.html">Entropy</a> (α-<a
354
+ href="../Entropy.html">Entropy</a>) of the space</p>
355
+
356
+
357
+
358
+ <div class="method-source-code" id="renyi_entropy-source">
359
+ <pre>
360
+ <span class="ruby-comment"># File lib/entropy/probability_space.rb, line 27</span>
361
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">renyi_entropy</span>(<span class="ruby-identifier">alpha</span>)
362
+ <span class="ruby-identifier">h</span> = <span class="ruby-value">0</span>
363
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">alpha</span> <span class="ruby-operator">==</span> <span class="ruby-value">1</span>
364
+ <span class="ruby-identifier">h</span> = <span class="ruby-ivar">@prob_space</span>.<span class="ruby-identifier">map</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">p</span><span class="ruby-operator">|</span> <span class="ruby-operator">-</span><span class="ruby-identifier">p</span> * <span class="ruby-constant">Math</span>.<span class="ruby-identifier">log</span>(<span class="ruby-identifier">p</span>, <span class="ruby-value">2</span>)}.<span class="ruby-identifier">inject</span>(<span class="ruby-value">:+</span>)
365
+ <span class="ruby-keyword">elsif</span> <span class="ruby-identifier">alpha</span> <span class="ruby-operator">==</span> <span class="ruby-value">:infinite</span>
366
+ <span class="ruby-identifier">h</span> = <span class="ruby-operator">-</span><span class="ruby-constant">Math</span>.<span class="ruby-identifier">log</span>(<span class="ruby-ivar">@prob_space</span>.<span class="ruby-identifier">max</span>, <span class="ruby-value">2</span>)
367
+ <span class="ruby-keyword">else</span>
368
+ <span class="ruby-identifier">h</span> = <span class="ruby-ivar">@prob_space</span>.<span class="ruby-identifier">map</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">p</span><span class="ruby-operator">|</span> <span class="ruby-identifier">p</span><span class="ruby-operator">**</span><span class="ruby-identifier">alpha</span>}.<span class="ruby-identifier">inject</span>(<span class="ruby-value">:+</span>)
369
+ <span class="ruby-identifier">h</span> = <span class="ruby-value">1.0</span> <span class="ruby-operator">/</span> (<span class="ruby-value">1</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">alpha</span>) * <span class="ruby-constant">Math</span>.<span class="ruby-identifier">log</span>(<span class="ruby-identifier">h</span>, <span class="ruby-value">2</span>)
370
+ <span class="ruby-keyword">end</span>
371
+ <span class="ruby-identifier">h</span>
372
+ <span class="ruby-keyword">end</span></pre>
373
+ </div><!-- renyi_entropy-source -->
374
+
375
+ </div>
376
+
377
+
378
+
379
+
380
+ </div><!-- renyi_entropy-method -->
381
+
382
+
383
+ <div id="shannon_entropy-method" class="method-detail ">
384
+ <a name="method-i-shannon_entropy"></a>
385
+
386
+
387
+ <div class="method-heading">
388
+ <span class="method-name">shannon_entropy</span><span
389
+ class="method-args">()</span>
390
+ <span class="method-click-advice">click to toggle source</span>
391
+ </div>
392
+
393
+
394
+ <div class="method-description">
395
+
396
+ <p>Computes the Shannon <a href="../Entropy.html">Entropy</a> of the space</p>
397
+
398
+
399
+
400
+ <div class="method-source-code" id="shannon_entropy-source">
401
+ <pre>
402
+ <span class="ruby-comment"># File lib/entropy/probability_space.rb, line 22</span>
403
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">shannon_entropy</span>
404
+ <span class="ruby-identifier">diversity</span>(<span class="ruby-value">1</span>)
405
+ <span class="ruby-keyword">end</span></pre>
406
+ </div><!-- shannon_entropy-source -->
407
+
408
+ </div>
409
+
410
+
411
+
412
+
413
+ </div><!-- shannon_entropy-method -->
414
+
415
+
416
+ <div id="surprise-method" class="method-detail ">
417
+ <a name="method-i-surprise"></a>
418
+
419
+
420
+ <div class="method-heading">
421
+ <span class="method-name">surprise</span><span
422
+ class="method-args">(alpha, p)</span>
423
+ <span class="method-click-advice">click to toggle source</span>
424
+ </div>
425
+
426
+
427
+ <div class="method-description">
428
+
429
+ <p>Surprise function</p>
430
+
431
+
432
+
433
+ <div class="method-source-code" id="surprise-source">
434
+ <pre>
435
+ <span class="ruby-comment"># File lib/entropy/probability_space.rb, line 46</span>
436
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">surprise</span>(<span class="ruby-identifier">alpha</span>, <span class="ruby-identifier">p</span>)
437
+ <span class="ruby-identifier">s</span> = <span class="ruby-value">0</span>
438
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">alpha</span> <span class="ruby-operator">==</span> <span class="ruby-value">1</span>
439
+ <span class="ruby-identifier">s</span> = <span class="ruby-operator">-</span><span class="ruby-constant">Math</span>.<span class="ruby-identifier">log</span>(<span class="ruby-identifier">p</span>, <span class="ruby-value">2</span>)
440
+ <span class="ruby-keyword">elsif</span> <span class="ruby-identifier">alpha</span> <span class="ruby-operator">==</span> <span class="ruby-value">:infinite</span>
441
+ <span class="ruby-identifier">s</span> = <span class="ruby-value">0</span>
442
+ <span class="ruby-keyword">else</span>
443
+ <span class="ruby-identifier">e</span> = <span class="ruby-identifier">alpha</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>
444
+ <span class="ruby-identifier">s</span> = <span class="ruby-value">1.0</span> <span class="ruby-operator">/</span> <span class="ruby-identifier">e</span> * (<span class="ruby-value">1</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">p</span><span class="ruby-operator">**</span><span class="ruby-identifier">e</span>)
445
+ <span class="ruby-keyword">end</span>
446
+ <span class="ruby-identifier">s</span>
447
+ <span class="ruby-keyword">end</span></pre>
448
+ </div><!-- surprise-source -->
449
+
450
+ </div>
451
+
452
+
453
+
454
+
455
+ </div><!-- surprise-method -->
456
+
457
+
458
+ </div><!-- public-instance-method-details -->
459
+
460
+ </div><!-- 5Buntitled-5D -->
461
+
462
+
463
+ </div><!-- documentation -->
464
+
465
+ <div id="validator-badges">
466
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
467
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
468
+ Rdoc Generator</a> 2</small>.</p>
469
+ </div>
470
+
471
+ </body>
472
+ </html>
473
+