コード例 #1
0
        public static Bool Compare(CompareOp op, Undefined u1, Undefined u2)
        {
            Bool result;

            switch (op)
            {
            case CompareOp.Eq:
            case CompareOp.Ne:
            case CompareOp.Lt:
            case CompareOp.Le:
            case CompareOp.Gt:
            case CompareOp.Ge:
                result = Bool.Undefined;
                break;

            default:
                throw new ArgumentOutOfRangeException(nameof(op), op, null);
            }
            return(result);
        }
コード例 #2
0
ファイル: ComparisonOperators.cs プロジェクト: nlcamp/iotedge
        public static Bool Compare(CompareOp op, double d1, double d2)
        {
            if (!Undefined.IsDefined(d1) || !Undefined.IsDefined(d2))
            {
                return(Bool.Undefined);
            }

            Bool result;

            switch (op)
            {
            case CompareOp.Eq:
                result = (Bool)(d1.CompareTo(d2) == 0);
                break;

            case CompareOp.Ne:
                result = (Bool)(d1.CompareTo(d2) != 0);
                break;

            case CompareOp.Lt:
                result = (Bool)(d1.CompareTo(d2) < 0);
                break;

            case CompareOp.Le:
                result = (Bool)(d1.CompareTo(d2) <= 0);
                break;

            case CompareOp.Gt:
                result = (Bool)(d1.CompareTo(d2) > 0);
                break;

            case CompareOp.Ge:
                result = (Bool)(d1.CompareTo(d2) >= 0);
                break;

            default:
                throw new ArgumentOutOfRangeException(nameof(op), op, null);
            }

            return(result);
        }
コード例 #3
0
ファイル: ComparisonOperators.cs プロジェクト: nlcamp/iotedge
        public static Bool Compare(CompareOp op, QueryValue v1, QueryValue v2)
        {
            if (!Undefined.IsDefined(v1) || !Undefined.IsDefined(v2) || v1 == null || v2 == null)
            {
                return(Bool.Undefined);
            }

            Bool result;

            switch (op)
            {
            case CompareOp.Eq:
                result = (Bool)(v1.CompareTo(v2) == 0);
                break;

            case CompareOp.Ne:
                result = (Bool)(v1.CompareTo(v2) != 0);
                break;

            case CompareOp.Lt:
                result = (Bool)(v1.CompareTo(v2) < 0);
                break;

            case CompareOp.Le:
                result = (Bool)(v1.CompareTo(v2) <= 0);
                break;

            case CompareOp.Gt:
                result = (Bool)(v1.CompareTo(v2) > 0);
                break;

            case CompareOp.Ge:
                result = (Bool)(v1.CompareTo(v2) >= 0);
                break;

            default:
                throw new ArgumentOutOfRangeException(nameof(op), op, null);
            }

            return(result);
        }
コード例 #4
0
ファイル: ComparisonOperators.cs プロジェクト: nlcamp/iotedge
        public static Bool Compare(CompareOp op, string s1, string s2)
        {
            if (!Undefined.IsDefined(s1) || !Undefined.IsDefined(s2) || s1 == null || s2 == null)
            {
                return(Bool.Undefined);
            }

            Bool result;

            switch (op)
            {
            case CompareOp.Eq:
                result = (Bool)(string.Compare(s1, s2, StringComparison.Ordinal) == 0);
                break;

            case CompareOp.Ne:
                result = (Bool)(string.Compare(s1, s2, StringComparison.Ordinal) != 0);
                break;

            case CompareOp.Lt:
                result = (Bool)(string.Compare(s1, s2, StringComparison.Ordinal) < 0);
                break;

            case CompareOp.Le:
                result = (Bool)(string.Compare(s1, s2, StringComparison.Ordinal) <= 0);
                break;

            case CompareOp.Gt:
                result = (Bool)(string.Compare(s1, s2, StringComparison.Ordinal) > 0);
                break;

            case CompareOp.Ge:
                result = (Bool)(string.Compare(s1, s2, StringComparison.Ordinal) >= 0);
                break;

            default:
                throw new ArgumentOutOfRangeException(nameof(op), op, null);
            }

            return(result);
        }
コード例 #5
0
ファイル: Undefined.cs プロジェクト: darobs/iotedge-HA
 public static Bool IsDefined(this Bool input) => Undefined.IsDefined(input);
コード例 #6
0
ファイル: Undefined.cs プロジェクト: darobs/iotedge-HA
 public static Bool IsDefined(this string input) => Undefined.IsDefined(input);
コード例 #7
0
ファイル: Undefined.cs プロジェクト: darobs/iotedge-HA
 public bool Equals(Undefined other) => true;