Clearmatics Libsnark  0.1
C++ library for zkSNARK proofs
benes_routing_algorithm.hpp
Go to the documentation of this file.
1 
25 #ifndef BENES_ROUTING_ALGORITHM_HPP_
26 #define BENES_ROUTING_ALGORITHM_HPP_
27 
28 #include <libff/common/utils.hpp>
30 #include <vector>
31 
32 namespace libsnark
33 {
34 
51 typedef std::vector<std::vector<std::pair<size_t, size_t>>> benes_topology;
52 
61 typedef std::vector<libff::bit_vector> benes_routing;
62 
73 size_t benes_num_columns(const size_t num_packets);
74 
80 benes_topology generate_benes_topology(const size_t num_packets);
81 
86 
91  const integer_permutation &permutation, const benes_routing &routing);
92 
93 } // namespace libsnark
94 
95 #endif // BENES_ROUTING_ALGORITHM_HPP_
libsnark
Definition: accumulation_vector.hpp:18
libsnark::benes_topology
std::vector< std::vector< std::pair< size_t, size_t > > > benes_topology
Definition: benes_routing_algorithm.hpp:51
integer_permutation.hpp
libsnark::valid_benes_routing
bool valid_benes_routing(const integer_permutation &permutation, const benes_routing &routing)
Definition: benes_routing_algorithm.cpp:368
libsnark::benes_routing
std::vector< libff::bit_vector > benes_routing
Definition: benes_routing_algorithm.hpp:61
libsnark::benes_num_columns
size_t benes_num_columns(const size_t num_packets)
Definition: benes_routing_algorithm.cpp:136
libsnark::integer_permutation
Definition: integer_permutation.hpp:22
libsnark::get_benes_routing
benes_routing get_benes_routing(const integer_permutation &permutation)
Definition: benes_routing_algorithm.cpp:320
libsnark::generate_benes_topology
benes_topology generate_benes_topology(const size_t num_packets)
Definition: benes_routing_algorithm.cpp:144