コード例 #1
0
ファイル: juce_ListBox.cpp プロジェクト: RomanKubiak/amnesia
    void mouseDown (const MouseEvent& e) override
    {
        isDragging = false;
        isDraggingToScroll = false;
        selectRowOnMouseUp = false;

        if (isEnabled())
        {
            if (owner.selectOnMouseDown && ! (selected || isInDragToScrollViewport()))
                performSelection (e, false);
            else
                selectRowOnMouseUp = true;
        }
    }
コード例 #2
0
ファイル: juce_ListBox.cpp プロジェクト: RomanKubiak/amnesia
 void mouseUp (const MouseEvent& e) override
 {
     if (isEnabled() && selectRowOnMouseUp && ! (isDragging || isDraggingToScroll))
         performSelection (e, true);
 }
コード例 #3
0
ファイル: main.c プロジェクト: dwinner/CppAppdev
int main()
{
  int generation = 0, i;
  FILE *fp;
  extern float minFitness, maxFitness, avgFitness;
  extern int curCrossovers, curMutations;
  extern int   curPop;

  void printProgram( int, int );

  srand(time(NULL));

  curPop = 0;

  fp = fopen("stats.txt", "w");

  if (fp == NULL) exit(-1);

  initPopulation();
  performFitnessCheck( fp );

  while (generation < MAX_GENERATIONS) {

    curCrossovers = curMutations = 0;

    performSelection();

    /* Switch the populations */
    curPop = (curPop == 0) ? 1 : 0;

    performFitnessCheck( fp );

    if ((generation++ % 100) == 0) {
      printf("Generation %d\n", generation-1);
      printf("\tmaxFitness = %f (%g)\n", maxFitness, MAX_FIT);
      printf("\tavgFitness = %f\n", avgFitness);
      printf("\tminFitness = %f\n", minFitness);
      printf("\tCrossovers = %d\n", curCrossovers);
      printf("\tMutation   = %d\n", curMutations);
      printf("\tpercentage = %f\n", avgFitness / maxFitness);
    }

    if ( generation > (MAX_GENERATIONS * 0.25) ) {
      if ((avgFitness / maxFitness) > 0.98) {
        printf("converged\n");
        break;
      }
    }

    if (maxFitness == MAX_FIT) {
      printf("found solution\n");
      break;
    }

  }

  printf("Generation %d\n", generation-1);
  printf("\tmaxFitness = %f (%g)\n", maxFitness, MAX_FIT);
  printf("\tavgFitness = %f\n", avgFitness);
  printf("\tminFitness = %f\n", minFitness);
  printf("\tCrossovers = %d\n", curCrossovers);
  printf("\tMutation   = %d\n", curMutations);
  printf("\tpercentage = %f\n", avgFitness / maxFitness);

  for (i = 0 ; i < MAX_CHROMS ; i++) {

    if (populations[curPop][i].fitness == maxFitness) {
      int index;
      printf("Program %3d : ", i);

      for (index = 0 ; index < populations[curPop][i].progSize ; index++) {
        printf("%02d ", populations[curPop][i].program[index]);
      }
      printf("\n");
      printf("Fitness %f\n", populations[curPop][i].fitness);
      printf("ProgSize %d\n\n", populations[curPop][i].progSize);

      printProgram(i, curPop);

      break;
    }

  }

  return 0;
}