summaryrefslogtreecommitdiff
path: root/src/randoms.erl
diff options
context:
space:
mode:
authorEvgeniy Khramtsov <ekhramtsov@process-one.net>2016-10-18 08:17:21 +0300
committerEvgeniy Khramtsov <ekhramtsov@process-one.net>2016-10-18 08:17:21 +0300
commit4c5460f0bd640e11948b8cb9d090a4cdfcfa53e7 (patch)
treea15a463f1d41cd254c430a11374fab56cccdec73 /src/randoms.erl
parentMerge pull request #1338 from marcphilipp/muc_invite_hook (diff)
Get rid of compile warnings for random/crypto modules on R19
Diffstat (limited to 'src/randoms.erl')
-rw-r--r--src/randoms.erl19
1 files changed, 17 insertions, 2 deletions
diff --git a/src/randoms.erl b/src/randoms.erl
index 52fceef4..75bc280a 100644
--- a/src/randoms.erl
+++ b/src/randoms.erl
@@ -27,14 +27,29 @@
-author('alexey@process-one.net').
--export([get_string/0]).
+-export([get_string/0, uniform/0, uniform/1, bytes/1]).
-export([start/0]).
+-define(THRESHOLD, 16#10000000000000000).
+
start() ->
ok.
get_string() ->
- R = crypto:rand_uniform(0, 16#10000000000000000),
+ R = crypto:rand_uniform(0, ?THRESHOLD),
jlib:integer_to_binary(R).
+uniform() ->
+ crypto:rand_uniform(0, ?THRESHOLD)/?THRESHOLD.
+
+uniform(N) ->
+ crypto:rand_uniform(0, N).
+
+-ifdef(STRONG_RAND_BYTES).
+bytes(N) ->
+ crypto:strong_rand_bytes(N).
+-else.
+bytes(N) ->
+ crypto:rand_bytes(N).
+-endif.