
Xoshiro256StarStar 난수 발생 엔진의 jumpLong 메서드는 64비트 정수 값을 생성하고, seed 값을 갱신하는 메서드입니다.
jumpLong 메서드는 내부적으로 256비트의 상태 변수를 사용하여, 64비트 정수 값을 생성합니다.
이 메서드는 4개의 32비트 정수 변수를 사용하여, 상태 변수를 갱신하고, 64비트 정수 값을 생성합니다.
jumpLong 메서드의 내부 동작은 다음과 같습니다.
1. 4개의 32비트 정수 변수를 XOR 연산하여, 32비트 정수 값을 생성합니다.
2. 생성된 32비트 정수 값을 32비트 정수 변수의 첫 번째 변수에 할당합니다.
3. 32비트 정수 변수의 첫 번째 변수를 5비트 오른쪽으로 shift 연산하여, 새로운 32비트 정수 값을 생성합니다.
4. 32비트 정수 변수의 두 번째 변수를 26비트 오른쪽으로 shift 연산하여, 새로운 32비트 정수 값을 생성합니다.
5. 32비트 정수 변수의 세 번째 변수를 22비트 오른쪽으로 shift 연산하여, 새로운 32비트 정수 값을 생성합니다.
6. 32비트 정수 변수의 네 번째 변수를 18비트 오른쪽으로 shift 연산하여, 새로운 32비트 정수 값을 생성합니다.
7. 생성된 32비트 정수 값을 XOR 연산하여, 32비트 정수 값을 생성합니다.
8. 생성된 32비트 정수 값을 32비트 정수 변수의 첫 번째 변수에 할당합니다.
9. 32비트 정수 변수의 첫 번째 변수를 5비트 오른쪽으로 shift 연산하여, 새로운 32비트 정수 값을 생성합니다.
10. 32비트 정수 변수의 두 번째 변수를 26비트 오른쪽으로 shift 연산하여, 새로운 32비트 정수 값을 생성합니다.
11. 32비트 정수 변수의 세 번째 변수를 22비트 오른쪽으로 shift 연산하여, 새로운 32비트 정수 값을 생성합니다.
12. 32비트 정수 변수의 네 번째 변수를 18비트 오른쪽으로 shift 연산하여, 새로운 32비트 정수 값을 생성합니다.
13. 생성된 32비트 정수 값을 XOR 연산하여, 64비트 정수 값을 생성합니다.
seed 값은 jumpLong 메서드의 호출 시점에 갱신됩니다. seed 값은 64비트 정수 값의 하위 32비트에 해당하는 값을 갱신합니다.
2025-05-10 18:15