rubyfromexcel 0.0.4
Sign up to get free protection for your applications and to get access to all the features.
- data/README +22 -0
- data/bin/rubyfromexcel +20 -0
- data/examples/create_and_test_examples.rb +37 -0
- data/examples/ruby-versions/array-formulas-ruby/sheets/sheet1.rb +59 -0
- data/examples/ruby-versions/array-formulas-ruby/sheets/sheet2.rb +9 -0
- data/examples/ruby-versions/array-formulas-ruby/specs/sheet1_rspec.rb +156 -0
- data/examples/ruby-versions/array-formulas-ruby/specs/sheet2_rspec.rb +8 -0
- data/examples/ruby-versions/array-formulas-ruby/spreadsheet.rb +9 -0
- data/examples/ruby-versions/complex-test-ruby/sheets/sheet1.rb +305 -0
- data/examples/ruby-versions/complex-test-ruby/sheets/sheet2.rb +147 -0
- data/examples/ruby-versions/complex-test-ruby/specs/sheet1_rspec.rb +876 -0
- data/examples/ruby-versions/complex-test-ruby/specs/sheet2_rspec.rb +412 -0
- data/examples/ruby-versions/complex-test-ruby/spreadsheet.rb +9 -0
- data/examples/ruby-versions/namedReferenceTest-ruby/sheets/sheet1.rb +9 -0
- data/examples/ruby-versions/namedReferenceTest-ruby/sheets/sheet2.rb +8 -0
- data/examples/ruby-versions/namedReferenceTest-ruby/specs/sheet1_rspec.rb +16 -0
- data/examples/ruby-versions/namedReferenceTest-ruby/specs/sheet2_rspec.rb +16 -0
- data/examples/ruby-versions/namedReferenceTest-ruby/spreadsheet.rb +9 -0
- data/examples/ruby-versions/pruning-ruby/sheets/sheet1.rb +11 -0
- data/examples/ruby-versions/pruning-ruby/sheets/sheet2.rb +14 -0
- data/examples/ruby-versions/pruning-ruby/sheets/sheet3.rb +7 -0
- data/examples/ruby-versions/pruning-ruby/specs/sheet1_rspec.rb +20 -0
- data/examples/ruby-versions/pruning-ruby/specs/sheet2_rspec.rb +20 -0
- data/examples/ruby-versions/pruning-ruby/specs/sheet3_rspec.rb +8 -0
- data/examples/ruby-versions/pruning-ruby/spreadsheet.rb +9 -0
- data/examples/ruby-versions/sharedFormulaTest-ruby/sheets/sheet1.rb +15 -0
- data/examples/ruby-versions/sharedFormulaTest-ruby/specs/sheet1_rspec.rb +44 -0
- data/examples/ruby-versions/sharedFormulaTest-ruby/spreadsheet.rb +9 -0
- data/examples/ruby-versions/table-test-ruby/sheets/sheet1.rb +17 -0
- data/examples/ruby-versions/table-test-ruby/sheets/sheet2.rb +5 -0
- data/examples/ruby-versions/table-test-ruby/sheets/sheet3.rb +5 -0
- data/examples/ruby-versions/table-test-ruby/specs/sheet1_rspec.rb +20 -0
- data/examples/ruby-versions/table-test-ruby/specs/sheet2_rspec.rb +8 -0
- data/examples/ruby-versions/table-test-ruby/specs/sheet3_rspec.rb +8 -0
- data/examples/ruby-versions/table-test-ruby/spreadsheet.rb +9 -0
- data/examples/sheets/array-formulas.xlsx +0 -0
- data/examples/sheets/complex-test.xlsx +0 -0
- data/examples/sheets/namedReferenceTest.xlsx +0 -0
- data/examples/sheets/pruning.xlsx +0 -0
- data/examples/sheets/sharedFormulaTest.xlsx +0 -0
- data/examples/sheets/table-test.xlsx +0 -0
- data/examples/sheets/~$array-formulas.xlsx +0 -0
- data/examples/unzipped-sheets/array-formulas/[Content_Types].xml +2 -0
- data/examples/unzipped-sheets/array-formulas/docProps/app.xml +2 -0
- data/examples/unzipped-sheets/array-formulas/docProps/core.xml +2 -0
- data/examples/unzipped-sheets/array-formulas/docProps/thumbnail.jpeg +0 -0
- data/examples/unzipped-sheets/array-formulas/xl/_rels/workbook.xml.rels +2 -0
- data/examples/unzipped-sheets/array-formulas/xl/calcChain.xml +2 -0
- data/examples/unzipped-sheets/array-formulas/xl/sharedStrings.xml +2 -0
- data/examples/unzipped-sheets/array-formulas/xl/styles.xml +2 -0
- data/examples/unzipped-sheets/array-formulas/xl/theme/theme1.xml +2 -0
- data/examples/unzipped-sheets/array-formulas/xl/workbook.xml +2 -0
- data/examples/unzipped-sheets/array-formulas/xl/worksheets/sheet1.xml +2 -0
- data/examples/unzipped-sheets/array-formulas/xl/worksheets/sheet2.xml +2 -0
- data/examples/unzipped-sheets/complex-test/[Content_Types].xml +2 -0
- data/examples/unzipped-sheets/complex-test/docProps/app.xml +2 -0
- data/examples/unzipped-sheets/complex-test/docProps/core.xml +2 -0
- data/examples/unzipped-sheets/complex-test/xl/_rels/workbook.xml.rels +2 -0
- data/examples/unzipped-sheets/complex-test/xl/calcChain.xml +2 -0
- data/examples/unzipped-sheets/complex-test/xl/charts/chart1.xml +2 -0
- data/examples/unzipped-sheets/complex-test/xl/charts/chart2.xml +2 -0
- data/examples/unzipped-sheets/complex-test/xl/comments1.xml +5 -0
- data/examples/unzipped-sheets/complex-test/xl/comments2.xml +5 -0
- data/examples/unzipped-sheets/complex-test/xl/drawings/_rels/drawing1.xml.rels +2 -0
- data/examples/unzipped-sheets/complex-test/xl/drawings/_rels/drawing2.xml.rels +2 -0
- data/examples/unzipped-sheets/complex-test/xl/drawings/drawing1.xml +2 -0
- data/examples/unzipped-sheets/complex-test/xl/drawings/drawing2.xml +2 -0
- data/examples/unzipped-sheets/complex-test/xl/drawings/vmlDrawing1.vml +46 -0
- data/examples/unzipped-sheets/complex-test/xl/drawings/vmlDrawing2.vml +46 -0
- data/examples/unzipped-sheets/complex-test/xl/sharedStrings.xml +2 -0
- data/examples/unzipped-sheets/complex-test/xl/styles.xml +2 -0
- data/examples/unzipped-sheets/complex-test/xl/theme/theme1.xml +2 -0
- data/examples/unzipped-sheets/complex-test/xl/workbook.xml +2 -0
- data/examples/unzipped-sheets/complex-test/xl/worksheets/_rels/sheet1.xml.rels +2 -0
- data/examples/unzipped-sheets/complex-test/xl/worksheets/_rels/sheet2.xml.rels +2 -0
- data/examples/unzipped-sheets/complex-test/xl/worksheets/sheet1.xml +2 -0
- data/examples/unzipped-sheets/complex-test/xl/worksheets/sheet2.xml +2 -0
- data/examples/unzipped-sheets/namedReferenceTest/[Content_Types].xml +2 -0
- data/examples/unzipped-sheets/namedReferenceTest/docProps/app.xml +2 -0
- data/examples/unzipped-sheets/namedReferenceTest/docProps/core.xml +2 -0
- data/examples/unzipped-sheets/namedReferenceTest/docProps/thumbnail.jpeg +0 -0
- data/examples/unzipped-sheets/namedReferenceTest/xl/_rels/workbook.xml.rels +2 -0
- data/examples/unzipped-sheets/namedReferenceTest/xl/calcChain.xml +2 -0
- data/examples/unzipped-sheets/namedReferenceTest/xl/styles.xml +2 -0
- data/examples/unzipped-sheets/namedReferenceTest/xl/theme/theme1.xml +2 -0
- data/examples/unzipped-sheets/namedReferenceTest/xl/workbook.xml +2 -0
- data/examples/unzipped-sheets/namedReferenceTest/xl/worksheets/sheet1.xml +2 -0
- data/examples/unzipped-sheets/namedReferenceTest/xl/worksheets/sheet2.xml +2 -0
- data/examples/unzipped-sheets/pruning/[Content_Types].xml +2 -0
- data/examples/unzipped-sheets/pruning/docProps/app.xml +2 -0
- data/examples/unzipped-sheets/pruning/docProps/core.xml +2 -0
- data/examples/unzipped-sheets/pruning/docProps/thumbnail.jpeg +0 -0
- data/examples/unzipped-sheets/pruning/xl/_rels/workbook.xml.rels +2 -0
- data/examples/unzipped-sheets/pruning/xl/calcChain.xml +2 -0
- data/examples/unzipped-sheets/pruning/xl/sharedStrings.xml +2 -0
- data/examples/unzipped-sheets/pruning/xl/styles.xml +2 -0
- data/examples/unzipped-sheets/pruning/xl/theme/theme1.xml +2 -0
- data/examples/unzipped-sheets/pruning/xl/workbook.xml +2 -0
- data/examples/unzipped-sheets/pruning/xl/worksheets/sheet1.xml +2 -0
- data/examples/unzipped-sheets/pruning/xl/worksheets/sheet2.xml +2 -0
- data/examples/unzipped-sheets/pruning/xl/worksheets/sheet3.xml +2 -0
- data/examples/unzipped-sheets/sharedFormulaTest/[Content_Types].xml +2 -0
- data/examples/unzipped-sheets/sharedFormulaTest/docProps/app.xml +2 -0
- data/examples/unzipped-sheets/sharedFormulaTest/docProps/core.xml +2 -0
- data/examples/unzipped-sheets/sharedFormulaTest/docProps/thumbnail.jpeg +0 -0
- data/examples/unzipped-sheets/sharedFormulaTest/xl/_rels/workbook.xml.rels +2 -0
- data/examples/unzipped-sheets/sharedFormulaTest/xl/calcChain.xml +2 -0
- data/examples/unzipped-sheets/sharedFormulaTest/xl/styles.xml +2 -0
- data/examples/unzipped-sheets/sharedFormulaTest/xl/theme/theme1.xml +2 -0
- data/examples/unzipped-sheets/sharedFormulaTest/xl/workbook.xml +2 -0
- data/examples/unzipped-sheets/sharedFormulaTest/xl/worksheets/sheet1.xml +2 -0
- data/examples/unzipped-sheets/table-test/[Content_Types].xml +2 -0
- data/examples/unzipped-sheets/table-test/docProps/app.xml +2 -0
- data/examples/unzipped-sheets/table-test/docProps/core.xml +2 -0
- data/examples/unzipped-sheets/table-test/xl/_rels/workbook.xml.rels +2 -0
- data/examples/unzipped-sheets/table-test/xl/calcChain.xml +2 -0
- data/examples/unzipped-sheets/table-test/xl/printerSettings/printerSettings1.bin +0 -0
- data/examples/unzipped-sheets/table-test/xl/sharedStrings.xml +2 -0
- data/examples/unzipped-sheets/table-test/xl/styles.xml +2 -0
- data/examples/unzipped-sheets/table-test/xl/tables/table1.xml +2 -0
- data/examples/unzipped-sheets/table-test/xl/theme/theme1.xml +2 -0
- data/examples/unzipped-sheets/table-test/xl/workbook.xml +2 -0
- data/examples/unzipped-sheets/table-test/xl/worksheets/_rels/sheet1.xml.rels +2 -0
- data/examples/unzipped-sheets/table-test/xl/worksheets/sheet1.xml +2 -0
- data/examples/unzipped-sheets/table-test/xl/worksheets/sheet2.xml +2 -0
- data/examples/unzipped-sheets/table-test/xl/worksheets/sheet3.xml +2 -0
- data/lib/cells/array/array_formula_builder.rb +58 -0
- data/lib/cells/array/array_formula_cell.rb +27 -0
- data/lib/cells/array/arraying_formula_cell.rb +67 -0
- data/lib/cells/array/single_cell_array_formula_builder.rb +9 -0
- data/lib/cells/array/single_cell_array_formula_cell.rb +11 -0
- data/lib/cells/cell.rb +98 -0
- data/lib/cells/cells.rb +9 -0
- data/lib/cells/formula/formula_cell.rb +18 -0
- data/lib/cells/formula/simple_formula_cell.rb +4 -0
- data/lib/cells/shared/shared_formula_builder.rb +15 -0
- data/lib/cells/shared/shared_formula_cell.rb +20 -0
- data/lib/cells/shared/sharing_formula_cell.rb +36 -0
- data/lib/cells/value/value_cell.rb +24 -0
- data/lib/excelfile/excelfile.rb +6 -0
- data/lib/excelfile/relationships.rb +24 -0
- data/lib/excelfile/shared_strings.rb +21 -0
- data/lib/excelfile/sheet_names.rb +6 -0
- data/lib/excelfile/table.rb +116 -0
- data/lib/excelfile/workbook.rb +108 -0
- data/lib/excelfile/worksheet.rb +122 -0
- data/lib/formulae/compile/formula_builder.rb +316 -0
- data/lib/formulae/formulae.rb +6 -0
- data/lib/formulae/parse/formula_peg.rb +213 -0
- data/lib/formulae/parse/formula_peg.txt +40 -0
- data/lib/formulae/run/excel_functions.rb +375 -0
- data/lib/formulae/run/excel_matrix.rb +114 -0
- data/lib/formulae/run/excel_range.rb +256 -0
- data/lib/formulae/run/reference.rb +79 -0
- data/lib/optimiser/dependency_builder.rb +86 -0
- data/lib/optimiser/optimiser.rb +3 -0
- data/lib/optimiser/shared_formula_dependency_builder.rb +43 -0
- data/lib/optimiser/workbook_pruner.rb +80 -0
- data/lib/rubyfromexcel.rb +105 -0
- data/lib/runtime/runtime_formula_builder.rb +32 -0
- data/spec/array_formula_builder_spec.rb +35 -0
- data/spec/array_formula_cell_spec.rb +17 -0
- data/spec/arraying_formula_cell_spec.rb +38 -0
- data/spec/dependency_builder_spec.rb +71 -0
- data/spec/excel_functions_spec.rb +381 -0
- data/spec/excel_matrix_spec.rb +92 -0
- data/spec/excel_range_spec.rb +161 -0
- data/spec/formula_builder_spec.rb +230 -0
- data/spec/formula_peg_spec.rb +165 -0
- data/spec/reference_spec.rb +72 -0
- data/spec/relationships_spec.rb +51 -0
- data/spec/runtime_formula_builder_spec.rb +55 -0
- data/spec/shared_formula_builder_spec.rb +29 -0
- data/spec/shared_formula_cell_spec.rb +23 -0
- data/spec/shared_formula_dependency_builder_spec.rb +48 -0
- data/spec/shared_strings_spec.rb +14 -0
- data/spec/sharing_formula_cell_spec.rb +79 -0
- data/spec/simple_formula_cell_spec.rb +78 -0
- data/spec/single_cell_array_formula_builder_spec.rb +19 -0
- data/spec/single_cell_array_formula_cell_spec.rb +25 -0
- data/spec/spec_helper.rb +2 -0
- data/spec/table_spec.rb +100 -0
- data/spec/value_cell_spec.rb +49 -0
- data/spec/workbook_pruner_spec.rb +27 -0
- data/spec/workbook_spec.rb +283 -0
- data/spec/worksheet_failiures_spec.rb +41 -0
- data/spec/worksheet_spec.rb +486 -0
- metadata +291 -0
@@ -0,0 +1,147 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
# OLD UK
|
3
|
+
class Sheet2 < Spreadsheet
|
4
|
+
def b2; "UK - Possible phase III auction revenues"; end
|
5
|
+
def b4; "Emissions"; end
|
6
|
+
def c4; 2013.0; end
|
7
|
+
def d4; 2014.0; end
|
8
|
+
def e4; 2015.0; end
|
9
|
+
def f4; 2016.0; end
|
10
|
+
def g4; 2017.0; end
|
11
|
+
def h4; 2018.0; end
|
12
|
+
def i4; 2019.0; end
|
13
|
+
def j4; 2020.0; end
|
14
|
+
def l4; "Change"; end
|
15
|
+
def b5; "Power sector"; end
|
16
|
+
def c5; 163.25; end
|
17
|
+
def d5; @d5 ||= c5*(1.0-l5); end
|
18
|
+
def e5; @e5 ||= d5*(1.0-l5); end
|
19
|
+
def f5; @f5 ||= e5*(1.0-l5); end
|
20
|
+
def g5; @g5 ||= f5*(1.0-l5); end
|
21
|
+
def h5; @h5 ||= g5*(1.0-l5); end
|
22
|
+
def i5; @i5 ||= h5*(1.0-l5); end
|
23
|
+
def j5; @j5 ||= i5*(1.0-l5); end
|
24
|
+
def k5; "mtCO2"; end
|
25
|
+
def l5; 0.0174; end
|
26
|
+
def b6; "Other"; end
|
27
|
+
def c6; @c6 ||= c7-c5; end
|
28
|
+
def d6; @d6 ||= d7-d5; end
|
29
|
+
def e6; @e6 ||= e7-e5; end
|
30
|
+
def f6; @f6 ||= f7-f5; end
|
31
|
+
def g6; @g6 ||= g7-g5; end
|
32
|
+
def h6; @h6 ||= h7-h5; end
|
33
|
+
def i6; @i6 ||= i7-i5; end
|
34
|
+
def j6; @j6 ||= j7-j5; end
|
35
|
+
def k6; "mtCO3"; end
|
36
|
+
def l6; @l6 ||= -((j6/c6)**(1.0/(j4-c4))-1.0); end
|
37
|
+
def b7; "Total"; end
|
38
|
+
def c7; @c7 ||= 278.35*(1.0+average(0.066,0.071)); end
|
39
|
+
def d7; @d7 ||= c7*(1.0-l7); end
|
40
|
+
def e7; @e7 ||= d7*(1.0-l7); end
|
41
|
+
def f7; @f7 ||= e7*(1.0-l7); end
|
42
|
+
def g7; @g7 ||= f7*(1.0-l7); end
|
43
|
+
def h7; @h7 ||= g7*(1.0-l7); end
|
44
|
+
def i7; @i7 ||= h7*(1.0-l7); end
|
45
|
+
def j7; @j7 ||= i7*(1.0-l7); end
|
46
|
+
def k7; "mtCO4"; end
|
47
|
+
def l7; 0.0174; end
|
48
|
+
def b9; "Proportion auctioned"; end
|
49
|
+
def c9; @c9 ||= c4; end
|
50
|
+
def d9; @d9 ||= d4; end
|
51
|
+
def e9; @e9 ||= e4; end
|
52
|
+
def f9; @f9 ||= f4; end
|
53
|
+
def g9; @g9 ||= g4; end
|
54
|
+
def h9; @h9 ||= h4; end
|
55
|
+
def i9; @i9 ||= i4; end
|
56
|
+
def j9; @j9 ||= j4; end
|
57
|
+
def b10; "Power sector"; end
|
58
|
+
def c10; 1.0; end
|
59
|
+
def d10; @d10 ||= c10; end
|
60
|
+
def e10; @e10 ||= d10; end
|
61
|
+
def f10; @f10 ||= e10; end
|
62
|
+
def g10; @g10 ||= f10; end
|
63
|
+
def h10; @h10 ||= g10; end
|
64
|
+
def i10; @i10 ||= h10; end
|
65
|
+
def j10; @j10 ||= i10; end
|
66
|
+
def k10; "%"; end
|
67
|
+
def b11; "Other"; end
|
68
|
+
def c11; 0.2; end
|
69
|
+
def d11; @d11 ||= c11+l11; end
|
70
|
+
def e11; @e11 ||= d11+l11; end
|
71
|
+
def f11; @f11 ||= e11+l11; end
|
72
|
+
def g11; @g11 ||= f11+l11; end
|
73
|
+
def h11; @h11 ||= g11+l11; end
|
74
|
+
def i11; @i11 ||= h11+l11; end
|
75
|
+
def j11; 1.0; end
|
76
|
+
def k11; "%"; end
|
77
|
+
def l11; @l11 ||= (j11-c11)/(j9-c9); end
|
78
|
+
def b12; "Total"; end
|
79
|
+
def c12; @c12 ||= ((c10*c5)+(c11*c6))/c7; end
|
80
|
+
def d12; @d12 ||= ((d10*d5)+(d11*d6))/d7; end
|
81
|
+
def e12; @e12 ||= ((e10*e5)+(e11*e6))/e7; end
|
82
|
+
def f12; @f12 ||= ((f10*f5)+(f11*f6))/f7; end
|
83
|
+
def g12; @g12 ||= ((g10*g5)+(g11*g6))/g7; end
|
84
|
+
def h12; @h12 ||= ((h10*h5)+(h11*h6))/h7; end
|
85
|
+
def i12; @i12 ||= ((i10*i5)+(i11*i6))/i7; end
|
86
|
+
def j12; @j12 ||= ((j10*j5)+(j11*j6))/j7; end
|
87
|
+
def k12; "%"; end
|
88
|
+
def c14; @c14 ||= c9; end
|
89
|
+
def d14; @d14 ||= d9; end
|
90
|
+
def e14; @e14 ||= e9; end
|
91
|
+
def f14; @f14 ||= f9; end
|
92
|
+
def g14; @g14 ||= g9; end
|
93
|
+
def h14; @h14 ||= h9; end
|
94
|
+
def i14; @i14 ||= i9; end
|
95
|
+
def j14; @j14 ||= j9; end
|
96
|
+
def b15; "CO2 price"; end
|
97
|
+
def c15; 20.0; end
|
98
|
+
def d15; @d15 ||= c15; end
|
99
|
+
def e15; @e15 ||= d15; end
|
100
|
+
def f15; @f15 ||= e15; end
|
101
|
+
def g15; @g15 ||= f15; end
|
102
|
+
def h15; @h15 ||= g15; end
|
103
|
+
def i15; @i15 ||= h15; end
|
104
|
+
def j15; @j15 ||= i15; end
|
105
|
+
def k15; "€/tCO2"; end
|
106
|
+
def b17; "Auction revenues"; end
|
107
|
+
def c17; @c17 ||= c9; end
|
108
|
+
def d17; @d17 ||= d9; end
|
109
|
+
def e17; @e17 ||= e9; end
|
110
|
+
def f17; @f17 ||= f9; end
|
111
|
+
def g17; @g17 ||= g9; end
|
112
|
+
def h17; @h17 ||= h9; end
|
113
|
+
def i17; @i17 ||= i9; end
|
114
|
+
def j17; @j17 ||= j9; end
|
115
|
+
def b18; "Power sector"; end
|
116
|
+
def c18; @c18 ||= c10*c5*c15/1000.0; end
|
117
|
+
def d18; @d18 ||= d10*d5*d15/1000.0; end
|
118
|
+
def e18; @e18 ||= e10*e5*e15/1000.0; end
|
119
|
+
def f18; @f18 ||= f10*f5*f15/1000.0; end
|
120
|
+
def g18; @g18 ||= g10*g5*g15/1000.0; end
|
121
|
+
def h18; @h18 ||= h10*h5*h15/1000.0; end
|
122
|
+
def i18; @i18 ||= i10*i5*i15/1000.0; end
|
123
|
+
def j18; @j18 ||= j10*j5*j15/1000.0; end
|
124
|
+
def k18; "€bn"; end
|
125
|
+
def b19; "Other"; end
|
126
|
+
def c19; @c19 ||= c11*c6*c15/1000.0; end
|
127
|
+
def d19; @d19 ||= d11*d6*d15/1000.0; end
|
128
|
+
def e19; @e19 ||= e11*e6*e15/1000.0; end
|
129
|
+
def f19; @f19 ||= f11*f6*f15/1000.0; end
|
130
|
+
def g19; @g19 ||= g11*g6*g15/1000.0; end
|
131
|
+
def h19; @h19 ||= h11*h6*h15/1000.0; end
|
132
|
+
def i19; @i19 ||= i11*i6*i15/1000.0; end
|
133
|
+
def j19; @j19 ||= j11*j6*j15/1000.0; end
|
134
|
+
def k19; "€bn"; end
|
135
|
+
def b20; "Total"; end
|
136
|
+
def c20; @c20 ||= c12*c7*c15/1000.0; end
|
137
|
+
def d20; @d20 ||= d12*d7*d15/1000.0; end
|
138
|
+
def e20; @e20 ||= e12*e7*e15/1000.0; end
|
139
|
+
def f20; @f20 ||= f12*f7*f15/1000.0; end
|
140
|
+
def g20; @g20 ||= g12*g7*g15/1000.0; end
|
141
|
+
def h20; @h20 ||= h12*h7*h15/1000.0; end
|
142
|
+
def i20; @i20 ||= i12*i7*i15/1000.0; end
|
143
|
+
def j20; @j20 ||= j12*j7*j15/1000.0; end
|
144
|
+
def k20; "€bn"; end
|
145
|
+
def k22; " "; end
|
146
|
+
end
|
147
|
+
|