summaryrefslogtreecommitdiff
path: root/src/mongo
diff options
context:
space:
mode:
authorTad Marshall <tad@10gen.com>2012-08-06 10:51:31 -0400
committerTad Marshall <tad@10gen.com>2012-08-06 10:51:31 -0400
commit0456a42b27c82c1fe3a6c1a5b2e7139b55925b89 (patch)
tree99f4f96c28dc81344e7041368e7f9308f6b0efbd /src/mongo
parentc9eb7c87a391e3acf9c0e73e2619cdf8f87b6ab6 (diff)
downloadmongo-0456a42b27c82c1fe3a6c1a5b2e7139b55925b89.tar.gz
Line endings: CRLF => newline
Diffstat (limited to 'src/mongo')
-rw-r--r--src/mongo/util/checksum.h74
1 files changed, 37 insertions, 37 deletions
diff --git a/src/mongo/util/checksum.h b/src/mongo/util/checksum.h
index 009ab56fbeb..9328330d782 100644
--- a/src/mongo/util/checksum.h
+++ b/src/mongo/util/checksum.h
@@ -1,37 +1,37 @@
-#pragma once
-#include "../pch.h"
-namespace mongo {
- /** a simple, rather dumb, but very fast checksum. see perftests.cpp for unit tests. */
- struct Checksum {
- union {
- unsigned char bytes[16];
- unsigned long long words[2];
- };
-
- // if you change this you must bump dur::CurrentVersion
- void gen(const void *buf, unsigned len) {
- wassert( ((size_t)buf) % 8 == 0 ); // performance warning
- unsigned n = len / 8 / 2;
- const unsigned long long *p = (const unsigned long long *) buf;
- unsigned long long a = 0;
- for( unsigned i = 0; i < n; i++ ) {
- a += (*p ^ i);
- p++;
- }
- unsigned long long b = 0;
- for( unsigned i = 0; i < n; i++ ) {
- b += (*p ^ i);
- p++;
- }
- unsigned long long c = 0;
- for( unsigned i = n * 2 * 8; i < len; i++ ) { // 0-7 bytes left
- c = (c << 8) | ((const char *)buf)[i];
- }
- words[0] = a ^ len;
- words[1] = b ^ c;
- }
-
- bool operator==(const Checksum& rhs) const { return words[0]==rhs.words[0] && words[1]==rhs.words[1]; }
- bool operator!=(const Checksum& rhs) const { return words[0]!=rhs.words[0] || words[1]!=rhs.words[1]; }
- };
-}
+#pragma once
+#include "../pch.h"
+namespace mongo {
+ /** a simple, rather dumb, but very fast checksum. see perftests.cpp for unit tests. */
+ struct Checksum {
+ union {
+ unsigned char bytes[16];
+ unsigned long long words[2];
+ };
+
+ // if you change this you must bump dur::CurrentVersion
+ void gen(const void *buf, unsigned len) {
+ wassert( ((size_t)buf) % 8 == 0 ); // performance warning
+ unsigned n = len / 8 / 2;
+ const unsigned long long *p = (const unsigned long long *) buf;
+ unsigned long long a = 0;
+ for( unsigned i = 0; i < n; i++ ) {
+ a += (*p ^ i);
+ p++;
+ }
+ unsigned long long b = 0;
+ for( unsigned i = 0; i < n; i++ ) {
+ b += (*p ^ i);
+ p++;
+ }
+ unsigned long long c = 0;
+ for( unsigned i = n * 2 * 8; i < len; i++ ) { // 0-7 bytes left
+ c = (c << 8) | ((const char *)buf)[i];
+ }
+ words[0] = a ^ len;
+ words[1] = b ^ c;
+ }
+
+ bool operator==(const Checksum& rhs) const { return words[0]==rhs.words[0] && words[1]==rhs.words[1]; }
+ bool operator!=(const Checksum& rhs) const { return words[0]!=rhs.words[0] || words[1]!=rhs.words[1]; }
+ };
+}