45 #ifndef GOOGLE_PROTOBUF_STUBS_FASTMEM_H_ 46 #define GOOGLE_PROTOBUF_STUBS_FASTMEM_H_ 65 inline bool memeq(
const char*
a,
const char*
b,
size_t n) {
66 size_t n_rounded_down = n & ~static_cast<
size_t>(7);
68 return memcmp(a, b, n) == 0;
78 n = n_rounded_down - 8;
83 return memcmp(a, b, n) == 0;
85 for (; n >= 16; n -= 16) {
100 return memcmp(a, b, n);
102 const char* a_limit = a +
n;
103 while (a +
sizeof(
uint64) <= a_limit &&
108 if (a +
sizeof(
uint32) <= a_limit &&
113 while (a < a_limit) {
114 int d =
static_cast<uint32>(*a++) - static_cast<uint32>(*b++);
128 case 1: memcpy(dst, src, 1);
break;
129 case 2: memcpy(dst, src, 2);
break;
130 case 3: memcpy(dst, src, 3);
break;
131 case 4: memcpy(dst, src, 4);
break;
132 case 5: memcpy(dst, src, 5);
break;
133 case 6: memcpy(dst, src, 6);
break;
134 case 7: memcpy(dst, src, 7);
break;
135 case 8: memcpy(dst, src, 8);
break;
136 case 9: memcpy(dst, src, 9);
break;
137 case 10: memcpy(dst, src, 10);
break;
138 case 11: memcpy(dst, src, 11);
break;
139 case 12: memcpy(dst, src, 12);
break;
140 case 13: memcpy(dst, src, 13);
break;
141 case 14: memcpy(dst, src, 14);
break;
142 case 15: memcpy(dst, src, 15);
break;
143 case 16: memcpy(dst, src, 16);
break;
144 default: memcpy(dst, src, size);
break;
152 #endif // GOOGLE_PROTOBUF_STUBS_FASTMEM_H_ EGLStreamKHR EGLint EGLint EGLint size
Definition: eglext.h:984
OPENSSL_EXPORT pem_password_cb void * u
Definition: pem.h:398
void memcpy_inlined(char *dst, const char *src, size_t size)
Definition: fastmem.h:124
bool memeq(const char *a, const char *b, size_t n)
Definition: fastmem.h:65
EGLStreamKHR EGLint n
Definition: eglext.h:984
GLenum GLenum dst
Definition: gl2ext.h:304
#define GOOGLE_PREDICT_FALSE(x)
Definition: port.h:216
EGLSurface EGLint x
Definition: eglext.h:950
int fastmemcmp_inlined(const char *a, const char *b, size_t n)
Definition: fastmem.h:98
uint32_t uint32
Definition: port.h:135
Definition: __init__.py:1
EGLSurface EGLint EGLint y
Definition: eglext.h:950
uint64_t uint64
Definition: port.h:136
GLboolean GLboolean GLboolean GLboolean a
Definition: gl2ext.h:306
const GLfloat * v
Definition: gl2.h:514
uint64 GOOGLE_UNALIGNED_LOAD64(const void *p)
Definition: port.h:270
uint32 GOOGLE_UNALIGNED_LOAD32(const void *p)
Definition: port.h:264
Definition: document.h:393
GLenum src
Definition: gl2ext.h:304
GLboolean GLboolean GLboolean b
Definition: gl2ext.h:306
Definition: gflags_completions.h:115
#define d
Definition: float-mm.c:30