pops-core
0.9
PoPS (Pest or Pathogen Spread) Model Core C++ library
|
Go to the documentation of this file.
16 #ifndef POPS_HYPERBOLIC_SECANT_KERNEL_HPP
17 #define POPS_HYPERBOLIC_SECANT_KERNEL_HPP
43 throw std::invalid_argument(
"s cannot be 0.0");
53 template<
class Generator>
69 return 0.5 * (1.0 / cosh((
M_PI * x) / 2));
82 if (x <= 0 || x >= 1) {
83 throw std::invalid_argument(
"icdf: x must be between 0.0 and 1.0");
86 return (2.0 /
M_PI) * log(tan(
M_PI / 2.0 * x));
94 #endif // POPS_HYPERBOLIC_SECANT_KERNEL_HPP
double icdf(double x)
Hyperbolic secant inverse cumulative distribution (quantile) function Used by DeterministicKernel to ...
HyperbolicSecantKernel(double s)
double pdf(double x)
Hyperbolic secant probability density function Used by DeterministicKernel to determine location of s...
double random(Generator &generator)
Returns random value from hyperbolic secant distribution Used by RadialKernel to determine location o...
std::uniform_real_distribution< double > distribution
Dispersal kernel for hyperbolic secant class utilized by RadialKernel and DeterministicKernel.
Kernel types enum and helper functions.