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