當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


erlang uniform_s(State :: state())用法及代碼示例


uniform_s(State :: state()) -> {X :: float(), NewState :: state()}
OTP 18.0

對於指定狀態,返回均勻分布在值範圍 0.0 =< X < 1.0 中的隨機浮點和新狀態。

生成的數字的形式為 N * 2.0^(-53),即;間隔內等距。

警告

該函數可能準確返回0.0這對於某些應用程序來說可能是致命的。如果這是不需要的,你可以使用(1.0 - rand:uniform(State))得到間隔0.0 < X =< 1.0,或者改為使用uniform_real_s/1.

如果兩個端點都不需要,您可以像這樣測試並重試:

my_uniform(State) ->
    case rand:uniform(State) of
        {0.0, NewState} -> my_uniform(NewState);
	Result -> Result
    end
end.

相關用法


注:本文由純淨天空篩選整理自erlang.org大神的英文原創作品 uniform_s(State :: state()) -> {X :: float(), NewState :: state()}。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。