private uint GetHash(int buffer) { uint num = base.seed + 374761393; num += 4; num = (uint)((int)num + buffer * -1028477379); num = RandomNumberGenerator_BasicHash.Rotate(num, 17) * 668265263; num ^= num >> 15; num = (uint)((int)num * -2048144777); num ^= num >> 13; num = (uint)((int)num * -1028477379); return(num ^ num >> 16); }
private uint GetHash(int buffer) { uint num = this.seed + 374761393; num += 4; num = (uint)(num + buffer * -1028477379); num = RandomNumberGenerator_BasicHash.Rotate(num, 17) * 668265263; num = num ^ num >> 15; unchecked { num *= (uint)-2048144777; } num = num ^ num >> 13; unchecked { num *= (uint)-1028477379; } num = num ^ num >> 16; return(num); }
public static void Prefix(ref uint __result, RandomNumberGenerator_BasicHash __instance, int buffer) { #if RAND_LOGS if (CooperateRimming.dumpRand) { int tick = Current.Game == null ? -1 : Find.TickManager.TicksGame; StackTrace tr = new StackTrace(); streamholder.WriteLine("====STACK====", "rand"); foreach (var frame in tr.GetFrames()) { streamholder.WriteLine(frame.GetMethod().ReflectedType + "::" + frame.GetMethod().Name, "rand"); } streamholder.WriteLine("====END====", "rand"); streamholder.WriteLine(__result.ToString() + " seed " + __instance.seed + " and buffer " + buffer + " at tick " + tick, "rand"); } #endif }