Random\Engine\Xoshiro256StarStar::jumpLong

(PHP 8 >= 8.2.0)

Random\Engine\Xoshiro256StarStar::jumpLong β€” Π­Ρ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Π΅Ρ‚ Π΄Π²ΠΈΠΆΠΎΠΊ Π²ΠΏΠ΅Ρ€Ρ‘Π΄ Π½Π° 2^192 шага

ОписаниС

public function Random\Engine\Xoshiro256StarStar::jumpLong(): void

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Π΅Ρ‚ состояниС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° Π²ΠΏΠ΅Ρ€Ρ‘Π΄ Π½Π° 2192 шага, ΠΊΠ°ΠΊ Ссли Π±Ρ‹ ΠΌΠ΅Ρ‚ΠΎΠ΄ Random\Engine\Xoshiro256StarStar::generate() Π±Ρ‹Π» Π²Ρ‹Π·Π²Π°Π½ 2192 Ρ€Π°Π·Π°.

ЦСль ΠΌΠ΅Ρ‚ΠΎΠ΄Π° - ΠΎΠ±Π»Π΅Π³Ρ‡ΠΈΡ‚ΡŒ созданиС Π½ΠΎΠ²ΠΎΠ³ΠΎ Π΄Π²ΠΈΠΆΠΊΠ° Random\Engine\Xoshiro256StarStar ΠΈΠ· ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π½ΠΎΠ³ΠΎ Π΄Π²ΠΈΠΆΠΊΠ° Random\Engine\Xoshiro256StarStar. Π—Π°Π΄Π°Π½Π½Ρ‹ΠΉ Π΄Π²ΠΈΠΆΠΎΠΊ дСйствуСт ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для создания 264 Π½Π΅ΠΏΠ΅Ρ€Π΅ΡΠ΅ΠΊΠ°ΡŽΡ‰ΠΈΡ…ΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚Π΅ΠΉ с 2192 значСниями каТдая.

ΠœΠ΅Ρ‚ΠΎΠ΄ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½Ρ‘Π½ с Random\Engine\Xoshiro256StarStar::jump() для дальнСйшСго раздСлСния ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· 264 ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚Π΅ΠΉ, сгСнСрированных Π΄Π°Π½Π½Ρ‹ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ, Π½Π° 264 ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΏΠΎ 2128 значСния каТдая.

Бписок ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ²

Π‘ΠΈΠ³Π½Π°Ρ‚ΡƒΡ€Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π½Π΅ содСрТит ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ².

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΡ‹Π΅ значСния

Ѐункция Π½Π΅ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ значСния послС выполнСния.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ #1 ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования Random\Engine\Xoshiro256StarStar::jumpLong()

<?php
$blueprintRng
= new \Random\Engine\Xoshiro256StarStar(0);

// Π£ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ Π΄Π²ΠΈΠΆΠΊΠ° свой собствСнный Π±Π»ΠΎΠΊ ΠΈΠ· 2**192 Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.
$parent1 = clone $blueprintRng;
$blueprintRng->jumpLong();

$parent2 = clone $blueprintRng;
$blueprintRng->jumpLong();

// Π£ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΡ… Π΄Π²ΠΈΠΆΠΊΠΎΠ² свой собствСнный Π±Π»ΠΎΠΊ ΠΈΠ· 2**128 Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ,
// взятый ΠΈΠ· Π±Π»ΠΎΠΊΠ° 2**192 Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΈΡ… Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ Π΄Π²ΠΈΠΆΠΊΠ°.
$child1a = clone $parent1;
$parent1->jump();
$child1b = clone $parent1;
$parent1->jump();

$child2a = clone $parent2;
$parent2->jump();
$child2b = clone $parent2;
$parent2->jump();

echo
"Π”ΠΎΡ‡Π΅Ρ€Π½ΠΈΠΉ 1A: ", bin2hex($child1a->generate()), "\n";
echo
"Π”ΠΎΡ‡Π΅Ρ€Π½ΠΈΠΉ 1B: ", bin2hex($child1b->generate()), "\n";
echo
"Π”ΠΎΡ‡Π΅Ρ€Π½ΠΈΠΉ 2A: ", bin2hex($child2a->generate()), "\n";
echo
"Π”ΠΎΡ‡Π΅Ρ€Π½ΠΈΠΉ 2B: ", bin2hex($child2b->generate()), "\n";
?>

Π’Ρ‹Π²ΠΎΠ΄ ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Π½Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΡ…ΠΎΠΆ Π½Π°:

Π”ΠΎΡ‡Π΅Ρ€Π½ΠΈΠΉ 1A: b4f275cb365fec99
Π”ΠΎΡ‡Π΅Ρ€Π½ΠΈΠΉ 1B: 2cd646c8ed156237
Π”ΠΎΡ‡Π΅Ρ€Π½ΠΈΠΉ 2A: eb3729a722a504e7
Π”ΠΎΡ‡Π΅Ρ€Π½ΠΈΠΉ 2B: d4208dc85bdd6dc3

Π‘ΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ Ρ‚Π°ΠΊΠΆΠ΅

  • Random\Engine\Xoshiro256StarStar::jump() - Π­Ρ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Π΅Ρ‚ Π΄Π²ΠΈΠΆΠΎΠΊ Π²ΠΏΠ΅Ρ€Ρ‘Π΄ Π½Π° 2^128 шагов
οΌ‹Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΡ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ

ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ Π΅Ρ‰Ρ‘ Π½Π΅ добавляли примСчания для страницы