int solver_run(struct solver_data *solver) { if(solver->ready == 0) { printf("error: uninitialized solver passed to solver_run\n"); return(1); } if(solver_check(solver) == 1) return(1); return solver->loop(solver); }
int solver_init_complete(struct solver_data *solver) { if(solver_check(solver) == 1) { return(1); } if(mesh_init_complete(solver->mesh) == 1) { return(1); } solver->ready = 1; return 0; }
/*----------------------------------------------------------------------------*/ int main_switch_test (int num_var, char **ptr_var) { int mode; /* if (num_var == 0) mode = -1; */ /* else mode = atoi (ptr_var[0]); */ if (num_var == 0) mode = 0; // печатаем меню else mode = atoi (ptr_var[0]); //my_stderr_set (stdout); switch (mode) { case 0: printf ("MENU : \n\n"); case 1: //-------------------------------------------------------- if (mode==0) printf ("1 - ALL TESTS [@ == debug] \n"); else { printf ("test_eval_all \n"); printf ("\n"); test_eval_all (test_eval_one, TEST_1x2_0); test_eval_all (test_eval_one, TEST_1x3_0); test_eval_all (test_eval_one, TEST_1x2_1); printf ("\n"); printf ("test_prob_all [aigo1] \n"); test_prob_all ("aigo1"); printf ("\n"); printf ("test_play_all [aigo aigo] \n"); test_play_all ("aigo", "aigo"); printf ("\n"); //printf ("minmax tests \n"); // перенесено в СOMMON //minmax_tests (); break; } case 91: //-------------------------------------------------------- if (mode==0) ; else { debug = TRUE; printf ("\n"); test_eval_all (test_eval_one, TEST_1x2_0); printf ("\n"); test_eval_all (test_eval_one, TEST_1x3_0); printf ("\n"); test_eval_all (test_eval_one, TEST_1x2_1); printf ("\n"); break; } case 2: //-------------------------------------------------------- if (mode==0) printf ("2 - test_prob_all [prog] \n"); else { char *prog = ptr_var[1]; test_prob_all (prog); break; } case 3: //-------------------------------------------------------- if (mode==0) { printf ("3 - auto_play [prog1 prog2 ii jj] \n"); } else { char *prog1 = ptr_var[1]; char *prog2 = ptr_var[2]; int ii = atoi (ptr_var[3]); int jj = atoi (ptr_var[4]); srand (0); // установим одинаковые условия для теста // после work_begin->YRAND_S .. YT_GOBAN *goban = goban_create (ii, jj); game_autoplay_ (goban, prog1, prog2, /* is_print */TRUE); break; } case 5: //-------------------------------------------------------- if (mode==0) printf ("5 - resolve [pname ii jj megabytes mlevel] \n"); else { char *pname = ptr_var[1]; // aigo migo int ii = atoi (ptr_var[2]); int jj = atoi (ptr_var[3]); int mb = atoi (ptr_var[4]); int mlevel = atoi (ptr_var[5]); // 14 1 2 test_resolve (pname, ii, jj, mb, mlevel); //test_resolve ("migo", ii, jj, mb, mlevel); //mini-max //test_resolve ("aigo", ii, jj, mb, mlevel); //alfa-beta break; } case 7: //-------------------------------------------------------- if (mode==0) printf ("7 - make Baza [ii jj megabytes] \n"); else { int ii = atoi (ptr_var[1]); int jj = atoi (ptr_var[2]); int mb = atoi (ptr_var[3]); test_moves_map (0, "migo50", ii, jj, /* 600 */mb, /* is_moved_map = */ 1); break; } //------------------------------------------------------------- case 8: //-------------------------------------------------------- if (mode==0) printf ("8 - read Baza [ii jj] \n"); else { int ii = atoi (ptr_var[1]); int jj = atoi (ptr_var[2]); solver_check (ii, jj, TRUE); break; } //------------------------------------------------------------- case 9: //-------------------------------------------------------- if (mode==0) printf ("9 - read Baza [ii jj] (NOT PRINT ERR) \n"); else { int ii = atoi (ptr_var[1]); int jj = atoi (ptr_var[2]); solver_check (ii, jj, FALSE); break; } //------------------------------------------------------------- case 10: //-------------------------------------------------------- if (mode==0) printf ("10 - LEVELING \n"); else { main_leveling (--num_var, ++ptr_var); break; } //------------------------------------------------------------- case 11: //-------------------------------------------------------- if (mode==0) printf ("11 - myhash_test \n"); else { myhash_test () ; break; } //------------------------------------------------------------- case 12: //-------------------------------------------------------- if (mode==0) printf ("12 - myeuler_test \n"); else { //win_test (); myeuler_test (); break; } //------------------------------------------------------------- default: //-------------------------------------------------------- if (mode!=0) printf ("Sorry, what you want ??\n"); } //fprintf (SERR, "\n"); printf ("\n"); return 1; }