// emacs edit mode for this file is -*- C++ -*- /**************************************** * Computer Algebra System SINGULAR * ****************************************/ // $Id: claptmpl.cc,v 1.34 2006-07-27 09:04:07 Singular Exp $ /* * ABSTRACT - instantiation of all templates */ #include "mod2.h" //#include //using namespace std; #ifdef HAVE_FACTORY #define SINGULAR 1 #include #endif #if defined(HAVE_FACTORY) || defined(HAVE_FGLM) #include #ifdef HAVE_FGLM #include "fglm.h" #endif #ifdef HAVE_FACTORY #include #include #include #include template class Factor; template class List; template class ListItem; template class ListItem; template class ListIterator; template class List; template class List >; template class ListIterator; template class Array; template class List; template class ListItem; template class ListIterator; template class Matrix; template class SubMatrix; template class Array; //template class vector; #ifndef NOSTREAMIO template ostream & operator<<(ostream &, const List > &); template ostream & operator<<(ostream &, const List > &); template ostream & operator<<(ostream &, const List &); template ostream & operator<<(ostream &, const Matrix &); #endif template List Union ( const List&, const List& ); template int operator == ( const Factor&, const Factor& ); template CanonicalForm tmax ( const CanonicalForm&, const CanonicalForm& ); template CanonicalForm tmin ( const CanonicalForm&, const CanonicalForm& ); template Variable tmax ( const Variable&, const Variable& ); template Variable tmin ( const Variable&, const Variable& ); template int tmax ( const int&, const int& ); template int tmin ( const int&, const int& ); template int tabs ( const int& ); #endif // place here your own template stuff, not instantiated by factory #ifdef HAVE_LIBFAC_P #include // class.h: template class Substitution { private: T _factor; T _exp; public: Substitution() : _factor(1), _exp(0) {} Substitution( const Substitution & f ) : _factor(f._factor), _exp(f._exp) {} Substitution( const T & f, const T & e ) : _factor(f), _exp(e) {} Substitution( const T & f ) : _factor(f), _exp(1) {} ~Substitution() {} Substitution& operator= ( const Substitution& ); Substitution& operator= ( const T& ); T factor() const { return _factor; } T exp() const { return _exp; } #ifndef NOSTREAMIO //friend ostream & operator <<<>(ostream &, Substitution &); void print ( ostream& s ) const { s << "(" << factor() << ")^" << exp(); } #endif }; template int operator== ( const Substitution&, const Substitution& ); // class.cc template Substitution& Substitution::operator= ( const Substitution& f ) { if ( this != &f ) { _factor = f._factor; _exp = f._exp; } return *this; } template Substitution& Substitution::operator= ( const T & f ) { _factor = f; _exp = 1; return *this; } #ifndef NOSTREAMIO template ostream & operator <<(ostream & os, Substitution &a) { a.print(os); return os; } template ostream & operator <<(ostream &, Substitution &); template ostream & operator <<(ostream &, const List &); template ostream & operator <<(ostream &, const Array &); template ostream & operator<<(ostream &, const List > &); #endif template int operator== ( const Substitution &f1, const Substitution &f2 ) { return (f1.exp() == f2.exp()) && (f1.factor() == f2.factor()); } template class List; template class ListIterator; template class List; template class ListIterator; template class Substitution; template class Array; template class Array; typedef Substitution SForm ; template class List; template class ListIterator; template class List; template class ListIterator ; template List Union ( const List&, const List& ); template List Difference ( const List&, const List& ); template List Union ( const List&, const List& ); template List Difference ( const List&, const List& ); // for charsets: template class ListIterator; #endif #endif #ifdef HAVE_FGLM // templates for fglm: template class List; template class ListIterator; template class List; template class ListIterator; #endif // ---------------------------------------------------------------------------- // kmatrix.cc // begin of file // Stephan Endrass, endrass@mathematik.uni-mainz.de // 23.7.99 // ---------------------------------------------------------------------------- #ifdef HAVE_SPECTRUM #ifdef KMATRIX_PRINT #include #ifndef KMATRIX_IOSTREAM #include #endif #endif #include "GMPrat.h" #include "kmatrix.h" template class KMatrix; #ifdef KMATRIX_PRINT template ostream & operator << ( ostream&,const KMatrix& ); template static void print_rational( ostream&,int,const Rational& ); #endif #endif /* HAVE_SPECTRUM */ // ---------------------------------------------------------------------------- // kmatrix.cc // end of file // ---------------------------------------------------------------------------- #include "tgb_internal.h" #ifdef HAVE_BOOST #include #include using std::vector; using boost::dynamic_bitset; template class dynamic_bitset<>; template class vector >; #elif defined(USE_STDVECBOOL) #include using std::vector; template class vector; template class vector >; #endif template int pos_helper(kStrategy strat, poly p, int len, intset setL, polyset set); template int pos_helper(kStrategy strat, poly p, wlen_type len, wlen_set setL, polyset set); //template int pos_helper(kStrategy strat, poly p, int len, intset setL, polyset set);