My Project
Loading...
Searching...
No Matches
ftmpl_afactor.h
Go to the documentation of this file.
1/* emacs edit mode for this file is -*- C++ -*- */
2
3#ifndef INCL_AFACTOR_H
4#define INCL_AFACTOR_H
5
6#ifndef NOSTREAMIO
7#ifdef HAVE_IOSTREAM
8#include <iostream>
9#define OSTREAM std::ostream
10#elif defined(HAVE_IOSTREAM_H)
11#include <iostream.h>
12#define OSTREAM ostream
13#endif
14#endif /* NOSTREAMIO */
15
16template <class T>
17class AFactor {
18private:
21 int _exp;
22public:
23 AFactor() : _factor(1), _minpoly (1), _exp(0) {}
25 AFactor( const T & f, const T & m, int e ) : _factor(f), _minpoly (m), _exp(e) {}
26 AFactor( const T & f, const T & m ) : _factor(f), _minpoly (m), _exp(1) {}
29 T factor() const { return _factor; }
30 T minpoly() const { return _minpoly; }
31 int exp() const { return _exp; }
32 T value() const { return power( _factor, _exp ); }
33#ifndef NOSTREAMIO
34 void print ( OSTREAM& ) const;
35#endif /* NOSTREAMIO */
36};
37
38template <class T> int
39operator== ( const AFactor<T>&, const AFactor<T>& );
40
41#ifndef NOSTREAMIO
42template <class T>
43OSTREAM& operator<< ( OSTREAM & os, const AFactor<T> & f );
44#endif /* NOSTREAMIO */
45
46#endif /* ! INCL_AFACTOR_H */
CanonicalForm power(const CanonicalForm &f, int n)
exponentiation
int m
Definition: cfEzgcd.cc:128
FILE * f
Definition: checklibs.c:9
T minpoly() const
Definition: ftmpl_afactor.h:30
int exp() const
Definition: ftmpl_afactor.h:31
T factor() const
Definition: ftmpl_afactor.h:29
T value() const
Definition: ftmpl_afactor.h:32
void print(OSTREAM &) const
AFactor(const T &f, const T &m, int e)
Definition: ftmpl_afactor.h:25
AFactor< T > & operator=(const AFactor< T > &)
Definition: ftmpl_afactor.cc:6
AFactor(const AFactor< T > &f)
Definition: ftmpl_afactor.h:24
AFactor(const T &f, const T &m)
Definition: ftmpl_afactor.h:26
#define OSTREAM
Definition: ftmpl_afactor.h:9
OSTREAM & operator<<(OSTREAM &os, const AFactor< T > &f)
int operator==(const AFactor< T > &, const AFactor< T > &)
STATIC_VAR jList * T
Definition: janet.cc:30