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}