Example #1
0
        public int Compare(object x, object y)
        {
            if (x == null || y == null)
            {
                return(1);
            }

            if (ReferenceEquals(x, y))
            {
                return(0);
            }

            TinyValue obj1 = (TinyValue)x;
            TinyValue obj2 = (TinyValue)y;

            if (obj1.value is float && obj2.value is float)
            {
                if (obj1.Equals(obj2))
                {
                    return(0);
                }
                return(this.asFloat().CompareTo(obj2.asFloat()));
            }
            else if (obj1.isString() && obj2.isString())
            {
                return(obj1.asString().CompareTo(obj2.asString()));
            }
            throw new InvalidOperationException("Could not compare expression: '" + obj1 + "' against '" + obj2 + "'");
        }