/// <summary> /// Compares two elements. /// </summary> /// <param name="x">First element</param> /// <param name="y">Second element</param> /// <returns>Ordinal difference between elements.</returns> public int Compare(IElement x, IElement y) { IElement v1 = this.GetValue(x); IElement v2 = this.GetValue(y); return(this.sign * ElementOrder.Compare(v1, v2, this.node)); }
/// <summary> /// Compares two elements. /// </summary> /// <param name="x">First element</param> /// <param name="y">Second element</param> /// <returns>Ordinal difference between elements.</returns> public int Compare(IElement x, IElement y) { if (x is IVector v1 && y is IVector v2) { IElement e1 = v1.GetElement(this.index); IElement e2 = v2.GetElement(this.index); return(this.sign * ElementOrder.Compare(e1, e2, this.node)); }