mirror of
https://github.com/nArnoSNES/tcc-65816.git
synced 2024-06-12 13:29:29 +00:00
78 lines
1.0 KiB
C
78 lines
1.0 KiB
C
div1 (signed char x)
|
|
{
|
|
return x / -1;
|
|
}
|
|
|
|
div2 (signed short x)
|
|
{
|
|
return x / -1;
|
|
}
|
|
|
|
div3 (signed char x, signed char y)
|
|
{
|
|
return x / y;
|
|
}
|
|
|
|
div4 (signed short x, signed short y)
|
|
{
|
|
return x / y;
|
|
}
|
|
|
|
mod1 (signed char x)
|
|
{
|
|
return x % -1;
|
|
}
|
|
|
|
mod2 (signed short x)
|
|
{
|
|
return x % -1;
|
|
}
|
|
|
|
mod3 (signed char x, signed char y)
|
|
{
|
|
return x % y;
|
|
}
|
|
|
|
mod4 (signed short x, signed short y)
|
|
{
|
|
return x % y;
|
|
}
|
|
|
|
signed long
|
|
mod5 (signed long x, signed long y)
|
|
{
|
|
return x % y;
|
|
}
|
|
|
|
unsigned long
|
|
mod6 (unsigned long x, unsigned long y)
|
|
{
|
|
return x % y;
|
|
}
|
|
|
|
main ()
|
|
{
|
|
if (div1 (-(1 << 7)) != 1 << 7)
|
|
abort ();
|
|
if (div2 (-(1 << 15)) != 1 << 15)
|
|
abort ();
|
|
if (div3 (-(1 << 7), -1) != 1 << 7)
|
|
abort ();
|
|
if (div4 (-(1 << 15), -1) != 1 << 15)
|
|
abort ();
|
|
if (mod1 (-(1 << 7)) != 0)
|
|
abort ();
|
|
if (mod2 (-(1 << 15)) != 0)
|
|
abort ();
|
|
if (mod3 (-(1 << 7), -1) != 0)
|
|
abort ();
|
|
if (mod4 (-(1 << 15), -1) != 0)
|
|
abort ();
|
|
if (mod5 (0x50000000, 2) != 0)
|
|
abort ();
|
|
if (mod6 (0x50000000, 2) != 0)
|
|
abort ();
|
|
|
|
exit (0);
|
|
}
|