當前位置:外匯行情大全網 - 期貨行情 - C++rand函數源代碼

C++rand函數源代碼

glibc的rand源代碼如下:

(同Internationalorganizations)國際組織

__random_r?(buf,?結果)

struct?random_data?* buf

int32_t?*結果;

{

int32_t?*州;

如果?(buf?==?NULL?||?結果?==?空)

goto?失敗;

狀態?=?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?(ein val);

回歸?-1;

}參考:?/lattera/glibc/blob/master/stdlib/random _ r . c

  • 上一篇:利潤表、損益表、資產負債表有什麽區別?
  • 下一篇:寧波國際物流發展有限公司怎麽樣?
  • copyright 2024外匯行情大全網