CRS
Isogeny-based post-quantum Diffie-Hellman protocol.
|
#include "multieval.h"
Functions | |
void | remainderCell (fq_poly_bcell_t *rop, fq_t *roots, uint offset_start, uint offset_end, const fq_ctx_t *F) |
void | remainderTree (fq_poly_btree_t *T, fq_t *roots, uint len, const fq_ctx_t *F) |
void | fq_poly_multieval_fromtree (fq_poly_bcell_t *c, fq_t *res, fq_poly_t P, uint *k, const fq_ctx_t *F) |
void | fq_poly_multieval (fq_t *rop, fq_t *op, fq_poly_t P, uint len, const fq_ctx_t *F) |
void remainderCell | ( | fq_poly_bcell_t * | rop, |
fq_t * | roots, | ||
uint | offset_start, | ||
uint | offset_end, | ||
const fq_ctx_t * | F | ||
) |
Build a remainder tree from a fq_t roots array. This is supposed to be wrapped by the remainderTree function. The offset is used to slice the array (represent the position of element 0). This function is not responsible for the handling of the memory associated with the bcells.
void remainderTree | ( | fq_poly_btree_t * | T, |
fq_t * | roots, | ||
uint | len, | ||
const fq_ctx_t * | F | ||
) |
See remainderCell. T should be initialized.