#ifndef morpheo_behavioural_Identification_h
#define morpheo_behavioural_Identification_h

#include "Behavioural/include/Types.h"
#include "Common/include/BitManipulation.h"

namespace morpheo {
namespace behavioural {
  
  uint32_t   get_nb_thread      (uint32_t   nb_context        ,
				 uint32_t   nb_front_end      ,
				 uint32_t   nb_ooo_engine     );  
  Tcontext_t get_num_thread     (Tcontext_t num_context_id    ,
				 uint32_t   size_context_id   ,
				 Tcontext_t num_front_end_id  ,
				 uint32_t   size_front_end_id ,
				 Tcontext_t num_ooo_engine_id ,
				 uint32_t   size_ooo_engine_id);
  Tcontext_t get_num_context    (Tcontext_t num_thread        ,
				 uint32_t   size_context_id   ,
				 uint32_t   size_front_end_id ,
				 uint32_t   size_ooo_engine_id);
  Tcontext_t get_num_front_end  (Tcontext_t num_thread        ,
				 uint32_t   size_context_id   ,
				 uint32_t   size_front_end_id ,
				 uint32_t   size_ooo_engine_id);
  Tcontext_t get_num_ooo_engine (Tcontext_t num_thread        ,
				 uint32_t   size_context_id   ,
				 uint32_t   size_front_end_id ,
				 uint32_t   size_ooo_engine_id);

}; // end namespace behavioural
}; // end namespace morpheo              
#endif
