기금넷 공식사이트 - 금 선물 - C++rand 함수 소스 코드
C++rand 함수 소스 코드
(Internationalorganizations 와 동일) 국제기구
__random_r? (부,? 결과)
Struct? Random_data? * buf
Int32_t? * 결과
{
Int32_t? * 주
만약? (부? = =? 널? | |? 결과? = =? 비어 있음)
고토? 실패;
상태? =? Buf-& gt;; 상태;
만약? (buf-& gt;; Rand_type? = =? TYPE_0)
{
Int32_t? 발. =? 상태 [0];
발. =? ((상태 [0]? *? 1103515245)? +? 12345)? & amp? 0x7fffffff
상태 [0]? =? Val
* 결과? =? Val
}
기타
{
Int32_t? *fptr? =? Buf-& gt;; Fptr
Int32_t? *rptr? =? Buf-& gt;; Rptr
Int32_t? *end_ptr? =? Buf-& gt;; End _ ptr
Int32_t? Val
발. =? *fptr? +=? * rptr
/*? 낄낄 웃어? 최소? 무작위? 조금. */
* 결과? =? 발? & gt& gt? 1)? & amp? 0x7fffffff
++fptr;
만약? (fptr? & gt=? End_ptr)
{
Fptr? =? 상태;
++rptr;
}
기타
{
++rptr;
만약? (rptr? & gt=? End_ptr)
Rptr? =? 상태;
}
Buf-& gt;; Fptr? =? Fptr
Buf-& gt;; Rptr? =? Rptr
}
반환? 0;
실패:
__set_errno? (einval);
반환? -1;
} 참조:? /lattera/glibc/blob/master/stdlib/random _ R.C.