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}) ->
  +random_as183(seed0) ->
       {3172, 9814, 20125};
   
   %% seed: seeding with three Integers
  
positive.code: 
  %%-----------------------------------------------------------------------
  
  -spec random_as183({seed0}) -> ran();
          ({seed, A1, A2, A3})-> ran() when
                  A1 :: integer(), A2 :: integer(), A3 :: integer();
          ({uniform_s, State0}) -> {float(), State1} when
  
negative.code: -spec seed0(random_alg_handler()) -> random_state().
  
  seed0(Alg) ->
      {Alg, Alg(seed0)}.
  
  %% seed_put/1: internal function to put seed into the process dictionary.
  
  