Exemple #1
0
int 
main(int argc, char **argv)
{
  ESL_GETOPTS    *go      = p7_CreateDefaultApp(options, 0, argc, argv, banner, usage);
  ESL_RANDOMNESS *r       = esl_randomness_CreateFast(esl_opt_GetInteger(go, "-s"));
  ESL_STOPWATCH  *w       = esl_stopwatch_Create();
  int             N       = esl_opt_GetInteger(go, "-N");
  int             i;
  float          *A, *B, *C;

  p7_FLogsumInit();

  /* Create the problem: sample N values A,B on interval -1000,1000: about the range of H3 scores */
  A = malloc(sizeof(float) * N);
  B = malloc(sizeof(float) * N);
  C = malloc(sizeof(float) * N);
  for (i = 0; i < N; i++)
    {
      A[i] = esl_random(r) * 2000. - 1000.;
      B[i] = esl_random(r) * 2000. - 1000.;
    }
  
  /* Run */
  esl_stopwatch_Start(w);

  if (esl_opt_GetBoolean(go, "-n"))
    {
      for (i = 0; i < N; i++)
	C[i] = naive2(A[i], B[i]);
    }
  else if (esl_opt_GetBoolean(go, "-r"))
    {
      for (i = 0; i < N; i++)
	C[i] = naive1(A[i], B[i]);
    }
  else
    {
      for (i = 0; i < N; i++)
	C[i] = p7_FLogsum(A[i], B[i]);       
    }

  esl_stopwatch_Stop(w);
  esl_stopwatch_Display(stdout, w, "# CPU time: ");

  esl_stopwatch_Destroy(w);
  esl_randomness_Destroy(r);
  esl_getopts_Destroy(go);
  return 0;
}
size_t StringHashFunctions::operator()(const char *s) const
{
  //hashcalls++;
  //if(hashcalls % 10000 == 0)
  //{
  //  printf("hash keys %d, compares %d,  ratio %lf\n", hashcalls, comparisons, (double)comparisons/hashcalls);
  //}
  
  //return hash_128_swapc(s);
  //return hash_128_swapc(s, strlen(s));
  //return CityHash64(s, strlen(s));
  //return MurmurHash2(s, strlen(s), SEED);
  //return naive(s);
  return naive2(s);
  
  //static std::tr1::hash<std::string> defaultHash;
  //return defaultHash(std::string(s));
}
Exemple #3
0
double ReboundAwareNaive::operator()(const GameState& state)
{
	return (player_ == PLAYER_1 ? naive1(state) : naive2(state)) +
		   r_ * state.canRebound() * (state.whoseTurn() == player_ ? 1 : -1);
}