anchor.diff:          ({uniform_s, N, State0}) -> {integer(), State1} when
                   N:: pos_integer(), State0 :: ran(), State1 :: ran().
   
  -%% name: return name of the function
  -
  -random_as183(name) ->
  -    random_as183;
  -
   %% seed0: initial PRNG seed
   
   random_as183(seed0) ->
  
positive.code:          uniform/0, uniform/1, uniform_s/1, uniform_s/2,
           random_as183/1]).
  
  -define(DEFAULT_ALG_HANDLER, fun random_as183/1).
  -define(SEED_DICT, random_seed).
  
  %% =====================================================================
  
negative.code: %% This depends on the algorithm handler function
  -type random_alg_state() :: any().
  %% This is the algorithm handler function within this module
  -type random_alg_handler() :: fun().
  %% Internal state
  -type random_state() :: {random_alg_handler(), random_alg_state()}.
  
  