9#include PONCA_MULTIARCH_INCLUDE_CU_STD(cmath)
23template <
typename _Scalar>
42 PONCA_MULTIARCH [[nodiscard]]
inline Scalar f (
const Scalar&)
const {
return m_y; }
64template <
typename _Scalar>
92template <
typename _Scalar,
int m,
int n>
105 PONCA_MULTIARCH_STD_MATH(pow);
113 PONCA_MULTIARCH_STD_MATH(pow);
121 PONCA_MULTIARCH_STD_MATH(pow);
122 return Scalar((m-1)*m*n*n)
151template <
typename _Scalar>
165 return v * v * v * v * ((
Scalar(4.) * _x) +
Scalar(1.));
170 return Scalar(20.) * _x * v * v * v;
192template <
typename _Scalar>
205 return Scalar(1.) / (_x * _x);
209 return Scalar(-2.) / (_x * _x * _x);
213 return Scalar(6.) / (_x * _x * _x * _x);
231template <
typename _Scalar>
246 PONCA_MULTIARCH_STD_MATH(exp);
248 return exp(-v/(
Scalar(1)-v));
254 PONCA_MULTIARCH_STD_MATH(exp);
262 PONCA_MULTIARCH_STD_MATH(exp);
263 PONCA_MULTIARCH_STD_MATH(pow);
267 Scalar cmvpow = pow(_x,mvpow);
290 template <
typename _Scalar>
307 PONCA_MULTIARCH_STD_MATH(exp);
308 return exp((-_x*_x)/
Scalar(2));
317 return f(_x)*(_x*_x-
Scalar(1));
Compact Exponential WeightKernel defined in .
static constexpr bool isCompact
The kernel is compact and shall not be evaluated outside of the scale bounds.
Scalar f(const Scalar &_x) const
Defines the smooth weighting function .
static constexpr bool isDValid
df is defined and valid on the definition interval
static constexpr bool isDDValid
ddf is not defined and valid on the definition interval
Scalar ddf(const Scalar &_x) const
Defines the smooth second order weighting function .
_Scalar Scalar
Scalar type defined outside the class.
Scalar df(const Scalar &_x) const
Defines the smooth first order weighting function .
Concept::WeightKernelConcept returning a constant value.
static constexpr bool isCompact
The kernel is compact and shall not be evaluated outside of the scale bounds.
static constexpr bool isDDValid
ddf is defined and valid on the definition interval
Scalar df(const Scalar &) const
Return .
Scalar ddf(const Scalar &) const
Return .
Scalar f(const Scalar &) const
Return the constant value.
static constexpr bool isDValid
df is defined and valid on the definition interval
void setValue(const Scalar &_value)
Set the returned value.
_Scalar Scalar
Scalar type defined outside the class.
ConstantWeightKernel(const Scalar &_value=Scalar(1.))
Default constructor that could be used to set the returned value.
Non-compact Gaussian WeightKernel.
static constexpr bool isCompact
The kernel is not compact and can be evaluated outside of the scale bounds.
static constexpr bool isDDValid
ddf is defined and valid on the definition interval
Scalar ddf(const Scalar &_x) const
Defines the Gaussian weighting function second order derivative .
Scalar f(const Scalar &_x) const
Defines the Gaussian weighting function .
Scalar df(const Scalar &_x) const
Defines the Gaussian weighting function first order derivative .
_Scalar Scalar
Scalar type defined outside the class.
static constexpr bool isDValid
df is defined and valid on the definition interval
Compact generalised version of SmoothWeightKernel with arbitrary degrees : .
static constexpr bool isDValid
df is defined and valid on the definition interval
_Scalar Scalar
Scalar type defined outside the class.
Scalar df(const Scalar &_x) const
Defines the smooth first order weighting function .
static constexpr bool isCompact
The kernel is compact and shall not be evaluated outside of the scale bounds.
Scalar ddf(const Scalar &_x) const
Defines the smooth second order weighting function .
static constexpr bool isDDValid
ddf is defined and valid on the definition interval
Scalar f(const Scalar &_x) const
Defines the smooth weighting function .
Compact singular WeightKernel defined in .
Scalar ddf(const Scalar &_x) const
Defines the Singular second order weighting function .
static constexpr bool isDDValid
ddf is defined and valid on the definition interval
Scalar df(const Scalar &_x) const
Defines the Singular first order weighting function .
Scalar f(const Scalar &_x) const
Defines the Singular weighting function .
_Scalar Scalar
Scalar type defined outside the class.
static constexpr bool isCompact
The kernel is compact and shall not be evaluated outside of the scale bounds.
static constexpr bool isDValid
df is defined and valid on the definition interval
Compact smooth WeightKernel of 2nd degree, defined in Special case of PolynomialSmoothWeightKernel<S...
Scalar df(const Scalar &_x) const
Defines the smooth first order weighting function .
Scalar f(const Scalar &_x) const
Defines the smooth weighting function .
static constexpr bool isDValid
df is defined and valid on the definition interval
static constexpr bool isCompact
The kernel is compact and shall not be evaluated outside of the scale bounds.
static constexpr bool isDDValid
ddf is defined and valid on the definition interval
Scalar ddf(const Scalar &_x) const
Defines the smooth second order weighting function .
_Scalar Scalar
Scalar type defined outside the class.
Compact Wendland WeightKernel defined in .
_Scalar Scalar
Scalar type defined outside the class.
static constexpr bool isDValid
df is defined and valid on the definition interval
static constexpr bool isDDValid
ddf is defined and valid on the definition interval
Scalar df(const Scalar &_x) const
Defines the Wendland first order weighting function .
Scalar ddf(const Scalar &_x) const
Defines the Wendland second order weighting function .
static constexpr bool isCompact
The kernel is compact and shall not be evaluated outside of the scale bounds.
Scalar f(const Scalar &_x) const
Defines the Wendland weighting function .
This Source Code Form is subject to the terms of the Mozilla Public License, v.