/// <summary> /// Checks whether the current value is equal to the specified value. /// </summary> /// <param name="other">The value to compare the current value against.</param> /// <returns>true if the current value is equal to the specified value; otherwise, false.</returns> public bool Equals(Tuplet <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, TRest> other) => FastEqualityComparer <T1> .Default.Equals(Item1, other.Item1) && FastEqualityComparer <T2> .Default.Equals(Item2, other.Item2) && FastEqualityComparer <T3> .Default.Equals(Item3, other.Item3) && FastEqualityComparer <T4> .Default.Equals(Item4, other.Item4) && FastEqualityComparer <T5> .Default.Equals(Item5, other.Item5) && FastEqualityComparer <T6> .Default.Equals(Item6, other.Item6) && FastEqualityComparer <T7> .Default.Equals(Item7, other.Item7) && FastEqualityComparer <T8> .Default.Equals(Item8, other.Item8) && FastEqualityComparer <T9> .Default.Equals(Item9, other.Item9) && FastEqualityComparer <T10> .Default.Equals(Item10, other.Item10) && FastEqualityComparer <T11> .Default.Equals(Item11, other.Item11) && FastEqualityComparer <T12> .Default.Equals(Item12, other.Item12) && FastEqualityComparer <T13> .Default.Equals(Item13, other.Item13) && FastEqualityComparer <T14> .Default.Equals(Item14, other.Item14) && FastEqualityComparer <T15> .Default.Equals(Item15, other.Item15) && FastEqualityComparer <T16> .Default.Equals(Item16, other.Item16) && FastEqualityComparer <TRest> .Default.Equals(Rest, other.Rest) ;
/// <summary> /// Compares the current value with another value and returns an integer that indicates whether the current value precedes, follows, or occurs in the same position in the sort order as the other value. /// </summary> /// <param name="other">A value to compare with this value.</param> /// <returns>A value that indicates the relative order of the values being compared.</returns> public int CompareTo(Tuplet <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, TRest> other) { var res = FastComparer <T1> .Default.Compare(Item1, other.Item1); if (res != 0) { return(res); } res = FastComparer <T2> .Default.Compare(Item2, other.Item2); if (res != 0) { return(res); } res = FastComparer <T3> .Default.Compare(Item3, other.Item3); if (res != 0) { return(res); } res = FastComparer <T4> .Default.Compare(Item4, other.Item4); if (res != 0) { return(res); } res = FastComparer <T5> .Default.Compare(Item5, other.Item5); if (res != 0) { return(res); } res = FastComparer <T6> .Default.Compare(Item6, other.Item6); if (res != 0) { return(res); } res = FastComparer <T7> .Default.Compare(Item7, other.Item7); if (res != 0) { return(res); } res = FastComparer <T8> .Default.Compare(Item8, other.Item8); if (res != 0) { return(res); } res = FastComparer <T9> .Default.Compare(Item9, other.Item9); if (res != 0) { return(res); } res = FastComparer <T10> .Default.Compare(Item10, other.Item10); if (res != 0) { return(res); } res = FastComparer <T11> .Default.Compare(Item11, other.Item11); if (res != 0) { return(res); } res = FastComparer <T12> .Default.Compare(Item12, other.Item12); if (res != 0) { return(res); } res = FastComparer <T13> .Default.Compare(Item13, other.Item13); if (res != 0) { return(res); } res = FastComparer <T14> .Default.Compare(Item14, other.Item14); if (res != 0) { return(res); } res = FastComparer <T15> .Default.Compare(Item15, other.Item15); if (res != 0) { return(res); } res = FastComparer <T16> .Default.Compare(Item16, other.Item16); if (res != 0) { return(res); } res = FastComparer <TRest> .Default.Compare(Rest, other.Rest); return(res); }