includes/std: Added new functions

This commit is contained in:
Nik
2022-11-09 21:21:59 +01:00
committed by GitHub
parent aceeb2b7b3
commit 9ba998e618
2 changed files with 6 additions and 23 deletions

View File

@@ -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);
};
}

View File

@@ -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)
};
}