Home | History | Annotate | Download | only in include

Lines Matching full:_size

944 template <class _Size>
946 _Size
949 _Size __r;
957 template <class _Size, size_t = sizeof(_Size)*__CHAR_BIT__>
960 template <class _Size>
961 struct __murmur2_or_cityhash<_Size, 32>
963 inline _Size operator()(const void* __key, _Size __len)
968 template <class _Size>
969 _Size
970 __murmur2_or_cityhash<_Size, 32>::operator()(const void* __key, _Size __len)
972 const _Size __m = 0x5bd1e995;
973 const _Size __r = 24;
974 _Size __h = __len;
978 _Size __k = __loadword<_Size>(__data);
1001 template <class _Size>
1002 struct __murmur2_or_cityhash<_Size, 64>
1004 inline _Size operator()(const void* __key, _Size __len) _LIBCPP_DISABLE_UBSAN_UNSIGNED_INTEGER_CHECK;
1008 static const _Size __k0 = 0xc3a5c85c97cb3127ULL;
1009 static const _Size __k1 = 0xb492b66fbe98f273ULL;
1010 static const _Size __k2 = 0x9ae16a3b2f90404fULL;
1011 static const _Size __k3 = 0xc949d7c7509e6557ULL;
1013 static _Size __rotate(_Size __val, int __shift) {
1017 static _Size __rotate_by_at_least_1(_Size __val, int __shift) {
1021 static _Size __shift_mix(_Size __val) {
1025 static _Size __hash_len_16(_Size __u, _Size __v)
1028 const _Size __mul = 0x9ddfea08eb382d69ULL;
1029 _Size __a = (__u ^ __v) * __mul;
1031 _Size __b = (__v ^ __a) * __mul;
1037 static _Size __hash_len_0_to_16(const char* __s, _Size __len)
1041 const _Size __a = __loadword<_Size>(__s);
1042 const _Size __b = __loadword<_Size>(__s + __len - 8);
1062 static _Size __hash_len_17_to_32(const char *__s, _Size __len)
1065 const _Size __a = __loadword<_Size>(__s) * __k1;
1066 const _Size __b = __loadword<_Size>(__s + 8);
1067 const _Size __c = __loadword<_Size>(__s + __len - 8) * __k2;
1068 const _Size __d = __loadword<_Size>(__s + __len - 16) * __k0;
1075 static pair<_Size, _Size> __weak_hash_len_32_with_seeds(
1076 _Size __w, _Size __x, _Size __y, _Size __z, _Size __a, _Size __b)
1081 const _Size __c = __a;
1085 return pair<_Size, _Size>(__a + __z, __b + __c);
1089 static pair<_Size, _Size> __weak_hash_len_32_with_seeds(
1090 const char* __s, _Size __a, _Size __b)
1093 return __weak_hash_len_32_with_seeds(__loadword<_Size>(__s),
1094 __loadword<_Size>(__s + 8),
1095 __loadword<_Size>(__s + 16),
1096 __loadword<_Size>(__s + 24),
1102 static _Size __hash_len_33_to_64(const char *__s, size_t __len)
1105 _Size __z = __loadword<_Size>(__s + 24);
1106 _Size __a = __loadword<_Size>(__s) +
1107 (__len + __loadword<_Size>(__s + __len - 16)) * __k0;
1108 _Size __b = __rotate(__a + __z, 52);
1109 _Size __c = __rotate(__a, 37);
1110 __a += __loadword<_Size>(__s + 8);
1112 __a += __loadword<_Size>(__s + 16);
1113 _Size __vf = __a + __z;
1114 _Size __vs = __b + __rotate(__a, 31) + __c;
1115 __a = __loadword<_Size>(__s + 16) + __loadword<_Size>(__s + __len - 32);
1116 __z += __loadword<_Size>(__s + __len - 8);
1119 __a += __loadword<_Size>(__s + __len - 24);
1121 __a += __loadword<_Size>(__s + __len - 16);
1122 _Size __wf = __a + __z;
1123 _Size __ws = __b + __rotate(__a, 31) + __c;
1124 _Size __r = __shift_mix((__vf + __ws) * __k2 + (__wf + __vs) * __k0);
1130 template <class _Size>
1131 _Size
1132 __murmur2_or_cityhash<_Size, 64>::operator()(const void* __key, _Size __len)
1147 _Size __x = __loadword<_Size>(__s + __len - 40);
1148 _Size __y = __loadword<_Size>(__s + __len - 16) +
1149 __loadword<_Size>(__s + __len - 56);
1150 _Size __z = __hash_len_16(__loadword<_Size>(__s + __len - 48) + __len,
1151 __loadword<_Size>(__s + __len - 24));
1152 pair<_Size, _Size> __v = __weak_hash_len_32_with_seeds(__s + __len - 64, __len, __z);
1153 pair<_Size, _Size> __w = __weak_hash_len_32_with_seeds(__s + __len - 32, __y + __k1, __x);
1154 __x = __x * __k1 + __loadword<_Size>(__s);
1157 __len = (__len - 1) & ~static_cast<_Size>(63);
1159 __x = __rotate(__x + __y + __v.first + __loadword<_Size>(__s + 8), 37) * __k1;
1160 __y = __rotate(__y + __v.second + __loadword<_Size>(__s + 48), 42) * __k1;
1162 __y += __v.first + __loadword<_Size>(__s + 40);
1166 __y + __loadword<_Size>(__s + 16));