source: git/Singular/claptmpl.cc @ 762407

fieker-DuValspielwiese
Last change on this file since 762407 was 762407, checked in by Oleksandr Motsak <motsak@…>, 12 years ago
config.h is for sources files only FIX: config.h should only be used by source (not from inside kernel/mod2.h!) NOTE: each source file should better include mod2.h right after config.h, while headers should better not include mod2.h.
  • Property mode set to 100644
File size: 4.6 KB
Line 
1// emacs edit mode for this file is -*- C++ -*-
2/****************************************
3*  Computer Algebra System SINGULAR     *
4****************************************/
5// $Id$
6/*
7* ABSTRACT - instantiation of all templates
8*/
9
10#include "config.h"
11#include <kernel/mod2.h>
12//#include <vector>
13//using namespace std;
14#ifdef HAVE_FACTORY
15  #define SINGULAR 1
16  #include <factory/factory.h>
17  #include <factory/templates/ftmpl_list.cc>
18  #include <kernel/fglm.h>
19
20// templates for fglm:
21
22  template class List<fglmSelem>;
23  template class ListIterator<fglmSelem>;
24
25  template class List<fglmDelem>;
26  template class ListIterator<fglmDelem>;
27#endif
28
29#ifdef HAVE_FANS
30#include <gfanlib/gfanlib.h>
31#endif
32
33// ----------------------------------------------------------------------------
34//  kmatrix.cc
35//  begin of file
36//  Stephan Endrass, endrass@mathematik.uni-mainz.de
37//  23.7.99
38// ----------------------------------------------------------------------------
39
40#ifdef HAVE_SPECTRUM
41
42#ifdef   KMATRIX_PRINT
43#include <iostream.h>
44#ifndef   KMATRIX_IOSTREAM
45#include <stdio.h>
46#endif
47#endif
48
49#include <kernel/GMPrat.h>
50#include <kernel/kmatrix.h>
51
52template    class   KMatrix<Rational>;
53
54#ifdef   KMATRIX_PRINT
55template    OSTREAM &   operator << ( OSTREAM&,const KMatrix<Rational>& );
56template    static  void    print_rational( OSTREAM&,int,const Rational& );
57#endif
58
59#endif /* HAVE_SPECTRUM */
60// ----------------------------------------------------------------------------
61//  kmatrix.cc
62//  end of file
63// ----------------------------------------------------------------------------
64
65#ifdef HAVE_PLURAL
66
67#include <polys/nc/ncSAMult.h> // for CMultiplier etc classes
68
69template class CMultiplier<int>;
70template class CMultiplier<poly>;
71template class CMultiplier<CPower>;
72
73// #include <kernel/ncSACache.h> // for CCacheHash etc classes
74// template class CCacheHash<poly>;
75// template class CCacheHash<int>;
76
77#endif
78
79#include <kernel/tgb_internal.h>
80#ifdef HAVE_BOOST
81#include <boost/dynamic_bitset.hpp>
82#include <vector>
83using std::vector;
84using boost::dynamic_bitset;
85template class dynamic_bitset<>;
86template class vector<dynamic_bitset<> >;
87#elif defined(USE_STDVECBOOL)
88#include <vector>
89using std::vector;
90template class vector<bool>;
91template class vector<vector<bool> >;
92#endif
93
94template int pos_helper(kStrategy strat, poly p, int len, intset  setL, polyset set);
95template int pos_helper(kStrategy strat, poly p, wlen_type len, wlen_set setL, polyset set);
96#ifdef NORO_CACHE
97//template class std::map<PolySimple,std::pair<PolySimple,int> >;
98//#include <queue>
99template class std::vector<PolySimple>;
100//template class std::priority_queue<MonRedRes>;
101//template class std::vector<NoroPlaceHolder>;
102//template class std::vector<std::vector<NoroPlaceHolder> >;
103//template class std::vector<DataNoroCacheNode<tgb_uint16>* >;
104//template class std::vector<DataNoroCacheNode<tgb_uint8>* >;
105template class std::vector<DataNoroCacheNode<tgb_uint32>* >;
106//template SparseRow<tgb_uint16> * noro_red_to_non_poly_t<tgb_uint16>(poly p, int &len, NoroCache<tgb_uint16>* cache,slimgb_alg* c);
107template SparseRow<tgb_uint32>* noro_red_to_non_poly_t<tgb_uint32>(poly p, int &len, NoroCache<tgb_uint32>* cache,slimgb_alg* c);
108//template SparseRow<tgb_uint8>* noro_red_to_non_poly_t<tgb_uint8>(poly p, int &len, NoroCache<tgb_uint8>* cache,slimgb_alg* c);
109//template void simplest_gauss_modp<tgb_uint16> (tgb_uint16* a, int nrows,int ncols);
110template void simplest_gauss_modp<tgb_uint32> (tgb_uint32* a, int nrows,int ncols);
111//template void simplest_gauss_modp<tgb_uint8> (tgb_uint8* a, int nrows,int ncols);
112//template poly row_to_poly<tgb_uint8>(tgb_uint8* row, poly* terms, int tn, ring r);
113template poly row_to_poly<tgb_uint32>(tgb_uint32* row, poly* terms, int tn, ring r);
114//template poly row_to_poly<tgb_uint16>(tgb_uint16* row, poly* terms, int tn, ring r);
115template void noro_step<tgb_uint8>(poly*p,int &pn,slimgb_alg* c);
116template void noro_step<tgb_uint16>(poly*p,int &pn,slimgb_alg* c);
117template void noro_step<tgb_uint32>(poly*p,int &pn,slimgb_alg* c);
118//std::priority_queue<MonRedRes>
119//
120/* next lines are templates used in new minor code */
121#include <list>
122#include <Singular/Minor.h>
123#include <Singular/Cache.h>
124template class std::list<int>;
125template class std::list<MinorKey>;
126template class std::list<IntMinorValue>;
127template class std::list<PolyMinorValue>;
128template class Cache<MinorKey, IntMinorValue>;
129template class Cache<MinorKey, PolyMinorValue>;
130#endif
131
132#ifdef HAVE_FANS
133template class gfan::Vector<gfan::Integer>;
134template class gfan::Vector<gfan::Rational>;
135template class gfan::Matrix<gfan::Integer>;
136template class gfan::Matrix<gfan::Rational>;
137#endif
138//template int pos_helper(kStrategy strat, poly p, int len, intset setL, polyset set);
Note: See TracBrowser for help on using the repository browser.