Files
2026-11-07 13:30:45 +07:00

45 lines
547 B
C++

#include "../stdafx.h"
#include "FSM.h"
FSM::FSM()
{
InitState();
}
void FSM::InitState()
{
m_iState = MAGIC_TOKEN_FSM;
}
bool FSM::IsFirst()
{
if( MAGIC_TOKEN_FSM == m_iState )
return true;
return false;
}
int FSM::GetState()
{
return m_iState;
}
void FSM::SetState(int iState)
{
m_iState = iState;
}
void FSM::UpdateState()
{
if( !IsFirst() )
{
m_iState = ( (~m_iState) + 5371 ) * 31;
m_iState = m_iState ^ ( m_iState >> 16);
if( m_iState < 0 )
m_iState = -m_iState;
}
}