URL
https://opencores.org/ocsvn/openrisc_me/openrisc_me/trunk
Only display areas with differences |
Details |
Blame |
View Log
Rev 149 |
Rev 154 |
#define NG 0x100L
|
#define NG 0x100L
|
|
|
unsigned long flg = 0;
|
unsigned long flg = 0;
|
|
|
long sub (int n)
|
long sub (int n)
|
{
|
{
|
int a, b ;
|
int a, b ;
|
|
|
if (n >= 2)
|
if (n >= 2)
|
{
|
{
|
if (n % 2 == 0)
|
if (n % 2 == 0)
|
{
|
{
|
a = sub (n / 2);
|
a = sub (n / 2);
|
|
|
return (a + 2 * sub (n / 2 - 1)) * a;
|
return (a + 2 * sub (n / 2 - 1)) * a;
|
}
|
}
|
else
|
else
|
{
|
{
|
a = sub (n / 2 + 1);
|
a = sub (n / 2 + 1);
|
b = sub (n / 2);
|
b = sub (n / 2);
|
|
|
return a * a + b * b;
|
return a * a + b * b;
|
}
|
}
|
}
|
}
|
else
|
else
|
return (long) n;
|
return (long) n;
|
}
|
}
|
|
|
int main (void)
|
int main (void)
|
{
|
{
|
if (sub (30) != 832040L)
|
if (sub (30) != 832040L)
|
flg |= NG;
|
flg |= NG;
|
|
|
if (flg)
|
if (flg)
|
abort ();
|
abort ();
|
|
|
exit (0);
|
exit (0);
|
}
|
}
|
|
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.