public override int GetHashCode() { return(M00.GetHashCode() ^ M01.GetHashCode() ^ M02.GetHashCode() ^ M03.GetHashCode() ^ M10.GetHashCode() ^ M11.GetHashCode() ^ M12.GetHashCode() ^ M13.GetHashCode() ^ M20.GetHashCode() ^ M21.GetHashCode() ^ M22.GetHashCode() ^ M23.GetHashCode() ^ M30.GetHashCode() ^ M31.GetHashCode() ^ M32.GetHashCode() ^ M33.GetHashCode()); }
public override int GetHashCode() { // Overflow is fine, just wrap unchecked { int hash = 17; hash = hash * 29 + M00.GetHashCode(); hash = hash * 29 + M01.GetHashCode(); hash = hash * 29 + M02.GetHashCode(); hash = hash * 29 + M03.GetHashCode(); hash = hash * 29 + M10.GetHashCode(); hash = hash * 29 + M11.GetHashCode(); hash = hash * 29 + M12.GetHashCode(); hash = hash * 29 + M13.GetHashCode(); hash = hash * 29 + M20.GetHashCode(); hash = hash * 29 + M21.GetHashCode(); hash = hash * 29 + M22.GetHashCode(); hash = hash * 29 + M23.GetHashCode(); return(hash); } }