added spqlios as submodule

This commit is contained in:
Jean-Philippe Bossuat
2025-01-27 14:10:59 +01:00
parent 250d1a4942
commit c30f598776
244 changed files with 51 additions and 29899 deletions

35
base2k/src/lib.rs Normal file
View File

@@ -0,0 +1,35 @@
pub mod module;
pub mod scalar;
pub mod vector;
#[allow(
non_camel_case_types,
non_snake_case,
non_upper_case_globals,
dead_code,
improper_ctypes
)]
pub mod bindings {
include!(concat!(env!("OUT_DIR"), "/bindings.rs"));
}
pub mod vec_znx_arithmetic;
pub use vec_znx_arithmetic::*;
pub mod vec_znx_big_arithmetic;
pub use vec_znx_big_arithmetic::*;
pub mod vec_znx_dft;
pub use vec_znx_dft::*;
pub mod scalar_vector_product;
pub use scalar_vector_product::*;
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] {
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) }
}