Clearmatics Libsnark
0.1
C++ library for zkSNARK proofs
|
#include <libff/common/utils.hpp>
#include <libsnark/common/data_structures/integer_permutation.hpp>
#include <vector>
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) |
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
Definition in file benes_routing_algorithm.hpp.