/*++ Copyright (c) 2017 Microsoft Corporation Module Name: Abstract: Author: Lev Nachmanson (levnach) Revision History: --*/ #include #include #include #include "util/vector.h" #include "util/debug.h" #include "math/lp/lu_def.h" namespace lp { template double dot_product(vector const&, vector const&); template lu>::lu(static_matrix const&, vector&, lp_settings&); template void lu>::push_matrix_to_tail(tail_matrix*); template void lu>::replace_column(double, indexed_vector&, unsigned); template void lu>::solve_Bd(unsigned int, indexed_vector&, indexed_vector&); template lu>::~lu(); template void lu>::push_matrix_to_tail(tail_matrix*); template void lu>::solve_Bd(unsigned int, indexed_vector&, indexed_vector&); template lu>::~lu(); template void lu>::push_matrix_to_tail(tail_matrix*); template void lu>::solve_Bd(unsigned int, indexed_vector&, indexed_vector&); template lu>::~lu(); template mpq dot_product(vector const&, vector const&); template void init_factorization> (lu>*&, static_matrix&, vector&, lp_settings&); template void init_factorization> (lu>*&, static_matrix&, vector&, lp_settings&); template void init_factorization>(lu >*&, static_matrix&, vector&, lp_settings&); template void print_matrix>(square_sparse_matrix&, std::ostream & out); template void print_matrix>(static_matrix&, std::ostream&); template void print_matrix >(static_matrix&, std::ostream&); template void print_matrix>(static_matrix&, std::ostream & out); #ifdef Z3DEBUG template bool lu>::is_correct(const vector& basis); template bool lu>::is_correct( vector const &); template dense_matrix get_B>(lu>&, const vector& basis); template dense_matrix get_B>(lu>&, vector const&); #endif template bool lu>::pivot_the_row(int); // NOLINT template void lu>::init_vector_w(unsigned int, indexed_vector&); template void lu>::solve_By(vector&); template void lu>::solve_By_when_y_is_ready_for_X(vector&); template void lu>::solve_yB_with_error_check(vector&, const vector& basis); template void lu>::solve_yB_with_error_check_indexed(indexed_vector&, vector const&, const vector & basis, const lp_settings&); template void lu>::replace_column(mpq, indexed_vector&, unsigned); template void lu>::solve_By(vector&); template void lu>::solve_By_when_y_is_ready_for_X(vector&); template void lu>::solve_yB_with_error_check(vector&, const vector& basis); template void lu>::solve_yB_with_error_check_indexed(indexed_vector&, vector< int > const&, const vector & basis, const lp_settings&); template void lu >::solve_yB_with_error_check_indexed(indexed_vector&, vector< int > const&, const vector & basis, const lp_settings&); template void lu >::init_vector_w(unsigned int, indexed_vector&); template void lu >::replace_column(mpq, indexed_vector&, unsigned); template void lu >::solve_Bd_faster(unsigned int, indexed_vector&); template void lu >::solve_By(vector&); template void lu >::solve_By_when_y_is_ready_for_X(vector&); template void lu >::solve_yB_with_error_check(vector&, const vector& basis); template void lu>::solve_By(indexed_vector&); template void lu>::solve_By(indexed_vector&); template void lu>::solve_yB_indexed(indexed_vector&); template void lu >::solve_yB_indexed(indexed_vector&); template void lu>::solve_By_for_T_indexed_only(indexed_vector&, lp_settings const&); template void lu>::solve_By_for_T_indexed_only(indexed_vector&, lp_settings const&); #ifdef Z3DEBUG template void print_matrix>(tail_matrix&, std::ostream&); #endif }