diff --git a/includes/std/core.pat b/includes/std/core.pat index 17b199f..8081c99 100644 --- a/includes/std/core.pat +++ b/includes/std/core.pat @@ -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); + }; } diff --git a/includes/std/hash.pat b/includes/std/hash.pat index 2612c51..de5fbb1 100644 --- a/includes/std/hash.pat +++ b/includes/std/hash.pat @@ -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) }; } \ No newline at end of file