mirror of
https://github.com/arnaucube/poulpy.git
synced 2026-02-10 13:16:44 +01:00
wip
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
use poulpy_hal::{
|
||||
layouts::{Data, DataMut, DataRef, FillUniform, MatZnx, ReaderFrom, WriterTo, ZnxInfos},
|
||||
layouts::{Data, DataMut, DataRef, FillUniform, MatZnx, MatZnxToMut, MatZnxToRef, ReaderFrom, WriterTo, ZnxInfos},
|
||||
source::Source,
|
||||
};
|
||||
|
||||
@@ -389,6 +389,36 @@ impl GGLWECiphertext<Vec<u8>> {
|
||||
}
|
||||
}
|
||||
|
||||
pub trait GGLWECiphertextToMut {
|
||||
fn to_mut(&mut self) -> GGLWECiphertext<&mut [u8]>;
|
||||
}
|
||||
|
||||
impl<D: DataMut> GGLWECiphertextToMut for GGLWECiphertext<D> {
|
||||
fn to_mut(&mut self) -> GGLWECiphertext<&mut [u8]> {
|
||||
GGLWECiphertext {
|
||||
k: self.k(),
|
||||
base2k: self.base2k(),
|
||||
dsize: self.dsize(),
|
||||
data: self.data.to_mut(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
pub trait GGLWECiphertextToRef {
|
||||
fn to_ref(&self) -> GGLWECiphertext<&[u8]>;
|
||||
}
|
||||
|
||||
impl<D: DataMut> GGLWECiphertextToRef for GGLWECiphertext<D> {
|
||||
fn to_ref(&self) -> GGLWECiphertext<&[u8]> {
|
||||
GGLWECiphertext {
|
||||
k: self.k(),
|
||||
base2k: self.base2k(),
|
||||
dsize: self.dsize(),
|
||||
data: self.data.to_ref(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl<D: DataMut> ReaderFrom for GGLWECiphertext<D> {
|
||||
fn read_from<R: std::io::Read>(&mut self, reader: &mut R) -> std::io::Result<()> {
|
||||
self.k = TorusPrecision(reader.read_u32::<LittleEndian>()?);
|
||||
|
||||
Reference in New Issue
Block a user