SDL  2.0
SDL_crc32.c File Reference
#include "../SDL_internal.h"
#include "SDL_stdinc.h"
+ Include dependency graph for SDL_crc32.c:

Go to the source code of this file.

Functions

static Uint32 crc32_for_byte (Uint32 r)
 
Uint32 SDL_crc32 (Uint32 crc, const void *data, size_t len)
 

Function Documentation

◆ crc32_for_byte()

static Uint32 crc32_for_byte ( Uint32  r)
static

Definition at line 33 of file SDL_crc32.c.

34 {
35  int i;
36  for(i = 0; i < 8; ++i) {
37  r = (r & 1? 0: (Uint32)0xEDB88320L) ^ r >> 1;
38  }
39  return r ^ (Uint32)0xFF000000L;
40 }
GLdouble GLdouble GLdouble r
Definition: SDL_opengl.h:2079
uint32_t Uint32
Definition: SDL_stdinc.h:209
return Display return Display Bool Bool int int int return Display XEvent Bool(*) XPointer return Display return Display Drawable _Xconst char unsigned int unsigned int return Display Pixmap Pixmap XColor XColor unsigned int unsigned int return Display _Xconst char char int char return Display Visual unsigned int int int char unsigned int unsigned int in i)
Definition: SDL_x11sym.h:50

References i.

Referenced by SDL_crc32().

◆ SDL_crc32()

Uint32 SDL_crc32 ( Uint32  crc,
const void data,
size_t  len 
)

Definition at line 42 of file SDL_crc32.c.

43 {
44  /* As an optimization we can precalculate a 256 entry table for each byte */
45  size_t i;
46  for(i = 0; i < len; ++i) {
47  crc = crc32_for_byte((Uint8)crc ^ ((const Uint8*)data)[i]) ^ crc >> 8;
48  }
49  return crc;
50 }
static Uint32 crc32_for_byte(Uint32 r)
Definition: SDL_crc32.c:33
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
Definition: SDL_opengl.h:1974
GLenum GLsizei len
uint8_t Uint8
Definition: SDL_stdinc.h:185

References crc32_for_byte(), and i.