diff options
Diffstat (limited to 'src/consensus')
-rw-r--r-- | src/consensus/Makefile.am | 18 | ||||
-rw-r--r-- | src/consensus/consensus-simulation.py.in (renamed from src/consensus/consensus-simulation.py) | 18 |
2 files changed, 25 insertions, 11 deletions
diff --git a/src/consensus/Makefile.am b/src/consensus/Makefile.am index c0205ee5d..c673e0407 100644 --- a/src/consensus/Makefile.am +++ b/src/consensus/Makefile.am @@ -27,6 +27,15 @@ libexec_PROGRAMS += \ gnunet-service-evil-consensus endif +do_subst = $(SED) -e 's,[@]PYTHON[@],$(PYTHON),g' + +SUFFIXES = .py.in .py + +.py.in.py: + $(do_subst) < $< > $@ + chmod +x $@ + + lib_LTLIBRARIES = \ libgnunetconsensus.la @@ -103,5 +112,12 @@ test_consensus_api_LDADD = \ $(top_builddir)/src/testing/libgnunettesting.la \ libgnunetconsensus.la +noinst_SCRIPTS = \ + consensus-simulation.py + +CLEANFILES = \ + $(noinst_SCRIPTS) + EXTRA_DIST = \ - test_consensus.conf + test_consensus.conf \ + consensus-simulation.py.in diff --git a/src/consensus/consensus-simulation.py b/src/consensus/consensus-simulation.py.in index 542fe0dac..71a91302e 100644 --- a/src/consensus/consensus-simulation.py +++ b/src/consensus/consensus-simulation.py.in @@ -1,6 +1,6 @@ -#!/usr/bin/python +#!@PYTHON@ # This file is part of GNUnet -# (C) 2013 Christian Grothoff (and other contributing authors) +# (C) 2013, 2018 Christian Grothoff (and other contributing authors) # # GNUnet is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published @@ -41,7 +41,7 @@ def simulate(k, n, verbose): largest_arc = int(2**ceil(log(n, 2))) / 2 num_ghosts = (2 * largest_arc) - n if verbose: - print "we have", num_ghosts, "ghost peers" + print("we have", num_ghosts, "ghost peers") # n.b. all peers with idx<k are evil peers = range(n) info = [1 << x for x in xrange(n)] @@ -53,11 +53,11 @@ def simulate(k, n, verbose): rounds = 0 while not done_p(): if verbose: - print "-- round --" + print("-- round --") arc = 1 while arc <= largest_arc: if verbose: - print "-- subround --" + prin( "-- subround --") new_info = [x for x in info] for peer_physical in xrange(n): peer_logical = peers[peer_physical] @@ -66,7 +66,7 @@ def simulate(k, n, verbose): partner_physical = peers.index(partner_logical) if peer_physical < k or partner_physical < k: if verbose: - print "bad peer in connection", peer_physical, "--", partner_physical + print("bad peer in connection", peer_physical, "--", partner_physical) continue if peer_logical & arc == 0: # we are outgoing @@ -84,7 +84,7 @@ def simulate(k, n, verbose): else: peer_type = "incoming" if verbose > 1: - print "type of", str(peer_physical) + ":", peer_type + print("type of", str(peer_physical) + ":", peer_type) info = new_info arc = arc << 1; rounds = rounds + 1 @@ -103,6 +103,4 @@ if __name__ == "__main__": sum = 0.0; for n in xrange (0, args.r): sum += simulate(args.k, args.n, args.verbose) - printsum / args.r; - - + print(sum / args.r) |