Visit manna.github.com/datk for documentation
Run tests by executing the following command in the repo directory
$ python -m datk.tests.tests
$ python -m datk.tests.networks_tests
>>> x = Bidirectional_Ring(8)
>>> x.draw()
>>> x.state()
>>> Bidirectional_Line(6).draw()
>>> Random_Line_Network(16).draw()
>>> Random_Line_Network(16, sparsity=0).draw()
>>> Random_Line_Network(16, sparsity=0.5).draw()
>>> Random_Line_Network(16, sparsity=float('inf')).draw()
>>> x = Unidirectional_Ring(5)
>>> x.state()
>>> lcr = LCR(x)
>>> print lcr.r, "rounds"
>>> print lcr.message_count, "messages"
>>> x.state()
>>> x = Random_Line_Network(6)
# Elect a Leader
>>> FloodMax(x, params={'verbosity': Algorithm.QUIET})
# Construct a BFS tree rooted at the Leader
>>> SynchBFS(x)
>>> SynchConvergeHeight(x, params={'draw':True})
>>> x.state()
>>> x = Random_Line_Network(6)
>>> A = Chain(FloodMax(), Chain(SynchBFS(), SynchConvergeHeight()), params={'verbosity':Algorithm.QUIET})
>>> A(x)
>>> x.state()
>>> benchmark(LCR, Bidirectional_Ring, testLeaderElection)
>>> benchmark(SynchLubyMIS, Random_Line_Network, testLubyMIS)
Amin Manna (manna, [email protected])
Mayuri Sridhar (mayuri95, [email protected])