1 //============================================================================================== 2 // 3 // This file is part of LiDIA --- a library for computational number theory 4 // 5 // Copyright (c) 1994--2001 the LiDIA Group. All rights reserved. 6 // 7 // See http://www.informatik.tu-darmstadt.de/TI/LiDIA/ 8 // 9 //---------------------------------------------------------------------------------------------- 10 // 11 // $Id$ 12 // 13 // Author : Patrick Theobald (PT) 14 // Changes : See CVS log 15 // 16 //============================================================================================== 17 18 19 #ifdef HAVE_CONFIG_H 20 # include "config.h" 21 #endif 22 #include "LiDIA/bigint_matrix.h" 23 #include "LiDIA/matrix/bigint_matrix_algorithms.h" 24 #include "LiDIA/matrix/bigint_matrix_algorithms.cc" 25 #include "LiDIA/matrix/crt_and_prime_handling.h" 26 #include "LiDIA/matrix/dense_bigint_matrix_kernel.cc" 27 #include "LiDIA/matrix/sparse_bigint_matrix_kernel.cc" 28 #include "LiDIA/base_power_product.h" 29 #include "LiDIA/base_power_product.cc" 30 #include "LiDIA/base_ppair.h" 31 #include "LiDIA/base_ppair.cc" // MM 32 33 34 35 #ifdef LIDIA_NAMESPACE 36 namespace LiDIA { 37 #endif 38 39 40 41 template class dense_bigint_matrix_kernel< matrix< bigint > >; 42 template class sparse_bigint_matrix_kernel< matrix< bigint > >; 43 44 template class bigint_matrix_algorithms< SRMK< bigint >, SRMK< bigint >, SRMK< bigint > >; 45 template class bigint_matrix_algorithms< SRMK< bigint >, SRMK< bigint >, DRMK< bigint > >; 46 template class bigint_matrix_algorithms< SRMK< bigint >, DRMK< bigint >, SRMK< bigint > >; 47 template class bigint_matrix_algorithms< SRMK< bigint >, DRMK< bigint >, DRMK< bigint > >; 48 49 template class bigint_matrix_algorithms< DRMK< bigint >, SRMK< bigint >, SRMK< bigint > >; 50 template class bigint_matrix_algorithms< DRMK< bigint >, SRMK< bigint >, DRMK< bigint > >; 51 template class bigint_matrix_algorithms< DRMK< bigint >, DRMK< bigint >, SRMK< bigint > >; 52 template class bigint_matrix_algorithms< DRMK< bigint >, DRMK< bigint >, DRMK< bigint > >; 53 54 // 55 // base_power_product 56 // 57 58 template class base_power_product< ring_matrix< bigint >, int >; 59 template void swap (base_power_product< ring_matrix< bigint >, int > &, 60 base_power_product< ring_matrix< bigint >, int > &); 61 template std::istream & operator >> (std::istream &, base_power_product< ring_matrix< bigint >, int > &); 62 template std::ostream & operator << (std::ostream &, const base_power_product< ring_matrix< bigint >, int > &); 63 64 template class base_power_product< ring_matrix< long >, int >; 65 template void swap (base_power_product< ring_matrix< long >, int > &, 66 base_power_product< ring_matrix< long >, int > &); 67 template std::istream & operator >> (std::istream &, base_power_product< ring_matrix< long >, int > &); 68 template std::ostream & operator << (std::ostream &, const base_power_product< ring_matrix< long >, int > &); 69 70 // 71 // base_pair 72 // 73 74 template class base_ppair< ring_matrix< bigint >, int >; 75 template void swap (base_ppair< ring_matrix< bigint >, int > &, 76 base_ppair< ring_matrix< bigint >, int > &); 77 template std::istream & operator >> (std::istream &, base_ppair< ring_matrix< bigint >, int > &); 78 template std::ostream & operator << (std::ostream &, const base_ppair< ring_matrix< bigint >, int > &); 79 80 template class base_ppair< ring_matrix< long >, int >; 81 template void swap (base_ppair< ring_matrix< long >, int > &, base_ppair< ring_matrix< long >, int > &); 82 template std::istream & operator >> (std::istream &, base_ppair< ring_matrix< long >, int > &); 83 template std::ostream & operator << (std::ostream &, const base_ppair< ring_matrix< long >, int > &); 84 85 86 87 #ifdef LIDIA_NAMESPACE 88 } // end of namespace LiDIA 89 #endif 90