Esempio n. 1
0
from noodles import (schedule, run_single)
from noodles.tutorial import (add)
from draw_workflow import draw_workflow

@schedule
class A:
    def __init__(self, value):
        self.value = value

    @property
    def square(self):
        return self.value**2

    @square.setter
    def square(self, sqr):
        self.value = sqr**(1/2)


u = A(3)
v = A(4)
u.square = add(u.square, v.square)

draw_workflow("pythagoras.pdf", u.value._workflow)

print("⎷(3² + 4²) = ", run_single(u.value))

Esempio n. 2
0
import noodles
from draw_workflow import draw_workflow
from noodles.tutorial import (add, mul, sub, accumulate)

def test_42():
    A = add(1, 1)
    B = sub(3, A)

    multiples = [mul(add(i, B), A) for i in range(6)]
    return accumulate(noodles.gather(*multiples))

draw_workflow("wf42.svg", test_42()._workflow)

Esempio n. 3
0
from noodles.tutorial import (add, sub, mul)
from draw_workflow import draw_workflow

u = add(5, 4)
v = sub(u, 3)
w = sub(u, 2)
x = mul(v, w)

draw_workflow("callgraph-a.pdf", x._workflow)