13 #ifndef ROOT_Math_UnuranDistr
14 #define ROOT_Math_UnuranDistr
31 typedef TUnuranContDist Distribution;
34 static double Pdf(
double x,
const UNUR_DISTR * dist) {
35 const Distribution * func =
reinterpret_cast<const Distribution *
> ( unur_distr_get_extobj(dist) );
39 static double Dpdf(
double x,
const UNUR_DISTR * dist) {
40 const Distribution * func =
reinterpret_cast<const Distribution *
> ( unur_distr_get_extobj(dist) );
45 static double Cdf(
double x,
const UNUR_DISTR * dist) {
46 const Distribution * func =
reinterpret_cast<const Distribution *
> ( unur_distr_get_extobj(dist) );
57 typedef TUnuranMultiContDist Distribution;
60 static double Pdf(
const double * x, UNUR_DISTR * dist) {
61 const Distribution * func =
reinterpret_cast<const Distribution *
> ( unur_distr_get_extobj(dist) );
66 static int Dpdf(
double * grad,
const double * x, UNUR_DISTR * dist) {
67 const Distribution * func =
reinterpret_cast<const Distribution *
> ( unur_distr_get_extobj(dist) );
68 func->Gradient(x,grad);
73 static double Pdpdf(
const double * x,
int coord, UNUR_DISTR * dist) {
74 const Distribution * func =
reinterpret_cast<const Distribution *
> ( unur_distr_get_extobj(dist) );
75 return func->Derivative(x,coord);
86 typedef TUnuranDiscrDist Distribution;
90 static double Pmf(
int x,
const UNUR_DISTR * dist) {
91 const Distribution * func =
reinterpret_cast<const Distribution *
> ( unur_distr_get_extobj(dist) );
96 static double Cdf(
int x,
const UNUR_DISTR * dist) {
97 const Distribution * func =
reinterpret_cast<const Distribution *
> ( unur_distr_get_extobj(dist) );