2#include "./dynamic_permutation.hpp"
15 using PostorderIterator = DynamicPermutation::Tree::PostorderIterator;
22 DynamicPermutation::Tree *pi_tree;
23 DynamicPermutation::Tree *inverse_pi_tree;
24 std::unordered_map<uint64_t, uint64_t> mapper;
29 DynamicPermutation::Tree& pi_tree =
perm.get_pi_tree();
30 DynamicPermutation::Tree& inverse_pi_tree =
perm.get_inverse_pi_tree();
48 this->pi_tree = &
perm.get_pi_tree();
49 this->inverse_pi_tree = &
perm.get_inverse_pi_tree();
51 if (this->inverse_pi_tree->size() > 0)
55 this->inverse_leaf_index =
path[
path.
size() - 1].get_leaf_container_index();
69 this->inverse_leaf_index =
path[
path.
size() - 1].get_leaf_container_index();
79 if (
f == mapper.end())
97 std::cout <<
"Error: i: " << (this->i) <<
"!= pi_tree_size: " << this->pi_tree->
size() << std::endl;
98 throw std::runtime_error(
"Error: DeynamicPermutationBuilder");