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.
- data/doc/classes/Array.html +12 -12
- data/doc/classes/Array.src/M000042.html +23 -0
- data/doc/classes/Array.src/M000043.html +19 -0
- data/doc/classes/CalculatorTest.html +72 -72
- data/doc/classes/CalculatorTest.src/M000024.html +18 -10
- data/doc/classes/CalculatorTest.src/M000025.html +11 -17
- data/doc/classes/CalculatorTest.src/M000026.html +11 -13
- data/doc/classes/CalculatorTest.src/M000027.html +19 -13
- data/doc/classes/CalculatorTest.src/M000028.html +12 -11
- data/doc/classes/CalculatorTest.src/M000029.html +12 -9
- data/doc/classes/CalculatorTest.src/M000030.html +10 -10
- data/doc/classes/CalculatorTest.src/M000031.html +9 -15
- data/doc/classes/CalculatorTest.src/M000032.html +11 -8
- data/doc/classes/CalculatorTest.src/M000033.html +15 -7
- data/doc/classes/CalculatorTest.src/M000034.html +8 -17
- data/doc/classes/CalculatorTest.src/M000035.html +9 -6
- data/doc/classes/CalculatorTest.src/M000036.html +32 -0
- data/doc/classes/CalculatorTest.src/M000037.html +20 -0
- data/doc/classes/CompasedUnitTest.html +32 -2
- data/doc/classes/CompasedUnitTest.src/M000001.html +1 -1
- data/doc/classes/CompasedUnitTest.src/M000002.html +1 -1
- data/doc/classes/CompasedUnitTest.src/M000003.html +1 -1
- data/doc/classes/CompasedUnitTest.src/M000004.html +1 -1
- data/doc/classes/CompasedUnitTest.src/M000005.html +1 -1
- data/doc/classes/CompasedUnitTest.src/M000006.html +1 -1
- data/doc/classes/CompasedUnitTest.src/M000007.html +1 -1
- data/doc/classes/CompasedUnitTest.src/M000008.html +1 -1
- data/doc/classes/CompasedUnitTest.src/M000009.html +1 -1
- data/doc/classes/CompasedUnitTest.src/M000010.html +1 -1
- data/doc/classes/CompasedUnitTest.src/M000011.html +18 -0
- data/doc/classes/CompasedUnitTest.src/M000012.html +32 -0
- data/doc/classes/Configuration.html +22 -22
- data/doc/classes/Configuration.src/M000044.html +5 -4
- data/doc/classes/Configuration.src/M000045.html +4 -10
- data/doc/classes/Configuration.src/M000046.html +18 -0
- data/doc/classes/Configuration.src/M000047.html +24 -0
- data/doc/classes/ConfigurationTest.html +22 -22
- data/doc/classes/ConfigurationTest.src/M000068.html +16 -9
- data/doc/classes/ConfigurationTest.src/M000069.html +27 -0
- data/doc/classes/ConfigurationTest.src/M000070.html +35 -0
- data/doc/classes/ConfigurationTest.src/M000071.html +24 -0
- data/doc/classes/CustomUnitConversionTest.html +47 -32
- data/doc/classes/CustomUnitConversionTest.src/M000055.html +16 -11
- data/doc/classes/CustomUnitConversionTest.src/M000056.html +9 -10
- data/doc/classes/CustomUnitConversionTest.src/M000057.html +6 -10
- data/doc/classes/CustomUnitConversionTest.src/M000058.html +26 -0
- data/doc/classes/CustomUnitConversionTest.src/M000059.html +26 -0
- data/doc/classes/CustomUnitConversionTest.src/M000060.html +24 -0
- data/doc/classes/CustomUnitConversionTest.src/M000061.html +27 -0
- data/doc/classes/Numeric.html +2 -2
- data/doc/classes/QuantifiableTest.html +22 -22
- data/doc/classes/QuantifiableTest.src/M000038.html +8 -25
- data/doc/classes/QuantifiableTest.src/M000039.html +12 -9
- data/doc/classes/QuantifiableTest.src/M000040.html +41 -0
- data/doc/classes/QuantifiableTest.src/M000041.html +31 -0
- data/doc/classes/Quantity/CalculationSupport.html +168 -0
- data/doc/classes/Quantity/CalculationSupport.src/M000075.html +22 -0
- data/doc/classes/Quantity/CalculationSupport.src/M000076.html +21 -0
- data/doc/classes/Quantity/CalculationSupport.src/M000077.html +18 -0
- data/doc/classes/Quantity/Calculator.html +32 -32
- data/doc/classes/Quantity/Calculator.src/M000083.html +1 -1
- data/doc/classes/Quantity/Calculator.src/M000084.html +2 -2
- data/doc/classes/Quantity/Calculator.src/M000085.html +1 -1
- data/doc/classes/Quantity/Calculator.src/M000086.html +2 -2
- data/doc/classes/Quantity/Calculator.src/M000087.html +1 -1
- data/doc/classes/Quantity/Calculator.src/M000088.html +2 -3
- data/doc/classes/Quantity/Measurable.html +12 -12
- data/doc/classes/Quantity/Measurable.src/M000073.html +18 -0
- data/doc/classes/Quantity/Measurable.src/M000074.html +18 -0
- data/doc/classes/Quantity/OperationInfo.html +13 -13
- data/doc/classes/Quantity/OperationInfo.src/M000089.html +3 -3
- data/doc/classes/Quantity/OperationInfo.src/M000090.html +1 -1
- data/doc/classes/Quantity/Quantifiable.html +7 -7
- data/doc/classes/Quantity/Quantifiable.src/M000072.html +18 -0
- data/doc/classes/Quantity/Quantity.html +18 -18
- data/doc/classes/Quantity/Quantity.src/M000078.html +1 -1
- data/doc/classes/Quantity/Quantity.src/M000079.html +1 -1
- data/doc/classes/Quantity/Quantity.src/M000080.html +1 -1
- data/doc/classes/Quantity/QuantityInfo.html +13 -13
- data/doc/classes/Quantity/QuantityInfo.src/M000081.html +1 -1
- data/doc/classes/Quantity/QuantityInfo.src/M000082.html +1 -1
- data/doc/classes/Quantity.html +5 -5
- data/doc/classes/QuantityTest.html +44 -29
- data/doc/classes/QuantityTest.src/M000048.html +18 -13
- data/doc/classes/QuantityTest.src/M000049.html +17 -4
- data/doc/classes/QuantityTest.src/M000050.html +12 -7
- data/doc/classes/QuantityTest.src/M000051.html +6 -6
- data/doc/classes/QuantityTest.src/M000052.html +22 -0
- data/doc/classes/QuantityTest.src/M000053.html +20 -0
- data/doc/classes/QuantityTest.src/M000054.html +27 -0
- data/doc/classes/SimpleUnitTest.html +29 -44
- data/doc/classes/SimpleUnitTest.src/M000062.html +9 -11
- data/doc/classes/SimpleUnitTest.src/M000063.html +12 -8
- data/doc/classes/SimpleUnitTest.src/M000064.html +7 -4
- data/doc/classes/SimpleUnitTest.src/M000065.html +20 -0
- data/doc/classes/SimpleUnitTest.src/M000066.html +26 -0
- data/doc/classes/SimpleUnitTest.src/M000067.html +21 -0
- data/doc/classes/SpecParserTest.html +17 -17
- data/doc/classes/SpecParserTest.src/M000021.html +10 -16
- data/doc/classes/SpecParserTest.src/M000022.html +28 -0
- data/doc/classes/SpecParserTest.src/M000023.html +31 -0
- data/doc/classes/Unit/BaseUnit.html +148 -0
- data/doc/classes/Unit/BaseUnit.src/M000108.html +18 -0
- data/doc/classes/Unit/Comparable.html +12 -12
- data/doc/classes/Unit/Comparable.src/M000092.html +1 -1
- data/doc/classes/Unit/Comparable.src/M000093.html +1 -1
- data/doc/classes/Unit/ComposedUnit.html +61 -55
- data/doc/classes/Unit/ComposedUnit.src/M000109.html +7 -10
- data/doc/classes/Unit/ComposedUnit.src/M000110.html +4 -8
- data/doc/classes/Unit/ComposedUnit.src/M000111.html +4 -15
- data/doc/classes/Unit/ComposedUnit.src/M000112.html +6 -10
- data/doc/classes/Unit/ComposedUnit.src/M000113.html +4 -11
- data/doc/classes/Unit/ComposedUnit.src/M000114.html +4 -4
- data/doc/classes/Unit/ComposedUnit.src/M000115.html +22 -0
- data/doc/classes/Unit/ComposedUnit.src/M000116.html +25 -0
- data/doc/classes/Unit/ComposedUnit.src/M000117.html +18 -0
- data/doc/classes/Unit/Optimizer.html +12 -12
- data/doc/classes/Unit/Optimizer.src/M000106.html +30 -4
- data/doc/classes/Unit/Optimizer.src/M000107.html +18 -0
- data/doc/classes/Unit/Parser.html +17 -17
- data/doc/classes/Unit/Parser.src/M000103.html +4 -11
- data/doc/classes/Unit/Parser.src/M000104.html +11 -5
- data/doc/classes/Unit/Parser.src/M000105.html +19 -0
- data/doc/classes/Unit/SimpleUnit.html +57 -51
- data/doc/classes/Unit/SimpleUnit.src/M000094.html +2 -2
- data/doc/classes/Unit/SimpleUnit.src/M000095.html +1 -1
- data/doc/classes/Unit/SimpleUnit.src/M000096.html +1 -1
- data/doc/classes/Unit/SimpleUnit.src/M000097.html +4 -6
- data/doc/classes/Unit/SimpleUnit.src/M000098.html +4 -4
- data/doc/classes/Unit/SimpleUnit.src/M000099.html +4 -7
- data/doc/classes/Unit/SimpleUnit.src/M000100.html +7 -4
- data/doc/classes/Unit/SimpleUnit.src/M000101.html +18 -0
- data/doc/classes/Unit/SymbolConverter.html +7 -7
- data/doc/classes/Unit/SymbolConverter.src/M000091.html +1 -1
- data/doc/classes/Unit/TestCase.html +5 -11
- data/doc/classes/Unit/TestCase.src/M000102.html +24 -0
- data/doc/classes/Unit.html +6 -4
- data/doc/classes/UnitOptemizerTest.html +45 -42
- data/doc/classes/UnitOptemizerTest.src/M000013.html +16 -12
- data/doc/classes/UnitOptemizerTest.src/M000014.html +6 -8
- data/doc/classes/UnitOptemizerTest.src/M000015.html +9 -9
- data/doc/classes/UnitOptemizerTest.src/M000016.html +6 -5
- data/doc/classes/UnitOptemizerTest.src/M000017.html +9 -5
- data/doc/classes/UnitOptemizerTest.src/M000018.html +12 -8
- data/doc/classes/UnitOptemizerTest.src/M000019.html +23 -0
- data/doc/classes/UnitOptemizerTest.src/M000020.html +22 -0
- data/doc/created.rid +1 -1
- data/doc/files/lib/config/default_configuration_rb.html +108 -0
- data/doc/files/lib/quantity_rb.html +113 -0
- data/doc/files/lib/unitmanager/calculator_rb.html +101 -0
- data/doc/files/lib/unitmanager/configuration_rb.html +101 -0
- data/doc/files/lib/unitmanager/quantity_rb.html +101 -0
- data/doc/files/lib/unitmanager/simple_unit_rb.html +109 -0
- data/doc/files/lib/unitmanager/unit_composition_rb.html +101 -0
- data/doc/files/test/all_tests_rb.html +1 -8
- data/doc/files/test/calculator_test_rb.html +109 -0
- data/doc/files/test/composed_unit_test_rb.html +101 -0
- data/doc/files/test/configuration_test_rb.html +109 -0
- data/doc/files/test/custom_conversion_test_rb.html +109 -0
- data/doc/files/test/quantifiable_test_rb.html +101 -0
- data/doc/files/test/quantity_test_rb.html +101 -0
- data/doc/files/test/simple_unit_test_rb.html +101 -0
- data/doc/files/test/test_helper_rb.html +1 -2
- data/doc/files/test/unit_optimizer_test_rb.html +101 -0
- data/doc/files/test/unit_spec_parser_test_rb.html +101 -0
- data/doc/fr_class_index.html +13 -1
- data/doc/fr_file_index.html +18 -7
- data/doc/fr_method_index.html +117 -51
- data/doc/index.html +1 -1
- data/lib/unitmanager/calculator.rb +4 -5
- data/lib/unitmanager/quantity.rb +30 -39
- data/lib/unitmanager/simple_unit.rb +5 -5
- data/test/quantity_test.rb +13 -0
- metadata +69 -3
@@ -5,25 +5,14 @@
|
|
5
5
|
|
6
6
|
<html>
|
7
7
|
<head>
|
8
|
-
<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
|
14
|
-
<span class="ruby-keyword kw">def</span> <span class="ruby-
|
15
|
-
<span class="ruby-
|
16
|
-
<span class="ruby-identifier">:dividends</span> =<span class="ruby-operator">></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">></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">></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>
|
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
|
14
|
-
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">
|
15
|
-
<span class="ruby-
|
16
|
-
|
17
|
-
|
18
|
-
<span class="ruby-identifier">:divisors</span> =<span class="ruby-operator">></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">></span> <span class="ruby-value">1.0</span>,
|
16
|
+
<span class="ruby-identifier">:dividends</span> =<span class="ruby-operator">></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">></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
|
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
|
14
|
-
<span class="ruby-keyword kw">def</span> <span class="ruby-
|
15
|
-
<span class="ruby-
|
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">&&</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">&&</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">></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>
|
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
|
14
|
-
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">
|
15
|
-
<span class="ruby-
|
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">></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">></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">></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">></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">&&</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">&&</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="#
|
90
|
-
<a href="#
|
89
|
+
<a href="#M000107">base</a>
|
90
|
+
<a href="#M000106">process</a>
|
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-
|
113
|
-
<a name="
|
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/
|
117
|
-
onclick="popupCode('Optimizer.src/
|
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-
|
127
|
-
<a name="
|
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/
|
131
|
-
onclick="popupCode('Optimizer.src/
|
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>
|
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
|
14
|
-
<span class="ruby-keyword kw">def</span> <span class="ruby-constant">Optimizer</span>.<span class="ruby-identifier">
|
15
|
-
<span class="ruby-identifier">
|
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">"Incoming parameter has to respond to [] method"</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">></span> <span class="ruby-identifier">coefficient</span>,
|
39
|
+
<span class="ruby-identifier">:dividends</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">dividends</span>.<span class="ruby-identifier">compact</span>,
|
40
|
+
<span class="ruby-identifier">:divisors</span> =<span class="ruby-operator">></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="#
|
90
|
-
<a href="#
|
91
|
-
<a href="#
|
89
|
+
<a href="#M000103">new</a>
|
90
|
+
<a href="#M000105">parse_operand_symbols</a>
|
91
|
+
<a href="#M000104">to_units</a>
|
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-
|
121
|
-
<a name="
|
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/
|
125
|
-
onclick="popupCode('Parser.src/
|
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-
|
137
|
-
<a name="
|
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/
|
141
|
-
onclick="popupCode('Parser.src/
|
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-
|
151
|
-
<a name="
|
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/
|
155
|
-
onclick="popupCode('Parser.src/
|
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>
|
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
|
14
|
-
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">
|
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">"Invalid Number of Operands in : #{unit_spec}"</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">operands</span>.<span class="ruby-identifier">size</span> <span class="ruby-operator">></span> <span class="ruby-value">2</span>
|
18
|
-
|
19
|
-
{
|
20
|
-
<span class="ruby-identifier">:dividends</span> =<span class="ruby-operator">></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">></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>
|
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
|
14
|
-
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">
|
15
|
-
|
16
|
-
|
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">"Invalid Number of Operands in : #{unit_spec}"</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">operands</span>.<span class="ruby-identifier">size</span> <span class="ruby-operator">></span> <span class="ruby-value">2</span>
|
18
|
+
|
19
|
+
{
|
20
|
+
<span class="ruby-identifier">:dividends</span> =<span class="ruby-operator">></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">></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>
|