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)); } }
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)); } }
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); } }
public static object ExclusiveOrBoolObj(bool a, object b) { Stats.Increment(StatsCounter.BinaryOperationBinderInvoked); return(a ^ Dynamic.CastObjectToBool(b)); }
public static object ExclusiveOrObjBool(object a, bool b) { Stats.Increment(StatsCounter.BinaryOperationBinderInvoked); return(Dynamic.CastObjectToBool(a) ^ b); }
public static bool EqualityBoolObj(bool a, object b) { Stats.Increment(StatsCounter.BinaryOperationBinderInvoked); return(a == Dynamic.CastObjectToBool(b)); }
public static bool EqualityObjBool(object a, bool b) { Stats.Increment(StatsCounter.BinaryOperationBinderInvoked); return(Dynamic.CastObjectToBool(a) == b); }
public static bool IsFalseObject(object a) { Stats.Increment(StatsCounter.UnaryOperationBinderInvoked); return(Dynamic.CastObjectToBool(a) == false); }