#ifdef STATISTICS
/*
 * $Id$
 *
 * [ Description ]
 * 
 */

#include "Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/include/Statistics.h"

namespace morpheo                    {
namespace behavioural                {
namespace generic                    {
namespace registerfile               {
namespace registerfile_monolithic    {

  Statistics::Statistics (string                                        name                       ,
			  morpheo::behavioural::Parameters_Statistics * parameters_statistics      ,
			  Parameters                                  * parameters
			  ) :
    morpheo::behavioural::Statistics(name                  ,
				     parameters_statistics ),
    _parameters(parameters)
  {
    _param_port_read = new morpheo::behavioural::generic::group::Parameters(_parameters->_nb_port_read);
    _stat_port_read  = new morpheo::behavioural::generic::group::Statistics (name + "_port_read"   ,
									     parameters_statistics ,
									     _param_port_read);

    _param_port_write = new morpheo::behavioural::generic::group::Parameters(_parameters->_nb_port_write);
    _stat_port_write  = new morpheo::behavioural::generic::group::Statistics (name + "_port_write"   ,
									     parameters_statistics ,
									     _param_port_write);
  };
  
  //   Statistics::Statistics (Statistics & stat) :
  // 		       _nb_port_read      (param._nb_port_read ),
  // 		       _nb_port_write     (param._nb_port_write),
  // 		       _nb_word           (param._nb_word      ),
  // 		       _size_word         (param._size_word    )
  //     { };
  
  Statistics::~Statistics () 
  { 
    delete _param_port_read;
    delete _param_port_write;
    delete _stat_port_read ;
    delete _stat_port_write;
  };

}; // end namespace registerfile_monolithic
}; // end namespace registerfile
}; // end namespace generic
}; // end namespace behavioural          
}; // end namespace morpheo              
#endif
