source: git/factory/ftmpl_inst.cc @ c1b52b

spielwiese
Last change on this file since c1b52b was 991dd9, checked in by Hans Schoenemann <hannes@…>, 7 years ago
use include ".." for singular related .h, p5
  • Property mode set to 100644
File size: 5.9 KB
Line 
1/* emacs edit mode for this file is -*- C++ -*- */
2
3/**
4 *
5 * @file ftmpl_inst.cc
6 *
7 * Factory's template instantiations.
8 *
9 * For a detailed description how to instantiate Factory's
10 * template classes and functions and how to add new
11 * instantiations see the `README' file.
12 *
13**/
14
15
16#include "config.h"
17
18
19// #include "factory.h"
20#include "cf_iter.h"
21#include "canonicalform.h"
22#include "cf_assert.h"
23#include "cf_reval.h"
24#include "cf_map.h"
25
26
27#include "templates/ftmpl_array.cc"
28#include "templates/ftmpl_afactor.cc"
29#include "templates/ftmpl_factor.cc"
30#include "templates/ftmpl_list.cc"
31#include "templates/ftmpl_functions.h"
32#include "templates/ftmpl_matrix.cc"
33
34
35/** explicit template class instantiations **/
36template class Factor<CanonicalForm>;
37template class List<CFFactor>;
38template class ListItem<CFFactor>;
39template class ListIterator<CFFactor>;
40template class AFactor<CanonicalForm>;
41template class List<CFAFactor>;
42template class ListItem<CFAFactor>;
43template class ListIterator<CFAFactor>;
44template class List<CanonicalForm>;
45template class ListItem<CanonicalForm>;
46template class ListIterator<CanonicalForm>;
47template class Array<CanonicalForm>;
48template class List<MapPair>;
49template class ListItem<MapPair>;
50template class ListIterator<MapPair>;
51template class Matrix<CanonicalForm>;
52template class SubMatrix<CanonicalForm>;
53template class Array<REvaluation>;
54// libfac:
55template class Array<int>;
56template class Array<Variable>;
57template class List<Variable>;
58template class ListItem<Variable>;
59template class ListIterator<Variable> ;
60template class List<int>;
61template class ListItem<int>;
62template class ListIterator<int>;
63template class List< List<int> >;
64template class ListItem< List<int> >;
65template class ListIterator< List<int> >;
66template class List< List<CanonicalForm> >;
67template class ListItem< List<CanonicalForm> >;
68template class ListIterator< List<CanonicalForm> >;
69
70template List<Variable> Union ( const List<Variable>&, const List<Variable>& );
71template List<Variable> Difference ( const List<Variable>&, const List<Variable>& );
72
73// NTL 6
74#ifdef HAVE_NTL
75#include<NTL/version.h>
76#if NTL_MAJOR_VERSION == 6
77
78#include<NTL/tools.h>
79#include<NTL/lzz_pE.h>
80#include<NTL/lzz_pEX.h>
81#include<NTL/lzz_p.h>
82#include<NTL/vector.h>
83#include<NTL/pair.h>
84#include<NTL/GF2X.h>
85#include<NTL/GF2EX.h>
86#include<NTL/ZZ.h>
87#include<NTL/ZZX.h>
88#include<NTL/ZZ_pX.h>
89#include<NTL/vector.h>
90#ifdef NTL_CLIENT               // in <NTL/tools.h>: using of name space NTL
91NTL_CLIENT
92#endif
93template void BlockDestroy<zz_pE> (zz_pE*, long);
94template void BlockConstruct<zz_pE> (zz_pE*, long);
95template void BlockDestroy<Pair<zz_pEX, long> > (Pair<zz_pEX, long>*, long);
96template void BlockDestroy<Pair<GF2EX, long> > (Pair<GF2EX, long>*, long);
97template void BlockDestroy<Pair<ZZX, long> > (Pair<ZZX, long>*, long);
98template void BlockDestroy<Pair<ZZ_pX, long> > (Pair<ZZ_pX, long>*, long);
99template void BlockDestroy<Pair<GF2X, long> > (Pair<GF2X, long>*, long);
100template void BlockDestroy<Vec<zz_pE> > (Vec<zz_pE>*, long);
101template class Vec<zz_p>;
102template class Vec<Vec<zz_p> >;
103template class Vec<zz_pE>;
104template class Vec<ZZ>;
105template class Vec<Vec<ZZ> >;
106template class Mat<zz_p>;
107template class Mat<zz_pE>;
108template class Mat<ZZ>;
109template class Vec<Pair<zz_pEX, long> >;
110template class Vec<Pair<GF2EX, long> >;
111template class Vec<Pair<ZZX, long> >;
112template class Vec<Pair<ZZ_pX, long> >;
113template class Vec<Pair<GF2X, long> >;
114template class Vec<Vec<zz_pE> >;
115template void swap<zz_pE>(Vec<zz_pE>&, Vec<zz_pE>&);
116template long operator==<zz_p>(Vec<zz_p> const&, Vec<zz_p> const&);
117#endif
118#endif
119
120
121/** explicit template function instantiations **/
122#ifndef NOSTREAMIO
123template OSTREAM & operator << ( OSTREAM &, const List<CanonicalForm> & );
124template OSTREAM & operator << ( OSTREAM &, const List<CFFactor> & );
125template OSTREAM & operator << ( OSTREAM &, const List<MapPair> & );
126template OSTREAM & operator << ( OSTREAM &, const Array<CanonicalForm> & );
127template OSTREAM & operator << ( OSTREAM &, const Factor<CanonicalForm> & );
128template OSTREAM & operator << ( OSTREAM &, const Matrix<CanonicalForm> & );
129template OSTREAM & operator << ( OSTREAM &, const Array<REvaluation> & );
130//template OSTREAM & operator << ( OSTREAM &, const AFactor<CanonicalForm> & );
131#endif /* NOSTREAMIO */
132
133template int operator == ( const Factor<CanonicalForm> &, const Factor<CanonicalForm> & );
134template int operator == ( const AFactor<CanonicalForm> &, const AFactor<CanonicalForm> & );
135
136template List<CFFactor> Union ( const List<CFFactor> &, const List<CFFactor> & );
137template List<CFAFactor> Union ( const List<CFAFactor> &, const List<CFAFactor> & );
138
139#if ! defined(WINNT) || defined(__GNUC__)
140template CanonicalForm tmax ( const CanonicalForm &, const CanonicalForm & );
141template CanonicalForm tmin ( const CanonicalForm &, const CanonicalForm & );
142
143template Variable tmax ( const Variable &, const Variable & );
144template Variable tmin ( const Variable &, const Variable & );
145
146template int tmax ( const int &, const int & );
147template int tmin ( const int &, const int & );
148template int tabs ( const int & );
149#endif
150
151//
152template int operator== (const List<CanonicalForm> &, const List<CanonicalForm> &);
153template List<CanonicalForm> Union ( const List<CanonicalForm> &, const List<CanonicalForm> & );
154template List<CFList> Union ( const List<CFList>&, const List<CFList>&);
155template List<CanonicalForm> Difference ( const List<CanonicalForm> &, const List<CanonicalForm> & );
156template List<List<CanonicalForm> > Difference ( const List<List<CanonicalForm> >&, const List<List<CanonicalForm> >&);
157template List<List<CanonicalForm> > Difference ( const List<List<CanonicalForm> >&, const List<CanonicalForm>&);
158
159template CanonicalForm prod ( const List<CanonicalForm> & );
160template bool find ( const List<CanonicalForm> &, const CanonicalForm&);
161template bool find ( const List<List<CanonicalForm> >&, const List<CanonicalForm>&);
162// place here your own template stuff, not yet instantiated by factory
163//
Note: See TracBrowser for help on using the repository browser.