source: git/Singular/claptmpl.cc @ 066288

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