Project
Loading...
Searching...
No Matches
o2::gpu::MultivariatePolynomialHelper< Dim, Degree, InteractionOnly > Class Template Reference

#include <MultivariatePolynomialHelper.h>

Inherits o2::gpu::MultivariatePolynomialParametersHelper.

Inherited by o2::gpu::MultivariatePolynomial< Dim, Degree, InteractionOnly >.

Public Member Functions

 GPUd () static const expr float evalPol(GPUgeneric() const float par[]
 
 GPUd () static const expr uint32_t getDim()
 
 GPUd () static const expr uint32_t getDegree()
 
 GPUd () static const expr bool isInteractionOnly()
 
- Public Member Functions inherited from o2::gpu::MultivariatePolynomialParametersHelper
 GPUd () static const expr uint32_t getNParametersAllTerms(const uint32_t degree
 
 GPUd () static const expr uint32_t getNParametersInteractionOnly(const uint32_t degree
 
 GPUd () static const expr uint32_t getNParameters(const uint32_t degree
 

Public Attributes

const float x [] { return par[0] + loopDegrees<1>(par, x)
 
- Public Attributes inherited from o2::gpu::MultivariatePolynomialParametersHelper
const uint32_t dim { return (degree == 0) ? binomialCoeff(dim - 1, 0) : binomialCoeff(dim - 1 + degree, degree) + getNParametersAllTerms(degree - 1, dim)
 

Detailed Description

template<uint32_t Dim, uint32_t Degree, bool InteractionOnly>
class o2::gpu::MultivariatePolynomialHelper< Dim, Degree, InteractionOnly >

Helper struct for evaluating a multidimensional polynomial using compile time evaluated formula Compile time method to extract the formula is obtained from run time method (check combination_with_repetiton() and evalPol()) by performing all loops during compile time and replacing the array to keep track of the dimensions for given term (pos[FMaxdegree + 1]) to a simple uint32_t called Pos where each digit represents the dimension for a given term e.g. pos = 2234 -> x[2]*x[2]*x[3]*x[4]

Definition at line 93 of file MultivariatePolynomialHelper.h.

Member Function Documentation

◆ GPUd() [1/4]

template<uint32_t Dim, uint32_t Degree, bool InteractionOnly>
o2::gpu::MultivariatePolynomialHelper< Dim, Degree, InteractionOnly >::GPUd ( ) const
inline
Returns
returns whether only interaction terms are considered

Definition at line 115 of file MultivariatePolynomialHelper.h.

◆ GPUd() [2/4]

template<uint32_t Dim, uint32_t Degree, bool InteractionOnly>
o2::gpu::MultivariatePolynomialHelper< Dim, Degree, InteractionOnly >::GPUd ( ) const

evaluates the polynomial for given parameters and coordinates

Parameters
parparameters of the polynomials
xinput coordinates

◆ GPUd() [3/4]

template<uint32_t Dim, uint32_t Degree, bool InteractionOnly>
o2::gpu::MultivariatePolynomialHelper< Dim, Degree, InteractionOnly >::GPUd ( ) const
inline
Returns
returns the degree of the polynomials

Definition at line 112 of file MultivariatePolynomialHelper.h.

◆ GPUd() [4/4]

template<uint32_t Dim, uint32_t Degree, bool InteractionOnly>
o2::gpu::MultivariatePolynomialHelper< Dim, Degree, InteractionOnly >::GPUd ( ) const
inline
Returns
returns number of dimensions of the polynomials

Definition at line 109 of file MultivariatePolynomialHelper.h.

Member Data Documentation

◆ x

template<uint32_t Dim, uint32_t Degree, bool InteractionOnly>
const float o2::gpu::MultivariatePolynomialHelper< Dim, Degree, InteractionOnly >::x { return par[0] + loopDegrees<1>(par, x)

Definition at line 106 of file MultivariatePolynomialHelper.h.


The documentation for this class was generated from the following file: