quantitymanager 0.2.0 → 0.9.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (174) hide show
  1. data/doc/classes/Array.html +12 -12
  2. data/doc/classes/Array.src/M000042.html +23 -0
  3. data/doc/classes/Array.src/M000043.html +19 -0
  4. data/doc/classes/CalculatorTest.html +72 -72
  5. data/doc/classes/CalculatorTest.src/M000024.html +18 -10
  6. data/doc/classes/CalculatorTest.src/M000025.html +11 -17
  7. data/doc/classes/CalculatorTest.src/M000026.html +11 -13
  8. data/doc/classes/CalculatorTest.src/M000027.html +19 -13
  9. data/doc/classes/CalculatorTest.src/M000028.html +12 -11
  10. data/doc/classes/CalculatorTest.src/M000029.html +12 -9
  11. data/doc/classes/CalculatorTest.src/M000030.html +10 -10
  12. data/doc/classes/CalculatorTest.src/M000031.html +9 -15
  13. data/doc/classes/CalculatorTest.src/M000032.html +11 -8
  14. data/doc/classes/CalculatorTest.src/M000033.html +15 -7
  15. data/doc/classes/CalculatorTest.src/M000034.html +8 -17
  16. data/doc/classes/CalculatorTest.src/M000035.html +9 -6
  17. data/doc/classes/CalculatorTest.src/M000036.html +32 -0
  18. data/doc/classes/CalculatorTest.src/M000037.html +20 -0
  19. data/doc/classes/CompasedUnitTest.html +32 -2
  20. data/doc/classes/CompasedUnitTest.src/M000001.html +1 -1
  21. data/doc/classes/CompasedUnitTest.src/M000002.html +1 -1
  22. data/doc/classes/CompasedUnitTest.src/M000003.html +1 -1
  23. data/doc/classes/CompasedUnitTest.src/M000004.html +1 -1
  24. data/doc/classes/CompasedUnitTest.src/M000005.html +1 -1
  25. data/doc/classes/CompasedUnitTest.src/M000006.html +1 -1
  26. data/doc/classes/CompasedUnitTest.src/M000007.html +1 -1
  27. data/doc/classes/CompasedUnitTest.src/M000008.html +1 -1
  28. data/doc/classes/CompasedUnitTest.src/M000009.html +1 -1
  29. data/doc/classes/CompasedUnitTest.src/M000010.html +1 -1
  30. data/doc/classes/CompasedUnitTest.src/M000011.html +18 -0
  31. data/doc/classes/CompasedUnitTest.src/M000012.html +32 -0
  32. data/doc/classes/Configuration.html +22 -22
  33. data/doc/classes/Configuration.src/M000044.html +5 -4
  34. data/doc/classes/Configuration.src/M000045.html +4 -10
  35. data/doc/classes/Configuration.src/M000046.html +18 -0
  36. data/doc/classes/Configuration.src/M000047.html +24 -0
  37. data/doc/classes/ConfigurationTest.html +22 -22
  38. data/doc/classes/ConfigurationTest.src/M000068.html +16 -9
  39. data/doc/classes/ConfigurationTest.src/M000069.html +27 -0
  40. data/doc/classes/ConfigurationTest.src/M000070.html +35 -0
  41. data/doc/classes/ConfigurationTest.src/M000071.html +24 -0
  42. data/doc/classes/CustomUnitConversionTest.html +47 -32
  43. data/doc/classes/CustomUnitConversionTest.src/M000055.html +16 -11
  44. data/doc/classes/CustomUnitConversionTest.src/M000056.html +9 -10
  45. data/doc/classes/CustomUnitConversionTest.src/M000057.html +6 -10
  46. data/doc/classes/CustomUnitConversionTest.src/M000058.html +26 -0
  47. data/doc/classes/CustomUnitConversionTest.src/M000059.html +26 -0
  48. data/doc/classes/CustomUnitConversionTest.src/M000060.html +24 -0
  49. data/doc/classes/CustomUnitConversionTest.src/M000061.html +27 -0
  50. data/doc/classes/Numeric.html +2 -2
  51. data/doc/classes/QuantifiableTest.html +22 -22
  52. data/doc/classes/QuantifiableTest.src/M000038.html +8 -25
  53. data/doc/classes/QuantifiableTest.src/M000039.html +12 -9
  54. data/doc/classes/QuantifiableTest.src/M000040.html +41 -0
  55. data/doc/classes/QuantifiableTest.src/M000041.html +31 -0
  56. data/doc/classes/Quantity/CalculationSupport.html +168 -0
  57. data/doc/classes/Quantity/CalculationSupport.src/M000075.html +22 -0
  58. data/doc/classes/Quantity/CalculationSupport.src/M000076.html +21 -0
  59. data/doc/classes/Quantity/CalculationSupport.src/M000077.html +18 -0
  60. data/doc/classes/Quantity/Calculator.html +32 -32
  61. data/doc/classes/Quantity/Calculator.src/M000083.html +1 -1
  62. data/doc/classes/Quantity/Calculator.src/M000084.html +2 -2
  63. data/doc/classes/Quantity/Calculator.src/M000085.html +1 -1
  64. data/doc/classes/Quantity/Calculator.src/M000086.html +2 -2
  65. data/doc/classes/Quantity/Calculator.src/M000087.html +1 -1
  66. data/doc/classes/Quantity/Calculator.src/M000088.html +2 -3
  67. data/doc/classes/Quantity/Measurable.html +12 -12
  68. data/doc/classes/Quantity/Measurable.src/M000073.html +18 -0
  69. data/doc/classes/Quantity/Measurable.src/M000074.html +18 -0
  70. data/doc/classes/Quantity/OperationInfo.html +13 -13
  71. data/doc/classes/Quantity/OperationInfo.src/M000089.html +3 -3
  72. data/doc/classes/Quantity/OperationInfo.src/M000090.html +1 -1
  73. data/doc/classes/Quantity/Quantifiable.html +7 -7
  74. data/doc/classes/Quantity/Quantifiable.src/M000072.html +18 -0
  75. data/doc/classes/Quantity/Quantity.html +18 -18
  76. data/doc/classes/Quantity/Quantity.src/M000078.html +1 -1
  77. data/doc/classes/Quantity/Quantity.src/M000079.html +1 -1
  78. data/doc/classes/Quantity/Quantity.src/M000080.html +1 -1
  79. data/doc/classes/Quantity/QuantityInfo.html +13 -13
  80. data/doc/classes/Quantity/QuantityInfo.src/M000081.html +1 -1
  81. data/doc/classes/Quantity/QuantityInfo.src/M000082.html +1 -1
  82. data/doc/classes/Quantity.html +5 -5
  83. data/doc/classes/QuantityTest.html +44 -29
  84. data/doc/classes/QuantityTest.src/M000048.html +18 -13
  85. data/doc/classes/QuantityTest.src/M000049.html +17 -4
  86. data/doc/classes/QuantityTest.src/M000050.html +12 -7
  87. data/doc/classes/QuantityTest.src/M000051.html +6 -6
  88. data/doc/classes/QuantityTest.src/M000052.html +22 -0
  89. data/doc/classes/QuantityTest.src/M000053.html +20 -0
  90. data/doc/classes/QuantityTest.src/M000054.html +27 -0
  91. data/doc/classes/SimpleUnitTest.html +29 -44
  92. data/doc/classes/SimpleUnitTest.src/M000062.html +9 -11
  93. data/doc/classes/SimpleUnitTest.src/M000063.html +12 -8
  94. data/doc/classes/SimpleUnitTest.src/M000064.html +7 -4
  95. data/doc/classes/SimpleUnitTest.src/M000065.html +20 -0
  96. data/doc/classes/SimpleUnitTest.src/M000066.html +26 -0
  97. data/doc/classes/SimpleUnitTest.src/M000067.html +21 -0
  98. data/doc/classes/SpecParserTest.html +17 -17
  99. data/doc/classes/SpecParserTest.src/M000021.html +10 -16
  100. data/doc/classes/SpecParserTest.src/M000022.html +28 -0
  101. data/doc/classes/SpecParserTest.src/M000023.html +31 -0
  102. data/doc/classes/Unit/BaseUnit.html +148 -0
  103. data/doc/classes/Unit/BaseUnit.src/M000108.html +18 -0
  104. data/doc/classes/Unit/Comparable.html +12 -12
  105. data/doc/classes/Unit/Comparable.src/M000092.html +1 -1
  106. data/doc/classes/Unit/Comparable.src/M000093.html +1 -1
  107. data/doc/classes/Unit/ComposedUnit.html +61 -55
  108. data/doc/classes/Unit/ComposedUnit.src/M000109.html +7 -10
  109. data/doc/classes/Unit/ComposedUnit.src/M000110.html +4 -8
  110. data/doc/classes/Unit/ComposedUnit.src/M000111.html +4 -15
  111. data/doc/classes/Unit/ComposedUnit.src/M000112.html +6 -10
  112. data/doc/classes/Unit/ComposedUnit.src/M000113.html +4 -11
  113. data/doc/classes/Unit/ComposedUnit.src/M000114.html +4 -4
  114. data/doc/classes/Unit/ComposedUnit.src/M000115.html +22 -0
  115. data/doc/classes/Unit/ComposedUnit.src/M000116.html +25 -0
  116. data/doc/classes/Unit/ComposedUnit.src/M000117.html +18 -0
  117. data/doc/classes/Unit/Optimizer.html +12 -12
  118. data/doc/classes/Unit/Optimizer.src/M000106.html +30 -4
  119. data/doc/classes/Unit/Optimizer.src/M000107.html +18 -0
  120. data/doc/classes/Unit/Parser.html +17 -17
  121. data/doc/classes/Unit/Parser.src/M000103.html +4 -11
  122. data/doc/classes/Unit/Parser.src/M000104.html +11 -5
  123. data/doc/classes/Unit/Parser.src/M000105.html +19 -0
  124. data/doc/classes/Unit/SimpleUnit.html +57 -51
  125. data/doc/classes/Unit/SimpleUnit.src/M000094.html +2 -2
  126. data/doc/classes/Unit/SimpleUnit.src/M000095.html +1 -1
  127. data/doc/classes/Unit/SimpleUnit.src/M000096.html +1 -1
  128. data/doc/classes/Unit/SimpleUnit.src/M000097.html +4 -6
  129. data/doc/classes/Unit/SimpleUnit.src/M000098.html +4 -4
  130. data/doc/classes/Unit/SimpleUnit.src/M000099.html +4 -7
  131. data/doc/classes/Unit/SimpleUnit.src/M000100.html +7 -4
  132. data/doc/classes/Unit/SimpleUnit.src/M000101.html +18 -0
  133. data/doc/classes/Unit/SymbolConverter.html +7 -7
  134. data/doc/classes/Unit/SymbolConverter.src/M000091.html +1 -1
  135. data/doc/classes/Unit/TestCase.html +5 -11
  136. data/doc/classes/Unit/TestCase.src/M000102.html +24 -0
  137. data/doc/classes/Unit.html +6 -4
  138. data/doc/classes/UnitOptemizerTest.html +45 -42
  139. data/doc/classes/UnitOptemizerTest.src/M000013.html +16 -12
  140. data/doc/classes/UnitOptemizerTest.src/M000014.html +6 -8
  141. data/doc/classes/UnitOptemizerTest.src/M000015.html +9 -9
  142. data/doc/classes/UnitOptemizerTest.src/M000016.html +6 -5
  143. data/doc/classes/UnitOptemizerTest.src/M000017.html +9 -5
  144. data/doc/classes/UnitOptemizerTest.src/M000018.html +12 -8
  145. data/doc/classes/UnitOptemizerTest.src/M000019.html +23 -0
  146. data/doc/classes/UnitOptemizerTest.src/M000020.html +22 -0
  147. data/doc/created.rid +1 -1
  148. data/doc/files/lib/config/default_configuration_rb.html +108 -0
  149. data/doc/files/lib/quantity_rb.html +113 -0
  150. data/doc/files/lib/unitmanager/calculator_rb.html +101 -0
  151. data/doc/files/lib/unitmanager/configuration_rb.html +101 -0
  152. data/doc/files/lib/unitmanager/quantity_rb.html +101 -0
  153. data/doc/files/lib/unitmanager/simple_unit_rb.html +109 -0
  154. data/doc/files/lib/unitmanager/unit_composition_rb.html +101 -0
  155. data/doc/files/test/all_tests_rb.html +1 -8
  156. data/doc/files/test/calculator_test_rb.html +109 -0
  157. data/doc/files/test/composed_unit_test_rb.html +101 -0
  158. data/doc/files/test/configuration_test_rb.html +109 -0
  159. data/doc/files/test/custom_conversion_test_rb.html +109 -0
  160. data/doc/files/test/quantifiable_test_rb.html +101 -0
  161. data/doc/files/test/quantity_test_rb.html +101 -0
  162. data/doc/files/test/simple_unit_test_rb.html +101 -0
  163. data/doc/files/test/test_helper_rb.html +1 -2
  164. data/doc/files/test/unit_optimizer_test_rb.html +101 -0
  165. data/doc/files/test/unit_spec_parser_test_rb.html +101 -0
  166. data/doc/fr_class_index.html +13 -1
  167. data/doc/fr_file_index.html +18 -7
  168. data/doc/fr_method_index.html +117 -51
  169. data/doc/index.html +1 -1
  170. data/lib/unitmanager/calculator.rb +4 -5
  171. data/lib/unitmanager/quantity.rb +30 -39
  172. data/lib/unitmanager/simple_unit.rb +5 -5
  173. data/test/quantity_test.rb +13 -0
  174. metadata +69 -3
@@ -5,25 +5,14 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>[] (Unit::ComposedUnit)</title>
8
+ <title>from_base (Unit::ComposedUnit)</title>
9
9
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
10
  <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre><span class="ruby-comment cmt"># File unitmanager/unit_composition.rb, line 75</span>
14
- <span class="ruby-keyword kw">def</span> <span class="ruby-operator">[]</span> (<span class="ruby-identifier">symbol</span>)
15
- <span class="ruby-ivar">@unit_sym</span> = {
16
- <span class="ruby-identifier">:dividends</span> =<span class="ruby-operator">&gt;</span>
17
- <span class="ruby-identifier">collect</span>(<span class="ruby-ivar">@dividends</span>){<span class="ruby-operator">|</span><span class="ruby-identifier">unit</span><span class="ruby-operator">|</span> <span class="ruby-identifier">unit</span>[<span class="ruby-identifier">:dividends</span>]} <span class="ruby-operator">+</span>
18
- <span class="ruby-identifier">collect</span>(<span class="ruby-ivar">@divisors</span>){<span class="ruby-operator">|</span><span class="ruby-identifier">unit</span><span class="ruby-operator">|</span> <span class="ruby-identifier">unit</span>[<span class="ruby-identifier">:divisors</span>]},
19
- <span class="ruby-identifier">:divisors</span> =<span class="ruby-operator">&gt;</span>
20
- <span class="ruby-identifier">collect</span>(<span class="ruby-ivar">@divisors</span>){<span class="ruby-operator">|</span><span class="ruby-identifier">unit</span><span class="ruby-operator">|</span> <span class="ruby-identifier">unit</span>[<span class="ruby-identifier">:dividends</span>]} <span class="ruby-operator">+</span>
21
- <span class="ruby-identifier">collect</span>(<span class="ruby-ivar">@dividends</span>){<span class="ruby-operator">|</span><span class="ruby-identifier">unit</span><span class="ruby-operator">|</span> <span class="ruby-identifier">unit</span>[<span class="ruby-identifier">:divisors</span>]},
22
- <span class="ruby-identifier">:string</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">unit_string</span>
23
-
24
- } <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@unit_sym</span>
25
-
26
- <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@unit_sym</span>[<span class="ruby-identifier">symbol</span>]
13
+ <pre><span class="ruby-comment cmt"># File lib/unitmanager/unit_composition.rb, line 40</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">from_base</span>(<span class="ruby-identifier">value</span>)
15
+ <span class="ruby-identifier">value</span> <span class="ruby-operator">*</span> <span class="ruby-identifier">from_base_coef</span>
27
16
  <span class="ruby-keyword kw">end</span></pre>
28
17
  </body>
29
18
  </html>
@@ -5,20 +5,16 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>reverse (Unit::ComposedUnit)</title>
8
+ <title>h_base (Unit::ComposedUnit)</title>
9
9
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
10
  <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre><span class="ruby-comment cmt"># File unitmanager/unit_composition.rb, line 90</span>
14
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">reverse</span>
15
- <span class="ruby-ivar">@reverse</span> = <span class="ruby-constant">ComposedUnit</span>.<span class="ruby-identifier">new</span>({
16
- <span class="ruby-identifier">:coefficient</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">1.0</span> <span class="ruby-operator">/</span> <span class="ruby-identifier">coefficient</span>,
17
- <span class="ruby-identifier">:dividends</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-ivar">@divisors</span>.<span class="ruby-identifier">collect</span>{<span class="ruby-operator">|</span><span class="ruby-identifier">unit</span><span class="ruby-operator">|</span> <span class="ruby-identifier">unit</span> },
18
- <span class="ruby-identifier">:divisors</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-ivar">@dividends</span>.<span class="ruby-identifier">collect</span>{<span class="ruby-operator">|</span><span class="ruby-identifier">unit</span><span class="ruby-operator">|</span> <span class="ruby-identifier">unit</span> }
19
- }) <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@reverse</span>
20
-
21
- <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@reverse</span>
13
+ <pre><span class="ruby-comment cmt"># File lib/unitmanager/unit_composition.rb, line 46</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">h_base</span>
15
+ <span class="ruby-constant">ComposedUnit</span>.<span class="ruby-identifier">new</span>({ <span class="ruby-identifier">:coefficient</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">1.0</span>,
16
+ <span class="ruby-identifier">:dividends</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-constant">Optimizer</span>.<span class="ruby-identifier">base</span>(<span class="ruby-ivar">@dividends</span>),
17
+ <span class="ruby-identifier">:divisors</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-constant">Optimizer</span>.<span class="ruby-identifier">base</span>(<span class="ruby-ivar">@divisors</span>) })
22
18
  <span class="ruby-keyword kw">end</span></pre>
23
19
  </body>
24
20
  </html>
@@ -5,21 +5,14 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>== (Unit::ComposedUnit)</title>
8
+ <title>dividend (Unit::ComposedUnit)</title>
9
9
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
10
  <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre><span class="ruby-comment cmt"># File unitmanager/unit_composition.rb, line 102</span>
14
- <span class="ruby-keyword kw">def</span> <span class="ruby-operator">==</span>(<span class="ruby-identifier">other</span>)
15
- <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">other</span> <span class="ruby-operator">==</span> <span class="ruby-keyword kw">nil</span>
16
- <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">other</span>.<span class="ruby-identifier">kind_of?</span>(<span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">class</span>)
17
-
18
- <span class="ruby-identifier">result</span> = (<span class="ruby-identifier">coefficient</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">other</span>.<span class="ruby-identifier">coefficient</span>) <span class="ruby-operator">&amp;&amp;</span>
19
- <span class="ruby-identifier">dividends</span>.<span class="ruby-identifier">same?</span>(<span class="ruby-identifier">other</span>.<span class="ruby-identifier">dividends</span>) <span class="ruby-operator">&amp;&amp;</span>
20
- <span class="ruby-identifier">divisors</span>.<span class="ruby-identifier">same?</span>(<span class="ruby-identifier">other</span>.<span class="ruby-identifier">divisors</span>)
21
-
22
- <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">result</span>
13
+ <pre><span class="ruby-comment cmt"># File lib/unitmanager/unit_composition.rb, line 52</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">dividend</span>
15
+ <span class="ruby-constant">ComposedUnit</span>.<span class="ruby-identifier">new</span>({<span class="ruby-identifier">:dividends</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-ivar">@dividends</span>})
23
16
  <span class="ruby-keyword kw">end</span></pre>
24
17
  </body>
25
18
  </html>
@@ -5,14 +5,14 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>eql? (Unit::ComposedUnit)</title>
8
+ <title>divisor (Unit::ComposedUnit)</title>
9
9
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
10
  <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre><span class="ruby-comment cmt"># File unitmanager/unit_composition.rb, line 113</span>
14
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">eql?</span>(<span class="ruby-identifier">other</span>)
15
- <span class="ruby-keyword kw">self</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">other</span>
13
+ <pre><span class="ruby-comment cmt"># File lib/unitmanager/unit_composition.rb, line 56</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">divisor</span>
15
+ <span class="ruby-constant">ComposedUnit</span>.<span class="ruby-identifier">new</span>({<span class="ruby-identifier">:divisors</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-ivar">@divisors</span>})
16
16
  <span class="ruby-keyword kw">end</span></pre>
17
17
  </body>
18
18
  </html>
@@ -0,0 +1,22 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html>
7
+ <head>
8
+ <title>reverse (Unit::ComposedUnit)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre><span class="ruby-comment cmt"># File lib/unitmanager/unit_composition.rb, line 60</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">reverse</span>
15
+ <span class="ruby-constant">ComposedUnit</span>.<span class="ruby-identifier">new</span>({
16
+ <span class="ruby-identifier">:coefficient</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">1.0</span> <span class="ruby-operator">/</span> <span class="ruby-identifier">coefficient</span>,
17
+ <span class="ruby-identifier">:dividends</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-ivar">@divisors</span>.<span class="ruby-identifier">collect</span>{<span class="ruby-operator">|</span><span class="ruby-identifier">unit</span><span class="ruby-operator">|</span> <span class="ruby-identifier">unit</span> },
18
+ <span class="ruby-identifier">:divisors</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-ivar">@dividends</span>.<span class="ruby-identifier">collect</span>{<span class="ruby-operator">|</span><span class="ruby-identifier">unit</span><span class="ruby-operator">|</span> <span class="ruby-identifier">unit</span> }
19
+ })
20
+ <span class="ruby-keyword kw">end</span></pre>
21
+ </body>
22
+ </html>
@@ -0,0 +1,25 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html>
7
+ <head>
8
+ <title>== (Unit::ComposedUnit)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre><span class="ruby-comment cmt"># File lib/unitmanager/unit_composition.rb, line 70</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-operator">==</span>(<span class="ruby-identifier">other</span>)
15
+ <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">other</span> <span class="ruby-operator">==</span> <span class="ruby-keyword kw">nil</span>
16
+ <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">other</span>.<span class="ruby-identifier">kind_of?</span>(<span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">class</span>)
17
+
18
+ <span class="ruby-identifier">result</span> = (<span class="ruby-identifier">coefficient</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">other</span>.<span class="ruby-identifier">coefficient</span>) <span class="ruby-operator">&amp;&amp;</span>
19
+ <span class="ruby-identifier">dividends</span>.<span class="ruby-identifier">same?</span>(<span class="ruby-identifier">other</span>.<span class="ruby-identifier">dividends</span>) <span class="ruby-operator">&amp;&amp;</span>
20
+ <span class="ruby-identifier">divisors</span>.<span class="ruby-identifier">same?</span>(<span class="ruby-identifier">other</span>.<span class="ruby-identifier">divisors</span>)
21
+
22
+ <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">result</span>
23
+ <span class="ruby-keyword kw">end</span></pre>
24
+ </body>
25
+ </html>
@@ -0,0 +1,18 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html>
7
+ <head>
8
+ <title>eql? (Unit::ComposedUnit)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre><span class="ruby-comment cmt"># File lib/unitmanager/unit_composition.rb, line 81</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">eql?</span>(<span class="ruby-identifier">other</span>)
15
+ <span class="ruby-keyword kw">self</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">other</span>
16
+ <span class="ruby-keyword kw">end</span></pre>
17
+ </body>
18
+ </html>
@@ -55,8 +55,8 @@
55
55
  <tr class="top-aligned-row">
56
56
  <td><strong>In:</strong></td>
57
57
  <td>
58
- <a href="../../files/unitmanager/unit_composition_rb.html">
59
- unitmanager/unit_composition.rb
58
+ <a href="../../files/lib/unitmanager/unit_composition_rb.html">
59
+ lib/unitmanager/unit_composition.rb
60
60
  </a>
61
61
  <br />
62
62
  </td>
@@ -86,8 +86,8 @@
86
86
  <h3 class="section-bar">Methods</h3>
87
87
 
88
88
  <div class="name-list">
89
- <a href="#M000043">base</a>&nbsp;&nbsp;
90
- <a href="#M000042">process</a>&nbsp;&nbsp;
89
+ <a href="#M000107">base</a>&nbsp;&nbsp;
90
+ <a href="#M000106">process</a>&nbsp;&nbsp;
91
91
  </div>
92
92
  </div>
93
93
 
@@ -109,12 +109,12 @@
109
109
  <div id="methods">
110
110
  <h3 class="section-bar">Public Class methods</h3>
111
111
 
112
- <div id="method-M000043" class="method-detail">
113
- <a name="M000043"></a>
112
+ <div id="method-M000107" class="method-detail">
113
+ <a name="M000107"></a>
114
114
 
115
115
  <div class="method-heading">
116
- <a href="Optimizer.src/M000043.html" target="Code" class="method-signature"
117
- onclick="popupCode('Optimizer.src/M000043.html');return false;">
116
+ <a href="Optimizer.src/M000107.html" target="Code" class="method-signature"
117
+ onclick="popupCode('Optimizer.src/M000107.html');return false;">
118
118
  <span class="method-name">base</span><span class="method-args">(units)</span>
119
119
  </a>
120
120
  </div>
@@ -123,12 +123,12 @@
123
123
  </div>
124
124
  </div>
125
125
 
126
- <div id="method-M000042" class="method-detail">
127
- <a name="M000042"></a>
126
+ <div id="method-M000106" class="method-detail">
127
+ <a name="M000106"></a>
128
128
 
129
129
  <div class="method-heading">
130
- <a href="Optimizer.src/M000042.html" target="Code" class="method-signature"
131
- onclick="popupCode('Optimizer.src/M000042.html');return false;">
130
+ <a href="Optimizer.src/M000106.html" target="Code" class="method-signature"
131
+ onclick="popupCode('Optimizer.src/M000106.html');return false;">
132
132
  <span class="method-name">process</span><span class="method-args">(params)</span>
133
133
  </a>
134
134
  </div>
@@ -5,14 +5,40 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>base (Unit::Optimizer)</title>
8
+ <title>process (Unit::Optimizer)</title>
9
9
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
10
  <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre><span class="ruby-comment cmt"># File unitmanager/unit_composition.rb, line 222</span>
14
- <span class="ruby-keyword kw">def</span> <span class="ruby-constant">Optimizer</span>.<span class="ruby-identifier">base</span>(<span class="ruby-identifier">units</span>)
15
- <span class="ruby-identifier">units</span>.<span class="ruby-identifier">collect</span> {<span class="ruby-operator">|</span> <span class="ruby-identifier">item</span> <span class="ruby-operator">|</span> <span class="ruby-identifier">item</span>.<span class="ruby-identifier">h_base</span>}
13
+ <pre><span class="ruby-comment cmt"># File lib/unitmanager/unit_composition.rb, line 181</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-constant">Optimizer</span>.<span class="ruby-identifier">process</span>(<span class="ruby-identifier">params</span>)
15
+ <span class="ruby-identifier">raise</span> <span class="ruby-value str">&quot;Incoming parameter has to respond to [] method&quot;</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">params</span>.<span class="ruby-identifier">respond_to?</span>(<span class="ruby-identifier">:[]</span>)
16
+
17
+ <span class="ruby-comment cmt">#initialize local values</span>
18
+ <span class="ruby-identifier">coefficient</span> = <span class="ruby-identifier">params</span>[<span class="ruby-identifier">:coefficient</span>] <span class="ruby-operator">||</span> <span class="ruby-value">1</span>
19
+ <span class="ruby-identifier">dividends</span> = [] <span class="ruby-operator">+</span> (<span class="ruby-identifier">params</span>[<span class="ruby-identifier">:dividends</span>] <span class="ruby-operator">||</span> [])
20
+ <span class="ruby-identifier">divisors</span> = [] <span class="ruby-operator">+</span> (<span class="ruby-identifier">params</span>[<span class="ruby-identifier">:divisors</span>] <span class="ruby-operator">||</span> [])
21
+
22
+ <span class="ruby-comment cmt">#create arrays of unit hierarchy bases.. </span>
23
+ <span class="ruby-identifier">base_dividends</span> = <span class="ruby-identifier">base</span>(<span class="ruby-identifier">dividends</span>)
24
+ <span class="ruby-identifier">base_divisors</span> = <span class="ruby-identifier">base</span>(<span class="ruby-identifier">divisors</span>)
25
+
26
+ <span class="ruby-comment cmt">#try to find matching units and optimize them</span>
27
+ <span class="ruby-identifier">base_dividends</span>.<span class="ruby-identifier">each_index</span> { <span class="ruby-operator">|</span> <span class="ruby-identifier">i</span> <span class="ruby-operator">|</span>
28
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">index</span> = <span class="ruby-identifier">base_divisors</span>.<span class="ruby-identifier">index</span>(<span class="ruby-identifier">base_dividends</span>[<span class="ruby-identifier">i</span>])
29
+ <span class="ruby-identifier">coefficient</span> <span class="ruby-operator">*=</span> <span class="ruby-identifier">dividends</span>[<span class="ruby-identifier">i</span>].<span class="ruby-identifier">to_base</span>(<span class="ruby-value">1.0</span>)
30
+ <span class="ruby-identifier">coefficient</span> <span class="ruby-operator">/=</span> <span class="ruby-identifier">divisors</span>[<span class="ruby-identifier">index</span>].<span class="ruby-identifier">to_base</span>(<span class="ruby-value">1.0</span>)
31
+
32
+ <span class="ruby-comment cmt">#set 'used' units to nil, so they won't be used again </span>
33
+ <span class="ruby-identifier">dividends</span>[<span class="ruby-identifier">i</span>] = <span class="ruby-identifier">divisors</span>[<span class="ruby-identifier">index</span>] = <span class="ruby-identifier">base_divisors</span>[<span class="ruby-identifier">index</span>] = <span class="ruby-keyword kw">nil</span>
34
+ <span class="ruby-keyword kw">end</span>
35
+ }
36
+
37
+ <span class="ruby-keyword kw">return</span> {
38
+ <span class="ruby-identifier">:coefficient</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">coefficient</span>,
39
+ <span class="ruby-identifier">:dividends</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">dividends</span>.<span class="ruby-identifier">compact</span>,
40
+ <span class="ruby-identifier">:divisors</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">divisors</span>.<span class="ruby-identifier">compact</span>
41
+ }
16
42
  <span class="ruby-keyword kw">end</span></pre>
17
43
  </body>
18
44
  </html>
@@ -0,0 +1,18 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html>
7
+ <head>
8
+ <title>base (Unit::Optimizer)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre><span class="ruby-comment cmt"># File lib/unitmanager/unit_composition.rb, line 211</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-constant">Optimizer</span>.<span class="ruby-identifier">base</span>(<span class="ruby-identifier">units</span>)
15
+ <span class="ruby-identifier">units</span>.<span class="ruby-identifier">collect</span> {<span class="ruby-operator">|</span> <span class="ruby-identifier">item</span> <span class="ruby-operator">|</span> <span class="ruby-identifier">item</span>.<span class="ruby-identifier">h_base</span>}
16
+ <span class="ruby-keyword kw">end</span></pre>
17
+ </body>
18
+ </html>
@@ -55,8 +55,8 @@
55
55
  <tr class="top-aligned-row">
56
56
  <td><strong>In:</strong></td>
57
57
  <td>
58
- <a href="../../files/unitmanager/unit_composition_rb.html">
59
- unitmanager/unit_composition.rb
58
+ <a href="../../files/lib/unitmanager/unit_composition_rb.html">
59
+ lib/unitmanager/unit_composition.rb
60
60
  </a>
61
61
  <br />
62
62
  </td>
@@ -86,9 +86,9 @@
86
86
  <h3 class="section-bar">Methods</h3>
87
87
 
88
88
  <div class="name-list">
89
- <a href="#M000039">new</a>&nbsp;&nbsp;
90
- <a href="#M000041">parse_operand_symbols</a>&nbsp;&nbsp;
91
- <a href="#M000040">to_units</a>&nbsp;&nbsp;
89
+ <a href="#M000103">new</a>&nbsp;&nbsp;
90
+ <a href="#M000105">parse_operand_symbols</a>&nbsp;&nbsp;
91
+ <a href="#M000104">to_units</a>&nbsp;&nbsp;
92
92
  </div>
93
93
  </div>
94
94
 
@@ -117,12 +117,12 @@
117
117
  <div id="methods">
118
118
  <h3 class="section-bar">Public Class methods</h3>
119
119
 
120
- <div id="method-M000039" class="method-detail">
121
- <a name="M000039"></a>
120
+ <div id="method-M000103" class="method-detail">
121
+ <a name="M000103"></a>
122
122
 
123
123
  <div class="method-heading">
124
- <a href="Parser.src/M000039.html" target="Code" class="method-signature"
125
- onclick="popupCode('Parser.src/M000039.html');return false;">
124
+ <a href="Parser.src/M000103.html" target="Code" class="method-signature"
125
+ onclick="popupCode('Parser.src/M000103.html');return false;">
126
126
  <span class="method-name">new</span><span class="method-args">(units)</span>
127
127
  </a>
128
128
  </div>
@@ -133,12 +133,12 @@
133
133
 
134
134
  <h3 class="section-bar">Public Instance methods</h3>
135
135
 
136
- <div id="method-M000041" class="method-detail">
137
- <a name="M000041"></a>
136
+ <div id="method-M000105" class="method-detail">
137
+ <a name="M000105"></a>
138
138
 
139
139
  <div class="method-heading">
140
- <a href="Parser.src/M000041.html" target="Code" class="method-signature"
141
- onclick="popupCode('Parser.src/M000041.html');return false;">
140
+ <a href="Parser.src/M000105.html" target="Code" class="method-signature"
141
+ onclick="popupCode('Parser.src/M000105.html');return false;">
142
142
  <span class="method-name">parse_operand_symbols</span><span class="method-args">(string)</span>
143
143
  </a>
144
144
  </div>
@@ -147,12 +147,12 @@
147
147
  </div>
148
148
  </div>
149
149
 
150
- <div id="method-M000040" class="method-detail">
151
- <a name="M000040"></a>
150
+ <div id="method-M000104" class="method-detail">
151
+ <a name="M000104"></a>
152
152
 
153
153
  <div class="method-heading">
154
- <a href="Parser.src/M000040.html" target="Code" class="method-signature"
155
- onclick="popupCode('Parser.src/M000040.html');return false;">
154
+ <a href="Parser.src/M000104.html" target="Code" class="method-signature"
155
+ onclick="popupCode('Parser.src/M000104.html');return false;">
156
156
  <span class="method-name">to_units</span><span class="method-args">(unit_spec)</span>
157
157
  </a>
158
158
  </div>
@@ -5,21 +5,14 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>to_units (Unit::Parser)</title>
8
+ <title>new (Unit::Parser)</title>
9
9
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
10
  <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre><span class="ruby-comment cmt"># File unitmanager/unit_composition.rb, line 171</span>
14
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_units</span>(<span class="ruby-identifier">unit_spec</span>)
15
-
16
- <span class="ruby-identifier">operands</span> = <span class="ruby-identifier">unit_spec</span>.<span class="ruby-identifier">split</span>(<span class="ruby-regexp re">/\//</span>)
17
- <span class="ruby-identifier">raise</span> <span class="ruby-node">&quot;Invalid Number of Operands in : #{unit_spec}&quot;</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">operands</span>.<span class="ruby-identifier">size</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">2</span>
18
-
19
- {
20
- <span class="ruby-identifier">:dividends</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">convert</span>(<span class="ruby-identifier">parse_operand_symbols</span>(<span class="ruby-identifier">operands</span>[<span class="ruby-value">0</span>])),
21
- <span class="ruby-identifier">:divisors</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">convert</span>(<span class="ruby-identifier">parse_operand_symbols</span>(<span class="ruby-identifier">operands</span>[<span class="ruby-value">1</span>]))
22
- }
13
+ <pre><span class="ruby-comment cmt"># File lib/unitmanager/unit_composition.rb, line 156</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">units</span>)
15
+ <span class="ruby-ivar">@units</span> = <span class="ruby-identifier">units</span>
23
16
  <span class="ruby-keyword kw">end</span></pre>
24
17
  </body>
25
18
  </html>
@@ -5,15 +5,21 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>parse_operand_symbols (Unit::Parser)</title>
8
+ <title>to_units (Unit::Parser)</title>
9
9
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
10
  <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre><span class="ruby-comment cmt"># File unitmanager/unit_composition.rb, line 182</span>
14
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">parse_operand_symbols</span>(<span class="ruby-identifier">string</span>)
15
- <span class="ruby-identifier">operands</span> = <span class="ruby-identifier">string</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-value">? </span>[] <span class="ruby-operator">:</span> <span class="ruby-identifier">string</span>.<span class="ruby-identifier">split</span>(<span class="ruby-regexp re">/\*/</span>)
16
- <span class="ruby-identifier">operands</span>.<span class="ruby-identifier">collect</span>{<span class="ruby-operator">|</span><span class="ruby-identifier">name</span><span class="ruby-operator">|</span> <span class="ruby-identifier">name</span>.<span class="ruby-identifier">to_sym</span>}
13
+ <pre><span class="ruby-comment cmt"># File lib/unitmanager/unit_composition.rb, line 160</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_units</span>(<span class="ruby-identifier">unit_spec</span>)
15
+
16
+ <span class="ruby-identifier">operands</span> = <span class="ruby-identifier">unit_spec</span>.<span class="ruby-identifier">split</span>(<span class="ruby-regexp re">/\//</span>)
17
+ <span class="ruby-identifier">raise</span> <span class="ruby-node">&quot;Invalid Number of Operands in : #{unit_spec}&quot;</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">operands</span>.<span class="ruby-identifier">size</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">2</span>
18
+
19
+ {
20
+ <span class="ruby-identifier">:dividends</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">convert</span>(<span class="ruby-identifier">parse_operand_symbols</span>(<span class="ruby-identifier">operands</span>[<span class="ruby-value">0</span>])),
21
+ <span class="ruby-identifier">:divisors</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">convert</span>(<span class="ruby-identifier">parse_operand_symbols</span>(<span class="ruby-identifier">operands</span>[<span class="ruby-value">1</span>]))
22
+ }
17
23
  <span class="ruby-keyword kw">end</span></pre>
18
24
  </body>
19
25
  </html>
@@ -0,0 +1,19 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html>
7
+ <head>
8
+ <title>parse_operand_symbols (Unit::Parser)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre><span class="ruby-comment cmt"># File lib/unitmanager/unit_composition.rb, line 171</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">parse_operand_symbols</span>(<span class="ruby-identifier">string</span>)
15
+ <span class="ruby-identifier">operands</span> = <span class="ruby-identifier">string</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-value">? </span>[] <span class="ruby-operator">:</span> <span class="ruby-identifier">string</span>.<span class="ruby-identifier">split</span>(<span class="ruby-regexp re">/\*/</span>)
16
+ <span class="ruby-identifier">operands</span>.<span class="ruby-identifier">collect</span>{<span class="ruby-operator">|</span><span class="ruby-identifier">name</span><span class="ruby-operator">|</span> <span class="ruby-identifier">name</span>.<span class="ruby-identifier">to_sym</span>}
17
+ <span class="ruby-keyword kw">end</span></pre>
18
+ </body>
19
+ </html>