//class_cycles_seconde.hpp for calculat cycles/seconde 

//********************************
//*** class_cycles_seconde.hpp ***
//********************************

//Version 1.0

//Developed with Dev C++ 5.2.0.3 & Allegro 5.0.6

//By Alain Galiani
//Dedalusman
//nageondu@gmail.com

//Start          20 08 2012
//Finished       00 00 2013
//Last updat     20 08 2012

//History:

/*

*/

class class_cycles_seconde
{public:

  //*** DATAS ***

  lm4o temps_debut;
  lm4o temps_fin;
  flo4 temps_ecoule;
  flo4 nb_cycles;
  flo4 max_cycles;
  flo4 cps;

  //*** FONCTIONS ***

  void start(flo4 max_cycles);
  flo4 run();
};

void class_cycles_seconde::start(flo4 max_cy)
{
  max_cycles=max_cy;
  temps_debut=GetTickCount();
  nb_cycles=0;
}

flo4 class_cycles_seconde::run()
{
  if (nb_cycles>=max_cycles)
  {
    temps_fin=GetTickCount();
    temps_ecoule=(float)(temps_fin-temps_debut)/1000.0;
    cps=nb_cycles/temps_ecoule;
    nb_cycles=0;
    temps_debut=temps_fin;
  }
  else
  {
    nb_cycles++;
  }
  return cps;
}


