Skip to main content

Crate poulpy_cpu_ref

Crate poulpy_cpu_ref 

Source
Expand description

Reference (portable) CPU backend for the Poulpy lattice cryptography library.

This crate provides two reference implementations for poulpy_hal:

  • FFT64Ref: scalar f64 FFT arithmetic — see the fft64 module.
  • NTT120Ref: scalar Q120 NTT arithmetic (CRT over four ~30-bit primes) — see the ntt120 module.

Both are canonical reference implementations: portable across all CPU architectures, prioritising correctness and debuggability over throughput.

§Platform support

Compiles and runs on any target supported by the Rust standard library. No platform-specific intrinsics or assembly are used.

Re-exports§

pub use fft64::FFT64Ref;
pub use fft64::FFT64ReimTable;
pub use ntt120::NTT120Ref;
pub use ntt120::NTT120RefHandle;

Modules§

api
fft64
Reference (scalar f64 FFT) backend for the Poulpy lattice cryptography library.
hal_defaults
layouts
ntt120
Reference NTT120 CPU backend for the Poulpy lattice cryptography library.
reference
Pure-Rust reference implementations of all polynomial operations.
source

Macros§

hal_impl_convolution
hal_impl_module
hal_impl_svp
hal_impl_vec_znx
hal_impl_vec_znx_big
hal_impl_vec_znx_dft
hal_impl_vmp

Functions§

cast_mut
Reinterprets a &mut [T] as a &mut [V].