
unit Filter
{
	public const uint16 ID = 0;
	
	link memory Mem {} = #.base;
	
	//[i] linkconst_int32_30 Number;
	public const int32 Number = 0;
	
	[int32*Number] Buffer;
	
	//[i] var_int32 CurrentIndex;
	int32 CurrentIndex;
	
	//---------------------------------------------------
	//[i] function_void OS_init;
	public void OS_init()
	{
		//CurrentIndex = 0;
	}
	//---------------------------------------------------
	//[i] function_void clear;
	public void clear()
	{
		CurrentIndex = 0;
	}
	//---------------------------------------------------
	//[i] function_void add_data int32;
	public void add_data( int32 d )
	{
		if( CurrentIndex >= Number ) {
			return;
		}
		Buffer[CurrentIndex] = d;
		CurrentIndex + 1;
		//CurrentIndex % Number;
	}
	//---------------------------------------------------
	//[i] function_int32 get_data int32;
	public int32 get_data( int32 i )
	{
		i - 1;
		if( i < 0 || i >= CurrentIndex ) {
			return 0;
		}
		return Buffer[i];
	}
}






