Basic Polynomial Algebra Subprograms (BPAS)
v. 1.791
include
Ring
BPASIntegralDomain.hpp
1
2
#ifndef _BPAS_INTEGRAL_DOMAIN_H_
3
#define _BPAS_INTEGRAL_DOMAIN_H_
4
5
6
#include "BPASRing.hpp"
7
#include "../Utils/TemplateHelpers.hpp"
8
9
10
/**
11
* An abstract class defining the interface of an integral domain.
12
*/
13
template
<
class
Derived>
14
class
BPASIntegralDomain
:
public
virtual
BPASRing
<Derived> {
15
16
public
:
17
18
/**
19
* Exact division.
20
*
21
* @param d: the divisor.
22
* @return the equotient.
23
*/
24
virtual
Derived
operator/
(
const
Derived& d)
const
= 0;
25
26
/**
27
* Exact division assignment.
28
*
29
* @param d: the divisor.
30
* @return a reference to this after assignment.
31
*/
32
virtual
Derived&
operator/=
(
const
Derived& d) = 0;
33
34
};
35
36
#endif
BPASRing
An abstract class defining the interface of a commutative ring.
Definition:
BPASRing.hpp:19
BPASIntegralDomain::operator/
virtual Derived operator/(const Derived &d) const =0
Exact division.
BPASIntegralDomain
An abstract class defining the interface of an integral domain.
Definition:
BPASIntegralDomain.hpp:14
BPASIntegralDomain::operator/=
virtual Derived & operator/=(const Derived &d)=0
Exact division assignment.
Generated on Sun May 23 2021 17:29:11 for Basic Polynomial Algebra Subprograms (BPAS) by
1.8.13