-
Notifications
You must be signed in to change notification settings - Fork 35
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
jim
committed
Mar 25, 2024
1 parent
ef3431c
commit 3207d1e
Showing
2 changed files
with
352 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,352 @@ | ||
<?php | ||
|
||
namespace { | ||
use JetBrains\PhpStorm\Internal\LanguageLevelTypeAware; | ||
use JetBrains\PhpStorm\Internal\PhpStormStubsElementAvailable; | ||
use JetBrains\PhpStorm\Pure; | ||
|
||
/** | ||
* Combined linear congruential generator | ||
* @link https://php.net/manual/en/function.lcg-value.php | ||
* @return float A pseudo random float value in the range of (0, 1) | ||
*/ | ||
function lcg_value(): float | ||
{ | ||
} | ||
|
||
/** | ||
* Seeds the Mersenne Twister Random Number Generator | ||
* @link https://php.net/manual/en/function.mt-srand.php | ||
* @param int|null $seed <p> | ||
* An optional seed value | ||
* </p> | ||
* @param int $mode [optional] <p> | ||
* Use one of the following constants to specify the implementation of the algorithm to use. | ||
* </p> | ||
* @return void | ||
*/ | ||
function mt_srand( | ||
#[LanguageLevelTypeAware(['8.3' => 'int|null'], default: 'int')] $seed = null, | ||
#[PhpStormStubsElementAvailable(from: '7.1')] int $mode = MT_RAND_MT19937 | ||
): void { | ||
} | ||
|
||
/** | ||
* Seed the random number generator | ||
* <p><strong>Note</strong>: As of PHP 7.1.0, {@see srand()} has been made | ||
* an alias of {@see mt_srand()}. | ||
* </p> | ||
* @link https://php.net/manual/en/function.srand.php | ||
* @param int|null $seed <p> | ||
* Optional seed value | ||
* </p> | ||
* @param int $mode [optional] <p> | ||
* Use one of the following constants to specify the implementation of the algorithm to use. | ||
* </p> | ||
* @return void | ||
*/ | ||
function srand( | ||
#[LanguageLevelTypeAware(['8.3' => 'int|null'], default: 'int')] $seed = null, | ||
#[PhpStormStubsElementAvailable(from: '7.1')] int $mode = MT_RAND_MT19937 | ||
): void { | ||
} | ||
|
||
/** | ||
* Generate a random integer | ||
* @link https://php.net/manual/en/function.rand.php | ||
* @param int $min [optional] | ||
* @param int $max [optional] | ||
* @return int A pseudo random value between min | ||
* (or 0) and max (or getrandmax, inclusive). | ||
*/ | ||
function rand(int $min, int $max): int | ||
{ | ||
} | ||
|
||
/** | ||
* Generate a random value via the Mersenne Twister Random Number Generator | ||
* @link https://php.net/manual/en/function.mt-rand.php | ||
* @param int $min [optional] <p> | ||
* Optional lowest value to be returned (default: 0) | ||
* </p> | ||
* @param int $max [optional] <p> | ||
* Optional highest value to be returned (default: mt_getrandmax()) | ||
* </p> | ||
* @return int A random integer value between min (or 0) | ||
* and max (or mt_getrandmax, inclusive) | ||
*/ | ||
function mt_rand(int $min, int $max): int | ||
{ | ||
} | ||
|
||
/** | ||
* Show largest possible random value | ||
* @link https://php.net/manual/en/function.mt-getrandmax.php | ||
* @return int the maximum random value returned by mt_rand | ||
*/ | ||
#[Pure] | ||
function mt_getrandmax(): int | ||
{ | ||
} | ||
|
||
/** | ||
* Show largest possible random value | ||
* @link https://php.net/manual/en/function.getrandmax.php | ||
* @return int The largest possible random value returned by rand | ||
*/ | ||
#[Pure] | ||
function getrandmax(): int | ||
{ | ||
} | ||
|
||
/** | ||
* Generates cryptographically secure pseudo-random bytes | ||
* @link https://php.net/manual/en/function.random-bytes.php | ||
* @param int $length The length of the random string that should be returned in bytes. | ||
* @return string Returns a string containing the requested number of cryptographically secure random bytes. | ||
* @since 7.0 | ||
* @throws Random\RandomException if an appropriate source of randomness cannot be found. | ||
*/ | ||
function random_bytes(int $length): string | ||
{ | ||
} | ||
|
||
/** | ||
* Generates cryptographically secure pseudo-random integers | ||
* @link https://php.net/manual/en/function.random-int.php | ||
* @param int $min The lowest value to be returned, which must be PHP_INT_MIN or higher. | ||
* @param int $max The highest value to be returned, which must be less than or equal to PHP_INT_MAX. | ||
* @return int Returns a cryptographically secure random integer in the range min to max, inclusive. | ||
* @since 7.0 | ||
* @throws Random\RandomException if an appropriate source of randomness cannot be found. | ||
*/ | ||
function random_int(int $min, int $max): int | ||
{ | ||
} | ||
} | ||
|
||
namespace Random\Engine | ||
{ | ||
/** | ||
* @since 8.2 | ||
*/ | ||
final class Mt19937 implements \Random\Engine | ||
{ | ||
public function __construct(int|null $seed = null, int $mode = MT_RAND_MT19937) | ||
{ | ||
} | ||
|
||
public function generate(): string | ||
{ | ||
} | ||
|
||
public function __serialize(): array | ||
{ | ||
} | ||
|
||
public function __unserialize(array $data): void | ||
{ | ||
} | ||
|
||
public function __debugInfo(): array | ||
{ | ||
} | ||
} | ||
|
||
/** | ||
* @since 8.2 | ||
*/ | ||
final class PcgOneseq128XslRr64 implements \Random\Engine | ||
{ | ||
public function __construct(string|int|null $seed = null) | ||
{ | ||
} | ||
|
||
public function generate(): string | ||
{ | ||
} | ||
|
||
public function jump(int $advance): void | ||
{ | ||
} | ||
|
||
public function __serialize(): array | ||
{ | ||
} | ||
|
||
public function __unserialize(array $data): void | ||
{ | ||
} | ||
|
||
public function __debugInfo(): array | ||
{ | ||
} | ||
} | ||
|
||
/** | ||
* @since 8.2 | ||
*/ | ||
final class Xoshiro256StarStar implements \Random\Engine | ||
{ | ||
public function __construct(string|int|null $seed = null) | ||
{ | ||
} | ||
|
||
public function generate(): string | ||
{ | ||
} | ||
|
||
public function jump(): void | ||
{ | ||
} | ||
|
||
public function jumpLong(): void | ||
{ | ||
} | ||
|
||
public function __serialize(): array | ||
{ | ||
} | ||
|
||
public function __unserialize(array $data): void | ||
{ | ||
} | ||
|
||
public function __debugInfo(): array | ||
{ | ||
} | ||
} | ||
|
||
/** | ||
* @since 8.2 | ||
*/ | ||
final class Secure implements \Random\CryptoSafeEngine | ||
{ | ||
public function generate(): string | ||
{ | ||
} | ||
} | ||
} | ||
|
||
namespace Random | ||
{ | ||
use Error; | ||
use Exception; | ||
|
||
/** | ||
* @since 8.2 | ||
*/ | ||
interface Engine | ||
{ | ||
public function generate(): string; | ||
} | ||
/** | ||
* @since 8.2 | ||
*/ | ||
interface CryptoSafeEngine extends Engine | ||
{ | ||
} | ||
|
||
/** | ||
* @since 8.2 | ||
*/ | ||
final class Randomizer | ||
{ | ||
public readonly Engine $engine; | ||
|
||
public function __construct(?Engine $engine = null) | ||
{ | ||
} | ||
|
||
public function nextInt(): int | ||
{ | ||
} | ||
|
||
public function getInt(int $min, int $max): int | ||
{ | ||
} | ||
|
||
public function getBytes(int $length): string | ||
{ | ||
} | ||
|
||
public function shuffleArray(array $array): array | ||
{ | ||
} | ||
|
||
public function shuffleBytes(string $bytes): string | ||
{ | ||
} | ||
|
||
public function pickArrayKeys(array $array, int $num): array | ||
{ | ||
} | ||
|
||
public function __serialize(): array | ||
{ | ||
} | ||
|
||
public function __unserialize(array $data): void | ||
{ | ||
} | ||
|
||
/** | ||
* @since 8.3 | ||
*/ | ||
public function nextFloat(): float | ||
{ | ||
} | ||
|
||
/** | ||
* @since 8.3 | ||
*/ | ||
public function getFloat(float $min, float $max, IntervalBoundary $boundary = IntervalBoundary::ClosedOpen): float | ||
{ | ||
} | ||
|
||
/** | ||
* @since 8.3 | ||
*/ | ||
public function getBytesFromString(string $string, int $length): string | ||
{ | ||
} | ||
} | ||
|
||
/** | ||
* @since 8.2 | ||
*/ | ||
class RandomError extends Error | ||
{ | ||
} | ||
|
||
/** | ||
* @since 8.2 | ||
*/ | ||
class BrokenRandomEngineError extends RandomError | ||
{ | ||
} | ||
|
||
/** | ||
* @since 8.2 | ||
*/ | ||
class RandomException extends Exception | ||
{ | ||
} | ||
|
||
/** | ||
* @since 8.3 | ||
*/ | ||
enum IntervalBoundary | ||
{ | ||
public string $name; | ||
|
||
case ClosedOpen; | ||
case ClosedClosed; | ||
case OpenClosed; | ||
case OpenOpen; | ||
|
||
public static function cases(): array | ||
{ | ||
} | ||
} | ||
} |