arnaucube
arnaucube/poulpyPublic Self-hosted repository
poulpy/src/poly.rs
src/poly.rsRaw
 1pub mod poly;
 2
 3pub struct Poly<O>(pub Vec<O>);
 4
 5impl Poly<u64>{
 6    pub fn new(n: usize) -> Self{
 7        Self(vec![0u64;n])
 8    }
 9
10    pub fn buffer_size(&self) -> usize{
11        return self.0.len()
12    }
13
14    pub fn from_buffer(&mut self, n: usize, buf: &mut [u64]){
15        assert!(buf.len() >= n, "invalid buffer: buf.len()={} < n={}", buf.len(), n);
16        self.0 = Vec::from(&buf[..n]);
17    }
18
19    pub fn n(&self) -> usize{
20        return self.0.len()
21    }
22}