added vmp

This commit is contained in:
Jean-Philippe Bossuat
2025-01-29 10:32:10 +01:00
parent 6fcd5c743d
commit 783a763ac9
5 changed files with 261 additions and 3 deletions

View File

@@ -37,16 +37,20 @@ pub mod scalar_vector_product;
#[allow(unused_imports)]
pub use scalar_vector_product::*;
pub mod vector_matrix_product;
#[allow(unused_imports)]
pub use vector_matrix_product::*;
pub const GALOISGENERATOR: u64 = 5;
#[allow(dead_code)]
fn cast_mut_u64_to_mut_u8_slice(data: &mut [u64]) -> &mut [u8] {
pub fn cast_mut_u64_to_mut_u8_slice(data: &mut [u64]) -> &mut [u8] {
let ptr: *mut u8 = data.as_mut_ptr() as *mut u8;
let len: usize = data.len() * std::mem::size_of::<u64>();
unsafe { std::slice::from_raw_parts_mut(ptr, len) }
}
fn cast_mut_u8_to_mut_i64_slice(data: &mut [u8]) -> &mut [i64] {
pub fn cast_mut_u8_to_mut_i64_slice(data: &mut [u8]) -> &mut [i64] {
let ptr: *mut i64 = data.as_mut_ptr() as *mut i64;
let len: usize = data.len() / std::mem::size_of::<i64>();
unsafe { std::slice::from_raw_parts_mut(ptr, len) }