in modules/core/src/main/scala/tfr/TFRecord.scala [41:55]
private def mask(crc: Int): Int = ((crc >>> 15) | (crc << 17)) + 0xa282ead8
private def hashLong(x: Long): Int = mask(Crc32c.hashLong(x).asInt())
private def hashBytes(x: Array[Byte]): Int = mask(Crc32c.hashBytes(x).asInt())
private def reader_(
checkCrc32: Boolean
): InputStream => Either[Error, Array[Byte]] =
input =>
read(input, HeaderLength)
.filterOrElse(_.nonEmpty, Error.EmptyHeader)
.map { headerBytes =>
val buffer =
ByteBuffer.wrap(headerBytes).order(ByteOrder.LITTLE_ENDIAN)
(buffer.getLong, buffer.getInt)
}