FLAME’s Future
267
}
/** \fn Job_market()
* \brief Job market */
__FLAME_GPU_FUNC__ int Job_market(xmachine_memory_Mall* agent,
xmachine_message_vacancy_list* vacancy_messages)
{
int total_vacancies = 0;
agent->firm_1=0;
agent->firm_2=0;
agent->firm_3=0;
agent->firm_4=0;
agent->firm_5=0;
agent->total_vacancies=total_vacancies;
/* Read vacancy messages */
xmachine_message_vacancy* current_message =
get_first_vacancy_message(vacancy_messages);
while(current_message)
{
/* If the vacancy message refers to this mall*/
if(agent->id == current_message->mall_id)
{
if(agent->firm_1==0)
{
agent->firm_1=current_message->firm_id;
agent->firm_1_vacancy=current_message->vacancies;
total_vacancies+= current_message->vacancies;
}
else if(agent->firm_2==0)
{
agent->firm_2=current_message->firm_id;
agent->firm_2_vacancy=current_message->vacancies;
total_vacancies+= current_message->vacancies;
}
else if(agent->firm_3==0)
{
agent->firm_3=current_message->firm_id;
agent->firm_3_vacancy=current_message->vacancies;
total_vacancies += current_message->vacancies;
}
else if(agent->firm_4==0)
{
agent->firm_4=current_message->firm_id;
agent->firm_4_vacancy=current_message->vacancies;
total_vacancies += current_message->vacancies;
}
else if(agent->firm_5==0)
{
agent->firm_5=current_message->firm_id;
agent->firm_5_vacancy=current_message->vacancies;
total_vacancies += current_message->vacancies;
}
else
{}
}
/* Move onto next message to check */
267
}
/** \fn Job_market()
* \brief Job market */
__FLAME_GPU_FUNC__ int Job_market(xmachine_memory_Mall* agent,
xmachine_message_vacancy_list* vacancy_messages)
{
int total_vacancies = 0;
agent->firm_1=0;
agent->firm_2=0;
agent->firm_3=0;
agent->firm_4=0;
agent->firm_5=0;
agent->total_vacancies=total_vacancies;
/* Read vacancy messages */
xmachine_message_vacancy* current_message =
get_first_vacancy_message(vacancy_messages);
while(current_message)
{
/* If the vacancy message refers to this mall*/
if(agent->id == current_message->mall_id)
{
if(agent->firm_1==0)
{
agent->firm_1=current_message->firm_id;
agent->firm_1_vacancy=current_message->vacancies;
total_vacancies+= current_message->vacancies;
}
else if(agent->firm_2==0)
{
agent->firm_2=current_message->firm_id;
agent->firm_2_vacancy=current_message->vacancies;
total_vacancies+= current_message->vacancies;
}
else if(agent->firm_3==0)
{
agent->firm_3=current_message->firm_id;
agent->firm_3_vacancy=current_message->vacancies;
total_vacancies += current_message->vacancies;
}
else if(agent->firm_4==0)
{
agent->firm_4=current_message->firm_id;
agent->firm_4_vacancy=current_message->vacancies;
total_vacancies += current_message->vacancies;
}
else if(agent->firm_5==0)
{
agent->firm_5=current_message->firm_id;
agent->firm_5_vacancy=current_message->vacancies;
total_vacancies += current_message->vacancies;
}
else
{}
}
/* Move onto next message to check */
