Bitcoin
Namespaces | Macros | Functions | Variables
crc32c.cc File Reference
#include "util/crc32c.h"
#include <stdint.h>
#include "port/port.h"
#include "util/coding.h"

Namespaces

 leveldb
 
 leveldb::crc32c
 

Macros

#define STEP1
 
#define STEP4
 

Functions

static uint32_t leveldb::crc32c::LE_LOAD32 (const uint8_t *p)
 
static bool leveldb::crc32c::CanAccelerateCRC32C ()
 
uint32_t leveldb::crc32c::Extend (uint32_t crc, const char *buf, size_t size)
 

Variables

static const uint32_t leveldb::crc32c::table0_ [256]
 
static const uint32_t leveldb::crc32c::table1_ [256]
 
static const uint32_t leveldb::crc32c::table2_ [256]
 
static const uint32_t leveldb::crc32c::table3_ [256]
 

Macro Definition Documentation

◆ STEP1

#define STEP1
Value:
do { \
int c = (l & 0xff) ^ *p++; \
l = table0_[c] ^ (l >> 8); \
} while (0)
static const uint32_t table0_[256]
Definition: crc32c.cc:18

◆ STEP4

#define STEP4
Value:
do { \
uint32_t c = l ^ LE_LOAD32(p); \
p += 4; \
l = table3_[c & 0xff] ^ \
table2_[(c >> 8) & 0xff] ^ \
table1_[(c >> 16) & 0xff] ^ \
table0_[c >> 24]; \
} while (0)
static const uint32_t table3_[256]
Definition: crc32c.cc:216
static uint32_t LE_LOAD32(const uint8_t *p)
Definition: crc32c.cc:284
static const uint32_t table1_[256]
Definition: crc32c.cc:84