]> git.donarmstrong.com Git - biopieces.git/blob - code_ruby/Maasha/lib/doc/Base36.html
added rdoc stuff
[biopieces.git] / code_ruby / Maasha / lib / doc / Base36.html
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: Base36</title>
9
10         <link rel="stylesheet" href="./rdoc.css" type="text/css" media="screen" />
11
12         <script src="./js/jquery.js" type="text/javascript"
13                 charset="utf-8"></script>
14         <script src="./js/thickbox-compressed.js" type="text/javascript"
15                 charset="utf-8"></script>
16         <script src="./js/quicksearch.js" type="text/javascript"
17                 charset="utf-8"></script>
18         <script src="./js/darkfish.js" type="text/javascript"
19                 charset="utf-8"></script>
20
21 </head>
22 <body class="class">
23
24         <div id="metadata">
25                 <div id="home-metadata">
26                         <div id="home-section" class="section">
27         <h3 class="section-header">
28           <a href="./index.html">Home</a>
29           <a href="./index.html#classes">Classes</a>
30           <a href="./index.html#methods">Methods</a>
31         </h3>
32                         </div>
33                 </div>
34
35                 <div id="file-metadata">
36                         <div id="file-list-section" class="section">
37                                 <h3 class="section-header">In Files</h3>
38                                 <div class="section-body">
39                                         <ul>
40                                         
41                                                 <li><a href="./base36_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
42                                                         class="thickbox" title="base36.rb">base36.rb</a></li>
43                                         
44                                         </ul>
45                                 </div>
46                         </div>
47
48                         
49                 </div>
50
51                 <div id="class-metadata">
52
53                         <!-- Parent Class -->
54                         
55                         <div id="parent-class-section" class="section">
56                                 <h3 class="section-header">Parent</h3>
57                                 
58                                 <p class="link">Object</p>
59                                 
60                         </div>
61                         
62
63                         <!-- Namespace Contents -->
64                         
65
66                         <!-- Method Quickref -->
67                         
68                         <div id="method-list-section" class="section">
69                                 <h3 class="section-header">Methods</h3>
70                                 <ul class="link-list">
71                                         
72                                         <li><a href="#method-c-decode">::decode</a></li>
73                                         
74                                         <li><a href="#method-c-encode">::encode</a></li>
75                                         
76                                 </ul>
77                         </div>
78                         
79
80                         <!-- Included Modules -->
81                         
82                 </div>
83
84                 <div id="project-metadata">
85                         
86                         
87
88                         <div id="classindex-section" class="section project-section">
89                                 <h3 class="section-header">Class Index
90                                         <span class="search-toggle"><img src="./images/find.png"
91                                                 height="16" width="16" alt="[+]"
92                                                 title="show/hide quicksearch" /></span></h3>
93                                 <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
94                                 <fieldset>
95                                         <legend>Quicksearch</legend>
96                                         <input type="text" name="quicksearch" value=""
97                                                 class="quicksearch-field" />
98                                 </fieldset>
99                                 </form>
100
101                                 <ul class="link-list">
102                                 
103                                         <li><a href="./Base36.html">Base36</a></li>
104                                 
105                                         <li><a href="./Base36Error.html">Base36Error</a></li>
106                                 
107                                         <li><a href="./Biopieces.html">Biopieces</a></li>
108                                 
109                                         <li><a href="./BitArray.html">BitArray</a></li>
110                                 
111                                         <li><a href="./BitArrayError.html">BitArrayError</a></li>
112                                 
113                                         <li><a href="./Boulder.html">Boulder</a></li>
114                                 
115                                         <li><a href="./BoulderError.html">BoulderError</a></li>
116                                 
117                                         <li><a href="./CastError.html">CastError</a></li>
118                                 
119                                         <li><a href="./Casts.html">Casts</a></li>
120                                 
121                                         <li><a href="./Digest.html">Digest</a></li>
122                                 
123                                         <li><a href="./DigestError.html">DigestError</a></li>
124                                 
125                                         <li><a href="./Fasta.html">Fasta</a></li>
126                                 
127                                         <li><a href="./FastaError.html">FastaError</a></li>
128                                 
129                                         <li><a href="./Fastq.html">Fastq</a></li>
130                                 
131                                         <li><a href="./FastqError.html">FastqError</a></li>
132                                 
133                                         <li><a href="./Filesys.html">Filesys</a></li>
134                                 
135                                         <li><a href="./FilesysError.html">FilesysError</a></li>
136                                 
137                                         <li><a href="./Genbank.html">Genbank</a></li>
138                                 
139                                         <li><a href="./GenbankError.html">GenbankError</a></li>
140                                 
141                                         <li><a href="./GenbankFeatures.html">GenbankFeatures</a></li>
142                                 
143                                         <li><a href="./Locator.html">Locator</a></li>
144                                 
145                                         <li><a href="./LocatorError.html">LocatorError</a></li>
146                                 
147                                         <li><a href="./OptionHandler.html">OptionHandler</a></li>
148                                 
149                                         <li><a href="./Read.html">Read</a></li>
150                                 
151                                         <li><a href="./SFF.html">SFF</a></li>
152                                 
153                                         <li><a href="./SFFError.html">SFFError</a></li>
154                                 
155                                         <li><a href="./Seq.html">Seq</a></li>
156                                 
157                                         <li><a href="./SeqError.html">SeqError</a></li>
158                                 
159                                         <li><a href="./Status.html">Status</a></li>
160                                 
161                                         <li><a href="./Stream.html">Stream</a></li>
162                                 
163                                         <li><a href="./String.html">String</a></li>
164                                 
165                                         <li><a href="./StringError.html">StringError</a></li>
166                                 
167                                 </ul>
168                                 <div id="no-class-search-results" style="display: none;">No matching classes.</div>
169                         </div>
170
171                         
172                 </div>
173         </div>
174
175         <div id="documentation">
176                 <h1 class="class">Base36</h1>
177
178                 <div id="description">
179                         <p>
180 Class containing methods to encode and decode Base 36. Note that the ALPH
181 is [alph + num] and not [num + alph] which prevents us from simply using
182 .to_i(36) and .to_s(36).
183 </p>
184 <p>
185 <a
186 href="http://en.wikipedia.org/wiki/Base_36">en.wikipedia.org/wiki/Base_36</a>
187 </p>
188
189                 </div>
190
191                 <!-- Constants -->
192                 
193
194                 <!-- Attributes -->
195                 
196
197                 <!-- Methods -->
198                 
199                 <div id="public-class-method-details" class="method-section section">
200                         <h3 class="section-header">Public Class Methods</h3>
201
202                 
203                         <div id="decode-method" class="method-detail ">
204                                 <a name="method-c-decode"></a>
205
206                                 <div class="method-heading">
207                                 
208                                         <span class="method-name">decode</span><span
209                                                 class="method-args">(base36)</span>
210                                         <span class="method-click-advice">click to toggle source</span>
211                                 
212                                 </div>
213
214                                 <div class="method-description">
215                                         
216                                         <p>
217 Method that decodes a base36 string and returns an integer.
218 </p>
219                                         
220
221                                         
222                                         <div class="method-source-code"
223                                                 id="decode-source">
224 <pre>
225     <span class="ruby-comment cmt"># File base36.rb, line 55</span>
226 55:   <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">decode</span>(<span class="ruby-identifier">base36</span>)
227 56:     <span class="ruby-identifier">raise</span> <span class="ruby-constant">Base36Error</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">base36</span>.<span class="ruby-identifier">empty?</span>
228 57: 
229 58:     <span class="ruby-identifier">result</span> = <span class="ruby-value">0</span>
230 59:     <span class="ruby-identifier">pos</span>    = <span class="ruby-value">0</span>
231 60: 
232 61:     <span class="ruby-identifier">base36</span>.<span class="ruby-identifier">upcase</span>.<span class="ruby-identifier">reverse</span>.<span class="ruby-identifier">each_char</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">char</span><span class="ruby-operator">|</span>
233 62:       <span class="ruby-identifier">result</span> <span class="ruby-operator">+=</span> <span class="ruby-constant">ALPH</span>.<span class="ruby-identifier">index</span>(<span class="ruby-identifier">char</span>) * (<span class="ruby-constant">BASE36</span> <span class="ruby-operator">**</span> <span class="ruby-identifier">pos</span>)
234 63:       <span class="ruby-identifier">pos</span>    <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
235 64:     <span class="ruby-keyword kw">end</span>
236 65: 
237 66:     <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">result</span>;
238 67:   <span class="ruby-keyword kw">end</span></pre>
239                                         </div>
240                                         
241                                 </div>
242
243                                 
244
245                                 
246                         </div>
247
248                 
249                         <div id="encode-method" class="method-detail ">
250                                 <a name="method-c-encode"></a>
251
252                                 <div class="method-heading">
253                                 
254                                         <span class="method-name">encode</span><span
255                                                 class="method-args">(num)</span>
256                                         <span class="method-click-advice">click to toggle source</span>
257                                 
258                                 </div>
259
260                                 <div class="method-description">
261                                         
262                                         <p>
263 Method that encodes an integer into a base36 string that is returned.
264 </p>
265                                         
266
267                                         
268                                         <div class="method-source-code"
269                                                 id="encode-source">
270 <pre>
271     <span class="ruby-comment cmt"># File base36.rb, line 39</span>
272 39:   <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">encode</span>(<span class="ruby-identifier">num</span>)
273 40:     <span class="ruby-identifier">raise</span> <span class="ruby-constant">Base36Error</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">num</span>.<span class="ruby-identifier">is_a?</span> <span class="ruby-constant">Fixnum</span>
274 41: 
275 42:     <span class="ruby-identifier">base36</span> = <span class="ruby-value str">&quot;&quot;</span>
276 43: 
277 44:     <span class="ruby-keyword kw">while</span> <span class="ruby-identifier">num</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span>
278 45:       <span class="ruby-identifier">base36</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">ALPH</span>[(<span class="ruby-identifier">num</span> <span class="ruby-operator">%</span> <span class="ruby-constant">BASE36</span>)]
279 46:       <span class="ruby-identifier">num</span> <span class="ruby-operator">/=</span> <span class="ruby-constant">BASE36</span>
280 47:     <span class="ruby-keyword kw">end</span>
281 48: 
282 49:     <span class="ruby-identifier">base36</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">ALPH</span>[<span class="ruby-value">0</span>] <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">num</span> <span class="ruby-operator">==</span> <span class="ruby-value">0</span>
283 50: 
284 51:     <span class="ruby-identifier">base36</span>.<span class="ruby-identifier">reverse</span>
285 52:   <span class="ruby-keyword kw">end</span></pre>
286                                         </div>
287                                         
288                                 </div>
289
290                                 
291
292                                 
293                         </div>
294
295                 
296                 </div>
297         
298
299         </div>
300
301
302         <div id="rdoc-debugging-section-dump" class="debugging-section">
303         
304                 <p>Disabled; run with --debug to generate this.</p>
305         
306         </div>
307
308         <div id="validator-badges">
309                 <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
310                 <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
311                         Rdoc Generator</a> 1.1.6</small>.</p>
312         </div>
313
314 </body>
315 </html>
316