public override bool Equals(double?x, double?y) { return (x == null && y == null ? true : x == null || y == null ? false : BitwiseDoubleEqualityComparer.Equals(x.Value, y.Value)); }
// The hash code for null is just a constant which is at least *unlikely* to be used // elsewhere. (Compared with 0, say.) public override int GetHashCode(double?obj) { return(obj == null ? 293864 : BitwiseDoubleEqualityComparer.GetHashCode(obj.Value)); }