23 lines
559 B
C
23 lines
559 B
C
/* Returns a uid generated from the system's random number generator */
|
|
Uid UidFromTrueRand(void)
|
|
{
|
|
Uid result = ZI;
|
|
TrueRand(StringFromStruct(&result));
|
|
return result;
|
|
}
|
|
|
|
/* Combines 2 uids into a new uid */
|
|
Uid CombineUid(Uid a, Uid b)
|
|
{
|
|
Uid result;
|
|
result.hi = (a.hi * 3) + b.hi;
|
|
result.lo = (a.lo * 3) + b.lo;
|
|
result.hi += result.lo;
|
|
result.lo += result.hi;
|
|
result.hi = RandU64FromSeed(result.hi);
|
|
result.lo = RandU64FromSeed(result.lo);
|
|
result.hi += result.lo;
|
|
result.lo += result.hi;
|
|
return result;
|
|
}
|