#![allow(clippy::too_many_arguments)]
#[cfg(feature = "enable-ckks")]
mod ckks_impl;
#[cfg(feature = "enable-core")]
#[doc(hidden)]
pub mod core_impl;
pub mod fft64;
pub mod hal_defaults;
mod hal_impl;
pub mod ntt120;
pub mod reference;
#[cfg(test)]
mod tests;
pub use poulpy_hal::cast_mut;
pub mod api {
pub use poulpy_hal::api::*;
}
pub mod layouts {
pub use poulpy_hal::layouts::*;
}
pub mod source {
pub use poulpy_hal::source::*;
}
pub use fft64::{FFT64Ref, FFT64ReimTable};
pub use ntt120::{NTT120Ref, NTT120RefHandle};
mod transfer_impls {
use poulpy_hal::layouts::{Backend, TransferFrom};
use crate::{FFT64Ref, NTT120Ref};
impl TransferFrom<FFT64Ref> for FFT64Ref {
fn transfer_buf(src: &Vec<u8>) -> Vec<u8> {
FFT64Ref::from_host_bytes(&FFT64Ref::to_host_bytes(src))
}
}
impl TransferFrom<NTT120Ref> for NTT120Ref {
fn transfer_buf(src: &Vec<u8>) -> Vec<u8> {
NTT120Ref::from_host_bytes(&NTT120Ref::to_host_bytes(src))
}
}
impl TransferFrom<NTT120Ref> for FFT64Ref {
fn transfer_buf(src: &Vec<u8>) -> Vec<u8> {
FFT64Ref::from_host_bytes(&NTT120Ref::to_host_bytes(src))
}
}
impl TransferFrom<FFT64Ref> for NTT120Ref {
fn transfer_buf(src: &Vec<u8>) -> Vec<u8> {
NTT120Ref::from_host_bytes(&FFT64Ref::to_host_bytes(src))
}
}
}