/* * Copyright 2012 Google Inc. * * Use of this source code is governed by a BSD-style license that can be * found in the LICENSE file. */ /** * Hash functions, using the CityHash algorithm. * * Results are guaranteed to be: * 1. consistent across revisions of the library (for a given set * of bytes, the checksum generated at one revision of the Skia * library will match the one generated on any other revision of * the Skia library) * 2. consistent across platforms (for a given * set of bytes, the checksum generated on one platform will * match the one generated on any other platform) */ #ifndef SkCityHash_DEFINED #define SkCityHash_DEFINED #include "SkTypes.h" class SkCityHash : SkNoncopyable { public: /** * Compute a 32-bit checksum for a given data block. * * @param data Memory address of the data block to be processed. * @param size Size of the data block in bytes. * @return checksum result */ static uint32_t Compute32(const char *data, size_t size); /** * Compute a 64-bit checksum for a given data block. * * @param data Memory address of the data block to be processed. * @param size Size of the data block in bytes. * @return checksum result */ static uint64_t Compute64(const char *data, size_t size); }; #endif