Clearmatics Libsnark  0.1
C++ library for zkSNARK proofs
as_waksman_routing_algorithm.hpp
Go to the documentation of this file.
1 
40 #ifndef AS_WAKSMAN_ROUTING_ALGORITHM_HPP_
41 #define AS_WAKSMAN_ROUTING_ALGORITHM_HPP_
42 
43 #include <cstddef>
44 #include <libff/common/utils.hpp>
46 #include <map>
47 #include <vector>
48 
49 namespace libsnark
50 {
51 
83 typedef std::vector<std::vector<std::pair<size_t, size_t>>> as_waksman_topology;
84 
102 typedef std::vector<std::map<size_t, bool>> as_waksman_routing;
103 
114 size_t as_waksman_num_columns(const size_t num_packets);
115 
121 as_waksman_topology generate_as_waksman_topology(const size_t num_packets);
122 
127  const integer_permutation &permutation);
128 
133  const integer_permutation &permutation, const as_waksman_routing &routing);
134 
135 } // namespace libsnark
136 
137 #endif // AS_WAKSMAN_ROUTING_ALGORITHM_HPP_
libsnark::generate_as_waksman_topology
as_waksman_topology generate_as_waksman_topology(const size_t num_packets)
Definition: as_waksman_routing_algorithm.cpp:199
libsnark::as_waksman_topology
std::vector< std::vector< std::pair< size_t, size_t > > > as_waksman_topology
Definition: as_waksman_routing_algorithm.hpp:83
libsnark
Definition: accumulation_vector.hpp:18
integer_permutation.hpp
libsnark::get_as_waksman_routing
as_waksman_routing get_as_waksman_routing(const integer_permutation &permutation)
Definition: as_waksman_routing_algorithm.cpp:568
libsnark::integer_permutation
Definition: integer_permutation.hpp:22
libsnark::as_waksman_routing
std::vector< std::map< size_t, bool > > as_waksman_routing
Definition: as_waksman_routing_algorithm.hpp:102
libsnark::as_waksman_num_columns
size_t as_waksman_num_columns(const size_t num_packets)
Definition: as_waksman_routing_algorithm.cpp:69
libsnark::valid_as_waksman_routing
bool valid_as_waksman_routing(const integer_permutation &permutation, const as_waksman_routing &routing)
Definition: as_waksman_routing_algorithm.cpp:586