CRS
Isogeny-based post-quantum Diffie-Hellman protocol.
Functions
multieval.h File Reference
#include <gmp.h>
#include <flint/fmpz.h>
#include <flint/fq.h>
#include <flint/fq_poly.h>
#include "binary_trees.h"

Go to the source code of this file.

Functions

void remainderCell (fq_poly_bcell_t *, fq_t *, uint, uint, const fq_ctx_t *)
 
void remainderTree (fq_poly_btree_t *, fq_t *, uint, const fq_ctx_t *)
 
void fq_poly_multieval (fq_t *, fq_t *, fq_poly_t, uint, const fq_ctx_t *)
 

Function Documentation

◆ remainderCell()

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.

◆ remainderTree()

void remainderTree ( fq_poly_btree_t T,
fq_t *  roots,
uint  len,
const fq_ctx_t *  F 
)

See remainderCell. T should be initialized.