anchor.diff:  file_test() ->
       ?debugMsg("===== Testing encode_file + decode_file ====="),
       Bin = crypto:rand_bytes(?TEST_SIZE),
  -    ?debugFmt("=====   vandrs {10,4,8} ~p bytes", [?TEST_SIZE]), 
  +    ?debugFmt(" * vandrs {10,4,8} ~p bytes", [?TEST_SIZE]),
       file:write_file("testbin", Bin),
       leo_jerasure:encode_file("testbin", vandrs, {10,4,8}),
  -    ?debugMsg("=====   Erasure Block 0,2,4,6"),
  +    ?debugMsg(" * Erasure Block 0,2,4,6"),
       file:delete("blocks/testbin.0"),
       file:delete("blocks/testbin.2"),
       file:delete("blocks/testbin.4"),
  
positive.code: -ifdef(EUNIT).
  -define(TEST_SIZE, 10485760 + 1).
  
  filter_block(_BlockList, _Cnt, [], Acc) ->
      Acc;
  filter_block([HB | TB], Cnt, [HF | TF] = FilterList, Acc) ->
      case Cnt of
          HF -> 
              filter_block(TB, Cnt + 1, TF, Acc ++ [HB]);
          _ ->
              filter_block(TB, Cnt + 1, FilterList, Acc)
      end.
  filter_block(BlockList, FilterList) -> 
      filter_block(BlockList, 0, FilterList, []).
  
  comb(0,_) ->
  
negative.code: bench_encode(Coding, CodingParams) ->
      {ok, Time} = leo_jerasure:benchmark_encode(100, 100, Coding, CodingParams),
      Rate = 100 / Time * 1000 * 1000,
      ?debugFmt(" * ~p, ~p", [Coding, CodingParams]),
      ?debugFmt("   >> Encoding Rate: ~p MB/s", [Rate]),
      ok.
  
  -endif.
  