diff options
Diffstat (limited to '')
-rw-r--r-- | src/randoms.erl | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/src/randoms.erl b/src/randoms.erl new file mode 100644 index 00000000..b7e4be07 --- /dev/null +++ b/src/randoms.erl @@ -0,0 +1,42 @@ +%%%---------------------------------------------------------------------- +%%% File : randoms.erl +%%% Author : Alexey Shchepin <alexey@sevcom.net> +%%% Purpose : +%%% Created : 13 Dec 2002 by Alexey Shchepin <alexey@sevcom.net> +%%% Id : $Id$ +%%%---------------------------------------------------------------------- + +-module(randoms). +-author('alexey@sevcom.net'). +-vsn('$Revision$ '). + +-export([get_string/0]). + +-export([start/0, init/0]). + + +start() -> + register(random_generator, spawn(randoms, init, [])). + +init() -> + {A1, A2, A3} = now(), + random:seed(A1,A2,A3), + loop(). + +loop() -> + receive + {From, get_random, N} -> + From ! {random, random:uniform(N)}, + loop(); + _ -> + loop() + end. + + +get_string() -> + random_generator ! {self(), get_random, 65536*65536}, + receive + {random, R} -> + integer_to_list(R) + end. + |