#if defined _long_included
  #endinput
#endif
#define _long_included

stock long( long:dst[2], src )
{
	dst[0] = long:src;
	dst[1] = long:0;
}

native longadd( long:dst[2], long:oper1[2], long:oper2[2] );
native longsub( long:dst[2], long:oper1[2], long:oper2[2] );
native longmul( long:dst[2], long:oper1[2], long:oper2[2] );
native longdiv( long:dst[2], long:oper1[2], long:oper2[2] );
native longcmp( long:oper1[2], long:oper2[2] );

stock longadd2( long:dst[2], long:oper1[2], oper2 )
{
	new long: tmp[2];
	long( tmp, oper2 );
	longadd( dst, oper1, tmp );
}

stock longsub2( long:dst[2], long:oper1[2], oper2 )
{
	new long: tmp[2];
	long( tmp, oper2 );
	longsub( dst, oper1, tmp );
}

stock longmul2( long:dst[2], long:oper1[2], oper2 )
{
	new long: tmp[2];
	long( tmp, oper2 );
	longmul( dst, oper1, tmp );
}

stock longdiv2( long:dst[2], long:oper1[2], oper2 )
{
	new long: tmp[2];
	long( tmp, oper2 );
	longdiv( dst, oper1, tmp );
}

stock longcmp2( long:oper1[2], oper2 )
{
	new long: tmp[2];
	long( tmp, oper2 );
	return longcmp( oper1, tmp );
}
