Beispiel #1
0
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);
}
Beispiel #2
0
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;

}
Beispiel #3
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;
}