/* Copyright (c) 2017 Microsoft Corporation Author: Lev Nachmanson */ #include #include "util/vector.h" #include "util/lp/permutation_matrix.hpp" #include "util/lp/numeric_pair.h" template void lean::permutation_matrix::apply_from_right(vector&); template void lean::permutation_matrix::init(unsigned int); template void lean::permutation_matrix::init(unsigned int); template void lean::permutation_matrix>::init(unsigned int); template bool lean::permutation_matrix::is_identity() const; template void lean::permutation_matrix::multiply_by_permutation_from_left(lean::permutation_matrix&); template void lean::permutation_matrix::multiply_by_permutation_reverse_from_left(lean::permutation_matrix&); template void lean::permutation_matrix::multiply_by_reverse_from_right(lean::permutation_matrix&); template lean::permutation_matrix::permutation_matrix(unsigned int, vector const&); template void lean::permutation_matrix::transpose_from_left(unsigned int, unsigned int); template void lean::permutation_matrix::apply_from_right(vector&); template bool lean::permutation_matrix::is_identity() const; template void lean::permutation_matrix::multiply_by_permutation_from_left(lean::permutation_matrix&); template void lean::permutation_matrix::multiply_by_permutation_from_right(lean::permutation_matrix&); template void lean::permutation_matrix::multiply_by_permutation_reverse_from_left(lean::permutation_matrix&); template void lean::permutation_matrix::multiply_by_reverse_from_right(lean::permutation_matrix&); template lean::permutation_matrix::permutation_matrix(unsigned int); template void lean::permutation_matrix::transpose_from_left(unsigned int, unsigned int); template void lean::permutation_matrix::transpose_from_right(unsigned int, unsigned int); template void lean::permutation_matrix >::apply_from_right(vector&); template bool lean::permutation_matrix >::is_identity() const; template void lean::permutation_matrix >::multiply_by_permutation_from_left(lean::permutation_matrix >&); template void lean::permutation_matrix >::multiply_by_permutation_from_right(lean::permutation_matrix >&); template void lean::permutation_matrix >::multiply_by_permutation_reverse_from_left(lean::permutation_matrix >&); template void lean::permutation_matrix >::multiply_by_reverse_from_right(lean::permutation_matrix >&); template lean::permutation_matrix >::permutation_matrix(unsigned int); template void lean::permutation_matrix >::transpose_from_left(unsigned int, unsigned int); template void lean::permutation_matrix >::transpose_from_right(unsigned int, unsigned int); template void lean::permutation_matrix::apply_reverse_from_left(lean::indexed_vector&); template void lean::permutation_matrix::apply_reverse_from_left_to_T(vector&); template void lean::permutation_matrix::apply_reverse_from_right_to_T(vector&); template void lean::permutation_matrix::transpose_from_right(unsigned int, unsigned int); template void lean::permutation_matrix::apply_reverse_from_left(lean::indexed_vector&); template void lean::permutation_matrix::apply_reverse_from_left_to_T(vector&); template void lean::permutation_matrix::apply_reverse_from_right_to_T(vector&); template void lean::permutation_matrix >::apply_reverse_from_left(lean::indexed_vector&); template void lean::permutation_matrix >::apply_reverse_from_left_to_T(vector&); template void lean::permutation_matrix >::apply_reverse_from_right_to_T(vector&); template void lean::permutation_matrix::multiply_by_permutation_from_right(lean::permutation_matrix&); #ifdef LEAN_DEBUG template bool lean::permutation_generator::move_next(); template lean::permutation_generator::permutation_generator(unsigned int); #endif template lean::permutation_matrix::permutation_matrix(unsigned int); template void lean::permutation_matrix::apply_reverse_from_left_to_X(vector &); template void lean::permutation_matrix< lean::mpq, lean::mpq>::apply_reverse_from_left_to_X(vector &); template void lean::permutation_matrix< lean::mpq, lean::numeric_pair< lean::mpq> >::apply_reverse_from_left_to_X(vector> &); template void lean::permutation_matrix::apply_reverse_from_right_to_T(lean::indexed_vector&); template void lean::permutation_matrix::apply_reverse_from_right_to_T(lean::indexed_vector&); template void lean::permutation_matrix >::apply_reverse_from_right_to_T(lean::indexed_vector&);