lib/ton/crc16.ex
defmodule Ton.Crc16 do
@moduledoc """
CRC16 hash function
"""
alias Ton.Crc16.Impl
@spec calc(binary()) :: binary()
def calc(data) do
reg = Impl.calc(data)
remainder = rem(reg, 256)
floor_div = Float.floor(reg / 256.0) |> trunc()
<<floor_div, remainder>>
end
end