anchor.diff:  %%====================================================================
   %% Tests
   %%====================================================================
  --ifdef(TEST).
  +-ifdef(EUNIT).
   
  -test1() ->
  +allowed_fast_1_test() ->
       N = 16#AA,
       InfoHash = list_to_binary(lists:duplicate(20, N)),
       {value, PieceSet} = allowed_fast(1313, {80,4,4,200}, 7, InfoHash),
       Pieces = lists:sort(sets:to_list(PieceSet)),
  -    [287, 376, 431, 808, 1059, 1188, 1217] = Pieces.
  +    ?assertEqual([287, 376, 431, 808, 1059, 1188, 1217], Pieces).
   
  -test2() ->
  +allowed_fast_2_test() ->
       N = 16#AA,
       InfoHash = list_to_binary(lists:duplicate(20, N)),
       {value, PieceSet} = allowed_fast(1313, {80,4,4,200}, 9, InfoHash),
       Pieces = lists:sort(sets:to_list(PieceSet)),
  -    [287, 353, 376, 431, 508, 808, 1059, 1188, 1217] = Pieces.
  +    ?assertEqual([287, 353, 376, 431, 508, 808, 1059, 1188, 1217], Pieces).
   
   -endif.
  
positive.code: 
  cut(0, _I, _X, _Sz, Set) ->
      %% nNo more pieces wanted
      Set;
  cut(K, 5, X, Sz, Set) ->
      %% We exhausted the X binary. Start a new round.
      rnd(K, X, Sz, Set);
  
negative.code:     rnd(K, X, Sz, sets:new()).
  
  %%====================================================================
  
  rnd(0, _X, _Sz, Set) -> {value, Set};
  rnd(K, X, Sz, Set) ->
      %% Start a new round. Each round hashes the previous round to gen.
  