Skip to main content

module_lattice/
lib.rs

1#![no_std]
2#![cfg_attr(docsrs, feature(doc_cfg))]
3#![doc = include_str!("../README.md")]
4#![doc(
5    html_logo_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo.svg",
6    html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/meta/master/logo.svg"
7)]
8
9/// Linear algebra with degree-256 polynomials over a prime-order field, vectors of such
10/// polynomials, and NTT polynomials / vectors.
11mod algebra;
12
13/// Packing of polynomials into coefficients with a specified number of bits.
14mod encoding;
15
16/// Integer truncation support.
17mod truncate;
18
19pub use algebra::{
20    Elem, Field, MultiplyNtt, NttMatrix, NttPolynomial, NttVector, Polynomial, Vector,
21};
22pub use encoding::{
23    ArraySize, DecodedValue, Encode, EncodedPolynomial, EncodedPolynomialSize, EncodedVector,
24    EncodedVectorSize, EncodingSize, VectorEncodingSize, byte_decode, byte_encode,
25};
26pub use truncate::Truncate;
27
28#[cfg(feature = "ctutils")]
29pub use ctutils;