quantitymanager 0.2.0 → 0.9.0

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 (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>