URL
https://opencores.org/ocsvn/plasma/plasma/trunk
[/] [plasma/] [trunk/] [kernel/] [libc.c] - Diff between revs 352 and 379
Go to most recent revision |
Show entire file |
Details |
Blame |
View Log
Rev 352 |
Rev 379 |
Line 181... |
Line 181... |
{
|
{
|
return n>=0 ? n : -n;
|
return n>=0 ? n : -n;
|
}
|
}
|
|
|
|
|
static uint32 Rand1=0x1f2bcda3, Rand2=0xdeafbeef, Rand3=0xc5134306;
|
static uint32 Rand1=0x1f2bcda3;
|
int rand(void)
|
int rand(void)
|
{
|
{
|
int shift;
|
Rand1 = 1664525 * Rand1 + 1013904223; //from D.E. Knuth and H.W. Lewis
|
Rand1 += 0x13423123 + Rand2;
|
|
Rand2 += 0x2312fdea + Rand3;
|
|
Rand3 += 0xf2a12de1;
|
|
shift = Rand3 & 31;
|
|
Rand1 = (Rand1 << (32 - shift)) | (Rand1 >> shift);
|
|
Rand3 ^= Rand1;
|
|
shift = (Rand3 >> 8) & 31;
|
|
Rand2 = (Rand2 << (32 - shift)) | (Rand2 >> shift);
|
|
return Rand1;
|
return Rand1;
|
}
|
}
|
|
|
|
|
void srand(unsigned int seed)
|
void srand(unsigned int seed)
|
© copyright 1999-2025
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.