Lines Matching +full:3 +full:b

34 /* __jhash_mix -- mix 3 32-bit values reversibly. */
35 #define __jhash_mix(a, b, c) \ argument
37 a -= c; a ^= rol32(c, 4); c += b; \
38 b -= a; b ^= rol32(a, 6); a += c; \
39 c -= b; c ^= rol32(b, 8); b += a; \
40 a -= c; a ^= rol32(c, 16); c += b; \
41 b -= a; b ^= rol32(a, 19); a += c; \
42 c -= b; c ^= rol32(b, 4); b += a; \
45 /* __jhash_final - final mixing of 3 32-bit values (a,b,c) into c */
46 #define __jhash_final(a, b, c) \ argument
48 c ^= b; c -= rol32(b, 14); \
50 b ^= a; b -= rol32(a, 25); \
51 c ^= b; c -= rol32(b, 16); \
53 b ^= a; b -= rol32(a, 14); \
54 c ^= b; c -= rol32(b, 24); \
72 u32 a, b, c; in jhash() local
76 a = b = c = JHASH_INITVAL + length + initval; in jhash()
78 /* All but the last block: affect some 32 bits of (a,b,c) */ in jhash()
81 b += __get_unaligned_cpu32(k + 4); in jhash()
83 __jhash_mix(a, b, c); in jhash()
94 case 8: b += (u32)k[7]<<24; in jhash()
95 case 7: b += (u32)k[6]<<16; in jhash()
96 case 6: b += (u32)k[5]<<8; in jhash()
97 case 5: b += k[4]; in jhash()
98 case 4: a += (u32)k[3]<<24; in jhash()
99 case 3: a += (u32)k[2]<<16; in jhash()
102 __jhash_final(a, b, c); in jhash()
119 u32 a, b, c; in jhash2() local
122 a = b = c = JHASH_INITVAL + (length<<2) + initval; in jhash2()
125 while (length > 3) { in jhash2()
127 b += k[1]; in jhash2()
129 __jhash_mix(a, b, c); in jhash2()
130 length -= 3; in jhash2()
131 k += 3; in jhash2()
134 /* Handle the last 3 u32's: all the case statements fall through */ in jhash2()
136 case 3: c += k[2]; in jhash2()
137 case 2: b += k[1]; in jhash2()
139 __jhash_final(a, b, c); in jhash2()
148 /* __jhash_nwords - hash exactly 3, 2 or 1 word(s) */
149 static inline u32 __jhash_nwords(u32 a, u32 b, u32 c, u32 initval) in __jhash_nwords() argument
152 b += initval; in __jhash_nwords()
155 __jhash_final(a, b, c); in __jhash_nwords()
160 static inline u32 jhash_3words(u32 a, u32 b, u32 c, u32 initval) in jhash_3words() argument
162 return __jhash_nwords(a, b, c, initval + JHASH_INITVAL + (3 << 2)); in jhash_3words()
165 static inline u32 jhash_2words(u32 a, u32 b, u32 initval) in jhash_2words() argument
167 return __jhash_nwords(a, b, 0, initval + JHASH_INITVAL + (2 << 2)); in jhash_2words()