Clearmatics Libsnark  0.1
C++ library for zkSNARK proofs
Namespaces | Typedefs | Functions
benes_routing_algorithm.hpp File Reference
#include <libff/common/utils.hpp>
#include <libsnark/common/data_structures/integer_permutation.hpp>
#include <vector>
Include dependency graph for benes_routing_algorithm.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 libsnark
 

Typedefs

typedef std::vector< std::vector< std::pair< size_t, size_t > > > libsnark::benes_topology
 
typedef std::vector< libff::bit_vector > libsnark::benes_routing
 

Functions

size_t libsnark::benes_num_columns (const size_t num_packets)
 
benes_topology libsnark::generate_benes_topology (const size_t num_packets)
 
benes_routing libsnark::get_benes_routing (const integer_permutation &permutation)
 
bool libsnark::valid_benes_routing (const integer_permutation &permutation, const benes_routing &routing)
 

Detailed Description

Declaration of interfaces for functionality for routing on a Benes network.

Routing is performed via the standard algorithm that computes a routing by first computing the switch settings for the left and right columns of the network and then recursively computing routings for the top half and the bottom half of the network (each of which is a Benes network of smaller size).

References:

[Ben65]: "Mathematical theory of connecting networks and telephone traffic", Václav E. Beneš, Academic Press 1965

Author
This file is part of libsnark, developed by SCIPR Lab and contributors (see AUTHORS).

Definition in file benes_routing_algorithm.hpp.