7#ifndef IPPL_DISTRIBUTION_H
8#define IPPL_DISTRIBUTION_H
32 template <
typename T,
unsigned Dim,
unsigned DimP,
typename DistributionFunctions>
43 typename DistributionFunctions::PDF
pdf_m;
44 typename DistributionFunctions::CDF
cdf_m;
52 for (
unsigned int i = 0; i < DimP; i++) {
67 KOKKOS_INLINE_FUNCTION
T getPdf(
T x,
unsigned int d)
const {
75 KOKKOS_INLINE_FUNCTION
T getCdf(
T x,
unsigned int d)
const {
110 for (
unsigned int d = 0; d <
Dim; d++) {
111 totalPdf *=
getPdf(x[d], d);
KOKKOS_INLINE_FUNCTION T getObjFunc(T x, unsigned int d, T u) const
DistributionFunctions::Estimate estimate_m
KOKKOS_INLINE_FUNCTION T getDerObjFunc(T x, unsigned int d) const
KOKKOS_INLINE_FUNCTION T getCdf(T x, unsigned int d) const
A wrapper to change the signature arguments of cdf in each dimension d from (x, d,...
KOKKOS_INLINE_FUNCTION ~Distribution()
Destructor for the Distribution class.
KOKKOS_INLINE_FUNCTION Distribution(const T *par_p)
Constructor for the Distribution class.
KOKKOS_INLINE_FUNCTION T getPdf(T x, unsigned int d) const
A wrapper to change the signature arguments of pdf in each dimension d from (x, d,...
KOKKOS_INLINE_FUNCTION T getEstimate(T x, unsigned int d) const
A wrapper to change the signature arguments of estimate in each dimension d from (x,...
DistributionFunctions::CDF cdf_m
KOKKOS_INLINE_FUNCTION T getFullPdf(ippl::Vector< T, Dim > x) const
DistributionFunctions::PDF pdf_m