라이브러리

[PHP] RandomEngineXoshiro256StarStar::jump - 엔진을 효율적으로 2^128단계 앞으로 이동합니다.




PHP 에서 RandomEngineXoshiro256StarStar::jump는 Xoshiro256* star star 알고리즘을 사용하는 난수 발생 엔진입니다. 이 엔진은 2018 년에 제안된 새로운 난수 발생 알고리즘으로, 이전의 Xoshiro256 알고리즘보다 더 많은 난수 값을 생성할 수 있습니다.

Xoshiro256* star star 알고리즘은 4개의 32비트 정수 값을 사용하여 난수 값을 생성합니다. 이 알고리즘은 다음과 같은 특징을 가지고 있습니다.

- 빠른 난수 생성 속도
- 고성능
- 동기화가 필요하지 않음
- 고유한 난수 값을 생성할 수 있음

PHP 에서 RandomEngineXoshiro256StarStar::jump를 사용하는 방법은 다음과 같습니다.

사용법


#hostingforum.kr
php

use RandomLibRandomEngineXoshiro256StarStar;



$engine = new Xoshiro256StarStar();

$engine->jump(1234567890); // seed 값 설정



// 난수 값을 생성합니다.

$randomValue = $engine->randomByte();

echo $randomValue . "
";



// 또는

$randomValue = $engine->randomInt(1, 100);

echo $randomValue . "
";



예제


#hostingforum.kr
php

use RandomLibRandomEngineXoshiro256StarStar;



$engine = new Xoshiro256StarStar();

$engine->jump(1234567890); // seed 값 설정



// 난수 값을 생성합니다.

for ($i = 0; $i < 10; $i++) {

    $randomValue = $engine->randomByte();

    echo $randomValue . "
";

}



// 또는

for ($i = 0; $i < 10; $i++) {

    $randomValue = $engine->randomInt(1, 100);

    echo $randomValue . "
";

}



주의사항


- seed 값은 고유해야 합니다. seed 값이 동일한 경우 난수 값도 동일합니다.
- RandomEngineXoshiro256StarStar::jump를 사용할 때는 seed 값이 고유해야 합니다. seed 값이 동일한 경우 난수 값도 동일합니다.

참고자료


- [Xoshiro256* star star 알고리즘](https://prng.di.unimi.it/)
- [RandomLib](https://github.com/RandomLib/RandomLib)
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 전체 10,077건 / 301 페이지

검색

게시물 검색