Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
RooHeterogeneousMath Namespace Reference

Functions

__roodevice__ static __roohost__ void cexp (double &re, double &im)
 
__roohost__ __roodevice__ STD::complex< doubleevalCerf (double swt, double u, double c)
 
__roohost__ __roodevice__ STD::complex< doubleevalCerfApprox (double _x, double u, double c)
 use the approximation: erf(z) = exp(-z*z)/(STD::sqrt(pi)*z) to explicitly cancel the divergent exp(y*y) behaviour of CWERF for z = x + i y with large negative y
 
__roodevice__ __roohost__ STD::complex< doublefaddeeva (STD::complex< double > z)
 
__roodevice__ __roohost__ STD::complex< doublefaddeeva_fast (STD::complex< double > z)
 
template<class T , unsigned N, unsigned NTAYLOR, unsigned NCF>
__roodevice__ static __roohost__ STD::complex< T > faddeeva_smabmq_impl (T zre, T zim, const T tm, const T(&a)[N], const T(&npi)[N], const T(&taylorarr)[N *NTAYLOR *2])
 

Variables

__roodevice__ const double a11 [11]
 
static __roodevice__ const double a24 [24]
 
__roodevice__ const double npi11 [11]
 
static __roodevice__ const double npi24 [24]
 
__roodevice__ const double taylorarr11 [11 *6]
 
static __roodevice__ const double taylorarr24 [24 *12]
 

Function Documentation

◆ cexp()

__roodevice__ static __roohost__ void RooHeterogeneousMath::cexp ( double re,
double im 
)
inlinestatic

Definition at line 39 of file RooHeterogeneousMath.h.

◆ evalCerf()

__roohost__ __roodevice__ STD::complex< double > RooHeterogeneousMath::evalCerf ( double  swt,
double  u,
double  c 
)
inline

Definition at line 573 of file RooHeterogeneousMath.h.

◆ evalCerfApprox()

__roohost__ __roodevice__ STD::complex< double > RooHeterogeneousMath::evalCerfApprox ( double  _x,
double  u,
double  c 
)

use the approximation: erf(z) = exp(-z*z)/(STD::sqrt(pi)*z) to explicitly cancel the divergent exp(y*y) behaviour of CWERF for z = x + i y with large negative y

Definition at line 559 of file RooHeterogeneousMath.h.

◆ faddeeva()

__roodevice__ __roohost__ STD::complex< double > RooHeterogeneousMath::faddeeva ( STD::complex< double z)
inline

Definition at line 540 of file RooHeterogeneousMath.h.

◆ faddeeva_fast()

__roodevice__ __roohost__ STD::complex< double > RooHeterogeneousMath::faddeeva_fast ( STD::complex< double z)
inline

Definition at line 547 of file RooHeterogeneousMath.h.

◆ faddeeva_smabmq_impl()

template<class T , unsigned N, unsigned NTAYLOR, unsigned NCF>
__roodevice__ static __roohost__ STD::complex< T > RooHeterogeneousMath::faddeeva_smabmq_impl ( zre,
zim,
const T  tm,
const T(&)  a[N],
const T(&)  npi[N],
const T(&)  taylorarr[N *NTAYLOR *2] 
)
inlinestatic

Definition at line 123 of file RooHeterogeneousMath.h.

Variable Documentation

◆ a11

__roodevice__ const double RooHeterogeneousMath::a11[11]
Initial value:
= {
4.43113462726379007e-01, 3.79788034073635143e-01, 2.39122407410867584e-01,
1.10599187402169792e-01, 3.75782250080904725e-02, 9.37936104296856288e-03,
1.71974046186334976e-03, 2.31635559000523461e-04, 2.29192401420125452e-05,
1.66589592139340077e-06, 8.89504561311882155e-08
}

Definition at line 485 of file RooHeterogeneousMath.h.

◆ a24

__roodevice__ const double RooHeterogeneousMath::a24[24]
static
Initial value:
= {
2.95408975150919338e-01, 2.75840233292177084e-01, 2.24573955224615866e-01,
1.59414938273911723e-01, 9.86657664154541891e-02, 5.32441407876394120e-02,
2.50521500053936484e-02, 1.02774656705395362e-02, 3.67616433284484706e-03,
1.14649364124223317e-03, 3.11757015046197600e-04, 7.39143342960301488e-05,
1.52794934280083635e-05, 2.75395660822107093e-06, 4.32785878190124505e-07,
5.93003040874588103e-08, 7.08449030774820423e-09, 7.37952063581678038e-10,
6.70217160600200763e-11, 5.30726516347079017e-12, 3.66432411346763916e-13,
2.20589494494103134e-14, 1.15782686262855879e-15, 5.29871142946730482e-17,
}

Definition at line 297 of file RooHeterogeneousMath.h.

◆ npi11

__roodevice__ const double RooHeterogeneousMath::npi11[11]
Initial value:
= {
0.00000000000000000e+00, 3.14159265358979324e+00, 6.28318530717958648e+00,
9.42477796076937972e+00, 1.25663706143591730e+01, 1.57079632679489662e+01,
1.88495559215387594e+01, 2.19911485751285527e+01, 2.51327412287183459e+01,
2.82743338823081391e+01, 3.14159265358979324e+01
}

Definition at line 479 of file RooHeterogeneousMath.h.

◆ npi24

__roodevice__ const double RooHeterogeneousMath::npi24[24]
static
Initial value:
= {
0.00000000000000000e+00, 3.14159265358979324e+00, 6.28318530717958648e+00,
9.42477796076937972e+00, 1.25663706143591730e+01, 1.57079632679489662e+01,
1.88495559215387594e+01, 2.19911485751285527e+01, 2.51327412287183459e+01,
2.82743338823081391e+01, 3.14159265358979324e+01, 3.45575191894877256e+01,
3.76991118430775189e+01, 4.08407044966673121e+01, 4.39822971502571053e+01,
4.71238898038468986e+01, 5.02654824574366918e+01, 5.34070751110264851e+01,
5.65486677646162783e+01, 5.96902604182060715e+01, 6.28318530717958648e+01,
6.59734457253856580e+01, 6.91150383789754512e+01, 7.22566310325652445e+01,
}

Definition at line 287 of file RooHeterogeneousMath.h.

◆ taylorarr11

__roodevice__ const double RooHeterogeneousMath::taylorarr11[11 *6]

Definition at line 491 of file RooHeterogeneousMath.h.

◆ taylorarr24

__roodevice__ const double RooHeterogeneousMath::taylorarr24[24 *12]
static

Definition at line 307 of file RooHeterogeneousMath.h.