Basic Polynomial Algebra Subprograms (BPAS)
v. 1.791
include
Polynomial
BPASGCDPolynomial.hpp
1
2
3
4
#ifndef _BPAS_GCDPOLY_H_
5
#define _BPAS_GCDPOLY_H_
6
7
#include "Utils/TemplateHelpers.hpp"
8
9
10
/**
11
* An abstract class defining the interface of a polynomial ring which
12
* is also an GCD domain. E.g., a polynomial over a GCD domain.
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
BPASGCDPolynomial
:
public
virtual
BPASIntegralPolynomial
<Ring, Derived>,
20
public
virtual
BPASGCDDomain
<Derived>,
21
private
Derived_from<Ring, BPASGCDDomain<Ring>> {
22
virtual
Ring content()
const
= 0;
23
virtual
Derived primitivePart()
const
= 0;
24
};
25
26
27
28
29
30
#endif
BPASGCDDomain
An abstract class defining the interface of a GCD domain.
Definition:
BPASGCDDomain.hpp:14
BPASGCDPolynomial
An abstract class defining the interface of a polynomial ring which is also an GCD domain...
Definition:
BPASGCDPolynomial.hpp:19
BPASIntegralPolynomial
An abstract class defining the interface of a polynomial ring which is also an integral domain...
Definition:
BPASIntegralPolynomial.hpp:19
Generated on Sun May 23 2021 17:29:11 for Basic Polynomial Algebra Subprograms (BPAS) by
1.8.13