VR4Medical/ICI/Library/PackageCache/com.unity.xr.core-utils@5b282bc7378d/Runtime/HashCodeUtil.cs
2025-07-29 13:45:50 +03:00

23 lines
1.2 KiB
C#

namespace Unity.XR.CoreUtils
{
static class HashCodeUtil
{
public static int Combine(int hash1, int hash2)
{
unchecked
{
return hash1 * 486187739 + hash2;
}
}
public static int ReferenceHash(object obj) => obj != null ? obj.GetHashCode() : 0;
public static int Combine(int hash1, int hash2, int hash3) => Combine(Combine(hash1, hash2), hash3);
public static int Combine(int hash1, int hash2, int hash3, int hash4) => Combine(Combine(hash1, hash2, hash3), hash4);
public static int Combine(int hash1, int hash2, int hash3, int hash4, int hash5) => Combine(Combine(hash1, hash2, hash3, hash4), hash5);
public static int Combine(int hash1, int hash2, int hash3, int hash4, int hash5, int hash6) => Combine(Combine(hash1, hash2, hash3, hash4, hash5), hash6);
public static int Combine(int hash1, int hash2, int hash3, int hash4, int hash5, int hash6, int hash7) => Combine(Combine(hash1, hash2, hash3, hash4, hash5, hash6), hash7);
public static int Combine(int hash1, int hash2, int hash3, int hash4, int hash5, int hash6, int hash7, int hash8) => Combine(Combine(hash1, hash2, hash3, hash4, hash5, hash6, hash7), hash8);
}
}