Tuner bug fix: Setting default for 2 used tuners
[satune.git] / src / Test / serializestatictuner.cc
1 #include "csolver.h"
2 #include "searchtuner.h"
3 #include "tunable.h"
4 #include <stdlib.h>
5
6 int main(int argc, char **argv) {
7         {
8                 SearchTuner *elem_bin = new SearchTuner();
9                 SearchTuner *elem_onehot = new SearchTuner();
10                 SearchTuner *elem_unary = new SearchTuner();
11                 elem_bin->setTunable(NAIVEENCODER, &NaiveEncodingDesc, BINARYINDEX);
12                 elem_bin->setTunable(PREPROCESS, &onoff, 1);
13                 elem_bin->setTunable(DECOMPOSEORDER, &onoff, 1);
14                 elem_bin->setTunable(ORDERINTEGERENCODING, &offon, 0);
15                 elem_bin->setTunable(ELEMENTOPT, &onoff, 1);
16                 elem_bin->setTunable(ELEMENTOPTSETS, &onoff, 1);
17                 elem_bin->setTunable(ENCODINGGRAPHOPT, &offon, 0);
18                 elem_bin->setTunable(NODEENCODING, &NodeEncodingDesc, ELEM_UNASSIGNED);
19                 elem_bin->setTunable(VARIABLEORDER, &boolVarOrderingDesc, REVERSEORDERING);
20                 elem_bin->setTunable(PROXYVARIABLE, &proxyparameter, 2);
21                 elem_bin->setTunable(MUSTREACHGLOBAL, &onoff, 1);
22                 elem_bin->setTunable(MUSTREACHLOCAL, &onoff, 1);
23                 elem_bin->setTunable(MUSTREACHPRUNE, &onoff, 1);
24                 elem_bin->setTunable(MUSTEDGEPRUNE, &onoff, 1);
25                 elem_bin->setTunable(OPTIMIZEORDERSTRUCTURE, &onoff, 1);
26                 elem_bin->setTunable(MUSTVALUE, &mustValueBinaryIndex, 3);
27
28                 elem_onehot->setTunable(NAIVEENCODER, &NaiveEncodingDesc, ONEHOT);
29                 elem_unary->setTunable(NAIVEENCODER, &NaiveEncodingDesc, UNARY);
30                 elem_bin->serialize("binarytuner.conf");
31                 elem_onehot->serialize("onehottuner.conf");
32                 elem_unary->serialize("unarytuner.conf");
33                 elem_bin->setTunable(ENCODINGGRAPHOPT, &offon, 1);
34                 elem_onehot->setTunable(ENCODINGGRAPHOPT, &offon, 1);
35                 elem_unary->setTunable(ENCODINGGRAPHOPT, &offon, 1);
36                 elem_bin->serialize("circuitbinarytuner.conf");
37                 elem_onehot->serialize("circuitonehottuner.conf");
38                 elem_unary->serialize("circuitunarytuner.conf");
39                 elem_bin->setTunable(DECOMPOSEORDER, &onoff, 0);
40                 elem_onehot->setTunable(DECOMPOSEORDER, &onoff, 0);
41                 elem_unary->setTunable(DECOMPOSEORDER, &onoff, 0);
42                 elem_bin->serialize("circuitbinarytunernodecompose.conf");
43                 elem_onehot->serialize("circuitonehottunernodecompose.conf");
44                 elem_unary->serialize("circuitunarytunernodecompose.conf");
45                 delete elem_bin;
46                 delete elem_onehot;
47                 delete elem_unary;
48         }
49         {
50                 SearchTuner *elem_bin = new SearchTuner();
51                 SearchTuner *elem_onehot = new SearchTuner();
52                 SearchTuner *elem_unary = new SearchTuner();
53                 elem_bin->setTunable(NAIVEENCODER, &NaiveEncodingDesc, BINARYINDEX);
54                 elem_onehot->setTunable(NAIVEENCODER, &NaiveEncodingDesc, ONEHOT);
55                 elem_unary->setTunable(NAIVEENCODER, &NaiveEncodingDesc, UNARY);
56                 elem_bin->setTunable(DECOMPOSEORDER, &onoff, 0);
57                 elem_onehot->setTunable(DECOMPOSEORDER, &onoff, 0);
58                 elem_unary->setTunable(DECOMPOSEORDER, &onoff, 0);
59                 elem_bin->serialize("binarytunernodecompose.conf");
60                 elem_onehot->serialize("onehottunernodecompose.conf");
61                 elem_unary->serialize("unarytunernodecompose.conf");
62                 delete elem_bin;
63                 delete elem_onehot;
64                 delete elem_unary;
65         }
66
67
68         {
69                 SearchTuner *elem_bin = new SearchTuner();
70                 SearchTuner *elem_onehot = new SearchTuner();
71                 SearchTuner *elem_unary = new SearchTuner();
72                 elem_bin->setTunable(NAIVEENCODER, &NaiveEncodingDesc, BINARYINDEX);
73                 elem_onehot->setTunable(NAIVEENCODER, &NaiveEncodingDesc, ONEHOT);
74                 elem_unary->setTunable(NAIVEENCODER, &NaiveEncodingDesc, UNARY);
75                 elem_bin->setTunable(ORDERINTEGERENCODING, &offon, 1);
76                 elem_bin->setTunable(PREPROCESS, &onoff, 1);
77                 elem_bin->setTunable(DECOMPOSEORDER, &onoff, 1);
78                 elem_bin->setTunable(ELEMENTOPT, &onoff, 1);
79                 elem_bin->setTunable(ELEMENTOPTSETS, &onoff, 1);
80                 elem_bin->setTunable(ENCODINGGRAPHOPT, &offon, 0);
81                 elem_bin->setTunable(NODEENCODING, &NodeEncodingDesc, ELEM_UNASSIGNED);
82                 elem_bin->setTunable(VARIABLEORDER, &boolVarOrderingDesc, REVERSEORDERING);
83                 elem_bin->setTunable(PROXYVARIABLE, &proxyparameter, 2);
84                 elem_bin->setTunable(MUSTREACHGLOBAL, &onoff, 1);
85                 elem_bin->setTunable(MUSTREACHLOCAL, &onoff, 1);
86                 elem_bin->setTunable(MUSTREACHPRUNE, &onoff, 1);
87                 elem_bin->setTunable(MUSTEDGEPRUNE, &onoff, 1);
88                 elem_bin->setTunable(OPTIMIZEORDERSTRUCTURE, &onoff, 1);
89                 elem_onehot->setTunable(ORDERINTEGERENCODING, &offon, 1);
90                 elem_unary->setTunable(ORDERINTEGERENCODING, &offon, 1);
91
92                 elem_bin->serialize("binarytunerint.conf");
93                 elem_onehot->serialize("onehottunerint.conf");
94                 elem_unary->serialize("unarytunerint.conf");
95                 elem_bin->setTunable(ENCODINGGRAPHOPT, &offon, 1);
96                 elem_onehot->setTunable(ENCODINGGRAPHOPT, &offon, 1);
97                 elem_unary->setTunable(ENCODINGGRAPHOPT, &offon, 1);
98                 elem_bin->serialize("circuitbinarytunerint.conf");
99                 elem_onehot->serialize("circuitonehottunerint.conf");
100                 elem_unary->serialize("circuitunarytunerint.conf");
101                 elem_bin->setTunable(DECOMPOSEORDER, &onoff, 0);
102                 elem_onehot->setTunable(DECOMPOSEORDER, &onoff, 0);
103                 elem_unary->setTunable(DECOMPOSEORDER, &onoff, 0);
104                 elem_bin->serialize("circuitbinarytunernodecomposeint.conf");
105                 elem_onehot->serialize("circuitonehottunernodecomposeint.conf");
106                 elem_unary->serialize("circuitunarytunernodecomposeint.conf");
107                 delete elem_bin;
108                 delete elem_onehot;
109                 delete elem_unary;
110         }
111         {
112                 SearchTuner *elem_bin = new SearchTuner();
113                 SearchTuner *elem_onehot = new SearchTuner();
114                 SearchTuner *elem_unary = new SearchTuner();
115                 elem_bin->setTunable(NAIVEENCODER, &NaiveEncodingDesc, BINARYINDEX);
116                 elem_onehot->setTunable(NAIVEENCODER, &NaiveEncodingDesc, ONEHOT);
117                 elem_unary->setTunable(NAIVEENCODER, &NaiveEncodingDesc, UNARY);
118                 elem_bin->setTunable(ORDERINTEGERENCODING, &offon, 1);
119                 elem_onehot->setTunable(ORDERINTEGERENCODING, &offon, 1);
120                 elem_unary->setTunable(ORDERINTEGERENCODING, &offon, 1);
121                 elem_bin->setTunable(DECOMPOSEORDER, &onoff, 0);
122                 elem_onehot->setTunable(DECOMPOSEORDER, &onoff, 0);
123                 elem_unary->setTunable(DECOMPOSEORDER, &onoff, 0);
124                 elem_bin->serialize("binarytunernodecomposeint.conf");
125                 elem_onehot->serialize("onehottunernodecomposeint.conf");
126                 elem_unary->serialize("unarytunernodecomposeint.conf");
127                 delete elem_bin;
128                 delete elem_onehot;
129                 delete elem_unary;
130         }
131 }