0
WELL PRNG의 특정 구현을 사용하려고합니다. 원본보다 좋을 것 같습니다. link to the codeWELL PRNG가 작동하지 않습니까? (아마)
그러나 나는 그것으로 몇 가지 갈등을 겪고 있습니다. 아무리 씨를 뿌려도 똑같은 숫자가 출력됩니다. 나는 아마 그것을 잘못 사용하고 있다고 생각하지만 내 실수를 알아낼 수는 없었다. 불행히도 PRNG 소스는 완전히 불투명합니다.
내 코드 : 주석 점잔 빼는-ossifrage을 바탕으로
#include <iostream>
#include <WELL44497a_new.h>
void pause()
{
std::string dummy;
std::cout << "Press enter to continue...";
std::getline(std::cin, dummy);
}
int main(int argc, char** argv) {
using std::cout;
using std::cin;
using std::endl;
cout<<"Hello"<<endl;
pause();
unsigned int rngseed;
cout<<"Input RNG seed:";
cin>>rngseed;
cout<<"The RNG seed is:";
cout<<rngseed<<endl;
pause();
InitWELLRNG44497(&rngseed);
int i=1;
for (i;i<100;i++){
unsigned long rngtest=WELLRNG44497();
cout<<rngtest<<endl;
}
pause();
return 0;
}
잘 경우 [이] (http://www3.ocn.ne.jp/~harase/WELL44497a_new.c) 당신이 사용하고있는 코드이며, 다음'InitWELLRNG44497 (: 다음 코드는 작업 표시)'는 단지 하나의 int * 포인터가 아니라 1391 개의 int 값 배열을 필요로합니다. 어쩌면 그것과 관련이 있습니다. –
@ squeamish-ossifrage 당신은 강타당했습니다! 입력에서 배열을 생성하기 위해 코드를 변경했는데 이제는 작동하는 것처럼 보입니다. 감사. 만약 당신이 대답이 아닌 대답으로 게시했다면 나는 대답을했습니다. – uLoop