use std::fmt::Debug;
use crate::prelude::{GlweDimension, PolynomialSize};
use crate::backends::cuda::private::crypto::glwe::ciphertext::CudaGlweCiphertext;
use crate::specification::entities::markers::GlweCiphertextKind;
use crate::specification::entities::{AbstractEntity, GlweCiphertextEntity};
#[derive(Debug)]
pub struct CudaGlweCiphertext32(pub(crate) CudaGlweCiphertext<u32>);
impl AbstractEntity for CudaGlweCiphertext32 {
type Kind = GlweCiphertextKind;
}
impl GlweCiphertextEntity for CudaGlweCiphertext32 {
fn glwe_dimension(&self) -> GlweDimension {
self.0.glwe_dimension
}
fn polynomial_size(&self) -> PolynomialSize {
self.0.polynomial_size
}
}
#[derive(Debug)]
pub struct CudaGlweCiphertext64(pub(crate) CudaGlweCiphertext<u64>);
impl AbstractEntity for CudaGlweCiphertext64 {
type Kind = GlweCiphertextKind;
}
impl GlweCiphertextEntity for CudaGlweCiphertext64 {
fn glwe_dimension(&self) -> GlweDimension {
self.0.glwe_dimension
}
fn polynomial_size(&self) -> PolynomialSize {
self.0.polynomial_size
}
}