$b || $k < $a) { throw new \Exception('Out of bounds'); } return (floor($k) - $a + 1) / ($b - $a + 1); } /** * Get moment generating function. * * @param int $t * @param float $a * @param float $b * * @return float * * @since 1.0.0 */ public static function getMgf(int $t, float $a, float $b) : float { return (exp($a * $t) - exp(($b + 1) * $t)) / (($b - $a + 1) * (1 - exp($t))); } /** * Get skewness. * * @return float * * @since 1.0.0 */ public static function getSkewness() : float { return 0.0; } /** * Get Ex. kurtosis. * * @param float $a * @param float $b * * @return float * * @since 1.0.0 */ public static function getExKurtosis(float $a, float $b) : float { $n = ($b - $a + 1); return -6 / 5 * ($n ** 2 + 1) / ($n ** 2 - 1); } /** * Get expected value. * * @param float $a * @param float $b * * @return float * * @since 1.0.0 */ public static function getMedian(float $a, float $b) : float { return ($a + $b) / 2; } /** * Get expected value. * * @param float $a * @param float $b * * @return float * * @since 1.0.0 */ public static function getMean(float $a, float $b) : float { return ($a + $b) / 2; } /** * Get variance. * * @param float $a * @param float $b * * @return float * * @since 1.0.0 */ public static function getVariance(float $a, float $b) : float { return (($b - $a + 1) ** 2 - 1) / 12; } public static function getRandom() { } }