//////////////////////////////////////////////////////////// //~ Uid types Struct(Uid) { u64 hi; u64 lo; }; //////////////////////////////////////////////////////////// //~ Uid operations #define UID(hi64, lo64) ((Uid) { .hi = (hi64), .lo = (lo64) }) Uid UidFromTrueRand(void); Uid CombineUid(Uid a, Uid b); Inline b32 EqUid(Uid a, Uid b) { return a.hi == b.hi && a.lo == b.lo; } Inline b32 IsUidZero(Uid v) { return v.hi == 0 && v.lo == 0; }