Skip to content

Commit 3ccb9eb

Browse files
committed
Add support for StoreHashCode in Rust
1 parent 5c9c6a0 commit 3ccb9eb

13 files changed

+76
-61
lines changed

Src/FastData.Generator.Rust.Tests/Verify/HashSetChainStructure_Byte_3.verified.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ impl HashSetChainStructure_Byte_3 {
1414
];
1515

1616
const ENTRIES: [E; 3] = [
17-
E { hash_code: 0, next: -1, value: u8::MIN }, E { hash_code: 1, next: -1, value: 1 }, E { hash_code: 255, next: 0, value: u8::MAX }
17+
E { next: -1, value: u8::MIN }, E { next: -1, value: 1 }, E { next: 0, value: u8::MAX }
1818
];
1919

2020
#[inline(always)]
@@ -34,7 +34,7 @@ impl HashSetChainStructure_Byte_3 {
3434

3535
while i >= 0 {
3636
let entry = &Self::ENTRIES[i as usize];
37-
if entry.hash_code == hash && entry.value == value {
37+
if entry.value == value {
3838
return true;
3939
}
4040
i = entry.next;
@@ -48,7 +48,7 @@ impl HashSetChainStructure_Byte_3 {
4848
pub const MAX_VALUE: u8 = u8::MAX;
4949
}
5050
struct E {
51-
hash_code: u64,
51+
5252
next: i8,
5353
value: u8,
5454
}

Src/FastData.Generator.Rust.Tests/Verify/HashSetChainStructure_Char_3.verified.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ impl HashSetChainStructure_Char_3 {
1414
];
1515

1616
const ENTRIES: [E; 3] = [
17-
E { hash_code: 0, next: -1, value: char::MIN }, E { hash_code: 97, next: -1, value: 'a' }, E { hash_code: 127, next: 1, value: '' }
17+
E { next: -1, value: char::MIN }, E { next: -1, value: 'a' }, E { next: 1, value: '' }
1818
];
1919

2020
#[inline(always)]
@@ -34,7 +34,7 @@ impl HashSetChainStructure_Char_3 {
3434

3535
while i >= 0 {
3636
let entry = &Self::ENTRIES[i as usize];
37-
if entry.hash_code == hash && entry.value == value {
37+
if entry.value == value {
3838
return true;
3939
}
4040
i = entry.next;
@@ -48,7 +48,7 @@ impl HashSetChainStructure_Char_3 {
4848
pub const MAX_VALUE: char = '';
4949
}
5050
struct E {
51-
hash_code: u64,
51+
5252
next: i8,
5353
value: char,
5454
}

Src/FastData.Generator.Rust.Tests/Verify/HashSetChainStructure_Int16_5.verified.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ impl HashSetChainStructure_Int16_5 {
1414
];
1515

1616
const ENTRIES: [E; 5] = [
17-
E { hash_code: 18446744073709518848, next: -1, value: i16::MIN }, E { hash_code: 18446744073709551615, next: -1, value: -1 }, E { hash_code: 0, next: 1, value: 0 }, E { hash_code: 1, next: -1, value: 1 }, E { hash_code: 32767, next: -1, value: i16::MAX }
17+
E { next: -1, value: i16::MIN }, E { next: -1, value: -1 }, E { next: 1, value: 0 }, E { next: -1, value: 1 }, E { next: -1, value: i16::MAX }
1818
];
1919

2020
#[inline(always)]
@@ -34,7 +34,7 @@ impl HashSetChainStructure_Int16_5 {
3434

3535
while i >= 0 {
3636
let entry = &Self::ENTRIES[i as usize];
37-
if entry.hash_code == hash && entry.value == value {
37+
if entry.value == value {
3838
return true;
3939
}
4040
i = entry.next;
@@ -48,7 +48,7 @@ impl HashSetChainStructure_Int16_5 {
4848
pub const MAX_VALUE: i16 = i16::MAX;
4949
}
5050
struct E {
51-
hash_code: u64,
51+
5252
next: i8,
5353
value: i16,
5454
}

Src/FastData.Generator.Rust.Tests/Verify/HashSetChainStructure_Int32_100.verified.txt

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -23,16 +23,16 @@ impl HashSetChainStructure_Int32_100 {
2323
];
2424

2525
const ENTRIES: [E; 100] = [
26-
E { hash_code: 0, next: -1, value: 0 }, E { hash_code: 1, next: -1, value: 1 }, E { hash_code: 2, next: -1, value: 2 }, E { hash_code: 3, next: -1, value: 3 }, E { hash_code: 4, next: -1, value: 4 }, E { hash_code: 5, next: -1, value: 5 }, E { hash_code: 6, next: -1, value: 6 }, E { hash_code: 7, next: -1, value: 7 }, E { hash_code: 8, next: -1, value: 8 }, E { hash_code: 9, next: -1, value: 9 },
27-
E { hash_code: 10, next: -1, value: 10 }, E { hash_code: 11, next: -1, value: 11 }, E { hash_code: 12, next: -1, value: 12 }, E { hash_code: 13, next: -1, value: 13 }, E { hash_code: 14, next: -1, value: 14 }, E { hash_code: 15, next: -1, value: 15 }, E { hash_code: 16, next: -1, value: 16 }, E { hash_code: 17, next: -1, value: 17 }, E { hash_code: 18, next: -1, value: 18 }, E { hash_code: 19, next: -1, value: 19 },
28-
E { hash_code: 20, next: -1, value: 20 }, E { hash_code: 21, next: -1, value: 21 }, E { hash_code: 22, next: -1, value: 22 }, E { hash_code: 23, next: -1, value: 23 }, E { hash_code: 24, next: -1, value: 24 }, E { hash_code: 25, next: -1, value: 25 }, E { hash_code: 26, next: -1, value: 26 }, E { hash_code: 27, next: -1, value: 27 }, E { hash_code: 28, next: -1, value: 28 }, E { hash_code: 29, next: -1, value: 29 },
29-
E { hash_code: 30, next: -1, value: 30 }, E { hash_code: 31, next: -1, value: 31 }, E { hash_code: 32, next: -1, value: 32 }, E { hash_code: 33, next: -1, value: 33 }, E { hash_code: 34, next: -1, value: 34 }, E { hash_code: 35, next: -1, value: 35 }, E { hash_code: 36, next: -1, value: 36 }, E { hash_code: 37, next: -1, value: 37 }, E { hash_code: 38, next: -1, value: 38 }, E { hash_code: 39, next: -1, value: 39 },
30-
E { hash_code: 40, next: -1, value: 40 }, E { hash_code: 41, next: -1, value: 41 }, E { hash_code: 42, next: -1, value: 42 }, E { hash_code: 43, next: -1, value: 43 }, E { hash_code: 44, next: -1, value: 44 }, E { hash_code: 45, next: -1, value: 45 }, E { hash_code: 46, next: -1, value: 46 }, E { hash_code: 47, next: -1, value: 47 }, E { hash_code: 48, next: -1, value: 48 }, E { hash_code: 49, next: -1, value: 49 },
31-
E { hash_code: 50, next: -1, value: 50 }, E { hash_code: 51, next: -1, value: 51 }, E { hash_code: 52, next: -1, value: 52 }, E { hash_code: 53, next: -1, value: 53 }, E { hash_code: 54, next: -1, value: 54 }, E { hash_code: 55, next: -1, value: 55 }, E { hash_code: 56, next: -1, value: 56 }, E { hash_code: 57, next: -1, value: 57 }, E { hash_code: 58, next: -1, value: 58 }, E { hash_code: 59, next: -1, value: 59 },
32-
E { hash_code: 60, next: -1, value: 60 }, E { hash_code: 61, next: -1, value: 61 }, E { hash_code: 62, next: -1, value: 62 }, E { hash_code: 63, next: -1, value: 63 }, E { hash_code: 64, next: -1, value: 64 }, E { hash_code: 65, next: -1, value: 65 }, E { hash_code: 66, next: -1, value: 66 }, E { hash_code: 67, next: -1, value: 67 }, E { hash_code: 68, next: -1, value: 68 }, E { hash_code: 69, next: -1, value: 69 },
33-
E { hash_code: 70, next: -1, value: 70 }, E { hash_code: 71, next: -1, value: 71 }, E { hash_code: 72, next: -1, value: 72 }, E { hash_code: 73, next: -1, value: 73 }, E { hash_code: 74, next: -1, value: 74 }, E { hash_code: 75, next: -1, value: 75 }, E { hash_code: 76, next: -1, value: 76 }, E { hash_code: 77, next: -1, value: 77 }, E { hash_code: 78, next: -1, value: 78 }, E { hash_code: 79, next: -1, value: 79 },
34-
E { hash_code: 80, next: -1, value: 80 }, E { hash_code: 81, next: -1, value: 81 }, E { hash_code: 82, next: -1, value: 82 }, E { hash_code: 83, next: -1, value: 83 }, E { hash_code: 84, next: -1, value: 84 }, E { hash_code: 85, next: -1, value: 85 }, E { hash_code: 86, next: -1, value: 86 }, E { hash_code: 87, next: -1, value: 87 }, E { hash_code: 88, next: -1, value: 88 }, E { hash_code: 89, next: -1, value: 89 },
35-
E { hash_code: 90, next: -1, value: 90 }, E { hash_code: 91, next: -1, value: 91 }, E { hash_code: 92, next: -1, value: 92 }, E { hash_code: 93, next: -1, value: 93 }, E { hash_code: 94, next: -1, value: 94 }, E { hash_code: 95, next: -1, value: 95 }, E { hash_code: 96, next: -1, value: 96 }, E { hash_code: 97, next: -1, value: 97 }, E { hash_code: 98, next: -1, value: 98 }, E { hash_code: 99, next: -1, value: 99 }
26+
E { next: -1, value: 0 }, E { next: -1, value: 1 }, E { next: -1, value: 2 }, E { next: -1, value: 3 }, E { next: -1, value: 4 }, E { next: -1, value: 5 }, E { next: -1, value: 6 }, E { next: -1, value: 7 }, E { next: -1, value: 8 }, E { next: -1, value: 9 },
27+
E { next: -1, value: 10 }, E { next: -1, value: 11 }, E { next: -1, value: 12 }, E { next: -1, value: 13 }, E { next: -1, value: 14 }, E { next: -1, value: 15 }, E { next: -1, value: 16 }, E { next: -1, value: 17 }, E { next: -1, value: 18 }, E { next: -1, value: 19 },
28+
E { next: -1, value: 20 }, E { next: -1, value: 21 }, E { next: -1, value: 22 }, E { next: -1, value: 23 }, E { next: -1, value: 24 }, E { next: -1, value: 25 }, E { next: -1, value: 26 }, E { next: -1, value: 27 }, E { next: -1, value: 28 }, E { next: -1, value: 29 },
29+
E { next: -1, value: 30 }, E { next: -1, value: 31 }, E { next: -1, value: 32 }, E { next: -1, value: 33 }, E { next: -1, value: 34 }, E { next: -1, value: 35 }, E { next: -1, value: 36 }, E { next: -1, value: 37 }, E { next: -1, value: 38 }, E { next: -1, value: 39 },
30+
E { next: -1, value: 40 }, E { next: -1, value: 41 }, E { next: -1, value: 42 }, E { next: -1, value: 43 }, E { next: -1, value: 44 }, E { next: -1, value: 45 }, E { next: -1, value: 46 }, E { next: -1, value: 47 }, E { next: -1, value: 48 }, E { next: -1, value: 49 },
31+
E { next: -1, value: 50 }, E { next: -1, value: 51 }, E { next: -1, value: 52 }, E { next: -1, value: 53 }, E { next: -1, value: 54 }, E { next: -1, value: 55 }, E { next: -1, value: 56 }, E { next: -1, value: 57 }, E { next: -1, value: 58 }, E { next: -1, value: 59 },
32+
E { next: -1, value: 60 }, E { next: -1, value: 61 }, E { next: -1, value: 62 }, E { next: -1, value: 63 }, E { next: -1, value: 64 }, E { next: -1, value: 65 }, E { next: -1, value: 66 }, E { next: -1, value: 67 }, E { next: -1, value: 68 }, E { next: -1, value: 69 },
33+
E { next: -1, value: 70 }, E { next: -1, value: 71 }, E { next: -1, value: 72 }, E { next: -1, value: 73 }, E { next: -1, value: 74 }, E { next: -1, value: 75 }, E { next: -1, value: 76 }, E { next: -1, value: 77 }, E { next: -1, value: 78 }, E { next: -1, value: 79 },
34+
E { next: -1, value: 80 }, E { next: -1, value: 81 }, E { next: -1, value: 82 }, E { next: -1, value: 83 }, E { next: -1, value: 84 }, E { next: -1, value: 85 }, E { next: -1, value: 86 }, E { next: -1, value: 87 }, E { next: -1, value: 88 }, E { next: -1, value: 89 },
35+
E { next: -1, value: 90 }, E { next: -1, value: 91 }, E { next: -1, value: 92 }, E { next: -1, value: 93 }, E { next: -1, value: 94 }, E { next: -1, value: 95 }, E { next: -1, value: 96 }, E { next: -1, value: 97 }, E { next: -1, value: 98 }, E { next: -1, value: 99 }
3636
];
3737

3838
#[inline(always)]
@@ -52,7 +52,7 @@ impl HashSetChainStructure_Int32_100 {
5252

5353
while i >= 0 {
5454
let entry = &Self::ENTRIES[i as usize];
55-
if entry.hash_code == hash && entry.value == value {
55+
if entry.value == value {
5656
return true;
5757
}
5858
i = entry.next;
@@ -66,7 +66,7 @@ impl HashSetChainStructure_Int32_100 {
6666
pub const MAX_VALUE: i32 = 99;
6767
}
6868
struct E {
69-
hash_code: u64,
69+
7070
next: i8,
7171
value: i32,
7272
}

Src/FastData.Generator.Rust.Tests/Verify/HashSetChainStructure_Int32_5.verified.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ impl HashSetChainStructure_Int32_5 {
1414
];
1515

1616
const ENTRIES: [E; 5] = [
17-
E { hash_code: 18446744071562067968, next: -1, value: i32::MIN }, E { hash_code: 18446744073709551615, next: -1, value: -1 }, E { hash_code: 0, next: 1, value: 0 }, E { hash_code: 1, next: -1, value: 1 }, E { hash_code: 2147483647, next: -1, value: i32::MAX }
17+
E { next: -1, value: i32::MIN }, E { next: -1, value: -1 }, E { next: 1, value: 0 }, E { next: -1, value: 1 }, E { next: -1, value: i32::MAX }
1818
];
1919

2020
#[inline(always)]
@@ -34,7 +34,7 @@ impl HashSetChainStructure_Int32_5 {
3434

3535
while i >= 0 {
3636
let entry = &Self::ENTRIES[i as usize];
37-
if entry.hash_code == hash && entry.value == value {
37+
if entry.value == value {
3838
return true;
3939
}
4040
i = entry.next;
@@ -48,7 +48,7 @@ impl HashSetChainStructure_Int32_5 {
4848
pub const MAX_VALUE: i32 = i32::MAX;
4949
}
5050
struct E {
51-
hash_code: u64,
51+
5252
next: i8,
5353
value: i32,
5454
}

Src/FastData.Generator.Rust.Tests/Verify/HashSetChainStructure_Int64_5.verified.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ impl HashSetChainStructure_Int64_5 {
1414
];
1515

1616
const ENTRIES: [E; 5] = [
17-
E { hash_code: 9223372036854775808, next: -1, value: i64::MIN }, E { hash_code: 18446744073709551611, next: -1, value: -5 }, E { hash_code: 0, next: -1, value: 0 }, E { hash_code: 1, next: 1, value: 1 }, E { hash_code: 9223372036854775806, next: 3, value: 9223372036854775806 }
17+
E { next: -1, value: i64::MIN }, E { next: -1, value: -5 }, E { next: -1, value: 0 }, E { next: 1, value: 1 }, E { next: 3, value: 9223372036854775806 }
1818
];
1919

2020
#[inline(always)]
@@ -34,7 +34,7 @@ impl HashSetChainStructure_Int64_5 {
3434

3535
while i >= 0 {
3636
let entry = &Self::ENTRIES[i as usize];
37-
if entry.hash_code == hash && entry.value == value {
37+
if entry.value == value {
3838
return true;
3939
}
4040
i = entry.next;
@@ -48,7 +48,7 @@ impl HashSetChainStructure_Int64_5 {
4848
pub const MAX_VALUE: i64 = 9223372036854775806;
4949
}
5050
struct E {
51-
hash_code: u64,
51+
5252
next: i8,
5353
value: i64,
5454
}

Src/FastData.Generator.Rust.Tests/Verify/HashSetChainStructure_SByte_5.verified.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ impl HashSetChainStructure_SByte_5 {
1414
];
1515

1616
const ENTRIES: [E; 5] = [
17-
E { hash_code: 18446744073709551488, next: -1, value: i8::MIN }, E { hash_code: 18446744073709551615, next: -1, value: -1 }, E { hash_code: 0, next: 1, value: 0 }, E { hash_code: 1, next: -1, value: 1 }, E { hash_code: 127, next: -1, value: i8::MAX }
17+
E { next: -1, value: i8::MIN }, E { next: -1, value: -1 }, E { next: 1, value: 0 }, E { next: -1, value: 1 }, E { next: -1, value: i8::MAX }
1818
];
1919

2020
#[inline(always)]
@@ -34,7 +34,7 @@ impl HashSetChainStructure_SByte_5 {
3434

3535
while i >= 0 {
3636
let entry = &Self::ENTRIES[i as usize];
37-
if entry.hash_code == hash && entry.value == value {
37+
if entry.value == value {
3838
return true;
3939
}
4040
i = entry.next;
@@ -48,7 +48,7 @@ impl HashSetChainStructure_SByte_5 {
4848
pub const MAX_VALUE: i8 = i8::MAX;
4949
}
5050
struct E {
51-
hash_code: u64,
51+
5252
next: i8,
5353
value: i8,
5454
}

Src/FastData.Generator.Rust.Tests/Verify/HashSetChainStructure_UInt16_4.verified.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ impl HashSetChainStructure_UInt16_4 {
1414
];
1515

1616
const ENTRIES: [E; 4] = [
17-
E { hash_code: 0, next: -1, value: u16::MIN }, E { hash_code: 1, next: -1, value: 1 }, E { hash_code: 2, next: -1, value: 2 }, E { hash_code: 65535, next: -1, value: u16::MAX }
17+
E { next: -1, value: u16::MIN }, E { next: -1, value: 1 }, E { next: -1, value: 2 }, E { next: -1, value: u16::MAX }
1818
];
1919

2020
#[inline(always)]
@@ -34,7 +34,7 @@ impl HashSetChainStructure_UInt16_4 {
3434

3535
while i >= 0 {
3636
let entry = &Self::ENTRIES[i as usize];
37-
if entry.hash_code == hash && entry.value == value {
37+
if entry.value == value {
3838
return true;
3939
}
4040
i = entry.next;
@@ -48,7 +48,7 @@ impl HashSetChainStructure_UInt16_4 {
4848
pub const MAX_VALUE: u16 = u16::MAX;
4949
}
5050
struct E {
51-
hash_code: u64,
51+
5252
next: i8,
5353
value: u16,
5454
}

Src/FastData.Generator.Rust.Tests/Verify/HashSetChainStructure_UInt32_4.verified.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ impl HashSetChainStructure_UInt32_4 {
1414
];
1515

1616
const ENTRIES: [E; 4] = [
17-
E { hash_code: 0, next: -1, value: u32::MIN }, E { hash_code: 1, next: -1, value: 1 }, E { hash_code: 2, next: -1, value: 2 }, E { hash_code: 4294967295, next: -1, value: u32::MAX }
17+
E { next: -1, value: u32::MIN }, E { next: -1, value: 1 }, E { next: -1, value: 2 }, E { next: -1, value: u32::MAX }
1818
];
1919

2020
#[inline(always)]
@@ -34,7 +34,7 @@ impl HashSetChainStructure_UInt32_4 {
3434

3535
while i >= 0 {
3636
let entry = &Self::ENTRIES[i as usize];
37-
if entry.hash_code == hash && entry.value == value {
37+
if entry.value == value {
3838
return true;
3939
}
4040
i = entry.next;
@@ -48,7 +48,7 @@ impl HashSetChainStructure_UInt32_4 {
4848
pub const MAX_VALUE: u32 = u32::MAX;
4949
}
5050
struct E {
51-
hash_code: u64,
51+
5252
next: i8,
5353
value: u32,
5454
}

Src/FastData.Generator.Rust.Tests/Verify/HashSetChainStructure_UInt64_4.verified.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ impl HashSetChainStructure_UInt64_4 {
1414
];
1515

1616
const ENTRIES: [E; 4] = [
17-
E { hash_code: 0, next: -1, value: u64::MIN }, E { hash_code: 1, next: -1, value: 1 }, E { hash_code: 2, next: -1, value: 2 }, E { hash_code: 18446744073709551605, next: 1, value: 18446744073709551605 }
17+
E { next: -1, value: u64::MIN }, E { next: -1, value: 1 }, E { next: -1, value: 2 }, E { next: 1, value: 18446744073709551605 }
1818
];
1919

2020
#[inline(always)]
@@ -34,7 +34,7 @@ impl HashSetChainStructure_UInt64_4 {
3434

3535
while i >= 0 {
3636
let entry = &Self::ENTRIES[i as usize];
37-
if entry.hash_code == hash && entry.value == value {
37+
if entry.value == value {
3838
return true;
3939
}
4040
i = entry.next;
@@ -48,7 +48,7 @@ impl HashSetChainStructure_UInt64_4 {
4848
pub const MAX_VALUE: u64 = 18446744073709551605;
4949
}
5050
struct E {
51-
hash_code: u64,
51+
5252
next: i8,
5353
value: u64,
5454
}

0 commit comments

Comments
 (0)