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