mirror of
https://github.com/c3lang/c3c.git
synced 2026-02-27 12:01:16 +00:00
Make typeid switches always use subtype matching. Update seeder mixing.
This commit is contained in:
committed by
Christoffer Lerno
parent
7aca8a02cb
commit
eac19814e1
@@ -27,6 +27,7 @@ fn void seeder(char[] input, char[] out_buffer)
|
||||
{
|
||||
ulong[] words = tmalloc(ulong, (out_chars + 7) / 8);
|
||||
words[..] = ODD_PHI64;
|
||||
usz words_len_2 = words.len * 2;
|
||||
|
||||
// Add word at a time
|
||||
for (usz i = 0; i < input.len / 8; i++)
|
||||
@@ -47,7 +48,7 @@ fn void seeder(char[] input, char[] out_buffer)
|
||||
}
|
||||
|
||||
// Mix between words
|
||||
for (isz i = words.len * 2 - 1; i >= 0; i--)
|
||||
for (isz i = words_len_2 - 1; i >= 0; i--)
|
||||
{
|
||||
isz j = i % words.len;
|
||||
words[j] -= words[(i + 1) % words.len] * MUL_LCG64;
|
||||
@@ -55,7 +56,7 @@ fn void seeder(char[] input, char[] out_buffer)
|
||||
}
|
||||
|
||||
// Mix within words
|
||||
for (usz i = 0; i < 2; i++)
|
||||
for (usz i = 0; i < words_len_2; i++)
|
||||
{
|
||||
usz j = i % words.len;
|
||||
words[j] *= MUL_MCG64;
|
||||
|
||||
Reference in New Issue
Block a user