anchor.diff:  init_per_suite(Config) ->
       _ = crypto:start(),
       Config.
  +
  +end_per_suite(_Config) ->
  +    %crypto:stop(), ???
  +    ok.
   
   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   
  
positive.code: 
  for_to_ex(I, N, Fun, AccuFun, Accu) ->
      NewAccu = AccuFun(Fun(I), Accu),
      if 
          I < N ->
              for_to_ex(I + 1, N, Fun, AccuFun, NewAccu);
          I =:= N ->
              NewAccu;
          I > N ->
              failed
      end.
negative.code: %% @doc measures false positives by adding 1..MaxElements into a new BF
  %%      and checking number of found items which are not in the BF
  measure_fp(DestFpr, MaxElements) ->
      BF = newBloom(MaxElements, DestFpr),
      BF1 = for_to_ex(1, MaxElements, fun(I) -> I end, fun(I, B) -> ?BLOOM:add(B, I) end, BF),
      NumNotIn = trunc(10 / DestFpr),
      %count found items which should not be in the bloom filter
      NumFound = for_to_ex(MaxElements + 1,
                           MaxElements + 1 + NumNotIn,
                           fun(I) -> case ?BLOOM:is_element(BF1, I) of
                                         true -> 1;
                                         false -> 0
  