Server IP : 162.213.251.212 / Your IP : 3.129.208.224 [ Web Server : LiteSpeed System : Linux business55.web-hosting.com 4.18.0-553.lve.el8.x86_64 #1 SMP Mon May 27 15:27:34 UTC 2024 x86_64 User : allssztx ( 535) PHP Version : 8.1.31 Disable Function : NONE Domains : 1 Domains MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/allssztx/public_html/easybuyer/vendor/fzaninotto/faker/src/Faker/Provider/ |
Upload File : |
<?php namespace Faker\Provider; class Biased extends Base { /** * Returns a biased integer between $min and $max (both inclusive). * The distribution depends on $function. * * The algorithm creates two doubles, x ∈ [0, 1], y ∈ [0, 1) and checks whether the * return value of $function for x is greater than or equal to y. If this is * the case the number is accepted and x is mapped to the appropriate integer * between $min and $max. Otherwise two new doubles are created until the pair * is accepted. * * @param integer $min Minimum value of the generated integers. * @param integer $max Maximum value of the generated integers. * @param callable $function A function mapping x ∈ [0, 1] onto a double ∈ [0, 1] * @return integer An integer between $min and $max. */ public function biasedNumberBetween($min = 0, $max = 100, $function = 'sqrt') { do { $x = mt_rand() / mt_getrandmax(); $y = mt_rand() / (mt_getrandmax() + 1); } while (call_user_func($function, $x) < $y); return (int) floor($x * ($max - $min + 1) + $min); } /** * 'unbiased' creates an unbiased distribution by giving * each value the same value of one. * * @return integer */ protected static function unbiased() { return 1; } /** * 'linearLow' favors lower numbers. The probability decreases * in a linear fashion. * * @return integer */ protected static function linearLow($x) { return 1 - $x; } /** * 'linearHigh' favors higher numbers. The probability increases * in a linear fashion. * * @return integer */ protected static function linearHigh($x) { return $x; } }