
  [;1m-spec crc32_combine(FirstCrc, SecondCrc, SecondSize) ->[0m
  [;1m                       non_neg_integer()[0m
  [;1m                       when[0m
  [;1m                           FirstCrc :: non_neg_integer(),[0m
  [;1m                           SecondCrc :: non_neg_integer(),[0m
  [;1m                           SecondSize :: non_neg_integer().[0m

  Combines two previously computed crc32 checksums.

  This computation requires the size of the data object for the
  second checksum to be known.

  The following code:

    Y = erlang:crc32(Data1),
    Z = erlang:crc32(Y,Data2).

  assigns the same value to [;;4mZ[0m as this:

    X = erlang:crc32(Data1),
    Y = erlang:crc32(Data2),
    Z = erlang:crc32_combine(X,Y,iolist_size(Data2)).
