using vartunable instead of tunable
[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->setVarTunable(0, NODEENCODING, &NodeEncodingDesc, ELEM_UNASSIGNED);
19                 elem_bin->setVarTunable(1, NODEENCODING, &NodeEncodingDesc, ELEM_UNASSIGNED);
20                 elem_bin->setVarTunable(2, NODEENCODING, &NodeEncodingDesc, ELEM_UNASSIGNED);
21                 elem_bin->setTunable(VARIABLEORDER, &boolVarOrderingDesc, REVERSEORDERING);
22                 elem_bin->setTunable(PROXYVARIABLE, &proxyparameter, 2);
23                 elem_bin->setVarTunable(0, MUSTREACHGLOBAL, &onoff, 1);
24                 elem_bin->setVarTunable(1, MUSTREACHGLOBAL, &onoff, 1);
25                 elem_bin->setVarTunable(2, MUSTREACHGLOBAL, &onoff, 1);
26                 elem_bin->setVarTunable(0, MUSTREACHLOCAL, &onoff, 1);
27                 elem_bin->setVarTunable(1, MUSTREACHLOCAL, &onoff, 1);
28                 elem_bin->setVarTunable(2, MUSTREACHLOCAL, &onoff, 1);
29                 elem_bin->setVarTunable(0, MUSTREACHPRUNE, &onoff, 1);
30                 elem_bin->setVarTunable(1, MUSTREACHPRUNE, &onoff, 1);
31                 elem_bin->setVarTunable(2, MUSTREACHPRUNE, &onoff, 1);
32                 elem_bin->setVarTunable(0, MUSTEDGEPRUNE, &onoff, 1);
33                 elem_bin->setVarTunable(1, MUSTEDGEPRUNE, &onoff, 1);
34                 elem_bin->setVarTunable(2, MUSTEDGEPRUNE, &onoff, 1);
35                 elem_bin->setTunable(OPTIMIZEORDERSTRUCTURE, &onoff, 1);
36                 elem_bin->setTunable(MUSTVALUE, &mustValueBinaryIndex, 3);
37
38                 elem_onehot->setTunable(NAIVEENCODER, &NaiveEncodingDesc, ONEHOT);
39                 elem_unary->setTunable(NAIVEENCODER, &NaiveEncodingDesc, UNARY);
40                 elem_bin->serialize("binarytuner.conf");
41                 elem_onehot->serialize("onehottuner.conf");
42                 elem_unary->serialize("unarytuner.conf");
43                 elem_bin->setTunable(ENCODINGGRAPHOPT, &offon, 1);
44                 elem_onehot->setTunable(ENCODINGGRAPHOPT, &offon, 1);
45                 elem_unary->setTunable(ENCODINGGRAPHOPT, &offon, 1);
46                 elem_bin->serialize("circuitbinarytuner.conf");
47                 elem_onehot->serialize("circuitonehottuner.conf");
48                 elem_unary->serialize("circuitunarytuner.conf");
49                 elem_bin->setTunable(DECOMPOSEORDER, &onoff, 0);
50                 elem_onehot->setTunable(DECOMPOSEORDER, &onoff, 0);
51                 elem_unary->setTunable(DECOMPOSEORDER, &onoff, 0);
52                 elem_bin->serialize("circuitbinarytunernodecompose.conf");
53                 elem_onehot->serialize("circuitonehottunernodecompose.conf");
54                 elem_unary->serialize("circuitunarytunernodecompose.conf");
55                 delete elem_bin;
56                 delete elem_onehot;
57                 delete elem_unary;
58         }
59         {
60                 SearchTuner *elem_bin = new SearchTuner();
61                 SearchTuner *elem_onehot = new SearchTuner();
62                 SearchTuner *elem_unary = new SearchTuner();
63                 elem_bin->setTunable(NAIVEENCODER, &NaiveEncodingDesc, BINARYINDEX);
64                 elem_onehot->setTunable(NAIVEENCODER, &NaiveEncodingDesc, ONEHOT);
65                 elem_unary->setTunable(NAIVEENCODER, &NaiveEncodingDesc, UNARY);
66                 elem_bin->setTunable(DECOMPOSEORDER, &onoff, 0);
67                 elem_onehot->setTunable(DECOMPOSEORDER, &onoff, 0);
68                 elem_unary->setTunable(DECOMPOSEORDER, &onoff, 0);
69                 elem_bin->serialize("binarytunernodecompose.conf");
70                 elem_onehot->serialize("onehottunernodecompose.conf");
71                 elem_unary->serialize("unarytunernodecompose.conf");
72                 delete elem_bin;
73                 delete elem_onehot;
74                 delete elem_unary;
75         }
76
77
78         {
79                 SearchTuner *elem_bin = new SearchTuner();
80                 SearchTuner *elem_onehot = new SearchTuner();
81                 SearchTuner *elem_unary = new SearchTuner();
82                 elem_bin->setTunable(NAIVEENCODER, &NaiveEncodingDesc, BINARYINDEX);
83                 elem_onehot->setTunable(NAIVEENCODER, &NaiveEncodingDesc, ONEHOT);
84                 elem_unary->setTunable(NAIVEENCODER, &NaiveEncodingDesc, UNARY);
85                 elem_bin->setTunable(ORDERINTEGERENCODING, &offon, 1);
86                 elem_bin->setTunable(PREPROCESS, &onoff, 1);
87                 elem_bin->setTunable(DECOMPOSEORDER, &onoff, 1);
88                 elem_bin->setTunable(ELEMENTOPT, &onoff, 1);
89                 elem_bin->setTunable(ELEMENTOPTSETS, &onoff, 1);
90                 elem_bin->setTunable(ENCODINGGRAPHOPT, &offon, 0);
91                 elem_bin->setVarTunable(0, NODEENCODING, &NodeEncodingDesc, ELEM_UNASSIGNED);
92                 elem_bin->setVarTunable(1, NODEENCODING, &NodeEncodingDesc, ELEM_UNASSIGNED);
93                 elem_bin->setVarTunable(2, NODEENCODING, &NodeEncodingDesc, ELEM_UNASSIGNED);
94                 elem_bin->setTunable(VARIABLEORDER, &boolVarOrderingDesc, REVERSEORDERING);
95                 elem_bin->setTunable(PROXYVARIABLE, &proxyparameter, 2);
96                 elem_bin->setVarTunable(0, MUSTREACHGLOBAL, &onoff, 1);
97                 elem_bin->setVarTunable(1, MUSTREACHGLOBAL, &onoff, 1);
98                 elem_bin->setVarTunable(2, MUSTREACHGLOBAL, &onoff, 1);
99                 elem_bin->setVarTunable(0, MUSTREACHLOCAL, &onoff, 1);
100                 elem_bin->setVarTunable(1, MUSTREACHLOCAL, &onoff, 1);
101                 elem_bin->setVarTunable(2, MUSTREACHLOCAL, &onoff, 1);
102                 elem_bin->setVarTunable(0, MUSTREACHPRUNE, &onoff, 1);
103                 elem_bin->setVarTunable(1, MUSTREACHPRUNE, &onoff, 1);
104                 elem_bin->setVarTunable(2, MUSTREACHPRUNE, &onoff, 1);
105                 elem_bin->setVarTunable(0, MUSTEDGEPRUNE, &onoff, 1);
106                 elem_bin->setVarTunable(1, MUSTEDGEPRUNE, &onoff, 1);
107                 elem_bin->setVarTunable(2, MUSTEDGEPRUNE, &onoff, 1);
108                 elem_bin->setTunable(OPTIMIZEORDERSTRUCTURE, &onoff, 1);
109                 elem_onehot->setTunable(ORDERINTEGERENCODING, &offon, 1);
110                 elem_unary->setTunable(ORDERINTEGERENCODING, &offon, 1);
111
112                 elem_bin->serialize("binarytunerint.conf");
113                 elem_onehot->serialize("onehottunerint.conf");
114                 elem_unary->serialize("unarytunerint.conf");
115                 elem_bin->setTunable(ENCODINGGRAPHOPT, &offon, 1);
116                 elem_onehot->setTunable(ENCODINGGRAPHOPT, &offon, 1);
117                 elem_unary->setTunable(ENCODINGGRAPHOPT, &offon, 1);
118                 elem_bin->serialize("circuitbinarytunerint.conf");
119                 elem_onehot->serialize("circuitonehottunerint.conf");
120                 elem_unary->serialize("circuitunarytunerint.conf");
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("circuitbinarytunernodecomposeint.conf");
125                 elem_onehot->serialize("circuitonehottunernodecomposeint.conf");
126                 elem_unary->serialize("circuitunarytunernodecomposeint.conf");
127                 delete elem_bin;
128                 delete elem_onehot;
129                 delete elem_unary;
130         }
131         {
132                 SearchTuner *elem_bin = new SearchTuner();
133                 SearchTuner *elem_onehot = new SearchTuner();
134                 SearchTuner *elem_unary = new SearchTuner();
135                 elem_bin->setTunable(NAIVEENCODER, &NaiveEncodingDesc, BINARYINDEX);
136                 elem_onehot->setTunable(NAIVEENCODER, &NaiveEncodingDesc, ONEHOT);
137                 elem_unary->setTunable(NAIVEENCODER, &NaiveEncodingDesc, UNARY);
138                 elem_bin->setTunable(ORDERINTEGERENCODING, &offon, 1);
139                 elem_onehot->setTunable(ORDERINTEGERENCODING, &offon, 1);
140                 elem_unary->setTunable(ORDERINTEGERENCODING, &offon, 1);
141                 elem_bin->setTunable(DECOMPOSEORDER, &onoff, 0);
142                 elem_onehot->setTunable(DECOMPOSEORDER, &onoff, 0);
143                 elem_unary->setTunable(DECOMPOSEORDER, &onoff, 0);
144                 elem_bin->serialize("binarytunernodecomposeint.conf");
145                 elem_onehot->serialize("onehottunernodecomposeint.conf");
146                 elem_unary->serialize("unarytunernodecomposeint.conf");
147                 delete elem_bin;
148                 delete elem_onehot;
149                 delete elem_unary;
150         }
151 }