示例#1
0
def test_merge_edge_cases():
    a = {1, 2, 3}
    b = {1, 2, 3}
    assert amerge(a, b) is a

    a = AbstractJTagged(ANYTHING)
    b = AbstractJTagged(123)
    assert amerge(a, b) is a

    a = AbstractClass(object, {'x': ANYTHING, 'y': ANYTHING}, {})
    b = AbstractClass(object, {'x': 123, 'y': ANYTHING}, {})
    assert amerge(a, b) is a
示例#2
0
def test_repr():

    s1 = to_abstract_test(1)
    assert repr(s1) == 'AbstractScalar(Int[64] = 1)'

    s2 = to_abstract_test(f32)
    assert repr(s2) == 'AbstractScalar(Float[32])'

    t1 = to_abstract_test((1, f32))
    assert repr(t1) == f'AbstractTuple((Int[64] = 1, Float[32]))'

    l1 = to_abstract_test([f32])
    assert repr(l1) == f'AbstractList([Float[32]])'

    a1 = to_abstract_test(af32_of(4, 5))
    assert repr(a1) == f'AbstractArray(Float[32] x 4 x 5)'

    p1 = to_abstract_test(Point(1, f32))
    assert repr(p1) == \
        f'AbstractClass(Point(x :: Int[64] = 1, y :: Float[32]))'

    j1 = AbstractJTagged(to_abstract_test(1))
    assert repr(j1) == f'AbstractJTagged(J(Int[64] = 1))'

    ty1 = Ty(f32)
    assert repr(ty1) == 'AbstractType(Ty(Float[32]))'

    e1 = AbstractError(DEAD)
    assert repr(e1) == 'AbstractError(E(DEAD))'

    f1 = AbstractFunction(P.scalar_mul)
    assert repr(f1) == 'AbstractFunction(scalar_mul)'
示例#3
0
def test_repr():

    s1 = to_abstract_test(1)
    assert repr(s1) == 'S(VALUE=1, TYPE=Int[64])'

    s2 = to_abstract_test(f32)
    assert repr(s2) == 'S(TYPE=Float[32])'

    t1 = to_abstract_test((1, f32))
    assert repr(t1) == f'T({s1}, {s2})'

    l1 = to_abstract_test([f32])
    assert repr(l1) == f'L({s2})'

    a1 = to_abstract_test(af32_of(4, 5))
    assert repr(a1) == f'A({s2}, SHAPE=(4, 5))'

    p1 = to_abstract_test(Point(1, f32))
    assert repr(p1) == f'*Point(x={s1}, y={s2})'

    j1 = AbstractJTagged(to_abstract_test(1))
    assert repr(j1) == f'J({s1})'

    ty1 = Ty(f32)
    assert repr(ty1) == 'Ty(Float[32])'

    e1 = AbstractError(DEAD)
    assert repr(e1) == 'E(DEAD)'

    f1 = AbstractFunction(P.scalar_mul)
    assert repr(f1) == 'Fn(Possibilities({scalar_mul}))'
示例#4
0
def test_repr():

    s1 = to_abstract_test(1)
    assert repr(s1) == "AbstractScalar(Int[64] = 1)"

    s2 = to_abstract_test(f32)
    assert repr(s2) == "AbstractScalar(Float[32])"

    t1 = to_abstract_test((1, f32))
    assert repr(t1) == f"AbstractTuple((Int[64] = 1, Float[32]))"

    a1 = to_abstract_test(af32_of(4, 5))
    assert repr(a1) == f"AbstractArray(Float[32] x 4 x 5)"

    p1 = to_abstract_test(Point(1, f32))
    assert repr(
        p1) == f"AbstractClass(Point(x :: Int[64] = 1, y :: Float[32]))"

    j1 = AbstractJTagged(to_abstract_test(1))
    assert repr(j1) == f"AbstractJTagged(J(Int[64] = 1))"

    h1 = AbstractHandle(to_abstract_test(1))
    assert repr(h1) == f"AbstractHandle(H(Int[64] = 1))"

    kw1 = AbstractKeywordArgument("bucket", to_abstract_test(1))
    assert repr(kw1) == f"AbstractKeywordArgument(KW(bucket :: Int[64] = 1))"

    ty1 = Ty(f32)
    assert repr(ty1) == "AbstractType(Ty(AbstractScalar(Float[32])))"

    e1 = AbstractError(DEAD)
    assert repr(e1) == "AbstractError(E(DEAD))"

    f1 = AbstractFunction(P.scalar_mul)
    assert repr(f1) == "AbstractFunction(scalar_mul)"

    fa = AbstractFunction(value=ANYTHING)
    assert repr(fa) == "AbstractFunction(ANYTHING)"

    tu1 = AbstractTaggedUnion([[13, s2], [4, to_abstract_test(i16)]])
    assert repr(tu1) == "AbstractTaggedUnion(U(4 :: Int[16], 13 :: Float[32]))"

    bot = AbstractBottom()
    assert repr(bot) == "AbstractBottom(⊥)"
示例#5
0
def test_repr():

    s1 = to_abstract_test(1)
    assert repr(s1) == 'AbstractScalar(Int[64] = 1)'

    s2 = to_abstract_test(f32)
    assert repr(s2) == 'AbstractScalar(Float[32])'

    t1 = to_abstract_test((1, f32))
    assert repr(t1) == f'AbstractTuple((Int[64] = 1, Float[32]))'

    a1 = to_abstract_test(af32_of(4, 5))
    assert repr(a1) == f'AbstractArray(Float[32] x 4 x 5)'

    p1 = to_abstract_test(Point(1, f32))
    assert repr(p1) == \
        f'AbstractClass(Point(x :: Int[64] = 1, y :: Float[32]))'

    j1 = AbstractJTagged(to_abstract_test(1))
    assert repr(j1) == f'AbstractJTagged(J(Int[64] = 1))'

    kw1 = AbstractKeywordArgument('bucket', to_abstract_test(1))
    assert repr(kw1) == f'AbstractKeywordArgument(KW(bucket :: Int[64] = 1))'

    ty1 = Ty(f32)
    assert repr(ty1) == 'AbstractType(Ty(Float[32]))'

    e1 = AbstractError(DEAD)
    assert repr(e1) == 'AbstractError(E(DEAD))'

    f1 = AbstractFunction(P.scalar_mul)
    assert repr(f1) == 'AbstractFunction(scalar_mul)'

    tu1 = AbstractTaggedUnion([[13, s2], [4, to_abstract_test(i16)]])
    assert repr(tu1) == \
        'AbstractTaggedUnion(U(4 :: Int[16], 13 :: Float[32]))'

    @macro
    def mackerel(info):
        pass

    assert repr(mackerel) == '<Macro mackerel>'
示例#6
0
def JT(a):
    return AbstractJTagged(to_abstract_test(a))
示例#7
0
文件: common.py 项目: tor4z/myia
def JT(a):
    """Generate a symbolic AbstractJTagged."""
    return AbstractJTagged(to_abstract_test(a))