Exemple #1
0
void loop(peak_param *peak, SMC_ABC_t *ABC, error **err)
{
  clock_t start = clock();
  swapOldAndNew(ABC);
  ABC->t++;
  ABC->newPart->nbAttempts = 0;
  particle_arr *newPart    = ABC->newPart;
  particle_t **newPartArr  = newPart->array;
  printf("-- Begin loop %d\n\n", ABC->t);
  printf("Tolerance = %.5f\n", ABC->oldPart->epsilon);
  
  int i;
  for (i=0; i<ABC->p; i++) {
    acceptParticle(peak, ABC, newPartArr[i], err);
    forwardError(*err, __LINE__,);
  }
  setWeights(ABC);
  printf("\n");
  
  print_particle_arr(newPart);
  updateEpsilon_particle_arr(newPart, ABC->diffList->array);
  updateMean_particle_arr(newPart);
  updateCovariance_particle_arr(newPart);
  
  printf("\n-- End loop %d, ", ABC->t); routineTime(start, clock());
  printf("------------------------------------------------------------------------\n");
  return;
}
// public virtual [base kpCommand]
void kpToolFlowCommand::unexecute ()
{
    swapOldAndNew ();
}