Exemple #1
0
def test_function_in_function():
    c = Qit()
    x = Variable(Int(), "x")
    r = Range(x).iterate()
    f = r.make_function()

    r2 = Range(x).iterate().map(f)
    f = r2.make_function((x,))

    r3 = Range(x).iterate().map(f)
    assert [[], [[]], [[], [0]], [[], [0], [0,1]]] == c.run(r3, args={ x: 4 })
Exemple #2
0
def test_range_function_iterate():
    c = Qit()

    x = Variable(Int(), "x")
    r = Range(x).iterate().to_vector()
    f = r.make_function()
    assert [[], [0], [0,1], [0,1,2]] == c.run(Range(4).iterate().map(f))
Exemple #3
0
def test_range_function_generate():
    f = Function().takes(Int(), "a").returns(Int()).code("return a + 1;")
    c = Qit()

    x = Variable(Int(), "x")
    r = Range(f(x)).generate().take(2).to_vector()
    f = r.make_function()
    result = c.run(Range(10).iterate().map(f))

    assert len(result) == 10
    for i, r in enumerate(result):
        assert len(r) == 2
        assert 0 <= r[0] < i+1