CRS
Isogeny-based post-quantum Diffie-Hellman protocol.
binary_trees.h
Go to the documentation of this file.
1
2#ifndef _BINARY_TREES_H_
3#define _BINARY_TREES_H_
4
5#include <gmp.h>
6#include <flint/fmpz.h>
7#include <flint/fq.h>
8#include <flint/fq_poly.h>
9
10
11/*********************************
12 Structures
13*********************************/
17typedef struct fq_poly_bcell_t {
18 const fq_ctx_t *F;
19 fq_poly_t data;
20 //fq_poly_bcell_t *parent;
21 struct fq_poly_bcell_t *left;
22 struct fq_poly_bcell_t *right;
24
28typedef struct fq_poly_btree_t {
29 const fq_ctx_t *F;
30 fq_poly_bcell_t *head;
32
33
34/*********************************
35 Functions
36*********************************/
37void fq_poly_bcell_init(fq_poly_bcell_t *, const fq_ctx_t *);
38void fq_poly_bcell_set(fq_poly_bcell_t *, fq_poly_t);
43
44void fq_poly_btree_init(fq_poly_btree_t *, const fq_ctx_t *);
47
48#endif
void fq_poly_bcell_set_(fq_poly_bcell_t *, fq_poly_bcell_t *, fq_poly_bcell_t *, fq_poly_t)
Definition: binary_trees.c:31
void fq_poly_bcell_clear(fq_poly_bcell_t *)
Definition: binary_trees.c:65
void fq_poly_btree_clear(fq_poly_btree_t *)
Definition: binary_trees.c:102
int fq_poly_bcell_set_left(fq_poly_bcell_t *, fq_poly_bcell_t *)
Definition: binary_trees.c:54
void fq_poly_btree_init(fq_poly_btree_t *, const fq_ctx_t *)
Definition: binary_trees.c:83
void fq_poly_bcell_init(fq_poly_bcell_t *, const fq_ctx_t *)
Definition: binary_trees.c:11
void fq_poly_btree_set(fq_poly_btree_t *, fq_poly_bcell_t *)
Definition: binary_trees.c:94
struct fq_poly_btree_t fq_poly_btree_t
int fq_poly_bcell_set_right(fq_poly_bcell_t *, fq_poly_bcell_t *)
Definition: binary_trees.c:42
void fq_poly_bcell_set(fq_poly_bcell_t *, fq_poly_t)
Definition: binary_trees.c:23
struct fq_poly_bcell_t fq_poly_bcell_t
Definition: binary_trees.h:17
Definition: binary_trees.h:28