+ model_print("&&&&&&&&Mutating&&&&&&&\n");
+ randomSetting->print();
+ model_print("&&&&&&&&&&&&&&&&&&&&&&&\n");
+}
+
+#ifdef STATICENCGEN
+int SearchTuner::nextStaticTuner() {
+ if(naiveEncoding == ELEM_UNASSIGNED){
+ naiveEncoding = ONEHOT;
+ SetIteratorTunableSetting *iter = settings.iterator();
+ while(iter->hasNext()){
+ TunableSetting *setting = iter->next();
+ if (setting->param == NAIVEENCODER){
+ setting->selectedValue = ONEHOT;
+ } else if(setting->param == ENCODINGGRAPHOPT){
+ setting->selectedValue = false;
+ }
+ }
+ delete iter;
+ return EXIT_FAILURE;
+ }
+ int result=EXIT_FAILURE;
+ if(naiveEncoding == BINARYINDEX && graphEncoding){
+ model_print("Best tuner\n");
+ return EXIT_SUCCESS;
+ }else if (naiveEncoding == BINARYINDEX && !graphEncoding){
+ naiveEncoding = ONEHOT;
+ graphEncoding = true;
+ }else {
+ naiveEncoding = (ElementEncodingType)((int)naiveEncoding + 1);
+ }
+ SetIteratorTunableSetting *iter = settings.iterator();
+ uint count = 0;
+ while(iter->hasNext()){
+ TunableSetting * setting = iter->next();
+ if (setting->param == NAIVEENCODER){
+ setting->selectedValue = naiveEncoding;
+ count++;
+ } else if(setting->param == ENCODINGGRAPHOPT){
+ setting->selectedValue = graphEncoding;
+ count++;
+ }
+ }
+ model_print("Mutating %u settings\n", count);
+ delete iter;
+ return result;