Basic Polynomial Algebra Subprograms (BPAS)  v. 1.791
BPASEuclideanPolynomial.hpp
1 
2 
3 #ifndef _BPAS_EUCLIDEANPOLY_H_
4 #define _BPAS_EUCLIDEANPOLY_H_
5 
6 #include "Utils/TemplateHelpers.hpp"
7 
8 
9 /**
10  * An abstract class defining the interface of a polynomial ring which
11  * is also a Euclidean domain. Thus, it is a univariate polynomial
12  * over a field.
13  *
14  * This class is automatically determined to be a superclass of
15  * a BPASPolynomial based on a template specialization of the Ring
16  * parameter.
17  */
18 template <class Ring, class Derived>
19 class BPASEuclideanPolynomial : public virtual BPASGCDPolynomial<Ring, Derived>,
20  public virtual BPASEuclideanDomain<Derived>,
21  private Derived_from<Ring, BPASEuclideanDomain<Ring>> {};
22 
23 
24 
25 
26 #endif
An abstract class defining the interface of a Euclidean domain.
Definition: BPASEuclideanDomain.hpp:14
An abstract class defining the interface of a polynomial ring which is also an GCD domain...
Definition: BPASGCDPolynomial.hpp:19
An abstract class defining the interface of a polynomial ring which is also a Euclidean domain...
Definition: BPASEuclideanPolynomial.hpp:19