in Microsoft.Shared.Dna.Hash/AffineHash.cs [68:79]
public AffineHash(long scale, long shift)
{
#if CONTRACTS_FULL // Work around the implicit rewrite requirements of Contract.Requires<T>
Contract.Requires<ArgumentOutOfRangeException>(scale > 0L);
Contract.Requires<ArgumentOutOfRangeException>(scale < AffineHash.MaxFactor);
Contract.Requires<ArgumentException>(scale % 2 != 0);
Contract.Requires<ArgumentOutOfRangeException>(shift >= 0L);
Contract.Requires<ArgumentOutOfRangeException>(shift < AffineHash.MaxFactor);
#endif
this.scale = (ulong)scale;
this.shift = (ulong)shift;
}