mirror of
https://github.com/WerWolv/ImHex-Patterns.git
synced 2026-04-02 13:37:41 -05:00
includes/std: Added new functions
This commit is contained in:
@@ -30,7 +30,7 @@ namespace std::core {
|
||||
|
||||
|
||||
fn set_bitfield_order(BitfieldOrder order) {
|
||||
builtin::std::core::set_bitfield_order(order);
|
||||
builtin::std::core::set_bitfield_order(u32(order));
|
||||
};
|
||||
|
||||
fn get_bitfield_order() {
|
||||
@@ -54,4 +54,7 @@ namespace std::core {
|
||||
return builtin::std::core::formatted_value(pattern);
|
||||
};
|
||||
|
||||
fn is_valid_enum(ref auto pattern) {
|
||||
return builtin::std::core::is_valid_enum(pattern);
|
||||
};
|
||||
}
|
||||
|
||||
@@ -2,28 +2,8 @@
|
||||
|
||||
namespace std::hash {
|
||||
|
||||
fn crc32(u128 address, u64 size, u32 init, u32 poly) {
|
||||
u8 byte;
|
||||
u32 crc, mask;
|
||||
|
||||
crc = init;
|
||||
|
||||
u64 i;
|
||||
while (i < size) {
|
||||
byte = std::mem::read_unsigned(address + i, 1);
|
||||
crc = crc ^ byte;
|
||||
|
||||
u8 j;
|
||||
while (j < 8) {
|
||||
mask = u32(-(crc & 1));
|
||||
crc = (crc >> 1) ^ (poly & mask);
|
||||
j = j + 1;
|
||||
}
|
||||
|
||||
i = i + 1;
|
||||
}
|
||||
|
||||
return u32(~crc);
|
||||
fn crc32(ref auto pattern, u32 init, u32 poly) {
|
||||
return builtin::std::hash::crc32(pattern, init, poly)
|
||||
};
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user