uint64_t uint_t
Default unsigned integer width is 64 bits.
Definition: fhe_config.h:49
int64_t int_t
Default integer width is 64 bits.
Definition: fhe_config.h:44
DISTRIBUTION
Enum determines sampling distribution.
Definition: fhe_config.h:64
void poly_clone(poly_t *dst, const poly_t *const src)
Clone a polynomial.
int poly_cmp(const poly_t *const a, const poly_t *const b)
Test two polynomials for equality Returns 1 if polynomials are equal, 0 otherwise.
void poly_rand(const ring_t *const r, poly_t *out, DISTRIBUTION d)
Sample a random polynomial.
void poly_sub(poly_t *c, const poly_t *const a, const poly_t *const b)
Polynomial subtraction.
void poly_serialize(unsigned char *buf, const poly_t *const p)
Serialize a polynomial into a byte stream.
void poly_neg(poly_t *p)
Negate a polynomial.
void poly_cmul(poly_t *out, const poly_t *const in, int_t c)
Constant multiplication.
void poly_intt(poly_t *p)
Convert back from NTT form.
struct poly_t poly_t
Main Polynomial type used to represent polynomials over for a generic modulus .
void poly_mul(poly_t *c, const poly_t *const a, const poly_t *const b)
Polynomial multiplication.
void poly_add(poly_t *c, const poly_t *const a, const poly_t *const b)
Polynomial addition.
void poly_free(poly_t *p)
Destroy a Polynomial Free any memory allocated by the polynomial.
int poly_zero(const ring_t *const r, poly_t *p)
Initialize the zero polynomial.
void poly_deserialize(poly_t *p, const unsigned char *const buf)
Deserialize a polynomial from a byte stream.
void poly_decode(uint_t *out, const poly_t *const p, uint_t t)
Decode a polynomial into its original form.
void poly_ntt(poly_t *p)
Convert to NTT form.
void poly_encode(const ring_t *const r, const uint_t *const u, poly_t *p)
Encode a polynomial into its CRT representation.
Main Polynomial type used to represent polynomials over for a generic modulus .
Definition: fhe_poly.h:45
ring_t * r
Reference to the base ring.
Definition: fhe_poly.h:46
uint_t * b
Polynomial coefficients.
Definition: fhe_poly.h:47
char is_ntt
Definition: fhe_poly.h:48
Main Ring type used to define a polynomial ring.
Definition: fhe_ring.h:34