1 | #include "pge.h"
|
---|
2 | #include <stdlib.h>
|
---|
3 | #include <stdio.h>
|
---|
4 | #include <string.h>
|
---|
5 |
|
---|
6 | void readTainData(char *path) {
|
---|
7 |
|
---|
8 | }
|
---|
9 |
|
---|
10 | int main() {
|
---|
11 |
|
---|
12 | putenv("GOGC=off");
|
---|
13 | putenv("GODEBUG=cgocheck=0");
|
---|
14 | putenv("CGO_ENABLED=1");
|
---|
15 |
|
---|
16 |
|
---|
17 | /****** TrainData ******/
|
---|
18 |
|
---|
19 | GoInt indepLen = 1; //2 exists too //culms
|
---|
20 | GoInt depLen = 2; //culms
|
---|
21 | GoInt nEntries = 25; //lines
|
---|
22 | int nCulm = indepLen + depLen;
|
---|
23 |
|
---|
24 | GoFloat64 *trainMatrix = (GoFloat64 *)malloc(nEntries * (indepLen + depLen) * sizeof(GoFloat64));
|
---|
25 |
|
---|
26 | printf("AddTrainData\n");
|
---|
27 |
|
---|
28 | /****** TestData ******/
|
---|
29 |
|
---|
30 | GoInt TindepLen = indepLen; //2 exists too //culms
|
---|
31 | GoInt TdepLen = depLen; //culms
|
---|
32 | GoInt TnEntries = 25; //lines
|
---|
33 | nCulm = TindepLen + TdepLen;
|
---|
34 |
|
---|
35 | GoFloat64 *testMatrix = (GoFloat64 *)malloc(TnEntries * (TindepLen + TdepLen) * sizeof(GoFloat64));
|
---|
36 |
|
---|
37 | printf("AddTestData\n");
|
---|
38 | //AddTrainData(TindepNames, TdepndNames, TtrainMatrix, TnEntries);
|
---|
39 |
|
---|
40 | trainMatrix[0 * nCulm + 0] = (GoFloat64) -5.000000;
|
---|
41 | trainMatrix[0 * nCulm + 1] = (GoFloat64) -5.000000;
|
---|
42 | trainMatrix[0 * nCulm + 2] = (GoFloat64) 1.996805 ;
|
---|
43 | trainMatrix[1 * nCulm + 0] = (GoFloat64) -4.600000 ;
|
---|
44 | trainMatrix[1 * nCulm + 1] = (GoFloat64) -5.000000;
|
---|
45 | trainMatrix[1 * nCulm + 2] = (GoFloat64)1.996174 ;
|
---|
46 | trainMatrix[2 * nCulm + 0] = (GoFloat64)-4.200000 ;
|
---|
47 | trainMatrix[2 * nCulm + 1] = (GoFloat64)-5.000000 ;
|
---|
48 | trainMatrix[2 * nCulm + 2] = (GoFloat64)1.995199 ;
|
---|
49 | trainMatrix[3 * nCulm + 0] = (GoFloat64)-3.800000 ;
|
---|
50 | trainMatrix[3 * nCulm + 1] = (GoFloat64)-5.000000 ;
|
---|
51 | trainMatrix[3 * nCulm + 2] = (GoFloat64)1.993630 ;
|
---|
52 | trainMatrix[4 * nCulm + 0] = (GoFloat64)-3.400000 ;
|
---|
53 | trainMatrix[4 * nCulm + 1] = (GoFloat64)-5.000000 ;
|
---|
54 | trainMatrix[4 * nCulm + 2] = (GoFloat64)1.990975 ;
|
---|
55 | trainMatrix[5 * nCulm + 0] = (GoFloat64)-3.000000 ;
|
---|
56 | trainMatrix[5 * nCulm + 1] = (GoFloat64)-5.000000 ;
|
---|
57 | trainMatrix[5 * nCulm + 2] = (GoFloat64)1.986207 ;
|
---|
58 | trainMatrix[6 * nCulm + 0] = (GoFloat64)-2.600000 ;
|
---|
59 | trainMatrix[6 * nCulm + 1] = (GoFloat64)-5.000000 ;
|
---|
60 | trainMatrix[6 * nCulm + 2] = (GoFloat64)1.976988 ;
|
---|
61 | trainMatrix[7 * nCulm + 0] = (GoFloat64)-2.200000 ;
|
---|
62 | trainMatrix[7 * nCulm + 1] = (GoFloat64)-5.000000 ;
|
---|
63 | trainMatrix[7 * nCulm + 2] = (GoFloat64)1.957462 ;
|
---|
64 | trainMatrix[8 * nCulm + 0] = (GoFloat64)-1.800000 ;
|
---|
65 | trainMatrix[8 * nCulm + 1] = (GoFloat64)-5.000000 ;
|
---|
66 | trainMatrix[8 * nCulm + 2] = (GoFloat64)1.911428 ;
|
---|
67 | trainMatrix[9 * nCulm + 0] = (GoFloat64)-1.400000 ;
|
---|
68 | trainMatrix[9 * nCulm + 1] = (GoFloat64)-5.000000 ;
|
---|
69 | trainMatrix[9 * nCulm + 2] = (GoFloat64)1.791859 ;
|
---|
70 | trainMatrix[10 * nCulm + 0] = (GoFloat64)-1.000000 ;
|
---|
71 | trainMatrix[10 * nCulm + 1] = (GoFloat64)-5.000000 ;
|
---|
72 | trainMatrix[10 * nCulm + 2] = (GoFloat64)1.498403 ;
|
---|
73 | trainMatrix[11 * nCulm + 0] = (GoFloat64)-0.600000 ;
|
---|
74 | trainMatrix[11 * nCulm + 1] = (GoFloat64)-5.000000 ;
|
---|
75 | trainMatrix[11 * nCulm + 2] = (GoFloat64)1.113133 ;
|
---|
76 | trainMatrix[12 * nCulm + 0] = (GoFloat64)-0.200000 ;
|
---|
77 | trainMatrix[12 * nCulm + 1] = (GoFloat64)-5.000000 ;
|
---|
78 | trainMatrix[12 * nCulm + 2] = (GoFloat64)1.000000 ;
|
---|
79 | trainMatrix[13 * nCulm + 0] = (GoFloat64)0.200000 ;
|
---|
80 | trainMatrix[13 * nCulm + 1] = (GoFloat64)-5.000000 ;
|
---|
81 | trainMatrix[13 * nCulm + 2] = (GoFloat64)1.000000 ;
|
---|
82 | trainMatrix[14 * nCulm + 0] = (GoFloat64)0.600000 ;
|
---|
83 | trainMatrix[14 * nCulm + 1] = (GoFloat64)-5.000000 ;
|
---|
84 | trainMatrix[14 * nCulm + 2] = (GoFloat64)1.113133 ;
|
---|
85 | trainMatrix[15 * nCulm + 0] = (GoFloat64)1.000000 ;
|
---|
86 | trainMatrix[15 * nCulm + 1] = (GoFloat64)-5.000000 ;
|
---|
87 | trainMatrix[15 * nCulm + 2] = (GoFloat64)1.498403 ;
|
---|
88 | trainMatrix[16 * nCulm + 0] = (GoFloat64)1.400000 ;
|
---|
89 | trainMatrix[16 * nCulm + 1] = (GoFloat64)-5.000000 ;
|
---|
90 | trainMatrix[16 * nCulm + 2] = (GoFloat64)1.791859 ;
|
---|
91 | trainMatrix[17 * nCulm + 0] = (GoFloat64)1.800000 ;
|
---|
92 | trainMatrix[17 * nCulm + 1] = (GoFloat64)-5.000000 ;
|
---|
93 | trainMatrix[17 * nCulm + 2] = (GoFloat64)1.911428 ;
|
---|
94 | trainMatrix[18 * nCulm + 0] = (GoFloat64)2.200000 ;
|
---|
95 | trainMatrix[18 * nCulm + 1] = (GoFloat64)-5.000000 ;
|
---|
96 | trainMatrix[18 * nCulm + 2] = (GoFloat64)1.957462 ;
|
---|
97 | trainMatrix[19 * nCulm + 0] = (GoFloat64)2.600000 ;
|
---|
98 | trainMatrix[19 * nCulm + 1] = (GoFloat64)-5.000000 ;
|
---|
99 | trainMatrix[19 * nCulm + 2] = (GoFloat64)1.976988 ;
|
---|
100 | trainMatrix[20 * nCulm + 0] = (GoFloat64)3.000000 ;
|
---|
101 | trainMatrix[20 * nCulm + 1] = (GoFloat64)-5.000000 ;
|
---|
102 | trainMatrix[20 * nCulm + 2] = (GoFloat64)1.986207 ;
|
---|
103 | trainMatrix[21 * nCulm + 0] = (GoFloat64)3.400000 ;
|
---|
104 | trainMatrix[21 * nCulm + 1] = (GoFloat64)-5.000000 ;
|
---|
105 | trainMatrix[21 * nCulm + 2] = (GoFloat64)1.990975 ;
|
---|
106 | trainMatrix[22 * nCulm + 0] = (GoFloat64)3.800000 ;
|
---|
107 | trainMatrix[22 * nCulm + 1] = (GoFloat64)-5.000000 ;
|
---|
108 | trainMatrix[22 * nCulm + 2] = (GoFloat64)1.993630 ;
|
---|
109 | trainMatrix[23 * nCulm + 0] = (GoFloat64)4.200000 ;
|
---|
110 | trainMatrix[23 * nCulm + 1] = (GoFloat64)-5.000000 ;
|
---|
111 | trainMatrix[23 * nCulm + 2] = (GoFloat64)1.995199 ;
|
---|
112 | trainMatrix[24 * nCulm + 0] = (GoFloat64)4.600000 ;
|
---|
113 | trainMatrix[24 * nCulm + 1] = (GoFloat64)-5.000000;
|
---|
114 | trainMatrix[24 * nCulm + 2] = (GoFloat64)1.996174;
|
---|
115 |
|
---|
116 | testMatrix[0 * nCulm + 0] = (GoFloat64) -5.000000;
|
---|
117 | testMatrix[0 * nCulm + 1] = (GoFloat64) -5.000000;
|
---|
118 | testMatrix[0 * nCulm + 2] = (GoFloat64) 1.996805 ;
|
---|
119 | testMatrix[1 * nCulm + 0] = (GoFloat64) -4.600000 ;
|
---|
120 | testMatrix[1 * nCulm + 1] = (GoFloat64) -5.000000;
|
---|
121 | testMatrix[1 * nCulm + 2] = (GoFloat64)1.996174 ;
|
---|
122 | testMatrix[2 * nCulm + 0] = (GoFloat64)-4.200000 ;
|
---|
123 | testMatrix[2 * nCulm + 1] = (GoFloat64)-5.000000 ;
|
---|
124 | testMatrix[2 * nCulm + 2] = (GoFloat64)1.995199 ;
|
---|
125 | testMatrix[3 * nCulm + 0] = (GoFloat64)-3.800000 ;
|
---|
126 | testMatrix[3 * nCulm + 1] = (GoFloat64)-5.000000 ;
|
---|
127 | testMatrix[3 * nCulm + 2] = (GoFloat64)1.993630 ;
|
---|
128 | testMatrix[4 * nCulm + 0] = (GoFloat64)-3.400000 ;
|
---|
129 | testMatrix[4 * nCulm + 1] = (GoFloat64)-5.000000 ;
|
---|
130 | testMatrix[4 * nCulm + 2] = (GoFloat64)1.990975 ;
|
---|
131 | testMatrix[5 * nCulm + 0] = (GoFloat64)-3.000000 ;
|
---|
132 | testMatrix[5 * nCulm + 1] = (GoFloat64)-5.000000 ;
|
---|
133 | testMatrix[5 * nCulm + 2] = (GoFloat64)1.986207 ;
|
---|
134 | testMatrix[6 * nCulm + 0] = (GoFloat64)-2.600000 ;
|
---|
135 | testMatrix[6 * nCulm + 1] = (GoFloat64)-5.000000 ;
|
---|
136 | testMatrix[6 * nCulm + 2] = (GoFloat64)1.976988 ;
|
---|
137 | testMatrix[7 * nCulm + 0] = (GoFloat64)-2.200000 ;
|
---|
138 | testMatrix[7 * nCulm + 1] = (GoFloat64)-5.000000 ;
|
---|
139 | testMatrix[7 * nCulm + 2] = (GoFloat64)1.957462 ;
|
---|
140 | testMatrix[8 * nCulm + 0] = (GoFloat64)-1.800000 ;
|
---|
141 | testMatrix[8 * nCulm + 1] = (GoFloat64)-5.000000 ;
|
---|
142 | testMatrix[8 * nCulm + 2] = (GoFloat64)1.911428 ;
|
---|
143 | testMatrix[9 * nCulm + 0] = (GoFloat64)-1.400000 ;
|
---|
144 | testMatrix[9 * nCulm + 1] = (GoFloat64)-5.000000 ;
|
---|
145 | testMatrix[9 * nCulm + 2] = (GoFloat64)1.791859 ;
|
---|
146 | testMatrix[10 * nCulm + 0] = (GoFloat64)-1.000000 ;
|
---|
147 | testMatrix[10 * nCulm + 1] = (GoFloat64)-5.000000 ;
|
---|
148 | testMatrix[10 * nCulm + 2] = (GoFloat64)1.498403 ;
|
---|
149 | testMatrix[11 * nCulm + 0] = (GoFloat64)-0.600000 ;
|
---|
150 | testMatrix[11 * nCulm + 1] = (GoFloat64)-5.000000 ;
|
---|
151 | testMatrix[11 * nCulm + 2] = (GoFloat64)1.113133 ;
|
---|
152 | testMatrix[12 * nCulm + 0] = (GoFloat64)-0.200000 ;
|
---|
153 | testMatrix[12 * nCulm + 1] = (GoFloat64)-5.000000 ;
|
---|
154 | testMatrix[12 * nCulm + 2] = (GoFloat64)1.000000 ;
|
---|
155 | testMatrix[13 * nCulm + 0] = (GoFloat64)0.200000 ;
|
---|
156 | testMatrix[13 * nCulm + 1] = (GoFloat64)-5.000000 ;
|
---|
157 | testMatrix[13 * nCulm + 2] = (GoFloat64)1.000000 ;
|
---|
158 | testMatrix[14 * nCulm + 0] = (GoFloat64)0.600000 ;
|
---|
159 | testMatrix[14 * nCulm + 1] = (GoFloat64)-5.000000 ;
|
---|
160 | testMatrix[14 * nCulm + 2] = (GoFloat64)1.113133 ;
|
---|
161 | testMatrix[15 * nCulm + 0] = (GoFloat64)1.000000 ;
|
---|
162 | testMatrix[15 * nCulm + 1] = (GoFloat64)-5.000000 ;
|
---|
163 | testMatrix[15 * nCulm + 2] = (GoFloat64)1.498403 ;
|
---|
164 | testMatrix[16 * nCulm + 0] = (GoFloat64)1.400000 ;
|
---|
165 | testMatrix[16 * nCulm + 1] = (GoFloat64)-5.000000 ;
|
---|
166 | testMatrix[16 * nCulm + 2] = (GoFloat64)1.791859 ;
|
---|
167 | testMatrix[17 * nCulm + 0] = (GoFloat64)1.800000 ;
|
---|
168 | testMatrix[17 * nCulm + 1] = (GoFloat64)-5.000000 ;
|
---|
169 | testMatrix[17 * nCulm + 2] = (GoFloat64)1.911428 ;
|
---|
170 | testMatrix[18 * nCulm + 0] = (GoFloat64)2.200000 ;
|
---|
171 | testMatrix[18 * nCulm + 1] = (GoFloat64)-5.000000 ;
|
---|
172 | testMatrix[18 * nCulm + 2] = (GoFloat64)1.957462 ;
|
---|
173 | testMatrix[19 * nCulm + 0] = (GoFloat64)2.600000 ;
|
---|
174 | testMatrix[19 * nCulm + 1] = (GoFloat64)-5.000000 ;
|
---|
175 | testMatrix[19 * nCulm + 2] = (GoFloat64)1.976988 ;
|
---|
176 | testMatrix[20 * nCulm + 0] = (GoFloat64)3.000000 ;
|
---|
177 | testMatrix[20 * nCulm + 1] = (GoFloat64)-5.000000 ;
|
---|
178 | testMatrix[20 * nCulm + 2] = (GoFloat64)1.986207 ;
|
---|
179 | testMatrix[21 * nCulm + 0] = (GoFloat64)3.400000 ;
|
---|
180 | testMatrix[21 * nCulm + 1] = (GoFloat64)-5.000000 ;
|
---|
181 | testMatrix[21 * nCulm + 2] = (GoFloat64)1.990975 ;
|
---|
182 | testMatrix[22 * nCulm + 0] = (GoFloat64)3.800000 ;
|
---|
183 | testMatrix[22 * nCulm + 1] = (GoFloat64)-5.000000 ;
|
---|
184 | testMatrix[22 * nCulm + 2] = (GoFloat64)1.993630 ;
|
---|
185 | testMatrix[23 * nCulm + 0] = (GoFloat64)4.200000 ;
|
---|
186 | testMatrix[23 * nCulm + 1] = (GoFloat64)-5.000000 ;
|
---|
187 | testMatrix[23 * nCulm + 2] = (GoFloat64)1.995199 ;
|
---|
188 | testMatrix[24 * nCulm + 0] = (GoFloat64)4.600000 ;
|
---|
189 | testMatrix[24 * nCulm + 1] = (GoFloat64)-5.000000;
|
---|
190 | testMatrix[24 * nCulm + 2] = (GoFloat64)1.996174;
|
---|
191 |
|
---|
192 |
|
---|
193 |
|
---|
194 | AddTestData("X Y", "F", testMatrix, TnEntries);
|
---|
195 | AddTrainData("X Y", "F", trainMatrix, nEntries);
|
---|
196 | /****** InitSearch ******/
|
---|
197 |
|
---|
198 | GoInt UsableVarsLen = 2;
|
---|
199 | GoInt *UsableVarsData = malloc(sizeof(GoInt) * UsableVarsLen);
|
---|
200 | UsableVarsData[0] = 0;
|
---|
201 | UsableVarsData[1] = 1;
|
---|
202 | //UsableVarsData[2] = 2;
|
---|
203 | //UsableVarsData[3] = 3;
|
---|
204 | //UsableVarsData[4] = 4;
|
---|
205 |
|
---|
206 | //TestSlice(UsableVarsData, UsableVarsLen);
|
---|
207 |
|
---|
208 | GoInt *UsableVars = UsableVarsData; //{ .data = UsableVarsData, .len = UsableVarsLen, .cap = UsableVarsLen }; //GoSlice was type
|
---|
209 |
|
---|
210 |
|
---|
211 | //func InitSearch(maxGen int, pgeRptEpoch int, pgeRptCount int, pgeArchiveCap int, peelCnt int, evalrCount int, zeroEpsilon float64, initMethod string, growMethod string, sortType int)
|
---|
212 |
|
---|
213 | GoInt MaxGen = 2000;
|
---|
214 | GoInt PgeRptEpoch = 1;
|
---|
215 | GoInt PgeRptCount = 1;
|
---|
216 | GoInt PgeArchiveCap = 256;
|
---|
217 |
|
---|
218 | GoInt PeelCnt = 3;
|
---|
219 |
|
---|
220 | GoFloat64 ZeroEpsilon = 0.00001;
|
---|
221 | GoInt EvalrCount = 2; //vorhernull?!
|
---|
222 |
|
---|
223 | char *InitMethod = "method1"; //{ .p = "method1", .n = strlen("method1") };
|
---|
224 | char *GrowMethod = "method1"; //{ .p = "method1", .n = strlen("method1") };
|
---|
225 |
|
---|
226 | int SortType = 0;
|
---|
227 |
|
---|
228 | InitSearch(MaxGen, PgeRptEpoch, PgeRptCount, PgeArchiveCap, PeelCnt, EvalrCount, ZeroEpsilon, InitMethod, GrowMethod, SortType);
|
---|
229 | printf("InitSearch\n");
|
---|
230 |
|
---|
231 |
|
---|
232 | /****** InitTreeParams ******/
|
---|
233 |
|
---|
234 | //func InitTreeParams(Roots string, Nodes string, NonTrig string, Leafs string, UsableVars []int, MaxSize int, MinSize int, MaxDepth int, MinDepth int)
|
---|
235 | char *Roots = "Add"; //{ .p = "Add", .n = strlen("Add") };
|
---|
236 | char *Nodes = "Add Mul Div Sin Cos Exp Log Sqrt"; //{ .p = "Add Mul", .n = strlen("Add Mul") };
|
---|
237 | //char *Nodes = "Add Mul";
|
---|
238 | char *NonTrig = "Add Mul Div Exp Log"; //{ .p = "Add Mul", .n = strlen("Add Mul") };
|
---|
239 | //char *NonTrig = "Add Mul";
|
---|
240 | char *Leafs = "Var ConstantF"; //{ .p = "Var ConstantF", .n = strlen("Var ConstantF") };
|
---|
241 | GoInt MaxSize = 50;
|
---|
242 | GoInt MinSize = 4;
|
---|
243 | GoInt MaxDepth = 6;
|
---|
244 | GoInt MinDepth = 1;
|
---|
245 |
|
---|
246 | InitTreeParams(Roots, Nodes, NonTrig, Leafs, UsableVars, UsableVarsLen, MaxSize, MinSize, MaxDepth, MinDepth);
|
---|
247 | printf("InitTreeParams\n");
|
---|
248 |
|
---|
249 | /****** InitProblem ******/
|
---|
250 |
|
---|
251 | //func InitProblem(Name string, MaxIter int, HitRatio float64, SearchVar int, UsableVars []int, ProblemTypeString string, numProcs int)
|
---|
252 | char *Name = "Korns_02"; //{ .p = "Korns_02", .n = strlen("Korns_02") };
|
---|
253 | GoInt MaxIter = 5000;
|
---|
254 | GoFloat64 HitRatio = 0.01;
|
---|
255 | GoInt SearchVar = 0;
|
---|
256 |
|
---|
257 | char *ProblemTypeString = "benchmark"; //{ .p = "benchmark", .n = strlen("benchmark") }; //real not working/implementated | diffeq is implementated
|
---|
258 | GoInt numProcs = 12;
|
---|
259 |
|
---|
260 | printf("InitProblem\n");
|
---|
261 | fflush(stdout);
|
---|
262 | InitProblem(Name, MaxIter, HitRatio, SearchVar, ProblemTypeString, numProcs);
|
---|
263 |
|
---|
264 | printf("******************************** Finished Init **********************************\n");
|
---|
265 |
|
---|
266 | /****** Run ******/
|
---|
267 |
|
---|
268 | //GoInt maxi = GetMaxIterW();
|
---|
269 | //printf("GetMaxIter: %d\n", maxi);
|
---|
270 | //fflush(stdout);
|
---|
271 |
|
---|
272 | //EvaluateW();
|
---|
273 | //printf("EvaluateW\n");
|
---|
274 |
|
---|
275 | //LoopW();
|
---|
276 | //printf("LoopW\n");
|
---|
277 |
|
---|
278 |
|
---|
279 | //MaxIter = 5;
|
---|
280 | for (int fs1 = 1; fs1 <= MaxIter; fs1++) {
|
---|
281 | printf("******************************** StepW: %d **********************************\n", fs1);
|
---|
282 | GoInt nresults = StepW();
|
---|
283 |
|
---|
284 | for (int ires = 0; ires < nresults; ires++) {
|
---|
285 |
|
---|
286 | GoInt nobestpush = 0;
|
---|
287 | GoInt bestnewminerr = 0;
|
---|
288 | GoInt bestlen1 = 0;
|
---|
289 | GoInt bestlen2 = 0;
|
---|
290 | GoInt testscore = 0;
|
---|
291 | GoInt ncoeff = 0;
|
---|
292 |
|
---|
293 | char* stepRes = GetStepResult(&nobestpush, &bestnewminerr, &bestlen1, &bestlen2, &testscore, &ncoeff);
|
---|
294 |
|
---|
295 | GoFloat64 *coeff = (GoFloat64 *)malloc(UsableVarsLen * sizeof(GoFloat64));
|
---|
296 |
|
---|
297 | for(int icoeff = 0; icoeff < UsableVarsLen; icoeff++) {
|
---|
298 | coeff[icoeff] = 0;
|
---|
299 | }
|
---|
300 |
|
---|
301 | //printf("C: No best push\n");
|
---|
302 | printf("C: push/pop (%d,%d) %s\n", bestlen1, bestlen2, stepRes);
|
---|
303 | for(int icoeff = 0; icoeff < ncoeff; icoeff++){
|
---|
304 | GoFloat64 coeffVal = GetCoeffResult();
|
---|
305 | printf("C: coeff vals: %f\n", coeffVal);
|
---|
306 | }
|
---|
307 | if (bestnewminerr) {
|
---|
308 | //printf("C: Best New Min Error\n");
|
---|
309 | }
|
---|
310 | printf("C: TestScore %f\n", testscore);
|
---|
311 |
|
---|
312 | }
|
---|
313 | fflush(stdout);
|
---|
314 | }
|
---|
315 |
|
---|
316 | return 0;
|
---|
317 |
|
---|
318 | fflush(stdout);
|
---|
319 |
|
---|
320 | //CleanW();
|
---|
321 | //printf("CleanW\n");
|
---|
322 | fflush(stdout);
|
---|
323 |
|
---|
324 | printf("Run Start\n");
|
---|
325 | fflush(stdout);
|
---|
326 | //RunW();
|
---|
327 | fflush(stdout);
|
---|
328 | printf("Run Ende\n");
|
---|
329 |
|
---|
330 | // !!!!!!!!!!!!!! FREE DATA !!!!!!!!!!!!!!!!!!!!!
|
---|
331 |
|
---|
332 | return 0;
|
---|
333 | } |
---|