mirror of
https://github.com/arnaucube/poulpy.git
synced 2026-02-10 05:06:44 +01:00
Various improvement to memory management and API
[module]: added enum for backend [VecZnx, VecZnxDft, VecZnxBig, VmpPMat]: added ptr to data [VecZnxBorrow]: removed [VecZnxAPI]: removed
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
use base2k::{
|
||||
Encoding, Infos, Module, Sampling, Scalar, SvpPPol, SvpPPolOps, VecZnx, VecZnxApi, VecZnxBig,
|
||||
VecZnxBigOps, VecZnxDft, VecZnxDftOps, VecZnxOps, FFT64,
|
||||
alloc_aligned, Encoding, Infos, Module, Sampling, Scalar, SvpPPol, SvpPPolOps, VecZnx,
|
||||
VecZnxBig, VecZnxBigOps, VecZnxDft, VecZnxDftOps, VecZnxOps, MODULETYPE,
|
||||
};
|
||||
use itertools::izip;
|
||||
use sampling::source::Source;
|
||||
@@ -11,9 +11,9 @@ fn main() {
|
||||
let cols: usize = 3;
|
||||
let msg_cols: usize = 2;
|
||||
let log_scale: usize = msg_cols * log_base2k - 5;
|
||||
let module: Module = Module::new::<FFT64>(n);
|
||||
let module: Module = Module::new(n, MODULETYPE::FFT64);
|
||||
|
||||
let mut carry: Vec<u8> = vec![0; module.vec_znx_big_normalize_tmp_bytes()];
|
||||
let mut carry: Vec<u8> = alloc_aligned(module.vec_znx_big_normalize_tmp_bytes());
|
||||
|
||||
let seed: [u8; 32] = [0; 32];
|
||||
let mut source: Source = Source::new(seed);
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
use base2k::{
|
||||
Encoding, Free, Infos, Module, VecZnx, VecZnxApi, VecZnxBig, VecZnxBigOps, VecZnxDft,
|
||||
VecZnxDftOps, VecZnxOps, VecZnxVec, VmpPMat, VmpPMatOps, FFT64,
|
||||
alloc_aligned, Encoding, Infos, Module, VecZnx, VecZnxBig, VecZnxBigOps, VecZnxDft,
|
||||
VecZnxDftOps, VecZnxOps, VecZnxVec, VmpPMat, VmpPMatOps, MODULETYPE,
|
||||
};
|
||||
|
||||
fn main() {
|
||||
let log_n: i32 = 5;
|
||||
let n: usize = 1 << log_n;
|
||||
|
||||
let module: Module = Module::new::<FFT64>(n);
|
||||
let module: Module = Module::new(n, MODULETYPE::FFT64);
|
||||
let log_base2k: usize = 15;
|
||||
let cols: usize = 5;
|
||||
let log_k: usize = log_base2k * cols - 5;
|
||||
@@ -19,7 +19,7 @@ fn main() {
|
||||
let tmp_bytes: usize = module.vmp_prepare_tmp_bytes(rows, cols)
|
||||
| module.vmp_apply_dft_tmp_bytes(cols, cols, rows, cols);
|
||||
|
||||
let mut buf: Vec<u8> = vec![0; tmp_bytes];
|
||||
let mut buf: Vec<u8> = alloc_aligned(tmp_bytes);
|
||||
|
||||
let mut a_values: Vec<i64> = vec![i64::default(); n];
|
||||
a_values[1] = (1 << log_base2k) + 1;
|
||||
@@ -37,7 +37,7 @@ fn main() {
|
||||
});
|
||||
|
||||
(0..rows).for_each(|i| {
|
||||
vecznx[i].data[i * n + 1] = 1 as i64;
|
||||
vecznx[i].raw_mut()[i * n + 1] = 1 as i64;
|
||||
});
|
||||
|
||||
let slices: Vec<&[i64]> = vecznx.dblptr();
|
||||
@@ -60,8 +60,6 @@ fn main() {
|
||||
res.print(res.cols(), n);
|
||||
|
||||
module.free();
|
||||
c_dft.free();
|
||||
vmp_pmat.free();
|
||||
|
||||
//println!("{:?}", values_res)
|
||||
println!("{:?}", values_res)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user