// Copyright (c) 2017 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information import Foundation struct CheckSums { // MARK: Functions static func crc32(_ array: [UInt8], prevValue: UInt32 = 0) -> UInt32 { var crc = ~prevValue for i in 0..> 8) } return ~crc } static func crc32(_ data: Data) -> UInt32 { var crc: UInt32 = ~0 for i in 0..> 8) } return ~crc } static func bzip2CRC32(_ array: [UInt8]) -> UInt32 { var crc: UInt32 = 0xFFFFFFFF for i in 0..> 24) ^ index)] } return ~crc } static func crc64(_ array: [UInt8]) -> UInt64 { var crc: UInt64 = ~0 for i in 0..> 8) } return ~crc } static func adler32(_ array: [UInt8]) -> Int { let base = 65521 var s1 = 1 var s2 = 0 for i in 0.. Int { let base = 65521 var s1 = 1 var s2 = 0 for i in 0..