public static int Xor(this IEnumerable <int> sequence) { return(IEnumerableExtensions.Xor <int>(sequence, (Func <int, int>)(value => value))); }
public static long Xor(this IEnumerable <long> sequence) { return(IEnumerableExtensions.Xor <long>(sequence, (Func <long, long>)(value => value))); }
public static int BytesSequenceGetHashCode(this IEnumerable <byte> sequence) { int i = 0; return(IEnumerableExtensions.Xor <byte>(sequence, (Func <byte, int>)(b => (int)b << 8 * (i++ % 4)))); }
public static int UShortsSequenceGetHashCode(this IEnumerable <ushort> sequence) { int i = 0; return(IEnumerableExtensions.Xor <ushort>(sequence, (Func <ushort, int>)(b => (int)b << 16 * (i++ % 2)))); }
public static int SequenceGetHashCode <T>(this IEnumerable <T> sequence) { return(IEnumerableExtensions.Xor <T>(sequence, (Func <T, int>)(value => value.GetHashCode()))); }