DGtal 2.0.0
|
Aim: This class implements the class Ehrhart Polynomial which is related to lattice point enumeration in bounded lattice polytopes. More...
#include <DGtal/geometry/volumes/EhrhartPolynomial.h>
Public Types | |
typedef EhrhartPolynomial< TSpace, TInteger > | Self |
typedef TSpace | Space |
typedef TInteger | Integer |
typedef BoundedLatticePolytope< Space > | LatticePolytope |
typedef LagrangeInterpolation< Integer > | Lagrange |
typedef Lagrange::Polynomial | Polynomial |
typedef std::size_t | Size |
Public Member Functions | |
~EhrhartPolynomial ()=default | |
EhrhartPolynomial () | |
EhrhartPolynomial (const LatticePolytope &polytope) | |
EhrhartPolynomial (const EhrhartPolynomial &other)=default | |
EhrhartPolynomial (EhrhartPolynomial &&other)=default | |
EhrhartPolynomial & | operator= (const EhrhartPolynomial &other)=default |
EhrhartPolynomial & | operator= (EhrhartPolynomial &&other)=default |
Polynomial | numerator () const |
Integer | denominator () const |
The (integral) denominator of the Ehrhart polynomial. | |
void | init (const LatticePolytope &polytope) |
Integer | count (Integer t) const |
Integer | remainder (Integer t) const |
Integer | countInterior (Integer t) const |
Integer | remainderInterior (Integer t) const |
void | selfDisplay (std::ostream &that_stream) const |
bool | OK () const |
Protected Attributes | |
Polynomial | myE |
The Ehrhart polynomial (integral numerator part) | |
Integer | myD |
The (integral) denominator of the Ehrhart polynomial. |
Private Member Functions | |
BOOST_CONCEPT_ASSERT ((concepts::CSpace< TSpace >)) | |
BOOST_CONCEPT_ASSERT ((concepts::CInteger< TInteger >)) |
Aim: This class implements the class Ehrhart Polynomial which is related to lattice point enumeration in bounded lattice polytopes.
Description of class 'EhrhartPolynomial'
TSpace | an arbitrary model of CSpace, which tells in which space live bounded lattice polytopes. |
TInteger | an arbitrary model of CInteger, which must be precise enough to compute the Ehrhart polynomial (either int64_t or BigInteger). |
Definition at line 66 of file EhrhartPolynomial.h.
typedef TInteger DGtal::EhrhartPolynomial< TSpace, TInteger >::Integer |
Definition at line 75 of file EhrhartPolynomial.h.
typedef LagrangeInterpolation< Integer > DGtal::EhrhartPolynomial< TSpace, TInteger >::Lagrange |
Definition at line 77 of file EhrhartPolynomial.h.
typedef BoundedLatticePolytope<Space> DGtal::EhrhartPolynomial< TSpace, TInteger >::LatticePolytope |
Definition at line 76 of file EhrhartPolynomial.h.
typedef Lagrange::Polynomial DGtal::EhrhartPolynomial< TSpace, TInteger >::Polynomial |
Definition at line 78 of file EhrhartPolynomial.h.
typedef EhrhartPolynomial< TSpace, TInteger > DGtal::EhrhartPolynomial< TSpace, TInteger >::Self |
Definition at line 73 of file EhrhartPolynomial.h.
typedef std::size_t DGtal::EhrhartPolynomial< TSpace, TInteger >::Size |
Definition at line 79 of file EhrhartPolynomial.h.
typedef TSpace DGtal::EhrhartPolynomial< TSpace, TInteger >::Space |
Definition at line 74 of file EhrhartPolynomial.h.
|
default |
Destructor.
|
inline |
Constructor. The object is invalid.
Definition at line 92 of file EhrhartPolynomial.h.
References myD, myE, and DGtal::NumberTraitsImpl< T, Enable >::ZERO.
Referenced by EhrhartPolynomial(), EhrhartPolynomial(), operator=(), and operator=().
|
inline |
Constructs the Ehrhart polynomial from a lattice polytope
polytope | the lattice polytope |
Definition at line 99 of file EhrhartPolynomial.h.
References init().
|
default |
|
default |
|
private |
|
private |
|
inline |
|
inline |
|
inline |
The (integral) denominator of the Ehrhart polynomial.
Definition at line 137 of file EhrhartPolynomial.h.
References myD.
Referenced by selfDisplay().
|
inline |
Initializes the Ehrhart polynomial with a lattice polytope.
polytope | the lattice polytope |
Definition at line 145 of file EhrhartPolynomial.h.
References DGtal::BoundedLatticePolytope< TSpace >::count(), DGtal::SpaceND< 3, Integer >::dimension, DGtal::L, myD, myE, DGtal::NumberTraitsImpl< std::decay< T >::type >::ONE, and DGtal::NumberTraitsImpl< std::decay< T >::type >::ZERO.
Referenced by EhrhartPolynomial().
|
inline |
Definition at line 131 of file EhrhartPolynomial.h.
References myE.
Referenced by selfDisplay().
|
inline |
Checks the validity/consistency of the object.
Definition at line 212 of file EhrhartPolynomial.h.
References myD, and DGtal::NumberTraitsImpl< std::decay< T >::type >::ZERO.
|
default |
Assignment.
other | the object to copy. |
References EhrhartPolynomial().
|
default |
Move assignment.
other | the object to move. |
References EhrhartPolynomial().
|
inline |
|
inline |
|
inline |
Writes/Displays the object on an output stream.
that_stream | the output stream where the object is written. |
Definition at line 202 of file EhrhartPolynomial.h.
References denominator(), and numerator().
Referenced by DGtal::operator<<().
|
protected |
The (integral) denominator of the Ehrhart polynomial.
Definition at line 223 of file EhrhartPolynomial.h.
Referenced by count(), countInterior(), denominator(), EhrhartPolynomial(), init(), OK(), remainder(), and remainderInterior().
|
protected |
The Ehrhart polynomial (integral numerator part)
Definition at line 221 of file EhrhartPolynomial.h.
Referenced by count(), countInterior(), EhrhartPolynomial(), init(), numerator(), remainder(), and remainderInterior().