Ejemplo n.º 1
0
        public static object BitwiseOrObjObj(object a, object b)
        {
            Stats.Increment(StatsCounter.BinaryOperationBinderInvoked);

            if (a is int)
            {
                return(BitwiseOrIntObj((int)a, b));
            }
            else if (a is double)
            {
                return(BitwiseOrDoubleObj((double)a, b));
            }
            else if (a is float)
            {
                return(BitwiseOrDoubleObj((float)a, b));
            }
            else if (a is bool)
            {
                return(BitwiseOrBoolObj((bool)a, b));
            }
            else if (a is uint)
            {
                return(BitwiseOrUIntObj((uint)a, b));
            }
            else
            {
                return(Dynamic.CastObjectToBool(a) || Dynamic.CastObjectToBool(b));
            }
        }
Ejemplo n.º 2
0
        public static object BitwiseOrBoolObj(bool a, object b)
        {
            Stats.Increment(StatsCounter.BinaryOperationBinderInvoked);

            if (b is bool)
            {
                return(a || (bool)b);
            }
            else
            {
                return(a || Dynamic.CastObjectToBool(b));
            }
        }
Ejemplo n.º 3
0
        public static object BitwiseOrObjBool(object a, bool b)
        {
            Stats.Increment(StatsCounter.BinaryOperationBinderInvoked);

            if (a is bool)
            {
                return((bool)a || b);
            }
            else
            {
                return(Dynamic.CastObjectToBool(a) || b);
            }
        }
Ejemplo n.º 4
0
        public static object ExclusiveOrBoolObj(bool a, object b)
        {
            Stats.Increment(StatsCounter.BinaryOperationBinderInvoked);

            return(a ^ Dynamic.CastObjectToBool(b));
        }
Ejemplo n.º 5
0
        public static object ExclusiveOrObjBool(object a, bool b)
        {
            Stats.Increment(StatsCounter.BinaryOperationBinderInvoked);

            return(Dynamic.CastObjectToBool(a) ^ b);
        }
Ejemplo n.º 6
0
        public static bool EqualityBoolObj(bool a, object b)
        {
            Stats.Increment(StatsCounter.BinaryOperationBinderInvoked);

            return(a == Dynamic.CastObjectToBool(b));
        }
Ejemplo n.º 7
0
        public static bool EqualityObjBool(object a, bool b)
        {
            Stats.Increment(StatsCounter.BinaryOperationBinderInvoked);

            return(Dynamic.CastObjectToBool(a) == b);
        }
Ejemplo n.º 8
0
        public static bool IsFalseObject(object a)
        {
            Stats.Increment(StatsCounter.UnaryOperationBinderInvoked);

            return(Dynamic.CastObjectToBool(a) == false);
        }