From 7f5dfbf327c9f19e9b739e81c1c1f6b11d47d4b5 Mon Sep 17 00:00:00 2001 From: "fbarchard@chromium.org" Date: Fri, 9 Oct 2009 09:51:37 +0000 Subject: DJB2 Hash for applications where high speed hash or checksum values are needed. BUG=21126 TEST=djb2_unittest.cc has a quick test. will replace versions in media unittests and media_bench in future. Review URL: http://codereview.chromium.org/193028 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28532 0039d316-1c4b-4281-b951-d872f2087c98 --- media/base/djb2.cc | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 media/base/djb2.cc (limited to 'media/base/djb2.cc') diff --git a/media/base/djb2.cc b/media/base/djb2.cc new file mode 100644 index 0000000..3f790ed --- /dev/null +++ b/media/base/djb2.cc @@ -0,0 +1,16 @@ +// Copyright (c) 2009 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "media/base/djb2.h" + +uint32 DJB2Hash(const void* buf, size_t len, uint32 hash) { + const uint8* s = reinterpret_cast(buf); + if (len > 0) { + do { + hash = hash * 33 + *s++; + } while (--len); + } + return hash; +} + -- cgit v1.1