/*
* 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