@@ -14,17 +14,17 @@ namespace MLAPI.Editor.CodeGen
14
14
/// </summary>
15
15
internal static class XXHash
16
16
{
17
- private const ulong prime64v1 = 11400714785074694791ul ;
18
- private const ulong prime64v2 = 14029467366897019727ul ;
19
- private const ulong prime64v3 = 1609587929392839161ul ;
20
- private const ulong prime64v4 = 9650029242287828579ul ;
21
- private const ulong prime64v5 = 2870177450012600261ul ;
22
-
23
- private const uint prime32v1 = 2654435761u ;
24
- private const uint prime32v2 = 2246822519u ;
25
- private const uint prime32v3 = 3266489917u ;
26
- private const uint prime32v4 = 668265263u ;
27
- private const uint prime32v5 = 374761393u ;
17
+ private const ulong k_Prime64v1 = 11400714785074694791ul ;
18
+ private const ulong k_Prime64v2 = 14029467366897019727ul ;
19
+ private const ulong k_Prime64v3 = 1609587929392839161ul ;
20
+ private const ulong k_Prime64v4 = 9650029242287828579ul ;
21
+ private const ulong k_Prime64v5 = 2870177450012600261ul ;
22
+
23
+ private const uint k_Prime32v1 = 2654435761u ;
24
+ private const uint k_Prime32v2 = 2246822519u ;
25
+ private const uint k_Prime32v3 = 3266489917u ;
26
+ private const uint k_Prime32v4 = 668265263u ;
27
+ private const uint k_Prime32v5 = 374761393u ;
28
28
29
29
/// <summary>
30
30
/// Generate a 32-bit xxHash value.
@@ -44,10 +44,10 @@ public static unsafe uint Hash32(byte* buffer, int bufferLength, uint seed = 0)
44
44
byte * pInput = buffer ;
45
45
if ( len >= stripeLength )
46
46
{
47
- uint acc1 = seed + prime32v1 + prime32v2 ;
48
- uint acc2 = seed + prime32v2 ;
47
+ uint acc1 = seed + k_Prime32v1 + k_Prime32v2 ;
48
+ uint acc2 = seed + k_Prime32v2 ;
49
49
uint acc3 = seed ;
50
- uint acc4 = seed - prime32v1 ;
50
+ uint acc4 = seed - k_Prime32v1 ;
51
51
52
52
do
53
53
{
@@ -57,7 +57,7 @@ public static unsafe uint Hash32(byte* buffer, int bufferLength, uint seed = 0)
57
57
}
58
58
else
59
59
{
60
- acc = seed + prime32v5 ;
60
+ acc = seed + k_Prime32v5 ;
61
61
}
62
62
63
63
acc += ( uint ) len ;
@@ -84,10 +84,10 @@ public static unsafe ulong Hash64(byte* buffer, int bufferLength, ulong seed = 0
84
84
byte * pInput = buffer ;
85
85
if ( len >= stripeLength )
86
86
{
87
- ulong acc1 = seed + prime64v1 + prime64v2 ;
88
- ulong acc2 = seed + prime64v2 ;
87
+ ulong acc1 = seed + k_Prime64v1 + k_Prime64v2 ;
88
+ ulong acc2 = seed + k_Prime64v2 ;
89
89
ulong acc3 = seed ;
90
- ulong acc4 = seed - prime64v1 ;
90
+ ulong acc4 = seed - k_Prime64v1 ;
91
91
92
92
do
93
93
{
@@ -97,7 +97,7 @@ public static unsafe ulong Hash64(byte* buffer, int bufferLength, ulong seed = 0
97
97
}
98
98
else
99
99
{
100
- acc = seed + prime64v5 ;
100
+ acc = seed + k_Prime64v5 ;
101
101
}
102
102
103
103
acc += ( ulong ) len ;
@@ -151,24 +151,24 @@ private static unsafe ulong processRemaining64(
151
151
lane = * ( ulong * ) pInput ;
152
152
153
153
acc ^= round64 ( 0 , lane ) ;
154
- acc = Bits . RotateLeft ( acc , 27 ) * prime64v1 ;
155
- acc += prime64v4 ;
154
+ acc = Bits . RotateLeft ( acc , 27 ) * k_Prime64v1 ;
155
+ acc += k_Prime64v4 ;
156
156
}
157
157
158
158
for ( uint lane32 ; remainingLen >= 4 ; remainingLen -= 4 , pInput += 4 )
159
159
{
160
160
lane32 = * ( uint * ) pInput ;
161
161
162
- acc ^= lane32 * prime64v1 ;
163
- acc = Bits . RotateLeft ( acc , 23 ) * prime64v2 ;
164
- acc += prime64v3 ;
162
+ acc ^= lane32 * k_Prime64v1 ;
163
+ acc = Bits . RotateLeft ( acc , 23 ) * k_Prime64v2 ;
164
+ acc += k_Prime64v3 ;
165
165
}
166
166
167
167
for ( byte lane8 ; remainingLen >= 1 ; remainingLen-- , pInput++ )
168
168
{
169
169
lane8 = * pInput ;
170
- acc ^= lane8 * prime64v5 ;
171
- acc = Bits . RotateLeft ( acc , 11 ) * prime64v1 ;
170
+ acc ^= lane8 * k_Prime64v5 ;
171
+ acc = Bits . RotateLeft ( acc , 11 ) * k_Prime64v1 ;
172
172
}
173
173
174
174
return acc;
@@ -178,26 +178,26 @@ private static unsafe ulong processRemaining64(
178
178
private static ulong avalanche64( ulong acc )
179
179
{
180
180
acc ^= acc >> 33 ;
181
- acc *= prime64v2 ;
181
+ acc *= k_Prime64v2 ;
182
182
acc ^= acc >> 29 ;
183
- acc *= prime64v3 ;
183
+ acc *= k_Prime64v3 ;
184
184
acc ^= acc >> 32 ;
185
185
return acc;
186
186
}
187
187
188
188
[ MethodImpl ( MethodImplOptions . AggressiveInlining ) ]
189
189
private static ulong round64 ( ulong accn , ulong lane )
190
190
{
191
- accn += lane * prime64v2 ;
192
- return Bits. RotateLeft ( accn , 31 ) * prime64v1 ;
191
+ accn += lane * k_Prime64v2 ;
192
+ return Bits. RotateLeft ( accn , 31 ) * k_Prime64v1 ;
193
193
}
194
194
195
195
[ MethodImpl ( MethodImplOptions . AggressiveInlining ) ]
196
196
private static void mergeAccumulator64 ( ref ulong acc , ulong accn )
197
197
{
198
198
acc ^= round64 ( 0 , accn ) ;
199
- acc *= prime64v1 ;
200
- acc += prime64v4 ;
199
+ acc *= k_Prime64v1 ;
200
+ acc += k_Prime64v4 ;
201
201
}
202
202
203
203
[ MethodImpl ( MethodImplOptions . AggressiveInlining ) ]
@@ -236,15 +236,15 @@ private static unsafe uint processRemaining32(
236
236
for ( uint lane ; remainingLen >= 4 ; remainingLen -= 4 , pInput += 4 )
237
237
{
238
238
lane = * ( uint * ) pInput ;
239
- acc += lane * prime32v3 ;
240
- acc = Bits . RotateLeft ( acc , 17 ) * prime32v4 ;
239
+ acc += lane * k_Prime32v3 ;
240
+ acc = Bits . RotateLeft ( acc , 17 ) * k_Prime32v4 ;
241
241
}
242
242
243
243
for ( byte lane ; remainingLen >= 1 ; remainingLen-- , pInput++ )
244
244
{
245
245
lane = * pInput ;
246
- acc += lane * prime32v5 ;
247
- acc = Bits . RotateLeft ( acc , 11 ) * prime32v1 ;
246
+ acc += lane * k_Prime32v5 ;
247
+ acc = Bits . RotateLeft ( acc , 11 ) * k_Prime32v1 ;
248
248
}
249
249
250
250
return acc;
@@ -253,19 +253,19 @@ private static unsafe uint processRemaining32(
253
253
[ MethodImpl ( MethodImplOptions . AggressiveInlining ) ]
254
254
private static uint round32( uint accn , uint lane )
255
255
{
256
- accn += lane * prime32v2 ;
256
+ accn += lane * k_Prime32v2 ;
257
257
accn = Bits . RotateLeft ( accn , 13 ) ;
258
- accn *= prime32v1 ;
258
+ accn *= k_Prime32v1 ;
259
259
return accn;
260
260
}
261
261
262
262
[ MethodImpl ( MethodImplOptions . AggressiveInlining ) ]
263
263
private static uint avalanche32 ( uint acc )
264
264
{
265
265
acc ^= acc >> 15 ;
266
- acc *= prime32v2 ;
266
+ acc *= k_Prime32v2 ;
267
267
acc ^= acc >> 13 ;
268
- acc *= prime32v3 ;
268
+ acc *= k_Prime32v3 ;
269
269
acc ^= acc >> 16 ;
270
270
return acc;
271
271
}
0 commit comments