Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
HashRepartitionStream.cs
Go to the documentation of this file.
2
4
5internal abstract class HashRepartitionStream<TInputOutput, THashKey, TOrderKey> : PartitionedStream<Pair<TInputOutput, THashKey>, TOrderKey>
6{
8
10
11 private readonly int _distributionMod;
12
25
26 internal int GetHashCode(TInputOutput element)
27 {
28 return (0x7FFFFFFF & ((element != null) ? (_elementComparer?.GetHashCode(element) ?? element.GetHashCode()) : 0)) % _distributionMod;
29 }
30
31 internal int GetHashCode(THashKey key)
32 {
33 return (0x7FFFFFFF & ((key != null) ? (_keyComparer?.GetHashCode(key) ?? key.GetHashCode()) : 0)) % _distributionMod;
34 }
35}
readonly IEqualityComparer< THashKey > _keyComparer
readonly IEqualityComparer< TInputOutput > _elementComparer
HashRepartitionStream(int partitionsCount, IComparer< TOrderKey > orderKeyComparer, IEqualityComparer< THashKey > hashKeyComparer, IEqualityComparer< TInputOutput > elementComparer)