anchor.diff:  hash32(Data) ->
     hash32(Data, ?DEFAULT_SEED).
   
  -hash32(Data, Seed) when is_binary(Data) andalso is_integer(Seed) ->
  -  hash32_impl(Data, Seed);
  -hash32(Data, Seed) when is_list(Data) andalso is_integer(Seed) ->
  -  hash32_impl(list_to_binary(Data), Seed);
  -hash32(Data, Seed) when is_atom(Data) andalso is_integer(Seed) ->
  -  hash32_impl(atom_to_binary(Data, utf8), Seed);
  -hash32(Data, Seed) when is_integer(Data) andalso is_integer(Seed) ->
  -  hash32_impl(list_to_binary(integer_to_list(Data)), Seed);
  -hash32(Data, Seed) when is_float(Data) andalso is_integer(Seed) ->
  -  hash32_impl(<<Data/float>>, Seed).
  +hash32(Data, Seed) when is_integer(Seed) ->
  +  hash32_impl(supported_to_binary(Data), Seed).
   
   hash32_init() ->
     hash32_init(?DEFAULT_SEED).
  
positive.code: hash32_init(Seed) when is_integer(Seed) ->
    hash32_init_impl(Seed).
  
  hash32_update(Context, Data) when is_binary(Data) andalso is_binary(Context) ->
    hash32_update_impl(Context, Data).
  
  hash32_final(Context) when is_binary(Context) ->
    hash32_final_impl(Context).
  
  %%%=============================================================================
  %%% Tests
  
negative.code: %%% @author Pierre Matri  <pierre@matri.me>
  %%%
  %%% @copyright 2013 Pierre Matri, All rights reserved. Open source, MIT License.
  %%% @version 0.1.0
  
  -module(xxhash).
  