The Impl class holds the implementation of the TriangularBernsteinPolynomialBasis. More...
Public Types | |
using | discrete_dimension_type = TriangularBernsteinPolynomialBasis |
The tag which identifies the basis. | |
using | discrete_element_type = ddc::DiscreteElement< DDim > |
The type of an index of an element of the basis. | |
using | discrete_domain_type = ddc::DiscreteDomain< DDim > |
The type of the index range of the basis. | |
using | discrete_vector_type = ddc::DiscreteVector< DDim > |
The type of an index step from one element of the basis to another. | |
Public Member Functions | |
Impl (CartesianToBarycentric< X, Y, Corner1Tag, Corner2Tag, Corner3Tag > const &coord_changer) | |
Construct the basis from the barycentric coordinate mapping. | |
template<class OriginMemorySpace > | |
Impl (Impl< DDim, OriginMemorySpace > const &impl) | |
Construct the basis by copy. | |
Impl (Impl const &x)=default | |
Construct the basis by copy. | |
Impl (Impl &&x)=default | |
Construct the basis from an r-value. | |
Impl & | operator= (Impl const &x)=default |
Copy-assign the class. | |
Impl & | operator= (Impl &&x)=default |
Move-assign the class. | |
void | eval_basis (ddc::ChunkSpan< double, ddc::DiscreteDomain< DDim > > values, ddc::Coordinate< X, Y > const &x) const |
Evaluate the basis at the given coordinate. | |
The Impl class holds the implementation of the TriangularBernsteinPolynomialBasis.
MemorySpace | Indicates where the object is saved. This is either on the host or the device. |
|
inline |
Construct the basis from the barycentric coordinate mapping.
[in] | coord_changer | The class which converts cartesian coordinates to barycentric coordinates. |
|
inlineexplicit |
Construct the basis by copy.
This constructor is used to create the class on a different memory space.
[in] | impl | The implementation of the origin memory space. |
|
default |
Construct the basis by copy.
[in] | x | The basis to be copied. |
|
default |
Construct the basis from an r-value.
[in] | x | The temporary basis to be copied. |
|
default |
|
default |
void TriangularBernsteinPolynomialBasis< X, Y, Corner1Tag, Corner2Tag, Corner3Tag, D >::Impl< DDim, MemorySpace >::eval_basis | ( | ddc::ChunkSpan< double, ddc::DiscreteDomain< DDim > > | values, |
ddc::Coordinate< X, Y > const & | x | ||
) | const |
Evaluate the basis at the given coordinate.
[out] | values | The values of the basis functions at the coordinate. |
[in] | x | The coordinate where the polynomials should be evaluated. |