static public Triplet <FT, ST, TT> Min <FT, ST, TT>(Triplet <FT, ST, TT> p, Triplet <FT, ST, TT> q) where FT : IComparable <FT> where ST : IComparable <ST> where TT : IComparable <TT> { return(p.CompareTo(q) <= 0 ? p : q); }
public void CompareToTest() { var A = new Triplet<float>(1.0f, 2.0f, 1.0f); var B = new Triplet<float>(2.0f, 1.0f, 1.0f); var C = new Triplet<float>(2.0f, 2.0f, 2.0f); Assert.AreEqual(0, A.CompareTo(A)); Assert.AreEqual(-1, A.CompareTo(B)); Assert.AreEqual(-1, B.CompareTo(C)); Assert.AreEqual(-1, A.CompareTo(C)); Assert.AreEqual(1, C.CompareTo(B)); Assert.AreEqual(1, C.CompareTo(A)); Assert.AreEqual(1, B.CompareTo(A)); }