Add Zn type

This commit is contained in:
Pro7ech
2025-08-21 12:16:53 +02:00
parent ccd94e36cc
commit bf513dc555
129 changed files with 1400 additions and 686 deletions

View File

@@ -37,19 +37,16 @@ impl<D: DataRef> GLWEPlaintext<D> {
impl<D: DataMut> LWEPlaintext<D> {
pub fn encode_i64(&mut self, data: i64, k: usize) {
let basek: usize = self.basek();
self.data
.encode_coeff_i64(basek, 0, k, 0, data, i64::BITS as usize);
self.data.encode_i64(basek, k, data, i64::BITS as usize);
}
}
impl<D: DataRef> LWEPlaintext<D> {
pub fn decode_i64(&self, k: usize) -> i64 {
self.data.decode_coeff_i64(self.basek(), 0, k, 0)
self.data.decode_i64(self.basek(), k)
}
pub fn decode_float(&self) -> Float {
let mut data: Vec<Float> = vec![Float::new(self.k() as u32)];
self.data.decode_vec_float(self.basek(), 0, &mut data);
data[0].clone()
self.data.decode_float(self.basek())
}
}