示例#1
0
def eq_default(a, b):
    # This strongly enforces the null and boolean identity.
    # You can't mess it up by multimethod introductions.
    if a == null or b == null:
        return boolean(a == b)
    elif isinstance(a, Boolean) or isinstance(b, Boolean):
        return boolean(a == b)
    # This reflects how the cmp_ operates, with an exception that
    # if cmp cannot succeed, we will use the identity equality.
    args = [a, b]
    method = cmp_.fetch_method(args, True)
    if method is None:
        c = coerce.fetch_method(args, False)
        if c is not None:
            args = cast(c.call(args), List,
                        u"coerce should return a list").contents
            method = cmp_.fetch_method(args, True)
    if method is not None:
        return boolean(
            cast(method.call(args), Integer, u"cmp should return an int").value
            == 0)
    else:
        # This way, the equality and inequality is always defined,
        # even if comparison is not defined for everything.
        return boolean(a == b)
示例#2
0
def ge_default(a, b):
    args = [a, b]
    method = cmp_.fetch_method(args, True)
    if method is not None:
        return boolean(
            cast(method.call(args), Integer, u"cmp should return int").value >=
            0)
    else:
        args = cast(coerce.call(args), List, u"coerce should return a list")
        return ge.call_suppressed(args.contents)
示例#3
0
def _(a, b):
    return boolean(a.value == b.value)
示例#4
0
def ne_default(a, b):
    return boolean(is_false(eq.call([a, b])))
示例#5
0
def cmp_le(a, b):
    return boolean(a.number <= b.number)
示例#6
0
def cmp_lt(a, b):
    return boolean(a.number < b.number)
示例#7
0
def cmp_le(a, b):
    return boolean(a.value <= b.value)
示例#8
0
文件: operators.py 项目: cheery/lever
def _(a, b):
    return boolean(a.string == b.string)
示例#9
0
文件: operators.py 项目: Dohxis/lever
def cmp_le(a, b):
    return boolean(a.number <= b.number)
示例#10
0
文件: operators.py 项目: Dohxis/lever
def cmp_gt(a, b):
    return boolean(a.number > b.number)
示例#11
0
文件: operators.py 项目: Dohxis/lever
def cmp_lt(a, b):
    return boolean(a.number < b.number)
示例#12
0
文件: operators.py 项目: Dohxis/lever
def cmp_ge(a, b):
    return boolean(a.value >= b.value)
示例#13
0
文件: operators.py 项目: Dohxis/lever
def cmp_le(a, b):
    return boolean(a.value <= b.value)
示例#14
0
文件: operators.py 项目: Dohxis/lever
def cmp_gt(a, b):
    return boolean(a.value > b.value)
示例#15
0
文件: operators.py 项目: Dohxis/lever
def cmp_lt(a, b):
    return boolean(a.value < b.value)
示例#16
0
def _(a, b):
    return boolean(a.number == b.value)
示例#17
0
def _(a, b):
    return boolean(a.ref == b.ref)
示例#18
0
文件: operators.py 项目: Dohxis/lever
def cmp_ge(a, b):
    return boolean(a.number >= b.number)
示例#19
0
def cmp_gt(a, b):
    return boolean(a.value > b.value)
示例#20
0
文件: operators.py 项目: Dohxis/lever
def ne_default(a, b):
    return boolean(a != b)
示例#21
0
def cmp_ge(a, b):
    return boolean(a.value >= b.value)
示例#22
0
文件: operators.py 项目: Dohxis/lever
def eq_default(a, b):
    return boolean(a == b)
示例#23
0
def cmp_gt(a, b):
    return boolean(a.number > b.number)
示例#24
0
文件: operators.py 项目: Dohxis/lever
def _(a, b):
    return boolean(a.value == b.value)
示例#25
0
def cmp_ge(a, b):
    return boolean(a.number >= b.number)
示例#26
0
文件: operators.py 项目: Dohxis/lever
def _(a, b):
    return boolean(a.number == b.number)
示例#27
0
def _(a, b):
    return boolean(a.number != b.number)
示例#28
0
文件: operators.py 项目: Dohxis/lever
def _(a, b):
    return boolean(a.eq(b))
示例#29
0
def ne_default(a, b):
    return boolean(a != b)
示例#30
0
def eq_default(a, b):
    return boolean(a == b)
示例#31
0
def _(a, b):
    return boolean(a.value == b.number)
示例#32
0
def _(a, b):
    return boolean(a.eq(b))
示例#33
0
def _(a, b):
    return boolean(a.string == b.string)
示例#34
0
def cmp_lt(a, b):
    return boolean(a.value < b.value)
示例#35
0
def cmp_eq(a, b):
    return boolean(a.eq(b))
示例#36
0
文件: operators.py 项目: cheery/lever
def ne_default(a, b):
    return boolean(is_false(eq.call([a, b])))