aboutsummaryrefslogtreecommitdiffstats
path: root/lib/stdlib/src/rand.erl
diff options
context:
space:
mode:
authorHans Bolinder <[email protected]>2016-02-17 09:30:16 +0100
committerHans Bolinder <[email protected]>2016-02-17 09:30:16 +0100
commit05a24fed7539f861c7d725829acb196a3991923c (patch)
treed55270dbf9cb24ed868e49a090b52431fb105cd3 /lib/stdlib/src/rand.erl
parent245f3cc7adc063fc131b051a73237a7e9fcf8524 (diff)
parent0d5820c44dde5875d322a84eab6ce4227fe19bec (diff)
downloadotp-05a24fed7539f861c7d725829acb196a3991923c.tar.gz
otp-05a24fed7539f861c7d725829acb196a3991923c.tar.bz2
otp-05a24fed7539f861c7d725829acb196a3991923c.zip
Merge branch 'maint'
* maint: xmerl: Remove 'no_return' Dialyzer warnings xmerl: Add suppression of Dialyzer warnings eunit: Add suppression of Dialyzer warnings debugger: Add suppression of Dialyzer warnings kernel: Add suppression of Dialyzer warnings mnesia: Add suppression of Dialyzer warnings observer: Add suppression of Dialyzer warnings runtime_tools: Add suppression of Dialyzer warnings stdlib: Add suppression of Dialyzer warnings test_server: Add suppression of Dialyzer warnings tools: Add suppression of Dialyzer warnings Conflicts: lib/stdlib/src/erl_lint.erl lib/stdlib/src/otp_internal.erl
Diffstat (limited to 'lib/stdlib/src/rand.erl')
-rw-r--r--lib/stdlib/src/rand.erl6
1 files changed, 5 insertions, 1 deletions
diff --git a/lib/stdlib/src/rand.erl b/lib/stdlib/src/rand.erl
index dc060e82d9..d455abf7b0 100644
--- a/lib/stdlib/src/rand.erl
+++ b/lib/stdlib/src/rand.erl
@@ -1,7 +1,7 @@
%%
%% %CopyrightBegin%
%%
-%% Copyright Ericsson AB 2015. All Rights Reserved.
+%% Copyright Ericsson AB 2015-2016. All Rights Reserved.
%%
%% Licensed under the Apache License, Version 2.0 (the "License");
%% you may not use this file except in compliance with the License.
@@ -256,6 +256,8 @@ exs64_uniform(Max, {Alg, R}) ->
%% =====================================================================
-type exsplus_state() :: nonempty_improper_list(uint58(), uint58()).
+-dialyzer({no_improper_lists, exsplus_seed/1}).
+
exsplus_seed({A1, A2, A3}) ->
{_, R1} = exsplus_next([(((A1 * 4294967197) + 1) band ?UINT58MASK)|
(((A2 * 4294967231) + 1) band ?UINT58MASK)]),
@@ -263,6 +265,8 @@ exsplus_seed({A1, A2, A3}) ->
tl(R1)]),
R2.
+-dialyzer({no_improper_lists, exsplus_next/1}).
+
%% Advance xorshift116+ state for one step and generate 58bit unsigned integer
-spec exsplus_next(exsplus_state()) -> {uint58(), exsplus_state()}.
exsplus_next([S1|S0]) ->