anchor.diff:           ?JUMPCONSTTAIL, ?JUMPCONSTHEAD, ?JUMPELEMLEN, ?JUMPTOTALLEN),
       {ASL, ASR} = lists:split(?RINGLEN - P, AS),
       {Alg, {ASL, lists:reverse(ASR)}}.
  -
  --spec exs1024_jump(state(), list(non_neg_integer()),
  -           list(non_neg_integer()), non_neg_integer(),
  -           non_neg_integer(), non_neg_integer()) -> list(non_neg_integer()).
   
   exs1024_jump(_, AS, _, _, _, 0) ->
       AS;
  
positive.code: %% and write back the new value to the internal state,
  %% then returns the new value.
  
  -spec jump() -> {NewS :: state()}.
  
  jump() ->
      seed_put(jump(seed_get())).
  
negative.code: %% after a large number of call defined for each algorithm.
  %% The large number is algorithm dependent.
  
  -spec jump(state()) -> NewS :: state().
  jump(State = {#{jump:=Jump}, _}) ->
      Jump(State).
  
  