URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Only display areas with differences |
Details |
Blame |
View Log
Rev 297 |
Rev 338 |
int errflag;
|
int errflag;
|
|
|
long long
|
long long
|
f (long long x, long long y)
|
f (long long x, long long y)
|
{
|
{
|
long long r;
|
long long r;
|
|
|
errflag = 0;
|
errflag = 0;
|
r = x + y;
|
r = x + y;
|
if (x >= 0)
|
if (x >= 0)
|
{
|
{
|
if ((y < 0) || (r >= 0))
|
if ((y < 0) || (r >= 0))
|
return r;
|
return r;
|
}
|
}
|
else
|
else
|
{
|
{
|
if ((y > 0) || (r < 0))
|
if ((y > 0) || (r < 0))
|
return r;
|
return r;
|
}
|
}
|
errflag = 1;
|
errflag = 1;
|
return 0;
|
return 0;
|
}
|
}
|
|
|
main ()
|
main ()
|
{
|
{
|
f (0, 0);
|
f (0, 0);
|
if (errflag)
|
if (errflag)
|
abort ();
|
abort ();
|
|
|
f (1, -1);
|
f (1, -1);
|
if (errflag)
|
if (errflag)
|
abort ();
|
abort ();
|
|
|
f (-1, 1);
|
f (-1, 1);
|
if (errflag)
|
if (errflag)
|
abort ();
|
abort ();
|
|
|
f (0x8000000000000000LL, 0x8000000000000000LL);
|
f (0x8000000000000000LL, 0x8000000000000000LL);
|
if (!errflag)
|
if (!errflag)
|
abort ();
|
abort ();
|
|
|
f (0x8000000000000000LL, -1LL);
|
f (0x8000000000000000LL, -1LL);
|
if (!errflag)
|
if (!errflag)
|
abort ();
|
abort ();
|
|
|
f (0x7fffffffffffffffLL, 0x7fffffffffffffffLL);
|
f (0x7fffffffffffffffLL, 0x7fffffffffffffffLL);
|
if (!errflag)
|
if (!errflag)
|
abort ();
|
abort ();
|
|
|
f (0x7fffffffffffffffLL, 1LL);
|
f (0x7fffffffffffffffLL, 1LL);
|
if (!errflag)
|
if (!errflag)
|
abort ();
|
abort ();
|
|
|
f (0x7fffffffffffffffLL, 0x8000000000000000LL);
|
f (0x7fffffffffffffffLL, 0x8000000000000000LL);
|
if (errflag)
|
if (errflag)
|
abort ();
|
abort ();
|
|
|
exit (0);
|
exit (0);
|
}
|
}
|
|
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.