Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(233)

Side by Side Diff: samples/total/src/SYLKProducer.dart

Issue 8391009: Reroll r634 "Total now reads mortgage sample from server" (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Removed blank line Created 9 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « samples/total/src/GetSpreadsheet.dart ('k') | samples/total/src/TotalRunner.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file.
4
5 class SYLKProducer {
6 const SYLKProducer();
7
8 String listSamples() {
9 return '''[
10 "empty",
11 "mortgage",
12 "insertTest",
13 "collatz",
14 ]''';
15 }
16
17 String makeExample(String id) {
18 switch (id) {
19 case 'mortgage':
20 return Strings.join(_makeMortgageExample(), '\n');
21
22 case 'insertTest':
23 return Strings.join(_makeInsertTest(), '\n');
24
25 case 'collatz':
26 return Strings.join(_makeCollatzTest(), '\n');
27
28 default:
29 return Strings.join(_makeEmpty(), '\n');
30 }
31 }
32
33 List<String> _makeEmpty() {
34 List<String> sylk = new List<String>();
35 sylk.add('ID;P');
36 return sylk;
37 }
38
39 List<String> _makeCollatzTest() {
40 List<String> sylk = new List<String>();
41 sylk.add('ID;P');
42 sylk.add('B;X1;Y180');
43 sylk.add("C;X1;Y1;K871");
44 for (int row = 2; row < 180; row++) {
45 // x even ==> x / 2
46 // x odd ==> 3 * x + 1
47 // Note that (x - 2*trunc(x/2)) is 0 when x is even and 1 when x is odd
48 sylk.add("C;X1;Y${row};K=(R[-1]C-2*TRUNC(R[-1]C/2))*(3*R[-1]C+1)+(1-(R[-1] C-2*TRUNC(R[-1]C/2)))*(R[-1]C/2)");
49 }
50 return sylk;
51 }
52
53 List<String> _makeInsertTest() {
54 List<String> sylk = new List<String>();
55
56 sylk.add('ID;P');
57 sylk.add('B;X6;Y3');
58
59 sylk.add('C;Y1;X1;K"InsertTest"');
60 sylk.add('F;SD;FD0C');
61 sylk.add('C;Y2;X1;K"Absolute"');
62 sylk.add('F;SD;FD0C');
63 sylk.add('C;Y3;X1;K"Relative"');
64 sylk.add('F;SD;FD0C');
65 sylk.add('C;Y1;X2;K"Fixed"');
66 sylk.add('F;SD;FD0C');
67 sylk.add('C;Y1;X3;K"NS to NS"');
68 sylk.add('F;SD;FD0C');
69 sylk.add('C;Y1;X4;K"NS to S"');
70 sylk.add('F;SD;FD0C');
71 sylk.add('C;Y1;X5;K"S to NS"');
72 sylk.add('F;SD;FD0C');
73 sylk.add('C;Y1;X6;K"S to S"');
74 sylk.add('F;SD;FD0C');
75
76 sylk.add('C;Y2;X2;K1');
77 sylk.add('F;P1;FD0C');
78 sylk.add('C;Y3;X2;K2');
79 sylk.add('F;P1;FD0C');
80
81 sylk.add('C;Y2;X3;K=(R2C2+10)');
82 sylk.add('F;P1;FD0C');
83 sylk.add('C;Y3;X3;K=(R[0]C[-1] + 10)');
84 sylk.add('F;P1;FD0C');
85
86 sylk.add('C;Y2;X4;K=(R2C5-1000)');
87 sylk.add('F;P1;FD0C');
88 sylk.add('C;Y3;X4;K=(R[0]C[1] - 1000)');
89 sylk.add('F;P1;FD0C');
90
91 sylk.add('C;Y2;X5;K=(R2C3+1100)');
92 sylk.add('F;P1;FD0C');
93 sylk.add('C;Y3;X5;K=(R[0]C[-2] + 1100)');
94 sylk.add('F;P1;FD0C');
95
96 sylk.add('C;Y2;X6;K=(R2C5+10000)');
97 sylk.add('F;P1;FD0C');
98 sylk.add('C;Y3;X6;K=(R[0]C[-1] + 10000)');
99 sylk.add('F;P1;FD0C');
100
101 sylk.add('C;Y4;X1;K"Sums Relative"');
102 sylk.add('F;SD;FD0C');
103 sylk.add('C;Y4;X2;K=SUM(R[-2]C[0]:R[-1]C[0])');
104 sylk.add('F;P1;FD0C');
105 sylk.add('C;Y4;X3;K=SUM(R[-2]C[0]:R[-1]C[0])');
106 sylk.add('F;P1;FD0C');
107 sylk.add('C;Y4;X4;K=SUM(R[-2]C[0]:R[-1]C[0])');
108 sylk.add('F;P1;FD0C');
109 sylk.add('C;Y4;X5;K=SUM(R[-2]C[0]:R[-1]C[0])');
110 sylk.add('F;P1;FD0C');
111 sylk.add('C;Y4;X6;K=SUM(R[-2]C[0]:R[-1]C[0])');
112 sylk.add('F;P1;FD0C');
113
114 sylk.add('C;Y5;X1;K"Sums Absolute"');
115 sylk.add('F;SD;FD0C');
116 sylk.add('C;Y5;X2;K=SUM(B2:B3)');
117 sylk.add('F;P1;FD0C');
118 sylk.add('C;Y5;X3;K=SUM(C2:C3)');
119 sylk.add('F;P1;FD0C');
120 sylk.add('C;Y5;X4;K=SUM(D2:D3)');
121 sylk.add('F;P1;FD0C');
122 sylk.add('C;Y5;X5;K=SUM(E2:E3)');
123 sylk.add('F;P1;FD0C');
124 sylk.add('C;Y5;X6;K=SUM(F2:F3)');
125 sylk.add('F;P1;FD0C');
126
127 return sylk;
128 }
129
130 List<String> _makeMortgageExample() {
131 int years = 8;
132 int payments = years * 12;
133 List<String> sylk = new List<String>();
134 sylk.add('ID;P');
135 sylk.add('B;X4;Y${payments + 4}');
136 sylk.add('C;Y1;X1;K"Loan Amount"');
137 sylk.add('F;SD;FD0C');
138 sylk.add('C;Y1;X2;K"Interest Rate"');
139 sylk.add('F;SD;FD0C');
140 sylk.add('C;Y1;X3;K"Years"');
141 sylk.add('F;SD;FD0C');
142 sylk.add('C;Y1;X4;K"\$/Month"');
143 sylk.add('F;SD;FD0C');
144 sylk.add('C;Y2;X1;K30000');
145 sylk.add('F;P5;F\$2R');
146 sylk.add('C;Y2;X2;K.05375');
147 sylk.add('F;P8;F%3R');
148 sylk.add('C;Y2;X3;K${years}');
149 sylk.add('F;P2;FD0R');
150 sylk.add('C;Y2;X4;K=ROUND((R2C1 * ((R2C2/12)/(1 - POWER((1 + (R2C2/12)), (-1 2 * R2C3))))), 2)');
151 sylk.add('F;P5;F\$2R');
152 sylk.add('C;Y3;X1;K"Payment #"');
153 sylk.add('F;SD;FD0C');
154 sylk.add('C;Y3;X2;K"Balance"');
155 sylk.add('F;SD;FD0C');
156 sylk.add('C;Y3;X3;K"Interest"');
157 sylk.add('F;SD;FD0C');
158 sylk.add('C;Y3;X4;K"Principal"');
159 sylk.add('F;SD;FD0C');
160 sylk.add('C;Y4;X1;K1');
161 sylk.add('F;P2;FD0C');
162 sylk.add('C;Y4;X2;K=R2C1');
163 sylk.add('F;P5;F\$2R');
164 sylk.add('C;Y4;X3;K=(RC[-1] * R2C2)/12');
165 sylk.add('F;P5;F\$2R');
166 sylk.add('C;Y4;X4;K=R2C4 - RC[-1]');
167 sylk.add('F;P5;F\$2R');
168 for (int j = 5; j < payments + 4; j++) {
169 sylk.add('C;Y${j};X1;K=R[-1]C + 1');
170 sylk.add('F;P2;FD0C');
171 sylk.add('C;Y${j};X2;K=R[-1]C - R[-1]C[2]');
172 sylk.add('F;P5;F\$2R');
173 sylk.add('C;Y${j};X3;K=(RC[-1] * R2C2)/12');
174 sylk.add('F;P5;F\$2R');
175 sylk.add('C;Y${j};X4;K=R2C4 - RC[-1]');
176 sylk.add('F;P5;F\$2R');
177 }
178
179 int p3 = payments + 3;
180 int p4 = payments + 4;
181 sylk.add('C;Y${p4};X1;K"Totals"');
182 sylk.add('F;SD;FD0C');
183 sylk.add('C;Y${p4};X2;K=C${p4} + D${p4}');
184 sylk.add('F;P5;F\$2R');
185 sylk.add('C;Y${p4};X3;K=SUM(C4:C${p3})');
186 sylk.add('F;P5;F\$2R');
187 sylk.add('C;Y${p4};X4;K=SUM(D4:D${p3})');
188 sylk.add('F;P5;F\$2R');
189 return sylk;
190 }
191 }
OLDNEW
« no previous file with comments | « samples/total/src/GetSpreadsheet.dart ('k') | samples/total/src/TotalRunner.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698