[16533] | 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 | } |
---|